Operations & events
Bulk and administrative operations over a tenant's data, plus the live change stream. Several of these are long-running and return 202 Accepted immediately.
Import from Excel
POST /data/{tenant}/import
Imports objects from an Excel file described by an ImportTask body. Returns 201 Created with a Location on success.
Interview needed. Document the ImportTask body (source file reference, target type, column mapping), and how import maps rows to objects and relations.
Load default data
POST /data/{tenant}/loadDefaultData
Loads the default data fixtures declared in the model.
Interview needed. Document when this is used, idempotency (re-running), and interaction with existing data.
Rebuild
POST /data/{tenant}/rebuild
Starts a full rebuild of the tenant's data. Returns 202 Accepted, or 409 Conflict if a rebuild is already running.
Interview needed. Explain what "rebuild" reconstructs, when it is needed (e.g. after a model change), and how to observe progress/completion.
Recalculate
POST /data/{tenant}/{typeName}/recalculate
Recalculates formulas for all objects of a type. Returns 202 Accepted.
Interview needed. Document scope (this type only? dependents?), and how it differs from rebuild and sync.
Sync
POST /data/{tenant}/{typeName}/sync
Starts a sync for a type. Returns 202 Accepted.
Interview needed. Clarify what sync synchronizes (external source? search index?), and how it differs from recalculate and rebuild.
Delete tenant data
DELETE /data/{tenant}?name={name}&deleteTenant={bool}
Deletes a tenant's data, and optionally the tenant itself when deleteTenant=true.
Interview needed. Document the name parameter (why it is required alongside the path tenant), the deleteTenant flag, safeguards, and irreversibility.
Event stream
GET /data/{tenant}/eventStream
A Server-Sent Events stream (text/event-stream) of data-change events for the tenant.
Interview needed. Document the event shape, which changes emit events, filtering/scoping, reconnection semantics, and intended consumers (e.g. live-updating UIs).