Skip to content

Authentication

Every API request requires an API key passed in the Authorization header.

Authorization: Bearer chr_sk_live_a1b2c3d4e5f6...

Chronary issues two keys per organization:

Key prefixModePurpose
chr_sk_live_*LiveProduction data, counts against quotas
chr_sk_test_*TestIsolated test data, free and unlimited
  1. Sign up at console.chronary.ai
  2. Your live and test keys are shown on the dashboard
  3. Copy the key — it’s only shown in full once

Test mode (chr_sk_test_*) is completely isolated from live data:

BehaviorLiveTest
Data isolationProduction dataSeparate test data
Quota enforcementYes — counted monthlyNo limits
Webhook deliveryYesYes (same behavior)
Rate limiting10 req/sec10 req/sec

Use test keys for development, CI/CD, and integration testing. Switch to live keys for production.

Terminal window
# Test mode — free, unlimited, isolated data
curl https://api.chronary.ai/v1/agents \
-H "Authorization: Bearer chr_sk_test_your_key_here"
# Live mode — production data, quota-tracked
curl https://api.chronary.ai/v1/agents \
-H "Authorization: Bearer chr_sk_live_your_key_here"
  • Keys are hashed with SHA-256 before storage — we never store the raw key
  • Only the key prefix is shown in the console after initial creation
  • Regenerating a key immediately revokes the previous one
  • Never commit keys to source control — use environment variables
StatusCauseFix
401 UnauthorizedMissing or invalid API keyCheck the Authorization: Bearer header
429 Too Many RequestsRate limit exceeded (10 req/sec)Respect the Retry-After header
429 Too Many RequestsMonthly quota exhaustedUpgrade your plan or wait for monthly reset

See Error Codes for the full error reference.