Provisioning API
Retrieve a domain
const url = 'https://live-api.customers.ac/v1/domains/dom_d4e5f6a7-b8c9-0123-def4-567890123456';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://live-api.customers.ac/v1/domains/dom_d4e5f6a7-b8c9-0123-def4-567890123456 \ --header 'Authorization: Bearer <token>'Returns a single domain by ID, including its nameserver assignments, health records, and current status.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Example
dom_d4e5f6a7-b8c9-0123-def4-567890123456The unique identifier of the domain.
Responses
Section titled “Responses”The requested domain.
object
object
Unique identifier for the domain.
The sender this domain belongs to.
The fully qualified domain name.
The current lifecycle status of a domain.
The nameservers assigned to this domain by the platform. Configure these at your domain registrar to proceed with provisioning. This field is null until nameservers have been assigned (usually within a few minutes of sender creation). Poll GET /v1/senders/{id}/domains to check.
DNS health check results. null until the domain reaches active status.
object
SPF record status.
DKIM record status.
MX record status.
When the last health check was performed.
Number of mailboxes on this domain.
Example
{ "data": { "id": "dom_d4e5f6a7-b8c9-0123-def4-567890123456", "sender_id": "snd_a1b2c3d4-e5f6-7890-abcd-ef1234567890", "domain": "outbound.acme.com", "status": "pending_nameservers", "nameservers": [ "ns1.sending.ac", "ns2.sending.ac" ], "health": { "spf": "pass", "dkim": "pass", "mx": "pass", "last_checked_at": "2026-03-24T08:00:00Z" }, "mailboxes_count": 3, "created_at": "2026-03-20T09:05:00Z", "updated_at": "2026-03-21T14:30:00Z" }}Authentication failed. The API key is missing or invalid.
object
object
A machine-readable error code.
A human-readable explanation of the error.
A link to the documentation page for this error code.
For validation errors, a list of individual field-level problems.
object
The field that caused the error, in dot notation.
A machine-readable code for this specific validation issue.
A human-readable explanation.
Examples
No API key provided
{ "error": { "code": "auth.missing_key", "message": "No API key was provided. Include your key in the Authorization header: Bearer sac_live_xxxxx.", "doc_url": "https://docs.sending.ac/errors/auth-missing-key" }}Invalid API key
{ "error": { "code": "auth.invalid_key", "message": "The API key provided is invalid or has been revoked.", "doc_url": "https://docs.sending.ac/errors/auth-invalid-key" }}The API key does not have the required scope for this operation.
object
object
A machine-readable error code.
A human-readable explanation of the error.
A link to the documentation page for this error code.
For validation errors, a list of individual field-level problems.
object
The field that caused the error, in dot notation.
A machine-readable code for this specific validation issue.
A human-readable explanation.
Example
{ "error": { "code": "auth.insufficient_scope", "message": "Your API key does not have the 'senders:write' scope required for this operation.", "doc_url": "https://docs.sending.ac/errors/auth-insufficient-scope" }}The requested resource does not exist.
object
object
A machine-readable error code.
A human-readable explanation of the error.
A link to the documentation page for this error code.
For validation errors, a list of individual field-level problems.
object
The field that caused the error, in dot notation.
A machine-readable code for this specific validation issue.
A human-readable explanation.
Example
{ "error": { "code": "resource.not_found", "message": "No sender found with ID snd_a1b2c3d4-e5f6-7890-abcd-ef1234567890.", "doc_url": "https://docs.sending.ac/errors/resource-not-found" }}You have exceeded the rate limit. Wait and retry.
object
object
A machine-readable error code.
A human-readable explanation of the error.
A link to the documentation page for this error code.
For validation errors, a list of individual field-level problems.
object
The field that caused the error, in dot notation.
A machine-readable code for this specific validation issue.
A human-readable explanation.
Example
{ "error": { "code": "rate.quota_exceeded", "message": "Rate limit exceeded. You may make 120 requests per minute. Retry after 30 seconds.", "doc_url": "https://docs.sending.ac/errors/rate-quota-exceeded" }}Headers
Section titled “Headers”Example
30Number of seconds to wait before retrying.
Example
120The maximum number of requests allowed per minute.
Example
0The number of requests remaining in the current window.
Example
1711267260Unix timestamp when the rate limit window resets.