API referenceMailbox orders
POST
/managed-domains

JavaScript SDK: swarmhit.managedDomains.create(params)

Use a domain the workspace already owns for bought mailboxes, instead of buying one: nothing is charged for the domain, only its mailboxes. Its DNS moves to Swarmhit: set the two connection.nameservers at the domain's registrar, replacing connection.currentNameservers (empty for a minute when our mail supplier is slow to answer: read the domain again). Its website records (A/AAAA at the root, www) are copied to its new DNS (connection.websiteRecords), so the site keeps working; nothing else is copied, so subdomains, other records and any email it has today stop working. The domain then connects on its own (connection.state: nameservers → setting_up → ready). Set the nameservers within about 12 hours: a pair not seen by then is replaced by a new one (connection.nameserversChangedAt, webhook managed_domain.action_required with reason: nameservers_changed). Follow it with GET /managed-domains/{id} or the managed_domain.* webhooks. Once canAdd is true, add mailboxes with a domain entry { name, existing: true, mailboxes } in POST /mailbox-orders/quote. Nameservers not changed within 7 days: expired, add it again later. A domain another account had live here before needs support (domain-taken). Needs the managed mailboxes feature, billing rights (the key's creator) and a payment method on file. At most 5 domains connect at once, and 5 adds a minute.

Authorization

bearerAuth
AuthorizationBearer <token>

An API key created on the Access tokens page.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/managed-domains" \  -H "Content-Type: application/json" \  -d '{    "name": "string",    "platform": "google"  }'
{  "data": {    "id": "string",    "name": "string",    "workspaceId": "string",    "workspaceName": "string",    "platform": "google",    "live": 0,    "pending": 0,    "slotsLeft": 0,    "canAdd": true,    "reason": "full",    "adminEmail": "string",    "takenEmails": [      "string"    ],    "source": "purchased",    "connection": {      "state": "nameservers",      "stateLabel": "string",      "nameservers": [        "string"      ],      "currentNameservers": [        "string"      ],      "nameserversChangedAt": "2019-08-24T14:15:22Z",      "websiteRecords": [        {          "type": "A",          "host": "@",          "value": "string"        }      ],      "websiteRecordsCopied": true,      "dnssec": true,      "checkedAt": "2019-08-24T14:15:22Z",      "readyAt": "2019-08-24T14:15:22Z",      "movedAt": "2019-08-24T14:15:22Z",      "expiresAt": "2019-08-24T14:15:22Z",      "registrarExpiresAt": "2019-08-24T14:15:22Z"    },    "emailVerification": {      "status": "pending",      "deadline": "2019-08-24T14:15:22Z"    }  }}