Accounts, domains, DNS, mailbox billing, settings, sending limits and API keys. Start with the mail setup guide.
Mail integration
Connect a domain, buy mailboxes and manage mail through Cloud API.
Mail plans
Available storage plans and final monthly prices in USD. No integration markup is added. Use an active code as plan_code when buying or upgrading a mailbox. The period is one calendar month; only storage upgrades are supported. Messages, attachments and files share one storage quota. mail_quota_mb and file_quota_mb represent one limit, not two separate allocations.
Mail accounts
All customer accounts of this integration. No customer filter is required. Returns an empty array before the first account is created. Passwords are not returned.
Create a mail account
Creates a free customer account linked to your api_user_id. Repeating the same api_user_id and name returns the existing account without its password; different data returns 409. The generated login and password can be used at adapt-mail.com. Save the password from this response; to replace it, use password-reset. This does not create a mailbox.
Mail account details
Returns an account owned by this integration, including its login and api_user_id. The password is not returned.
Update a mail account
Changes name, account access or password. Omitted and null fields remain unchanged. Disabling the account blocks access without changing paid terms. Changing the password or disabling the account revokes its sessions.
Reset account password
Generates a new account password and revokes account sessions. Returns the new password only in this response. Does not change individual mailbox passwords.
Create a mail login link
Creates a one-time Adapt Mail login link valid for 5 minutes. Omit mailbox_id or pass null to open the whole account; specify mailbox_id to open only that mailbox of the selected account. locale selects the interface language and defaults to en. Open the complete login_url including #token. Do not store or cache the link; create a new link after use or expiry. Passwords and existing browser logins are unchanged. Ownership and access are checked again at sign-in; changing the account password invalidates the link.
Integration domains
All non-deleted customer domains of the integration, newest first, with account_id and api_user_id. No account selection is required. Shared domains are not included.
Account domains
Returns the customer’s own domains and available shared domains. Use an active domain ID to create a mailbox.
Connect a domain
Registers a domain in pending state. Send a full domain name such as example.com, without http://, https://, paths or ports. Publish the records from the DNS endpoint, then call verify. An already connected domain returns 409.
Delete a domain
Deletes an owned domain only after all of its mailboxes have been deleted, including creating, suspended and deleting mailboxes. Shared domains cannot be deleted. If deletion is not confirmed, repeat this request; a deleting domain cannot create mailboxes. Domain deletion does not edit records at your DNS provider.
Domain DNS records
Returns the required DNS records and observed values. name is the record name, value is its full expected value, matches indicates a match. For MX, split value into priority and mail server: '10 mx1.adapt-mail.com' means priority 10 and server mx1.adapt-mail.com. A record may contain error=dns_unavailable. GET checks records but does not activate the domain. DKIM is included after verification. See the mail setup guide.
Verify a domain
Verifies the ownership TXT record and activates the domain. A missing verification TXT returns 409. The response includes DNS records, including the generated DKIM TXT. Publish DKIM as well and check DNS again. status=active confirms activation, not that every DNS record matches: inspect records[].matches.
Mailboxes
Lists integration mailboxes excluding deleted ones, newest first. api_user_id is an optional exact customer filter. total_count is the number matching the filter before pagination. Sending limits and usage are included in the same response.
Buy a mailbox
Buys a mailbox for one calendar month, charged to the integration balance at the catalog price. account_id determines api_user_id; domain_id must be active and available to that account. The address is local_part@domain. Use the plan price directly: no purchase quote is required. The paid period begins when provisioning completes. HTTP 202 means the order was accepted; read GET /orders/{order_id} until completed and use mailbox_id to retrieve the mailbox. auto_renew defaults to false.
Mailbox details
Returns the mailbox, storage usage, access state, paid term, auto-renewal setting, sending limits and usage. All dates are UTC. A null paid_until means the paid period is not yet confirmed.
Quote mailbox renewal
Renews for one calendar month at the current price of the mailbox storage plan. The new term starts at the later of paid_until and the current time. Renewal is available until deletion starts and within 24 hours after expiry. It does not remove a manual access block. Returns the price and balance without charging or creating an order.
Renew a mailbox
Renews for one calendar month at the current price of the mailbox storage plan. The new term starts at the later of paid_until and the current time. Renewal is available until deletion starts and within 24 hours after expiry. It does not remove a manual access block.
Quote a storage upgrade
Increases storage to a larger active plan. The mailbox must be active and paid. The extra charge is the difference between current monthly prices multiplied by the remaining fraction of each paid calendar month, rounded to four decimal places. paid_until stays unchanged. Storage cannot be reduced. Returns the extra charge without payment.
Upgrade mailbox storage
Increases storage to a larger active plan. The mailbox must be active and paid. The extra charge is the difference between current monthly prices multiplied by the remaining fraction of each paid calendar month, rounded to four decimal places. paid_until stays unchanged. Storage cannot be reduced.
Delete a mailbox
Creates a free asynchronous deletion order. Deletion removes the mailbox, messages and files. The unused paid term is not refunded. HTTP 202 is acceptance, not confirmation of deletion; read the order and mailbox.deleted webhook.
Update mailbox settings
Changes name, mailbox password or signature asynchronously. Omitted and null fields remain unchanged; send an empty signature to clear it. HTTP 200 returns an operation, not a completed change. Poll its UUID through the account operations endpoint. This does not change account login/password, storage size or paid term.
Mailbox auto-renewal
Enables or disables renewal from the integration balance. When enabled, renewal is attempted one hour before expiry and again one hour before deletion if still unpaid. Each renewal is one calendar month at current prices. Returns mailbox details with current sending usage.
Mailbox access
Sets the manual enabled flag. Disabling does not pause billing or change the paid term. Enabling cannot restore an expired or deleting mailbox, or override a disabled account. Returns mailbox data without sending usage counters.
Change mailbox owner
Moves a mailbox to another account of the same integration and updates api_user_id. The address, password, contents and paid term are retained. Returns mailbox data without sending usage counters.
Mail operation
Returns an operation belonging to the account. The UUID is returned by a settings request or as mail_operation_id in a paid order. queued/running means work is pending; succeeded means success; failed means failure; uncertain means the outcome is unconfirmed; cancelled means cancellation. result contains only public result fields. error contains a public code or null. A sending operation is not a billing order, and acceptance does not confirm delivery.
Retry a mail operation
Retries an eligible failed settings operation without another payment. Sending operations cannot be retried through this route. An outdated settings operation cannot overwrite newer settings. For paid orders, only a storage upgrade in review can be resumed; other order retries are managed automatically. An ineligible operation returns 409. Read the operation and the associated order after acceptance.
Mail API keys
Lists active and revoked mail keys of the integration. Only metadata is returned; use GET /mail/api-keys/{key_id} to view an active key.
Create a mail API key
Mail keys are for reading/sending messages and working with folders and attachments through the mail API, for example in your own mail UI or automation. They belong to the integration, not a single mailbox. Provisioning, billing and renewal use the Cloud integration key. Login at adapt-mail.com uses login/password.
View a mail API key
Returns the full active key for viewing or copying. A missing, foreign or revoked key returns 404. If the value cannot be recovered, 409 mail_key_not_recoverable is returned; create a new key. The response uses Cache-Control: no-store.
Revoke or delete a mail API key
With permanent=false (default), revokes the key and returns revoked=true. It can no longer authorize mail API requests. With permanent=true, permanently removes a revoked key and returns deleted=true. First revoke an active key: attempting to delete it directly returns 409 mail_key_active.