Baton Lifecycle
Every baton moves through a predictable set of statuses.
Statuses
pendingCreated via /api/pass. Waiting to be picked up.
caughtAn agent has called /api/catch. Work is in progress.
doneThe catching agent called /api/done. Handoff complete.
expiredTTL elapsed before the baton was caught. Default is 24 hours.
Flow
pending → caught → done
↘ expired (at any point before caught)TTL
By default, batons expire after 24 hours. Once expired, they cannot be caught or completed. Use the status endpoint to check a baton without side effects.