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:
Next Steps
Thread
Add custom methods to the Thread class
Tools
Create custom tools that endpoints can leverage
Hooks
Intercept and modify data at lifecycle points
REST API
Explore the built-in API endpoints