POST /work places it in the workspace Inbox when you do
not provide an explicit hierarchy.
Naming crosswalk: the same record is
task on the compatibility
/api/entities surface. POST /work is the
canonical creation operation;
POST /api/v1/commands/create-work and
POST /api/v1/commands/complete-work are the same handlers under their
older command paths and stay callable for compatibility.Create — POST /api/v1/work
Requires Authorization: Bearer oxk_... and an Idempotency-Key header
(missing header returns 400 missing_idempotency_key). Unknown body fields
are rejected.
201 on first write, 200 when the idempotency key replays:
data.taskId from this response. Fetch that task before completing it to
obtain the current concurrency token.
Read the concurrency token
Fetch the work item before completing it. The response includes an opaquedata.concurrency.version_token that preserves the server’s timestamp
precision and is bound to this workspace and task.
data.concurrency.version_token exactly. Do not parse it, reformat it, or
reuse it for another task.
Complete — POST /api/v1/work/{taskId}/complete
Same auth; Idempotency-Key header required. Send the version_token returned
by the read above. The legacy expected_updated_at and
expected_aggregate_version pair remains accepted during the v1 compatibility
window.
202 on acceptance, 200 on idempotent replay, and 409 task_version_stale
when the token no longer describes the current task. The response envelope matches creation
(taskId, receiptId, eventId, aggregateVersion,
duplicate, task, receipt).
All operations on this resource
Task
status values: todo, in_progress, done, blocked. Send these
exact values on writes — an unlisted value returns 400 with the valid set.
Where the IDs come from
MCP equivalents
orgx_write with a task payload uses the compatibility adapter for older
clients; orgx_act drives task lifecycle transitions through MCP;
orgx_inspect hydrates one task with execution context. The
POST /work receipt-and-event contract has no single MCP equivalent — it is
the REST-first surface.