The Synthra API provides programmatic access to all platform capabilities. Built on REST principles with JSON request/response format.
Base URL
https://api.synthra.ai/v1
Authentication
All API requests require authentication via Bearer token:
Authorization: Bearer synthra_live_abc123def456
curl --request POST \
--url https://api.synthra.ai/v1/sessions \
--header 'Authorization: Bearer synthra_live_abc123def456' \
--header 'Content-Type: application/json' \
--data '{
"userId": "user_abc123def456"
}'
All responses follow a consistent structure:
{
"data": {},
"meta": {
"requestId": "req_abc123def456",
"timestamp": "2024-03-08T14:30:00Z"
}
}
Error Responses
{
"error": {
"code": "validation_error",
"message": "Invalid request parameters",
"details": {
"field": "userId",
"reason": "Required field missing"
}
},
"meta": {
"requestId": "req_abc123def456",
"timestamp": "2024-03-08T14:30:00Z"
}
}
Rate Limits
| Tier | Requests/min | Tokens/min |
|---|
| Free | 60 | 10,000 |
| Pro | 300 | 100,000 |
| Enterprise | 1,000 | 500,000 |
Rate limit headers included in every response:
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 87
X-RateLimit-Reset: 1709913600
List endpoints support cursor-based pagination:
GET /v1/sessions?limit=50&cursor=session_abc123def456
Response includes pagination metadata:
{
"data": [],
"pagination": {
"hasMore": true,
"nextCursor": "session_xyz789ghi012"
}
}
Versioning
The API is versioned via URL path. Current version: v1
Breaking changes will be released as new versions (v2, v3, etc.)
SDKs
Official SDKs available:
- TypeScript/JavaScript:
npm install @synthra/agent
- Python:
pip install synthra-sdk
API keys can be generated from the Developer Dashboard. Store keys securely and never expose them in client-side code.