Authentication with an API key

Send your key on every request:

Authorization: Bearer ceco_live_2f3a9c1e0b7d4a6f8e21_Q7v…

The key format

A key looks like ceco_live_<id>_<secret>.

Keys are minted by a person signed in to a Business account, on the account page under API. A key cannot mint, list or revoke keys, so a leaked key cannot make more of itself.

Storing a key

Treat it like a password to your account's documents:

Rotating a key

Two steps, with no downtime:

  1. Mint the new key and deploy it where the old one was.
  2. Revoke the old key once nothing uses it. The key list shows when each was last used.

Both keys work in between.

When a key stops working

A key that no longer works answers 401 invalid_api_key, whatever the reason. The reason is shown to you in your key list, never to whoever is holding the key.

Limits

Each key may make 120 requests a minute, in bursts of up to 30 at once. Every response to a key carries X-RateLimit-Limit (requests a minute), X-RateLimit-Remaining (requests you can send now) and X-RateLimit-Reset (seconds until the allowance is full again). Past the limit the answer is 429 too_many_requests with a Retry-After in seconds.