The runtime listens on loopback port 4741 by default. These routes are selected from packages/agents-host/src/http.ts. Request schemas and error behavior remain defined by the source and the SDK.
Read and follow
| Method | Route | Purpose |
|---|---|---|
| GET | /threads | Paginated thread summaries |
| GET | /threads/:id | Thread detail |
| GET | /threads/:id/tail | Durable event pages |
| GET | /threads/:id/follow | Follow durable events |
| GET | /threads/:id/stream | Live deltas |
| GET | /threads/:id/agui | AG-UI stream for a thread |
| GET | /threads/:id/turn | Current turn status |
| GET | /workspaces | Configured workspaces |
| GET | /metrics | Runtime metrics |
curl -fsS 'http://127.0.0.1:4741/threads?limit=20'
curl -fsS 'http://127.0.0.1:4741/threads/THREAD_ID/tail?limit=20'
Replace THREAD_ID with a returned ID. For older history use the supported before cursor; do not mix forward and reverse pagination semantics. The SDK handles the response schemas.
Change a task
| Method | Route | Purpose |
|---|---|---|
| POST | /spawn | Create a task from a validated spawn request |
| POST | /threads/:id/messages | Accept a message for asynchronous delivery |
| POST | /threads/:id/send | Send through the turn-oriented path |
| POST | /threads/:id/interrupt | Interrupt execution |
| POST | /threads/:id/fork | Fork a task |
| POST | /threads/:id/approvals/:approvalId | Resolve an approval |
| POST | /threads/:id/subscriptions | Subscribe to task events |
These routes have side effects and distinct contracts. Use their SDK methods and schemas rather than guessing a request body from the route name. Follow durable events after an accepted request to determine its outcome.
Completion endpoint
POST /v1/chat/completions and GET /v1/models expose the runtime completion surface. A completion request is not automatically a durable multi-turn agent task. Check account, workspace, and model configuration for this path separately.