---
title: "Create API Key"
method: POST
path: "/v0/pods/{pod_id}/api-keys"
tags: ["PodsAPIKeys"]
---

# Create API Key

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

**CLI:**
```bash
agentmail pods:api-keys create --pod-id <pod_id> --name "My Key"
```

## Path parameters

- `pod_id` string, required — ID of pod.

## Request body

- CreateApiKeyRequest
  - `name` string — Name of api key.
  - `permissions` ApiKeyPermissions — Granular permissions for the API key. When ommitted all permissions are granted. Otherwise, only permissions set to true are granted.
    - `inbox_read` boolean, nullable — Read inbox details.
    - `inbox_create` boolean, nullable — Create new inboxes.
    - `inbox_update` boolean, nullable — Update inbox settings.
    - `inbox_delete` boolean, nullable — Delete inboxes.
    - `thread_read` boolean, nullable — Read threads.
    - `thread_delete` boolean, nullable — Delete threads.
    - `message_read` boolean, nullable — Read messages.
    - `message_send` boolean, nullable — Send messages.
    - `message_update` boolean, nullable — Update message labels.
    - `label_spam_read` boolean, nullable — Access messages labeled spam.
    - `label_blocked_read` boolean, nullable — Access messages labeled blocked.
    - `label_trash_read` boolean, nullable — Access messages labeled trash.
    - `draft_read` boolean, nullable — Read drafts.
    - `draft_create` boolean, nullable — Create drafts.
    - `draft_update` boolean, nullable — Update drafts.
    - `draft_delete` boolean, nullable — Delete drafts.
    - `draft_send` boolean, nullable — Send drafts.
    - `webhook_read` boolean, nullable — Read webhook configurations.
    - `webhook_create` boolean, nullable — Create webhooks.
    - `webhook_update` boolean, nullable — Update webhooks.
    - `webhook_delete` boolean, nullable — Delete webhooks.
    - `domain_read` boolean, nullable — Read domain details.
    - `domain_create` boolean, nullable — Create domains.
    - `domain_update` boolean, nullable — Update domains.
    - `domain_delete` boolean, nullable — Delete domains.
    - `list_entry_read` boolean, nullable — Read list entries.
    - `list_entry_create` boolean, nullable — Create list entries.
    - `list_entry_delete` boolean, nullable — Delete list entries.
    - `metrics_read` boolean, nullable — Read metrics.
    - `api_key_read` boolean, nullable — Read API keys.
    - `api_key_create` boolean, nullable — Create API keys.
    - `api_key_delete` boolean, nullable — Delete API keys.
    - `pod_read` boolean, nullable — Read pods.
    - `pod_create` boolean, nullable — Create pods.
    - `pod_delete` boolean, nullable — Delete pods.

## Response `200`

- CreateApiKeyResponse
  - `api_key_id` string, required — ID of api key.
  - `api_key` string, required — API key.
  - `prefix` string, required — Prefix of api key.
  - `name` string, required — Name of api key.
  - `pod_id` string, nullable — Pod ID the api key is scoped to.
  - `inbox_id` string, nullable — Inbox ID the api key is scoped to.
  - `permissions` ApiKeyPermissions — Granular permissions for the API key. When ommitted all permissions are granted. Otherwise, only permissions set to true are granted.
    - `inbox_read` boolean, nullable — Read inbox details.
    - `inbox_create` boolean, nullable — Create new inboxes.
    - `inbox_update` boolean, nullable — Update inbox settings.
    - `inbox_delete` boolean, nullable — Delete inboxes.
    - `thread_read` boolean, nullable — Read threads.
    - `thread_delete` boolean, nullable — Delete threads.
    - `message_read` boolean, nullable — Read messages.
    - `message_send` boolean, nullable — Send messages.
    - `message_update` boolean, nullable — Update message labels.
    - `label_spam_read` boolean, nullable — Access messages labeled spam.
    - `label_blocked_read` boolean, nullable — Access messages labeled blocked.
    - `label_trash_read` boolean, nullable — Access messages labeled trash.
    - `draft_read` boolean, nullable — Read drafts.
    - `draft_create` boolean, nullable — Create drafts.
    - `draft_update` boolean, nullable — Update drafts.
    - `draft_delete` boolean, nullable — Delete drafts.
    - `draft_send` boolean, nullable — Send drafts.
    - `webhook_read` boolean, nullable — Read webhook configurations.
    - `webhook_create` boolean, nullable — Create webhooks.
    - `webhook_update` boolean, nullable — Update webhooks.
    - `webhook_delete` boolean, nullable — Delete webhooks.
    - `domain_read` boolean, nullable — Read domain details.
    - `domain_create` boolean, nullable — Create domains.
    - `domain_update` boolean, nullable — Update domains.
    - `domain_delete` boolean, nullable — Delete domains.
    - `list_entry_read` boolean, nullable — Read list entries.
    - `list_entry_create` boolean, nullable — Create list entries.
    - `list_entry_delete` boolean, nullable — Delete list entries.
    - `metrics_read` boolean, nullable — Read metrics.
    - `api_key_read` boolean, nullable — Read API keys.
    - `api_key_create` boolean, nullable — Create API keys.
    - `api_key_delete` boolean, nullable — Delete API keys.
    - `pod_read` boolean, nullable — Read pods.
    - `pod_create` boolean, nullable — Create pods.
    - `pod_delete` boolean, nullable — Delete pods.
  - `created_at` string, date-time, required — Time at which api key was created.

## Other responses

- `400`
- `404`

---

[API](https://skmtc.net/agentmail-to/apis/api-2.md) · [All operations](https://skmtc.net/agentmail-to/apis/api-2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/agentmail-to/api-2/versions/869b7f1c360c/schema)
