GET /v1/mail/services/{mailServiceId}
Get one email service.
Authentication
Send an API key as a bearer token. The key must carry the mail.view permission; a key without it is refused with 403, not 404.
This endpoint takes no organisation id. Your key already identifies the organisation it belongs to, and the response is scoped to it.
Try it
Replace anything in angle brackets with your own values, and the key placeholder with a key from your dashboard.
curl -X GET https://api.zinndigital.com/v1/mail/services/{mailServiceId} \
-H "Authorization: Bearer zdk_live_…"Signed in? The API console in your dashboard fills in your real organisation id and your own key, and runs the request against the live API so you can see the actual response. Open this endpoint in the API console
Details
One email service in the caller's scope. Requires mail.view.
Parameters
| Name | Type | Required | What it is |
|---|---|---|---|
mailServiceId (path) | Uuid | Yes | Email service ID (UUIDv7). |
Response
| Name | Type | Required | What it is |
|---|---|---|---|
id | Uuid | Yes | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
fqdn | string | Yes | The domain the mailboxes are on. |
provider_config | MailProviderConfig | null | No | The custom provider's declared values, served back so the domain screen can show and edit what was declared. null on every other provider, whose values are documented and… |
site | MailServiceSite | null | No | The site currently serving this domain, or null when no site does. Derived from the hostname, never stored: mail attaches to a domain and a domain outlives the site on it,… |
mailbox_provisioning | MailboxProvisioning | Yes | Whether we pre-create a starter mailbox on this domain. managed — we make one when the domain is provisioned (the Footprint-Free/PBN line and our own fleet); self_service… |
mail_only | boolean | Yes | This domain uses us for mail and nothing else — an active mail service on a hostname no website of ours serves. Published as one server-side answer because more than one… |
domain_id | Uuid | null | No | The registered domain this serves, when we hold the registration. |
status | MailServiceStatus | Yes | A mail service's lifecycle state. |
provider | MailProvider | Yes | Which provider serves a domain's mail. custom is the reseller's own provider (W40-MAIL, owner ruling 2026-09-06): a white-label reseller sells mail they buy elsewhere,… |
mailbox_quota_mb | integer | Yes | Size of each mailbox in MB, captured when the service was created. |
mailbox_limit | integer | Yes | Mailboxes allowed on this domain; -1 is uncapped. Captured when the service was created; a later downgrade is enforced against the live plan as well, so the number actually… |
mailboxes_used | integer | Yes | How many mailboxes currently consume the allowance. |
dns_applied_at | object | No | When the mail DNS was last published. null means never — mailboxes that exist but receive nothing, which is the one state a customer must be told about. |
awaiting_delegation | boolean | No | true when the service's mail records are STAGED in our zone and the domain is still delegated elsewhere (a domain moving to us before its nameserver change): mailboxes,… |
created_at | string | Yes | — |
Errors this endpoint can return
401 · 403 · 404 · 429