Create a key
Keys are created in the developer dashboard under API keys by a member who holdsmanage-api-keys. An API key cannot create keys: the key operations under /partner/v1/api-keys accept only signed-in dashboard users, who must have signed in within the last 15 minutes. Keys can be created only while API access is active, and a partner can have at most 20 active keys.
When you create a key you choose:
- a name (1-80 characters), for example the system that uses it;
- its scopes (see below);
- an optional expiry, at most 2 years ahead (the dashboard suggests one year).
name, keyHint, last4, scopes, expiresAt, lastUsedAt and lastUsedIp are visible. If a create response is lost, a retry with the same Idempotency-Key returns "secret": null with Idempotent-Replay-Redacted: true: revoke that key and create a new one.
Key format
^vk_(live|test)_[0-9a-hjkmnp-tv-z]{26}_[0-9A-Za-z]{43}$. Add this pattern to your secret scanners. Treat the whole string as a password.
Scopes
Scopes are permissions delegated to the key. A key can only receive:- permissions that are delegable (see the permission reference); others → 422
scope-not-delegable; - permissions that apply to your partner’s roles; others → 422
permission-not-applicable; - permissions that the creating user holds; others → 403
missing-permission.
Rotate a key
Roll the key in the dashboard (POST /partner/v1/api-keys/{apiKeyId}:roll with gracePeriodMinutes, 1 to 10,080, default 1,440):
- AllRide creates a new key with the same scopes and returns its secret once.
- Both keys work until the grace period ends; then the old key gets 401
api-key-invalid. - Deploy the new secret within the grace period and check that
lastUsedAtof the new key moves.
Idempotency-Key replays instead of running twice.
Without a grace window you can also rotate manually: create a new key, deploy it, check lastUsedAt, then revoke the old key. A new independent key has its own idempotency scope; finish in-flight retries before you switch.
Revoke a key
Revoke a key in the dashboard (POST /partner/v1/api-keys/{apiKeyId}:revoke). It stops working on every server within 60 seconds and cannot be reactivated. Revoke at once if a key may have leaked, then check the audit log for its actions.
Store keys safely
- Keep keys in a secret manager and inject them at runtime; never commit them.
- Use one key per system and environment, so you can revoke one without affecting others.
- Never send a key to a browser, a mobile app or a third-party service.
- Restrict where keys can be used from with the IP allowlist.
- Never log the
Authorizationheader.