Create Domain
http
POST /cranemail/domains
Adds a domain to a reseller service. A key scoped to one service creates it there; a key that covers several must give service_id (the 422 response lists the choices). Settings not given come from the plan, then the service’s saved defaults.
The domain goes live once its verification TXT record is in place (see Get Domain Details).
Parameters
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| domain | string | Yes | Domain name | |
| service_id | integer | No | The reseller service, when the key covers more than one | |
| username | string | No | postmaster | Primary administrator’s mailbox name |
| password | string | No | generated | Primary administrator’s password (min 8 chars) |
| disk_limit | integer | No | plan | Storage in GB |
| user_limit | integer | No | plan | Mailboxes (0 = unlimited) |
| user_alias_limit | integer | No | plan | Aliases (0 = unlimited) |
| domain_alias_limit | integer | No | plan | Domain aliases (0 = unlimited) |
| mxfilter_enabled | boolean | No | false | MXFilter spam filtering |
| mxfilter_admin_access | string | No | primary | Who may open MXFilter from workspace.org: primary (the primary administrator) or all (every domain admin) |
| archive_years | integer | No | 0 | Email archiving, in years (0-20) |
| archive_direction | string | No | disabled | disabled, in, out or inout |
| file_storage | boolean | No | plan | Online file storage |
| office | boolean | No | plan | Online document editing |
| hostname | string | No | Mail hostname | |
| split_domain | string|null | No | Split delivery destination | |
| webmail_sso | boolean | No | true | Allow password-free webmail sign-in (Login as User). Turn off where privacy rules (GDPR) forbid it |
| mxfilter_sso | boolean | No | true | Allow the password-free MXFilter login link |
Response (201)
json
{
"message": "Domain created.",
"domain": "example.com",
"service_id": 12,
"status": "pending",
"verified": false,
"admin": { "username": "postmaster@example.com", "password": "Xq7..." },
"verification": { "host": "craneverify.example.com", "value": "550e8400-e29b-41d4-a716-446655440000" }
}
admin.password is only returned when it was generated.