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 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" } }}Rename a lead list PATCH
**JavaScript SDK:** [`swarmhit.lists.update(listId, params)`](/smart-api/sdk/methods#lists)
Cancel a bought mailbox POST
**JavaScript SDK:** [`swarmhit.emailAccounts.cancelManaged(emailAccountId, params?)`](/smart-api/sdk/methods#emailAccounts) Cancel a mailbox bought through Swarmhit (`connectedVia: managed`). It keeps working until `cancelAt` (its renewal date), then it is removed and stops being billed; the last mailbox of a domain also stops the domain's renewal. Not gated on the managed mailboxes feature. `409` with `code: not-managed` for a mailbox the workspace connected itself; `403` with `code: not-allowed` unless the key's creator may manage billing. The domain's admin mailbox (`managed.isAdmin`) is the one every other mailbox on the domain depends on: once it is cancelled, no mailbox can ever be added to that domain again. While other mailboxes still run on the domain, cancelling it needs `confirmAdmin: true`; without it the answer is `409` with `code: admin-mailbox` and the warning to show.