API Endpoints: The Complete List
Every endpoint of the AtrioMail API, one line each. Each path starts at the address of your control panel, system.atriomail.com. Send your API key in the X-API-KEY header on every request; how to create a key, and the limit of 30 requests per minute, are in "API Access and Integration".
Where a path holds {id}, put the number of the domain, mailbox, forwarder, catch-all address, customer account or migration job there. A list endpoint returns those numbers.
Your account
GET /api/v1/user- The account the API key belongs to.GET /api/v1/status- Whether the API and the services behind it are working.GET /api/v1/dashboard- How many domains, mailboxes and migration jobs you have.GET /api/v1/search- Find domains, mailboxes, aliases and migration jobs by name. Send the words asq, at least 3 characters.
Domains
GET /api/v1/domains- List your domains, each with its state after the security check.POST /api/v1/domains- Add a domain.GET /api/v1/domains/{id}- One domain.PUT /api/v1/domains/{id}orPATCH /api/v1/domains/{id}- Change a domain: its description, its owner, its caps on mailbox count and storage, andactiveto suspend or reactivate it.DELETE /api/v1/domains/{id}- Delete a domain.GET /api/v1/domains/{id}/ses-dns-records- The DNS records the domain needs for sending: Amazon SES verification and DKIM.GET /api/v1/domains/{id}/ses-verification-status- Whether those sending records are verified.GET /api/v1/domains/{id}/dns-propagation-status- Whether the domain's DNS records can be seen on the internet yet.GET /api/v1/domains/{id}/mail-settings- The IMAP and SMTP settings to give the domain's users.POST /api/v1/domains/{id}/dns-check- Check the domain's live DNS against the exact records it needs.
DNS checks
POST /api/v1/dns-check- Check the mail DNS of a domain by its name.GET /api/v1/dns-check/quota- Your allowance of DNS checks and how much of it is used. This call does not count against it.
Mailboxes
GET /api/v1/mailboxes- List your mailboxes.POST /api/v1/mailboxes- Create a mailbox.GET /api/v1/mailboxes/{id}- One mailbox.PUT /api/v1/mailboxes/{id}orPATCH /api/v1/mailboxes/{id}- Change a mailbox: its name, its password, its storage (quota, in MB),activeto suspend or reactivate it, andrevoke_sessionsto also sign out every app that uses it.DELETE /api/v1/mailboxes/{id}- Delete a mailbox.POST /api/v1/mailboxes/{id}/revoke-access- Lock out a mailbox that someone else may be using: it is suspended, its app passwords are deleted and its open connections are closed. Sendpasswordto set a new password at the same time.GET /api/v1/mailboxes/{id}/quota- The mailbox's storage and how much of it is used.POST /api/v1/mailboxes/{id}/quota/increase- Give the mailbox more storage.POST /api/v1/mailboxes/{id}/quota/decrease- Give the mailbox less storage.
Forwarders
GET /api/v1/forwarders- List your forwarders.POST /api/v1/forwarders- Create a forwarder.GET /api/v1/forwarders/{id}- One forwarder.PUT /api/v1/forwarders/{id}orPATCH /api/v1/forwarders/{id}- Change a forwarder.DELETE /api/v1/forwarders/{id}- Delete a forwarder.
Catch-all addresses
GET /api/v1/catch-all- List your catch-all addresses.POST /api/v1/catch-all- Create a catch-all address for a domain.GET /api/v1/catch-all/{id}- One catch-all address.PUT /api/v1/catch-all/{id}orPATCH /api/v1/catch-all/{id}- Change a catch-all address.DELETE /api/v1/catch-all/{id}- Delete a catch-all address.
Customer accounts
GET /api/v1/users- List the customer accounts you manage.POST /api/v1/users- Create a customer account. Sending the same request again returns the existing account instead of an error.GET /api/v1/users/{id}- One customer account.PUT /api/v1/users/{id}orPATCH /api/v1/users/{id}- Change a customer account.DELETE /api/v1/users/{id}- Delete a customer account.
Sign-in links
POST /api/v1/sso/token- A single-use link that signs a customer straight into their control panel. It works once, for 60 seconds.
IMAP migrations
GET /api/v1/migrations- List your migration jobs.POST /api/v1/migrations- Create a migration job.GET /api/v1/migrations/stats- How many migration jobs you have, how many are active and how many are running.GET /api/v1/migrations/{id}- One migration job and its progress.PUT /api/v1/migrations/{id}orPATCH /api/v1/migrations/{id}- Change a migration job.DELETE /api/v1/migrations/{id}- Remove a migration job.POST /api/v1/migrations/{id}/toggle- Pause a migration job, or resume a paused one.
Suspending and reactivating
There is no separate suspend endpoint. You switch a domain or a mailbox off and on again with active:
- Suspend a domain:
PATCH /api/v1/domains/{id}with"active": false. The domain cannot take mailboxes and its mail is not handled until it is switched on again. - Reactivate a domain: the same request with
"active": true. - Suspend a mailbox:
PATCH /api/v1/mailboxes/{id}with"active": false. The mailbox cannot sign in, send or receive until it is switched on again. - Reactivate a mailbox: the same request with
"active": true. - Lock out a mailbox that someone else may be using, in one call:
POST /api/v1/mailboxes/{id}/revoke-access. It suspends the mailbox unless you send"suspend": false, which only signs out its apps and, withpassword, changes its password.
PUT takes the same fields as PATCH. Switching a domain or a mailbox on is refused while the domain is still in its security check or review, was not approved, or has its sending suspended: a domain answers 422 with the reason under active, a mailbox answers 409 with the reason. Nothing is changed then, and the reason says what happens next.
Need Help?
Contact support through the live chat in the control panel.