Rotating an API key without downtime requires a careful sequence: issue the replacement first, migrate traffic gradually, confirm the new key is receiving requests, and only then revoke the old one. This guide walks you through each step so you can complete a rotation without dropping a single request.Documentation Index
Fetch the complete documentation index at: https://docs.orbitsearch.com/llms.txt
Use this file to discover all available pages before exploring further.
Steps
Issue a new key
Create the replacement key in the Orbit developer dashboard before touching anything in production. Give it a name that makes its purpose and environment clear, such as Store the raw key immediately. Keep the dashboard open long enough to copy the key’s
"production search v2".display_key or name for tracking during the rollout.Update one caller or environment
Pick one service, worker, or environment and update it to use the new key. Keep all other callers on the old key for now. This limits blast radius if something goes wrong with the new key.Update the relevant environment variable or secret:Deploy or restart only that one caller, then send a test request to confirm it returns a successful response.
Verify traffic on the new key
Open the dashboard key list or usage view and confirm the new key’s If
last_used_at timestamp has advanced. This proves the key is being used in production.Example list response entry for the new key:last_used_at is still null or unchanged, the caller has not switched over yet. Investigate before proceeding.Move all remaining callers
Once you’ve confirmed the new key works, update every remaining service, worker, CI environment, and integration to use the new key. Redeploy or restart each caller as needed.Take your time here — both the old and new keys are active simultaneously, so there is no rush and no downtime risk during this phase.
Revoke the old key
Once all callers have moved to the new key and you’ve verified no traffic is hitting the old key, revoke it.Use Dashboard → API keys to revoke the old key.Revoked keys are immediately rejected by authentication and show
is_active: false in list responses. They remain visible in the list as inactive metadata, which preserves an audit trail linking the key to past requests.Prefer revoke over delete for rotation. Deletion removes the key record entirely, which eliminates its audit trail. Revocation keeps the key visible in an inactive state so you (and support) can correlate historical request IDs and ledger entries back to the key that made them.
What gets logged
Every key creation, revocation, deletion, expiry event, and failed authentication attempt is written to the audit log with non-secret key identifiers only (id, display_key). The raw key is never stored or logged after creation.