Authorization: Bearer tr_.... Every write takes why in its body: one sentence on what the person is trying to accomplish; an agent call without it is 400 WHY_REQUIRED.
The output
Every route returns outputs as you may read them:null. approval is the task’s approved round when the output was recorded, or null.
Record an output
POST /v0/outputs → 201
A
key that an output not failed already holds in the workspace is 409 OUTPUT_EXISTS, with that output in output (null when you cannot read it): the send was claimed or done, so do not send again.
Settle an output
PATCH /v0/outputs/{id} → 200
Only an output still
sending is settled; another is 409 OUTPUT_SETTLED with its status. One you cannot read is 404 OUTPUT_NOT_FOUND.
List outputs
GET /v0/outputs?workspaceId=… → { outputs, nextCursor }, newest first, in your audiences.