---
title: "Create API Key"
method: POST
path: "/v0/api-keys"
tags: ["APIKeys"]
---

# Create API Key

`POST /v0/api-keys`

## Request

- Base URL: `https://api.agentmail.to`
- URL: `https://api.agentmail.to/v0/api-keys`
- Auth: HTTP bearer

**CLI:**
```bash
agentmail api-keys create --name "My Key"
```

## 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`

---

[API](https://skmtc.dev/agentmail-to/apis/agentmail-cli-speakeasy-api.md) - [All operations](https://skmtc.dev/agentmail-to/apis/agentmail-cli-speakeasy-api/llms.txt) - [OpenAPI document](https://skmtc.dev/agentmail-to/apis/agentmail-cli-speakeasy-api/revisions/869b7f1c360c?raw)
