Skip to main content
List the Clay API keys you own, with their names, scopes, and timestamps. Use this to find the id of a key before renaming it with clay api-keys update or removing it with clay api-keys delete.
clay api-keys list [--limit <n>] [--cursor <token>]
Results are paginated. --limit sets the page size, and the response includes a top-level cursor when more keys are available; pass it back with --cursor to fetch the next page.

Flags

FlagDescription
--limit <n>Maximum API keys to return per page. Defaults to 50.
--cursor <token>Resume from a previous response’s cursor to fetch the next page.

Output

{
  "data": [
    {
      "id": "ak_abc123",
      "name": "CI key",
      "scopes": ["cli:all"],
      "workspaceId": 12345,
      "createdAt": "2026-01-01T00:00:00.000Z",
      "updatedAt": "2026-01-01T00:00:00.000Z"
    }
  ],
  "cursor": "next_page_token"
}
FieldTypeDescription
data[].idstringAPI key id. Pass it to update or delete.
data[].namestringHuman-readable name for the key.
data[].scopesstring[]Scopes granted to the key.
data[].workspaceIdnumber | undefinedWorkspace the key is scoped to, when set.
data[].createdAtstringISO 8601 creation timestamp.
data[].updatedAtstringISO 8601 last-updated timestamp.
cursorstringPresent when more keys are available. Pass it back via --cursor. Omitted on the last page.
The secret itself is never returned here — it is shown only once, at creation. See clay api-keys create.

Errors

CodeExitNotes
validation_error2--limit is not a positive integer or exceeds 100.
auth_forbidden3The key lacks permission to read API keys.

Examples

clay api-keys list
clay api-keys list --limit 10 | jq -r '.data[].id'
clay api-keys list | jq -r '.data[] | "\(.id)\t\(.name)"'