# OpenMail ## Docs - [Get attachment](https://docs.openmail.sh/api-reference/attachments/get-attachment.md): Returns a 302 redirect to a signed URL for the attachment. - [Authentication](https://docs.openmail.sh/api-reference/authentication.md): OpenMail uses API key authentication. Pass your secret key as a Bearer token in the Authorization header on every request to the REST API. - [Report feedback](https://docs.openmail.sh/api-reference/feedback/report-feedback.md): Report a bug, a point of friction, or a feature request directly to the OpenMail team. If an API call fails unexpectedly, a response looks wrong, or you notice something that would make OpenMail work better for you, send it here — one call, no confirmation needed, and the team reads every report. Wo… - [Create inbox](https://docs.openmail.sh/api-reference/inboxes/create-inbox.md): Create a new email inbox. Optionally set a sender display name. - [Create inbox API key](https://docs.openmail.sh/api-reference/inboxes/create-inbox-api-key.md): Mint an API key scoped to this inbox. The key can only read and send from this one inbox — its threads, messages, and drafts — and can never reach another inbox, manage pods, or mint keys. The full `token` is returned once, here — store it securely, it cannot be retrieved again. Requires an account-… - [Delete inbox](https://docs.openmail.sh/api-reference/inboxes/delete-inbox.md): Permanently delete an inbox and stop delivery to its address. This action cannot be undone. - [Get inbox](https://docs.openmail.sh/api-reference/inboxes/get-inbox.md): Retrieve a single inbox by its ID, including its address, display name, and creation time. - [List inbox API keys](https://docs.openmail.sh/api-reference/inboxes/list-inbox-api-keys.md): List the (non-revoked) API keys scoped to this inbox. Only non-secret fields are returned — the token itself is never retrievable after creation. - [List inboxes](https://docs.openmail.sh/api-reference/inboxes/list-inboxes.md): List all inboxes for your account. Supports pagination. - [Revoke inbox API key](https://docs.openmail.sh/api-reference/inboxes/revoke-inbox-api-key.md): Permanently revoke an inbox-scoped API key. Any integration using it immediately starts getting 401s. Requires an account-wide key. - [Introduction](https://docs.openmail.sh/api-reference/introduction.md): Complete reference for the OpenMail REST API — create and manage inboxes, send messages, read threads, handle attachments, and configure webhooks. - [List messages](https://docs.openmail.sh/api-reference/messages/list-messages.md): List all messages in an inbox, across every thread. Supports pagination for high-volume inboxes. - [Send email](https://docs.openmail.sh/api-reference/messages/send-email.md): Send an email from an inbox. Requires Idempotency-Key header. Use threadId to reply to an existing thread. When replying on a thread where your inbox was CC'd (deliveryRole cc), the original sender is automatically CC'd. - [API Overview](https://docs.openmail.sh/api-reference/overview.md): OpenMail REST API reference overview — base URL, JSON request/response format, HTTP status codes, and standardized error payloads explained. - [Create pod](https://docs.openmail.sh/api-reference/pods/create-pod.md): Create a new pod (an isolated sub-account for one of your end users or tenants). Pass your own `clientId` to map the pod to a record in your system and address it later without storing the OpenMail ID. - [Create pod API key](https://docs.openmail.sh/api-reference/pods/create-pod-api-key.md): Mint an API key scoped to this pod. The key can read and send from the pod's inboxes and create new inboxes in this pod; it can never delete an inbox, change an inbox's webhook config, manage pods, mint keys, or reach another pod's data. The full `token` is returned once, here — store it securely, i… - [Delete pod](https://docs.openmail.sh/api-reference/pods/delete-pod.md): Permanently delete a pod. The pod must be empty (no inboxes or pod-scoped domains) and cannot be the default pod. - [Get pod](https://docs.openmail.sh/api-reference/pods/get-pod.md): Retrieve a single pod by its OpenMail ID or your own `clientId`. - [List pod API keys](https://docs.openmail.sh/api-reference/pods/list-pod-api-keys.md): List the (non-revoked) API keys scoped to this pod. Only non-secret fields are returned — the token itself is never retrievable after creation. - [List pods](https://docs.openmail.sh/api-reference/pods/list-pods.md): List all pods for your account. The default pod is always returned first. Supports pagination. - [Revoke pod API key](https://docs.openmail.sh/api-reference/pods/revoke-pod-api-key.md): Permanently revoke a pod-scoped API key. Any integration using it immediately starts getting 401s. Requires an account-wide key. - [Update pod](https://docs.openmail.sh/api-reference/pods/update-pod.md): Update a pod's `clientId` or `name`. Only the fields you include are changed. - [Add correspondent policy rule](https://docs.openmail.sh/api-reference/policy/add-correspondent-policy-rule.md): Add one allow/block rule for a direction of a scope's policy. Requires an account-wide API key. - [Delete correspondent policy rule](https://docs.openmail.sh/api-reference/policy/delete-correspondent-policy-rule.md): Remove a single policy rule by its ID. Requires an account-wide API key. - [Get correspondent policy](https://docs.openmail.sh/api-reference/policy/get-correspondent-policy.md): Read the correspondent policy for a scope (account by default, or a pod/inbox). Returns the mode this scope sets for each direction, the effective mode after inheritance, this scope's own rules, and the rules inherited from parent scopes. Requires an account-wide API key — pod- and inbox-scoped keys… - [List correspondent policy audit events](https://docs.openmail.sh/api-reference/policy/list-correspondent-policy-audit-events.md): Read the append-only audit trail for correspondent policy, newest first. Two kinds of event share one stream: `rule_added`, `rule_removed`, `mode_changed`, and `scope_deleted` record who moved the boundary and how (`scope_deleted` covers a pod or inbox being deleted, which cascade-deletes its policy… - [Replace correspondent policy](https://docs.openmail.sh/api-reference/policy/replace-correspondent-policy.md): Declaratively set a scope's entire policy in one call — ideal for automated provisioning. Sets the inbound and/or outbound mode and REPLACES the scope's own rules for any direction you include. Rules created here are fail-closed (an empty allowlist denies all). Omitted directions are left untouched.… - [Set correspondent policy mode](https://docs.openmail.sh/api-reference/policy/set-correspondent-policy-mode.md): Set the filtering mode for one direction of a scope's policy, without touching rules. Requires an account-wide API key. - [Get thread messages](https://docs.openmail.sh/api-reference/threads/get-thread-messages.md): Retrieve a thread and all of its messages in order, with read status and full message content. - [List threads](https://docs.openmail.sh/api-reference/threads/list-threads.md): List threads for an inbox. Use is_read to filter by read status — for example, ?is_read=false returns only unread threads. - [Update thread](https://docs.openmail.sh/api-reference/threads/update-thread.md): Update a thread's read status. Use this to mark a thread as read after your agent has processed it, or as unread to re-queue it for later processing. - [Email deliverability](https://docs.openmail.sh/best-practices/email-deliverability.md): Best practices for landing outbound emails in the inbox. Covers IP warming, SPF/DKIM/DMARC alignment, content tips, and suppression handling. - [Idempotency](https://docs.openmail.sh/best-practices/idempotency.md): Use idempotency keys to safely retry failed send requests without creating duplicate emails. OpenMail rejects duplicate requests for 24 hours. - [Attachments](https://docs.openmail.sh/concepts/attachments.md): Send files with outbound emails and access attachments on inbound messages. OpenMail parses and stores attachments, making them available via API. - [Custom domains](https://docs.openmail.sh/concepts/custom-domains.md): Send and receive email from your own domain with OpenMail. Learn how to configure DNS records, verify ownership, and enable custom domain routing. - [Inboxes](https://docs.openmail.sh/concepts/inboxes.md): Every OpenMail agent gets a dedicated email address and inbox. Learn how to create, configure, and manage inboxes via API or CLI. - [Pods](https://docs.openmail.sh/concepts/pods.md): Pods are isolated sub-accounts inside your OpenMail account. Use them to keep each of your end users or tenants separate while billing stays on one account. - [Rate Limits](https://docs.openmail.sh/concepts/rate-limits.md): OpenMail enforces per-inbox send limits and cold-outreach throttling to protect deliverability. Learn how limits work and how to stay within them. - [Sender rules](https://docs.openmail.sh/concepts/sender-rules.md): Control who your inboxes may receive from and who they may send to. OpenMail enforces scoped allow and block rules on inbound delivery and every outbound send. - [Suppressions](https://docs.openmail.sh/concepts/suppressions.md): OpenMail automatically suppresses sending to addresses that have bounced or unsubscribed. Learn how suppressions work and how to manage the list. - [Threading](https://docs.openmail.sh/concepts/threading.md): OpenMail automatically groups emails into threads by subject and message headers. Learn how threading works and how to read or update thread state. - [Overview](https://docs.openmail.sh/concepts/webhooks.md): OpenMail webhooks deliver inbound email events to your endpoint in real time. Learn about delivery semantics, headers, signature verification, and retries. - [Overview](https://docs.openmail.sh/concepts/websockets.md): OpenMail WebSockets deliver email events in real time with sub-second latency. Learn how the persistent connection model works and when to use it. - [API integration](https://docs.openmail.sh/guides/api-integration.md): Create and manage inboxes programmatically via the OpenMail REST API. Ideal for multi-tenant apps, agent orchestration frameworks, and CI pipelines. - [Multi-tenancy](https://docs.openmail.sh/guides/multi-tenancy.md): Onboard a tenant end-to-end: create a pod, provision inboxes, and hand the tenant a pod-scoped API key that can only reach its own inboxes. - [Setup](https://docs.openmail.sh/guides/webhooks.md): Configure webhook endpoints to receive inbound email events from OpenMail in real time. Covers endpoint setup, payload format, and signature verification. - [Quickstart](https://docs.openmail.sh/guides/websockets/quickstart.md): Connect to OpenMail's WebSocket endpoint and start receiving inbound email events in real time. Step-by-step guide with authentication and code examples. - [Introduction](https://docs.openmail.sh/index.md): OpenMail is email infrastructure purpose-built for AI agents — dedicated inboxes, real-time delivery, two-way threading, and attachment parsing. - [Agent frameworks](https://docs.openmail.sh/integrations/agent-frameworks.md): Integrate OpenMail with LangChain, Vercel AI SDK, or any tool-calling framework. Includes examples for inbox creation and inbound email handling. - [Claude Code](https://docs.openmail.sh/integrations/claude-code.md): Give your Claude Code agent a real email address in three steps. Install the OpenMail skill, run setup, and start sending and receiving email right away. - [OpenClaw](https://docs.openmail.sh/integrations/openclaw.md): Give your OpenClaw agent a real email address in three steps. Install the OpenMail skill, run setup, and your agent can send and receive email immediately. - [Frequently Asked Questions](https://docs.openmail.sh/pages/resources/faq.md): Frequently asked questions about OpenMail — inboxes, pricing, custom domains, sending limits, authentication, and agent integrations answered. - [SPF, DKIM, DMARC](https://docs.openmail.sh/pages/resources/security/email-protocols.md): How OpenMail implements SPF, DKIM, and DMARC to authenticate your emails and maximize inbox delivery rates for outbound agent messages. - [Support](https://docs.openmail.sh/pages/resources/support.md): Get help with OpenMail via Discord, email support, or GitHub issues. Find answers to common questions, report bugs, and request new features. - [Events](https://docs.openmail.sh/pages/webhooks/events.md): OpenMail webhook event reference — event types, full payload structure, and field descriptions for inbound email and reputation lifecycle (inbox/pod suspension and reactivation) events. - [Verification](https://docs.openmail.sh/pages/webhooks/verification.md): Verify OpenMail webhook payloads using HMAC-SHA256 signatures. Step-by-step examples for checking signatures and preventing replay attacks. - [Protocol reference](https://docs.openmail.sh/pages/websockets/protocol.md): OpenMail WebSocket protocol reference — message types, subscribe payloads, event replay options, and connection lifecycle management. - [Welcome](https://docs.openmail.sh/pages/welcome.md): Welcome to OpenMail — email infrastructure for AI agents. Start with the quickstart, explore core concepts, or jump straight into the API reference. - [Quickstart](https://docs.openmail.sh/quickstart.md): Get your AI agent its own email address in two commands. Install the CLI, run openmail setup, and start sending and receiving email in minutes. ## OpenAPI Specs - [openapi](https://docs.openmail.sh/api-reference/openapi.json)