SteadyDoAPI reference

Workspace export

exportWorkspace is beta. Its product-level data coverage is intentional, but record-type shape and operational limits may change before the first stable release. Pin the API version, check the published contract and changelog, and validate each export before relying on it. Beta does not relax authentication, ownership or secret-redaction guarantees.

Export is a paginated JSON response, not an asynchronous job, downloadable archive or ordinary workspace summary. Start GET /workspace/export?limit=50, retain each data.items page and follow data.nextCursor until data.complete is true. An empty page can still have a continuation. Cursors are opaque and tied to owner/query; restart after invalid_request. The first page includes timezone preferences.

Included content covers saved preferences, companies/company field configuration, standalone tasks/checklists, processes/fields, templates, process items, Orders, copied workflow stages/tasks, resource activities and retained deleted-process snapshots. Each entry identifies its resource type. Public IDs and approved product fields are included; internal database IDs/owner identifiers, API-key secrets/hashes, operational audit events, confirmation tokens, rate counters and idempotency cache records are excluded. Check the current response schema for exact record types.

The server streams bounded pages on demand and does not store a server-side export file. Retention and protection of any downloaded copy are the caller's responsibility. No cross-request snapshot isolation is promised: concurrent writes can change later pages. For a consistency-sensitive backup, pause writes operationally, finish all pages and verify relationships/counts. Export alone is not a supported infrastructure restore procedure.

Each entry is {id,type,value}. id identifies the export record, while value.publicId is the stable product ID to match related records. userPreferences is the exception: its value contains only timeZone. Record timestamps such as createdAt, completedAt and occurredAt are epoch milliseconds in export v1, unlike RFC 3339 timestamps in resource DTOs. Date-only fields remain YYYY-MM-DD. Read the explicit per-type value schema; do not apply a task DTO parser to a raw export record. Missing optional fields are absent, not automatically null. Template snapshots and deleted-process records have their own allowlisted nested shapes; arbitrary JSON is permitted only for documented user-authored fields, views and activity details.

Page limit is at most 100. Export reads use bounded native pages; this GET operation does not advertise a response-size 413. Request-body size limits belong to write operations. Do not mark an export complete unless data.complete is true. On a transient service failure honor Retry-After if returned; restart cursor traversal if its binding is no longer valid. See pagination and errors.