What Are Thread API Endpoints?
Thread API endpoints are custom routes that operate on specific conversation threads. They allow you to:- Access thread data: Query messages, logs, and metadata
- Perform operations: Export conversations, generate summaries, update state
- Extend the API: Add domain-specific functionality beyond built-in routes
Thread API endpoints are file-based and auto-discovered. Create a TypeScript file in
agents/api/ and export your endpoint definition—no manual registration needed.Quick Start
Create your first endpoint inagents/api/status.ts:
Your endpoint is now available at
GET /api/threads/:id/status. The framework auto-discovers it from the agents/api/ directory.File-Based Routing
API files map directly to routes based on their filename:| File | HTTP Method | Route |
|---|---|---|
status.ts | GET | /api/threads/:id/status |
status.get.ts | GET | /api/threads/:id/status |
export.post.ts | POST | /api/threads/:id/export |
metadata.put.ts | PUT | /api/threads/:id/metadata |
archive.delete.ts | DELETE | /api/threads/:id/archive |
Method Suffixes
Append the HTTP method to the filename to specify which method the endpoint handles:.get.ts— GET requests (default if no suffix).post.ts— POST requests.put.ts— PUT requests.delete.ts— DELETE requests.patch.ts— PATCH requests
Nested Routes
Create subdirectories for nested route paths:Handler Function
ThedefineThreadEndpoint function wraps your handler and automatically:
- Extracts the thread ID from the URL
- Looks up the thread and creates a ThreadState
- Handles errors (400 for missing ID, 404 for not found, 500 for exceptions)
Signature
Parameters
req — Standard Web API Request object
state — ThreadState providing access to thread identity, messages, file system, and more. Note: state.execution is always null in endpoints since the thread is at rest.
ThreadState in Endpoints
Thestate parameter provides access to the thread’s data:
Identity
Access thread identity directly:getMessages
Retrieve message history from the thread:File System
Access the thread’s file system:Resource Loading
Load agent, prompt, or model definitions:Request Handling
Reading Request Body
Query Parameters
Headers
Error Handling
Wrap operations in try/catch for robust error handling:The framework automatically handles common errors like missing thread IDs (400) and threads not found (404). Your handler only needs to handle domain-specific errors.
Best Practices
Keep API Handlers Fast
Keep API Handlers Fast
API handlers run in the request path. Keep operations quick:
Handle Errors Gracefully
Handle Errors Gracefully
Always wrap risky operations:
Validate Input Data
Validate Input Data
Check request data before processing:
Use Descriptive File Names
Use Descriptive File Names
Name files clearly to indicate their purpose: