Base URL
The Chronoverse API is available at:The base URL will vary depending on your deployment environment. In production, use your configured host URL with HTTPS.
Response Format
All API responses are returned in JSON format with appropriate HTTP status codes.Successful Response
Successful requests return data in JSON format:HTTP Status Codes
The API uses standard HTTP status codes:| Status Code | Description |
|---|---|
200 | Success - Request completed successfully |
201 | Created - Resource created successfully |
204 | No Content - Request succeeded with no response body |
400 | Bad Request - Invalid request parameters |
401 | Unauthorized - Authentication required or failed |
403 | Forbidden - Insufficient permissions |
404 | Not Found - Resource does not exist |
409 | Conflict - Resource already exists |
412 | Precondition Failed - Required precondition not met |
429 | Too Many Requests - Rate limit exceeded |
500 | Internal Server Error - Server error occurred |
501 | Not Implemented - Endpoint not implemented |
503 | Service Unavailable - Service temporarily unavailable |
504 | Gateway Timeout - Request timeout |
Error Handling
When an error occurs, the API returns an appropriate HTTP status code along with an error message in plain text format.Error Response Format
Common Error Scenarios
Authentication Errors (401)
Authentication Errors (401)
session not found- No session cookie providedinvalid token- JWT token is invalid or malformedfailed to decrypt session- Session cookie is corrupted
Validation Errors (400)
Validation Errors (400)
invalid request body- Request body is malformed or missing required fieldscsrf token not found- CSRF token missing for state-changing operationsmethod not allowed- HTTP method not supported for this endpoint
Permission Errors (403)
Permission Errors (403)
- Insufficient permissions to access the requested resource
Not Found Errors (404)
Not Found Errors (404)
- Resource does not exist or user does not have access
Request Body Limits
ForPOST, PUT, and PATCH requests, the request body is limited in size for security purposes. Requests exceeding this limit will be rejected with a 400 status code.
CORS Support
The API supports Cross-Origin Resource Sharing (CORS) for configured allowed origins:- Allowed Methods:
GET,POST,PUT,PATCH,DELETE,OPTIONS - Allowed Headers:
Content-Type - Credentials: Supported (cookies can be sent)
- Max Age: 24 hours
Configure allowed origins in your server configuration to enable CORS for your frontend application.
Compression
The API supports gzip compression for all JSON responses. Include theAccept-Encoding: gzip header in your request to receive compressed responses.
Compression is not applied to streaming endpoints (
/logs/raw and /events).Rate Limiting
The Chronoverse API implements rate limiting to ensure fair usage and system stability.Rate Limit Headers
While specific rate limit headers are not currently exposed, exceeding rate limits will result in a429 Too Many Requests response.
Best Practices
- Implement exponential backoff for failed requests
- Cache responses when appropriate
- Use streaming endpoints for real-time data instead of polling
- Batch operations when possible
API Endpoints Overview
The Chronoverse API is organized into the following resource groups:Authentication
User registration, login, logout, and session validation
Users
User profile management and settings
Workflows
Create and manage workflow automation
Jobs
View job execution history and logs
Notifications
Manage user notifications
Analytics
Access usage analytics and metrics
OpenTelemetry Integration
All API requests are traced using OpenTelemetry for observability. Each request generates a trace span with the following attributes:- HTTP method and URL
- Remote address and user agent
- Response status code
- Request duration
Streaming endpoints (
/logs/raw and /events) are excluded from tracing to reduce overhead.