Agents are named by public id (
agent_…). Connections are named by UUID (or, in relay, by name). Threads, runs, messages, and tool calls are UUIDs.
Authentication
A JWT bearer is direct — subject fromsub, optional connection from conn. Anything else is relay — workspace API key, subject from Patchwork-Subject, host from Patchwork-Connection.
See Direct and Relay.
Run lifecycle
202 from send-message is the run, not the assistant’s reply. Poll the run or subscribe to private-thread-{id}.