> ## Documentation Index
> Fetch the complete documentation index at: https://agentmail.manicule.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For every page in one file, fetch https://agentmail.manicule.dev/llms-full.txt (large).
> To search and read these docs as tools, connect the MCP server at https://agentmail.manicule.dev/api/mcp.
> Every agent surface: https://agentmail.manicule.dev/.well-known/llms-manifest.json

# List API Keys (/api-reference/list-api-keys-3)

<!-- agent-signals: reading_time_min: 10 · est_tokens: 8154 · updated: 2026-09-29 -->
Related: [Sign Up](/api-reference/sign-up.md), [Attach Human](/api-reference/attach-human.md), [Verify](/api-reference/verify.md), [List Inboxes](/api-reference/list-inboxes.md), [Create Inbox](/api-reference/create-inbox.md), [Search Inboxes](/api-reference/search-inboxes.md)

# List API Keys

`GET /v0/pods/{pod_id}/api-keys`

> **CLI:**
> ```bash
> agentmail pods api-keys list --pod-id <pod_id>
> ```

Base URL: `https://api.agentmail.to`

Base URL: `https://x402.api.agentmail.to`

Base URL: `https://mpp.api.agentmail.to`

Base URL: `https://api.agentmail.eu`

## OpenAPI

```json
{
  "servers": [
    {
      "url": "https://api.agentmail.to",
      "description": "prod"
    },
    {
      "url": "https://x402.api.agentmail.to",
      "description": "prod-x402"
    },
    {
      "url": "https://mpp.api.agentmail.to",
      "description": "prod-mpp"
    },
    {
      "url": "https://api.agentmail.eu",
      "description": "eu-prod"
    }
  ],
  "security": [
    {
      "Bearer": []
    }
  ],
  "securitySchemes": {
    "Bearer": {
      "type": "http",
      "scheme": "bearer"
    }
  },
  "parameters": [
    {
      "name": "pod_id",
      "in": "path",
      "required": true,
      "schema": {
        "type": "string",
        "description": "ID of pod.",
        "title": "PodId"
      }
    },
    {
      "name": "limit",
      "in": "query",
      "required": false,
      "schema": {
        "type": "integer",
        "description": "Limit of number of items returned.",
        "title": "Limit"
      }
    },
    {
      "name": "page_token",
      "in": "query",
      "required": false,
      "schema": {
        "type": "string",
        "description": "Page token for pagination.",
        "title": "PageToken"
      }
    }
  ],
  "responses": {
    "200": {
      "description": "Response with status 200",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer",
                "description": "Number of items returned.",
                "title": "Count"
              },
              "next_page_token": {
                "type": "string",
                "description": "Page token for pagination.",
                "title": "PageToken"
              },
              "api_keys": {
                "type": "array",
                "items": {
                  "oneOf": [
                    {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "bearer"
                          ]
                        },
                        "api_key_id": {
                          "type": "string",
                          "description": "ID of api key.",
                          "title": "ApiKeyId"
                        },
                        "prefix": {
                          "type": "string",
                          "description": "Prefix of api key.",
                          "title": "Prefix"
                        },
                        "name": {
                          "type": "string",
                          "description": "Name of api key.",
                          "title": "Name"
                        },
                        "pod_id": {
                          "type": "string",
                          "description": "Pod ID the api key is scoped to. If set, the key can only access resources within this pod.",
                          "title": "PodScopeId"
                        },
                        "inbox_id": {
                          "type": "string",
                          "description": "Inbox ID the api key is scoped to. If set, the key can only access resources within this inbox.",
                          "title": "InboxScopeId"
                        },
                        "used_at": {
                          "type": "string",
                          "format": "date-time",
                          "description": "Time at which api key was last used.",
                          "title": "UsedAt"
                        },
                        "permissions": {
                          "type": "object",
                          "properties": {
                            "inbox_read": {
                              "type": "boolean",
                              "description": "Read inbox details."
                            },
                            "inbox_create": {
                              "type": "boolean",
                              "description": "Create new inboxes."
                            },
                            "inbox_update": {
                              "type": "boolean",
                              "description": "Update inbox settings."
                            },
                            "inbox_delete": {
                              "type": "boolean",
                              "description": "Delete inboxes."
                            },
                            "message_read": {
                              "type": "boolean",
                              "description": "Read messages. Also required to read threads."
                            },
                            "message_send": {
                              "type": "boolean",
                              "description": "Send messages."
                            },
                            "message_update": {
                              "type": "boolean",
                              "description": "Update message labels. Also required to update threads."
                            },
                            "message_delete": {
                              "type": "boolean",
                              "description": "Delete messages. Also required to delete threads."
                            },
                            "label_spam_read": {
                              "type": "boolean",
                              "description": "Access messages labeled spam."
                            },
                            "label_blocked_read": {
                              "type": "boolean",
                              "description": "Access messages labeled blocked."
                            },
                            "label_unauthenticated_read": {
                              "type": "boolean",
                              "description": "Access messages labeled unauthenticated."
                            },
                            "label_trash_read": {
                              "type": "boolean",
                              "description": "Access messages labeled trash."
                            },
                            "draft_read": {
                              "type": "boolean",
                              "description": "Read drafts."
                            },
                            "draft_create": {
                              "type": "boolean",
                              "description": "Create drafts."
                            },
                            "draft_update": {
                              "type": "boolean",
                              "description": "Update drafts."
                            },
                            "draft_delete": {
                              "type": "boolean",
                              "description": "Delete drafts."
                            },
                            "draft_send": {
                              "type": "boolean",
                              "description": "Send drafts."
                            },
                            "webhook_read": {
                              "type": "boolean",
                              "description": "Read webhook configurations."
                            },
                            "webhook_create": {
                              "type": "boolean",
                              "description": "Create webhooks."
                            },
                            "webhook_update": {
                              "type": "boolean",
                              "description": "Update webhooks."
                            },
                            "webhook_delete": {
                              "type": "boolean",
                              "description": "Delete webhooks."
                            },
                            "domain_read": {
                              "type": "boolean",
                              "description": "Read domain details."
                            },
                            "domain_create": {
                              "type": "boolean",
                              "description": "Create domains."
                            },
                            "domain_update": {
                              "type": "boolean",
                              "description": "Update domains."
                            },
                            "domain_delete": {
                              "type": "boolean",
                              "description": "Delete domains."
                            },
                            "list_entry_read": {
                              "type": "boolean",
                              "description": "Read list entries."
                            },
                            "list_entry_create": {
                              "type": "boolean",
                              "description": "Create list entries."
                            },
                            "list_entry_delete": {
                              "type": "boolean",
                              "description": "Delete list entries."
                            },
                            "metrics_read": {
                              "type": "boolean",
                              "description": "Read metrics."
                            },
                            "api_key_read": {
                              "type": "boolean",
                              "description": "Read API keys."
                            },
                            "api_key_create": {
                              "type": "boolean",
                              "description": "Create API keys."
                            },
                            "api_key_update": {
                              "type": "boolean",
                              "description": "Update API keys."
                            },
                            "api_key_delete": {
                              "type": "boolean",
                              "description": "Delete API keys."
                            },
                            "provider_connect": {
                              "type": "boolean",
                              "description": "Sign in to providers as an inbox: connect a provider, authorize an inbox, and mint the\nsign-in keys. Omitted on a new bearer key means false, whatever else the key holds."
                            },
                            "provider_share_owner": {
                              "type": "boolean",
                              "description": "Share the organization owner's name and email with providers at sign-in. One permission\nfor both values."
                            },
                            "account_update": {
                              "type": "boolean",
                              "description": "Update accounts: disable or re-enable an inbox's sign-in at a provider. Reading accounts\nneeds only `inbox_read`."
                            },
                            "pod_read": {
                              "type": "boolean",
                              "description": "Read pods."
                            },
                            "pod_create": {
                              "type": "boolean",
                              "description": "Create pods."
                            },
                            "pod_update": {
                              "type": "boolean",
                              "description": "Update pods."
                            },
                            "pod_delete": {
                              "type": "boolean",
                              "description": "Delete pods."
                            }
                          },
                          "description": "Granular permissions for the API key. When ommitted all permissions are granted. Otherwise, only permissions set to true are granted.",
                          "title": "ApiKeyPermissions"
                        },
                        "created_at": {
                          "type": "string",
                          "format": "date-time",
                          "description": "Time at which api key was created.",
                          "title": "CreatedAt"
                        },
                        "updated_at": {
                          "type": "string",
                          "format": "date-time",
                          "description": "Time at which api key was last updated.",
                          "title": "UpdatedAt"
                        },
                        "expires_at": {
                          "type": "string",
                          "format": "date-time",
                          "description": "Time at which api key expires. Omitted when it does not expire.",
                          "title": "ExpiresAt"
                        }
                      },
                      "required": [
                        "type",
                        "api_key_id",
                        "prefix",
                        "name",
                        "created_at",
                        "updated_at"
                      ],
                      "description": "An API key presented as a bearer token in the `Authorization` header.",
                      "title": "BearerApiKey"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "public_key"
                          ]
                        },
                        "api_key_id": {
                          "type": "string",
                          "description": "ID of api key.",
                          "title": "ApiKeyId"
                        },
                        "client_id": {
                          "type": "string",
                          "description": "Caller-chosen alias for a public key, unique within the organization and\nreusable after deletion. Accepted in place of `api_key_id` on get, update,\nand delete. Registration is idempotent on it: the same alias returns the\nexisting key, a conflicting one returns `409`. URL-safe; no slash or `@`.",
                          "title": "PublicKeyClientId"
                        },
                        "name": {
                          "type": "string",
                          "description": "Name of api key.",
                          "title": "Name"
                        },
                        "public_key": {
                          "type": "object",
                          "properties": {
                            "jwk": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "string",
                                  "enum": [
                                    "EC"
                                  ]
                                },
                                "crv": {
                                  "type": "string",
                                  "enum": [
                                    "P-256"
                                  ]
                                },
                                "x": {
                                  "type": "string",
                                  "pattern": "^[A-Za-z0-9_-]{43}$",
                                  "minLength": 43,
                                  "maxLength": 43,
                                  "description": "A 32-byte P-256 coordinate encoded as unpadded base64url.",
                                  "title": "PublicJwkCoordinate"
                                },
                                "y": {
                                  "type": "string",
                                  "pattern": "^[A-Za-z0-9_-]{43}$",
                                  "minLength": 43,
                                  "maxLength": 43,
                                  "description": "A 32-byte P-256 coordinate encoded as unpadded base64url.",
                                  "title": "PublicJwkCoordinate"
                                }
                              },
                              "required": [
                                "kty",
                                "crv",
                                "x",
                                "y"
                              ],
                              "description": "A public P-256 JWK. The object accepts exactly `kty`, `crv`, `x`, and `y`.\nPrivate key material such as `d`, embedded key IDs, and all other members\nare rejected. The server also rejects coordinates that are not a point on\nP-256.",
                              "title": "PublicJwk"
                            },
                            "fingerprint": {
                              "type": "string",
                              "pattern": "^[A-Za-z0-9_-]{43}$",
                              "minLength": 43,
                              "maxLength": 43,
                              "description": "RFC 7638 SHA-256 JWK thumbprint encoded as unpadded base64url."
                            }
                          },
                          "required": [
                            "jwk",
                            "fingerprint"
                          ],
                          "description": "Registered public key material and its server-computed RFC 7638 thumbprint.",
                          "title": "PublicKeyMaterial"
                        },
                        "pod_id": {
                          "type": "string",
                          "description": "Pod ID the api key is scoped to. If set, the key can only access resources within this pod.",
                          "title": "PodScopeId"
                        },
                        "inbox_id": {
                          "type": "string",
                          "description": "Inbox ID the api key is scoped to. If set, the key can only access resources within this inbox.",
                          "title": "InboxScopeId"
                        },
                        "status": {
                          "type": "string",
                          "enum": [
                            "pending",
                            "active"
                          ],
                          "description": "Lifecycle of a sign-in key: `pending` until the client finishes\ncreating it on the AgentID page, `active` once it can sign in as the\ninbox. Absent on a registered key.",
                          "title": "PublicKeyStatus"
                        },
                        "used_at": {
                          "type": "string",
                          "format": "date-time",
                          "description": "Time at which api key was last used.",
                          "title": "UsedAt"
                        },
                        "permissions": {
                          "type": "object",
                          "properties": {
                            "inbox_read": {
                              "type": "boolean",
                              "description": "Read inbox details."
                            },
                            "inbox_create": {
                              "type": "boolean",
                              "description": "Create new inboxes."
                            },
                            "inbox_update": {
                              "type": "boolean",
                              "description": "Update inbox settings."
                            },
                            "inbox_delete": {
                              "type": "boolean",
                              "description": "Delete inboxes."
                            },
                            "message_read": {
                              "type": "boolean",
                              "description": "Read messages. Also required to read threads."
                            },
                            "message_send": {
                              "type": "boolean",
                              "description": "Send messages."
                            },
                            "message_update": {
                              "type": "boolean",
                              "description": "Update message labels. Also required to update threads."
                            },
                            "message_delete": {
                              "type": "boolean",
                              "description": "Delete messages. Also required to delete threads."
                            },
                            "label_spam_read": {
                              "type": "boolean",
                              "description": "Access messages labeled spam."
                            },
                            "label_blocked_read": {
                              "type": "boolean",
                              "description": "Access messages labeled blocked."
                            },
                            "label_unauthenticated_read": {
                              "type": "boolean",
                              "description": "Access messages labeled unauthenticated."
                            },
                            "label_trash_read": {
                              "type": "boolean",
                              "description": "Access messages labeled trash."
                            },
                            "draft_read": {
                              "type": "boolean",
                              "description": "Read drafts."
                            },
                            "draft_create": {
                              "type": "boolean",
                              "description": "Create drafts."
                            },
                            "draft_update": {
                              "type": "boolean",
                              "description": "Update drafts."
                            },
                            "draft_delete": {
                              "type": "boolean",
                              "description": "Delete drafts."
                            },
                            "draft_send": {
                              "type": "boolean",
                              "description": "Send drafts."
                            },
                            "webhook_read": {
                              "type": "boolean",
                              "description": "Read webhook configurations."
                            },
                            "webhook_create": {
                              "type": "boolean",
                              "description": "Create webhooks."
                            },
                            "webhook_update": {
                              "type": "boolean",
                              "description": "Update webhooks."
                            },
                            "webhook_delete": {
                              "type": "boolean",
                              "description": "Delete webhooks."
                            },
                            "domain_read": {
                              "type": "boolean",
                              "description": "Read domain details."
                            },
                            "domain_create": {
                              "type": "boolean",
                              "description": "Create domains."
                            },
                            "domain_update": {
                              "type": "boolean",
                              "description": "Update domains."
                            },
                            "domain_delete": {
                              "type": "boolean",
                              "description": "Delete domains."
                            },
                            "list_entry_read": {
                              "type": "boolean",
                              "description": "Read list entries."
                            },
                            "list_entry_create": {
                              "type": "boolean",
                              "description": "Create list entries."
                            },
                            "list_entry_delete": {
                              "type": "boolean",
                              "description": "Delete list entries."
                            },
                            "metrics_read": {
                              "type": "boolean",
                              "description": "Read metrics."
                            },
                            "api_key_read": {
                              "type": "boolean",
                              "description": "Read API keys."
                            },
                            "api_key_create": {
                              "type": "boolean",
                              "description": "Create API keys."
                            },
                            "api_key_update": {
                              "type": "boolean",
                              "description": "Update API keys."
                            },
                            "api_key_delete": {
                              "type": "boolean",
                              "description": "Delete API keys."
                            },
                            "provider_connect": {
                              "type": "boolean",
                              "description": "Sign in to providers as an inbox: connect a provider, authorize an inbox, and mint the\nsign-in keys. Omitted on a new bearer key means false, whatever else the key holds."
                            },
                            "provider_share_owner": {
                              "type": "boolean",
                              "description": "Share the organization owner's name and email with providers at sign-in. One permission\nfor both values."
                            },
                            "account_update": {
                              "type": "boolean",
                              "description": "Update accounts: disable or re-enable an inbox's sign-in at a provider. Reading accounts\nneeds only `inbox_read`."
                            },
                            "pod_read": {
                              "type": "boolean",
                              "description": "Read pods."
                            },
                            "pod_create": {
                              "type": "boolean",
                              "description": "Create pods."
                            },
                            "pod_update": {
                              "type": "boolean",
                              "description": "Update pods."
                            },
                            "pod_delete": {
                              "type": "boolean",
                              "description": "Delete pods."
                            }
                          },
                          "description": "Granular permissions for the API key. When ommitted all permissions are granted. Otherwise, only permissions set to true are granted.",
                          "title": "ApiKeyPermissions"
                        },
                        "created_by": {
                          "type": "object",
                          "properties": {
                            "api_key_id": {
                              "type": "string",
                              "description": "ID of api key.",
                              "title": "ApiKeyId"
                            }
                          },
                          "required": [
                            "api_key_id"
                          ],
                          "description": "The bearer API key that created the credential. Provenance only; the credential outlives it.",
                          "title": "ApiKeyCreator"
                        },
                        "created_at": {
                          "type": "string",
                          "format": "date-time",
                          "description": "Time at which api key was created.",
                          "title": "CreatedAt"
                        },
                        "updated_at": {
                          "type": "string",
                          "format": "date-time",
                          "description": "Time at which api key was last updated.",
                          "title": "UpdatedAt"
                        },
                        "expires_at": {
                          "type": "string",
                          "format": "date-time",
                          "description": "Time at which api key expires. Omitted when it does not expire.",
                          "title": "ExpiresAt"
                        }
                      },
                      "required": [
                        "type",
                        "api_key_id",
                        "name",
                        "permissions",
                        "created_by",
                        "created_at",
                        "updated_at"
                      ],
                      "description": "An AgentID sign-in credential, scoped like a bearer key; `api_key_id` is\nthe JWS `kid`. A sign-in key carries `status`, gains `public_key` once\nthe client has proved it, expires 30 days after\nactivation, and carries exactly `provider_connect` and\n`provider_share_owner`, snapshotted from the bearer key that created it\nand enforced from the key itself.",
                      "title": "PublicKeyCredential"
                    }
                  ],
                  "description": "One credential of any family. `type` is `bearer` or `public_key`. A\npublic key carrying `status` is a sign-in key; one without it is a\nregistered signing key.",
                  "title": "ApiKey"
                },
                "description": "Every credential family, ordered by `created_at`. `type` restricts\nto one family."
              }
            },
            "required": [
              "count",
              "api_keys"
            ],
            "title": "ListApiKeysResponse"
          }
        }
      }
    },
    "404": {
      "description": "Error response with status 404",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "Name of error.",
                "title": "ErrorName"
              },
              "code": {
                "type": "string",
                "description": "Stable, machine-readable error code in snake_case (for example, not_found or missing_permission). Branch on this rather than the message text.",
                "title": "ErrorCode"
              },
              "message": {
                "type": "string",
                "description": "Error message.",
                "title": "ErrorMessage"
              },
              "fix": {
                "type": "string",
                "description": "The concrete next action that resolves the error.",
                "title": "ErrorFix"
              },
              "docs": {
                "type": "string",
                "description": "Link to the error reference entry for this code.",
                "title": "ErrorDocs"
              }
            },
            "required": [
              "name",
              "message"
            ],
            "title": "ErrorResponse"
          }
        }
      }
    }
  }
}
```
