> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bland.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# List API Keys

> List your organization's API keys and the permissions each one holds.

### Headers

<ParamField header="authorization" type="string" required>
  Your API key for authentication. Restricted keys cannot list keys.
</ParamField>

### Body

<ParamField body="type" type="string" required>
  The kind of keys to list. Use `org` for organization keys.
</ParamField>

<ParamField body="target_id" type="string">
  The ID of your organization. Required when `type` is `org`. You must be an owner or admin of it.
</ParamField>

### Response

<ResponseField name="data.keys" type="array">
  The organization's keys. Each entry identifies a key by its first 14 characters and never includes the full value.
</ResponseField>

<ResponseField name="data.keys[].key" type="string">
  The first 14 characters of the key. Pass this value to [Rename API Key](/api-v1/patch/keys-rename) and [Delete API Key](/api-v1/delete/keys-delete).
</ResponseField>

<ResponseField name="data.keys[].owner" type="string">
  The ID of the user who created the key, when known. A restricted key belongs to the organization and keeps working after its creator leaves.
</ResponseField>

<ResponseField name="data.keys[].name" type="string | null">
  The key's name, or `null` if it has none.
</ResponseField>

<ResponseField name="data.keys[].scopes" type="string[] | null">
  The permissions the key holds, with implied permissions included. `null` means the key has full access. See [Restricted keys](/api-v1/post/keys-create#restricted-keys).
</ResponseField>

<ResponseField name="data.scoped_keys_enabled" type="boolean">
  Whether your organization can create restricted keys. When `false`, `POST /keys/create` with `scopes` returns `403` with the error `SCOPED_KEYS_NOT_ENABLED`.
</ResponseField>

<ResponseField name="data.restricted_keys_available" type="boolean">
  Whether restricted key creation is currently available for your organization. This is `false` when the rollout is not enabled, your organization runs on a pinned deployment, or the availability check fails. `POST /keys/create` checks again: it returns `403` with `SCOPED_KEYS_NOT_ENABLED` when the rollout is not enabled, or `409` with `RESTRICTED_KEYS_UNAVAILABLE` when enabled but blocked by a pinned deployment. A `false` value alone does not identify the reason. See [Pinned deployments](/api-v1/post/keys-create#pinned-deployments).
</ResponseField>

<ResponseField name="errors" type="null | array">
  `null` on success, or a list of errors.
</ResponseField>

<ResponseExample>
  ```json Response theme={null}
  {
    "data": {
      "keys": [
        {
          "key": "org_9f3c1a7b2d",
          "owner": "3c2f7a91-1b4e-4d6a-9e0f-5a8b7c6d5e4f",
          "name": "Production server",
          "scopes": null
        },
        {
          "key": "org_s_4b1e9c07",
          "owner": "3c2f7a91-1b4e-4d6a-9e0f-5a8b7c6d5e4f",
          "name": "Pathway CI",
          "scopes": ["agents:read", "agents:write"]
        }
      ],
      "scoped_keys_enabled": true,
      "restricted_keys_available": true
    },
    "errors": null
  }
  ```
</ResponseExample>

***

Docs for agents: [llms.txt](/llms.txt)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.