Sign-up and API keys are open. Paid top-ups open soon.What changed
Docs menu

API reference, Console keys

List API keys

View as Markdown

GET/v1/console/keysoperation id listKeys

Returns every key of the account, including revoked ones. Secrets are never returned after creation.

Authentication. Console session cookie (__Host-dex_session). State-changing routes also need the x-dex-csrf header.

Responses

200Keys of the account, newest first.

Headers: x-request-id

objectstringrequired
  • always "list"
dataarray of ApiKeyrequired
data[].idKeyIdrequired
  • pattern ^key_[0-9A-HJKMNP-TV-Z]{26}$
data[].objectstringrequired
  • always "api_key"
data[].namestringrequired
data[].modestringrequired
  • one of "live", "test"
data[].prefixstringrequired
The mode prefix plus the first 4 characters, for recognising the key.
  • pattern ^dex_(live|test)_[0-9A-Za-z]{4}$
data[].scopesarray of Scoperequired
  • each item: one of "decide", "usage:read", "balance:read"
data[].limitsKeyLimitsrequired
  • no other fields
data[].limits.requests_per_minuteinteger
  • 1 to 600
data[].limits.tokens_per_minuteinteger
  • 1,000 to 600,000
data[].limits.concurrencyinteger
  • 1 to 32
data[].created_atstringrequired
  • format date-time
data[].last_used_atstring | nullrequired
  • format date-time
data[].expires_atstring | nullrequired
  • format date-time
data[].revoked_atstring | nullrequired
  • format date-time
401Missing, unknown, revoked or expired credentials.

Headers: x-request-id, x-client-request-id

Error envelope. See Errors for every type and code.

403The credentials are valid but not allowed to do this (missing scope, suspended account or failed CSRF check).

Headers: x-request-id, x-client-request-id

Error envelope. See Errors for every type and code.

500An unexpected error. Any charge was refunded. Retry with the same idempotency key.

Headers: x-request-id, x-client-request-id

Error envelope. See Errors for every type and code.

503maintenance: the console's database, sign-in or payments are unavailable for a moment. Retry after retry-after. Nothing was changed.

Headers: x-request-id, retry-after

Error envelope. See Errors for every type and code.

Examples

Illustrative values. Examples show the shape of requests and responses; the numbers in them are not measured results.

Response: One live key and one revoked test key

{
  "object": "list",
  "data": [
    {
      "id": "key_01M54VQCG06CQ643DZVMXXQKFB",
      "object": "api_key",
      "name": "support-router",
      "mode": "live",
      "prefix": "dex_live_Q7mK",
      "scopes": [
        "decide",
        "usage:read",
        "balance:read"
      ],
      "limits": {
        "requests_per_minute": 120,
        "tokens_per_minute": 120000,
        "concurrency": 8
      },
      "created_at": "2026-10-17T08:30:00Z",
      "last_used_at": "2026-10-20T11:59:41Z",
      "expires_at": null,
      "revoked_at": null
    },
    {
      "id": "key_01M4ZQ3B7T2V0N8R6K4Y1C9D5E",
      "object": "api_key",
      "name": "dev-test",
      "mode": "test",
      "prefix": "dex_test_x2Pa",
      "scopes": [
        "decide"
      ],
      "limits": {
        "requests_per_minute": 30,
        "tokens_per_minute": 40000,
        "concurrency": 4
      },
      "created_at": "2026-10-15T09:20:10Z",
      "last_used_at": "2026-10-16T16:02:55Z",
      "expires_at": null,
      "revoked_at": "2026-10-17T08:29:12Z"
    }
  ]
}