Skip to content

records

Work module · 7 operations

List record rows

GET/records

A record of any of the 26 kinds. Kind-specific attributes live in 1:1 extension tables keyed by `record_id`. Returns a cursor page of record rows the caller may see. The default order is `created_at` ascending. Supports sparse fieldsets and the filter grammar.

Create a record

POST/records

A record of any of the 26 kinds. Kind-specific attributes live in 1:1 extension tables keyed by `record_id`. Creates a record. Requires `Idempotency-Key`; a replay returns the original response. The organization is derived from the credential or the parent row, never from the body.

Get a record

GET/records/{id}

A record of any of the 26 kinds. Kind-specific attributes live in 1:1 extension tables keyed by `record_id`. Returns one record with its `ETag`. A record the caller may not see returns 404.

Update a record

PATCH/records/{id}

A record of any of the 26 kinds. Kind-specific attributes live in 1:1 extension tables keyed by `record_id`. Updates the fields sent; omitted fields are unchanged. Requires `If-Match` with the current `ETag`: a stale tag returns 412 and a missing tag returns 428.

Delete a record

DELETE/records/{id}

A record of any of the 26 kinds. Kind-specific attributes live in 1:1 extension tables keyed by `record_id`. Soft-deletes the record: it moves to Trash and can be restored for its table's retention period.

Transition a record state

POST/records/{id}/transitions

Moves a record between the nine record states. Blocked requires `blocker_text`; Deferred requires `replan_reason`; from Scheduled onward every change is a logged replan. Canceled records are retained. Requires `Idempotency-Key`; a replay returns the original response. A rule that refuses the request returns 422 with `refusal` and `reason`.

Duplicate a record

POST/records/{id}/duplicate

Creates a copy of the record, with or without its children. Requires `Idempotency-Key`; a replay returns the original response. A rule that refuses the request returns 422 with `refusal` and `reason`.