---
title: "List API Keys"
method: GET
path: "/v1/organizations/api_keys?beta=true"
---

# List API Keys

`GET /v1/organizations/api_keys?beta=true`

## Query parameters

- `before_id` string — ID of the object to use as a cursor for pagination. When provided, returns the page of results immediately before this object.
- `after_id` string — ID of the object to use as a cursor for pagination. When provided, returns the page of results immediately after this object.
- `limit` integer — Number of items to return per page. Defaults to `20`. Ranges from `1` to `1000`.
- `status` 'active' | 'archived' | 'expired' | 'inactive', nullable — Filter by API key status.
- `workspace_id` string, nullable — Filter by Workspace ID.
- `created_by_user_id` string, nullable — Filter by the ID of the User who created the object.

## Headers

- `x-api-key` string — Your unique Admin API key for authentication. This key is required in the header of all Admin API requests, to authenticate your account and access Anthropic's services. Get your Admin API key through the [Console](https://console.anthropic.com/settings/admin-keys).
- `anthropic-version` string — The version of the Claude API you want to use. Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).

## Response `200`

Successful Response

- BetaListResponseApiKey
  - `data` BetaApiKey[], required
    - `created_at` string, date-time, required — RFC 3339 datetime string indicating when the API Key was created.
    - `created_by` BetaCreatedBy, required
      - `id` string, required — ID of the actor that created the object.
      - `type` 'service_account' | 'user', required — Type of the actor that created the object.
    - `expires_at` string, date-time, nullable, required — RFC 3339 datetime string indicating when the API Key expires, or `null` if it never expires.
    - `id` string, required — ID of the API key.
    - `name` string, required — Name of the API key.
    - `partial_key_hint` string, nullable, required — Partially redacted hint for the API key.
    - `principal` union, required — The principal the API key acts as (a User or a Service Account), or `null` if the API key is not bound to a principal.
      - BetaApiKeyUserActor
        - `type` 'user_actor', required — Principal type. Always `"user_actor"` for a User.
        - `user_id` string, required — ID of the User the API key acts as.
      - BetaApiKeyServiceAccountActor
        - `service_account_id` string, required — ID of the Service Account the API key acts as.
        - `type` 'service_account_actor', required — Principal type. Always `"service_account_actor"` for a Service Account.
    - `scope` union, required — Where the API key belongs: its Workspace (`{"type": "workspace", "workspace_id": "wrkspc_..."}`, with the Workspace's real ID even when it is the organization's default Workspace), or the organization (`{"type": "organization"}`) for a principal-bound API key that has no Workspace.
      - BetaApiKeyOrganizationScope
        - `type` 'organization', required — Scope type. Always `"organization"`: the API key has no Workspace. Only a principal-bound API key can have this scope.
      - BetaApiKeyWorkspaceScope
        - `type` 'workspace', required — Scope type. Always `"workspace"`: the API key belongs to one Workspace.
        - `workspace_id` string, required — ID of the Workspace the API key belongs to. Unlike the deprecated top-level `workspace_id`, this is the Workspace's real ID even for the organization's default Workspace.
    - `status` 'active' | 'archived' | 'expired' | 'inactive', required — Status of the API key.
    - `type` 'api_key', required — Object type. For API Keys, this is always `"api_key"`.
    - `workspace_id` string, nullable, required — Deprecated: use `scope` instead. ID of the Workspace associated with the API key, or `null` if the API key belongs to the default Workspace. Also `null` for a principal-bound API key that has no Workspace; `scope` tells the two apart.
  - `first_id` string, nullable, required — First ID in the `data` list. Can be used as the `before_id` for the previous page.
  - `has_more` boolean, required — Indicates if there are more results in the requested page direction.
  - `last_id` string, nullable, required — Last ID in the `data` list. Can be used as the `after_id` for the next page.

## Other responses

- `4XX` — Error response. See our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.

## Changes

- **2026-08-26** `942a11636c42` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/anthropics/apis/anthropic-api/changes/v1/organizations/api_keys?beta=true/get.md)

---

[API](https://skmtc.dev/anthropics/apis/anthropic-api.md) · [All operations](https://skmtc.dev/anthropics/apis/anthropic-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/anthropics/anthropic-api/revisions/d1d189d791d1/schema)
