Skip to main content
API keys are the credential for programmatic access. They authenticate every protected endpoint except the deliberately session-only ones.

Properties

Create a key

In the dashboard: Settings → API keys → Create. Or from a session-authenticated request:
Copy plaintext into your secret manager immediately; it is never shown again. If it’s lost, revoke the key and create a new one.
Hitting the cap returns 400 key_limit_reached; revoke unused keys first.

List and audit

GET /keys (works with either credential) returns metadata only. lastUsedAt tells you whether a key is actually in use, useful before revoking during rotation.

Revoke

Revocation is immediate and idempotent; repeat calls return the same success. Expired keys stop authenticating the moment expiresAt passes.

Rotation playbook

1

Create the replacement key

Give it a name that identifies the consumer (payments-service-2026Q3).
2

Deploy the new key

Update the secret in your deployment; confirm traffic via lastUsedAt.
3

Revoke the old key

DELETE /keys/{id} takes effect instantly. Anything still using it starts receiving 401 invalid_api_key, which is how you find stragglers.

If a key leaks

Revoke it from the dashboard immediately. Scope damage is bounded by design: a key can move sandbox funds, but it cannot create keys, change the password, manage 2FA or passkeys, or export wallet keys; those are session-only. Account deactivation (an admin action) kills all keys and sessions at once.