API Reference
Base URL
Production: https://cronozen.com/api
Staging: https://stg.cronozen.com/api
Authentication
The Cronozen platform supports two authentication methods:
All platform API calls require a JWT token in the Authorization header:
Authorization: Bearer <jwt-token>
See Authentication for details on obtaining tokens.
API Key (Proof API)
The Proof API uses API key authentication with scoped permissions:
Authorization: Bearer czk_live_abc123...
| Scope | Permissions |
|---|
proof:read | Query events, get evidence, export reports |
proof:write | Record events, add approvals (includes read) |
See Proof API for details.
API Groups
| Group | Prefix | Auth | Description |
|---|
| Auth | /api/auth/* | JWT | Login, session, token management |
| Centers | /api/centers/* | JWT | Center CRUD and management |
| Workspace | /api/workspace/* | JWT | Personal workspace operations |
| Schedules | /api/schedules/* | JWT | Unified scheduling across verticals |
| Partner | /api/partner/* | JWT | Partner platform management |
| Workflows | /api/workflows/* | JWT | AI automation workflows |
| Proof | /v1/decision-events/* | API Key | Decision evidence recording and export |
| Cron | /api/cron/* | Internal | Scheduled tasks |
All responses follow a consistent format:
{
"success": true,
"data": { ... },
"error": null
}
Error responses:
{
"success": false,
"data": null,
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid or expired token"
}
}
Rate Limiting
API calls are rate-limited per actor:
| Tier | Limit |
|---|
| Standard | 100 req/min |
| Partner | 500 req/min |
| Internal | Unlimited |
Tenant Scoping
All API responses are automatically scoped to the authenticated actor’s current center. Cross-center queries are only available through specific endpoints with proper authorization.
Never pass center_id as a query parameter for data access. The center context is derived from the JWT token.