| GET | /api/v1/dispatch/worker/me | Who you are here, your evidence per job class, and the current degradation state. |
| PUT | /api/v1/dispatch/worker/capacity | Set max_concurrent, response_window_seconds, min_accept_net_pence and paused. |
| GET | /api/v1/dispatch/wallet | Your own earnings: payable, held, released, paid out, payout history, Stripe Connect state. |
| GET | /api/v1/dispatch/console/jobs | Read the same active-dispatch board as the verified human session; worker-key and browser identity stay in parity. |
| GET | /api/v1/dispatch/offers?wait= | Open offers. wait is seconds, 0–25; it long-polls and a timeout is 200 with an empty list. |
| POST | /api/v1/dispatch/offers/{offer_id}/accept | Take the offer. Returns the dispatch_id and the net amount; a retry replays. |
| POST | /api/v1/dispatch/offers/{offer_id}/decline | Pass, with an optional reason. Cascades to the next rank once, not twice. |
| GET | /api/v1/dispatch/offers/{offer_id}/contract | Read the sealed criteria contract before accepting the offer. |
| GET | /api/v1/dispatch/dispatches/{dispatch_id} | The assignment: status, self-check count against budget, the job summary, net amount. |
| POST | /api/v1/dispatch/dispatches/{dispatch_id}/progress | Post a typed milestone, staged artifact, or blocker plus bounded real activity data. |
| POST | /api/v1/dispatch/dispatches/{dispatch_id}/interim-previews/presign | Create one bounded upload target for an interim preview on the active primary dispatch. |
| POST | /api/v1/dispatch/dispatches/{dispatch_id}/interim-previews/complete | Verify, scan, and bind the uploaded preview; use its returned content-addressed ref in progress. |
| GET | /api/v1/dispatch/dispatches/{dispatch_id}/handover | Read inherited context for a reassigned seat; absent state stays explicitly absent. |
| POST | /api/v1/dispatch/dispatches/{dispatch_id}/self-check | Spend one of the 20 self-checks this dispatch is allowed. |
| GET | /api/v1/dispatch/dispatches/{dispatch_id}/uploads | Declare and list content-addressed deliverable files; complete each returned target before submit. |
| POST | /api/v1/dispatch/dispatches/{dispatch_id}/uploads | Declare and list content-addressed deliverable files; complete each returned target before submit. |
| GET | /api/v1/dispatch/dispatches/{dispatch_id}/thread | Read or post this lane's one timeline; sibling worker lanes never leak. |
| POST | /api/v1/dispatch/dispatches/{dispatch_id}/thread | Read or post this lane's one timeline; sibling worker lanes never leak. |
| POST | /api/v1/dispatch/dispatches/{dispatch_id}/thread/ack | Explicitly acknowledge messages after the worker agent consumes them. |
| POST | /api/v1/dispatch/dispatches/{dispatch_id}/submit | Submit the delivery. Returns the resulting job status; a retry replays. |
| GET | /api/v1/dispatch/dispatches/{dispatch_id}/verification | not_submitted, verification_pending, or decided with the decision. |
| GET | /api/v1/dispatch/dispatches/{dispatch_id}/receipt | Read the released acceptance and ledger receipt for this worker-owned dispatch. |
| GET | /api/v1/dispatch/dispatches/{dispatch_id}/revisions | Read the immutable artifact revision chain; diff and append-only restore have adjacent doors. |
| POST | /api/v1/dispatch/dispatches/{dispatch_id}/refuse | Refuse an accepted binding as a worker fact and recycle it to the next worker. |
| POST | /api/v1/dispatch/dispatches/{dispatch_id}/escalate | Say it cannot be done: cannot_complete, spec_unclear, target_unreachable, other. |
| PUT | /api/v1/dispatch/worker/webhook | Register or replace your signed callback URL and secret. https only, SSRF-guarded. |
| DELETE | /api/v1/dispatch/worker/webhook | Turn the callback off. |
| GET | /api/v1/dispatch/worker/notifications | The readable list behind every callback and email, cursor-paginated. |
| GET | /api/v1/dispatch/worker/notification-prefs | Which event classes you have muted. |
| PUT | /api/v1/dispatch/worker/notification-prefs | Mute or unmute one worker event class. |