JavaScript SDK: swarmhit.mailboxOrders.quote(params)
Price domains and mailboxes before buying: the lines charged now (domain registration, the first month) and every month after, in cents. Returns a quoteId, valid for 30 minutes, that POST /mailbox-orders needs. Charges nothing. Domains no longer available are listed in unavailable. Needs the managed mailboxes feature (403).
A domain entry with existing: true adds mailboxes to a domain the workspace already bought (GET /managed-domains): no domain charge, only the mailboxes, which are usually ready within minutes. Addresses already taken on such a domain are listed in unavailableMailboxes. Refusals: 404 domain-not-owned, 409 domain-full (details.slotsLeft), 409 domain-admin-cancelled (its admin mailbox was cancelled, so it takes no new mailbox), 409 domain-not-ready (an own domain still connecting, or whose nameservers moved away). contact is only required when the order registers a new domain.
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.
contact is required when at least one domain is new (registered by this order); an order that only adds mailboxes to bought domains needs none.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/mailbox-orders/quote" \ -H "Content-Type: application/json" \ -d '{ "domains": [ { "name": "string", "mailboxes": [ { "username": "string", "firstName": "string", "lastName": "string" } ] } ] }'{ "data": { "quoteId": "string", "lines": [ { "kind": "domain", "label": "string", "quantity": 0, "unitCents": 0, "totalCents": 0, "interval": "once" } ], "dueNowCents": 0, "monthlyCents": 0, "currency": "string", "expiresAt": "2019-08-24T14:15:22Z", "unavailable": [ "string" ], "unavailableMailboxes": [ "string" ], "emailVerificationDomains": [ "string" ] }}List the domains you bought GET
**JavaScript SDK:** [`swarmhit.managedDomains.list(params?)`](/smart-api/sdk/methods#managedDomains) The workspace's bought domains and how many more mailboxes each can take (5 per domain on Google Workspace and Microsoft 365). Add mailboxes to one with a domain entry `{ name, existing: true, mailboxes }` in POST /mailbox-orders/quote (with `X-Swarmhit-Workspace` naming the domain's workspace when it is not the key's own). `canAdd: false` says why in `reason`. Not gated on the managed mailboxes feature. By default the list is the acting workspace's own, as it always was. Optional, for an organization's key acting as the organization (no `X-Swarmhit-Workspace`): `orgWide=true` adds the domains of every workspace inside it, and `workspaceId` picks one of them. With either one, each domain also carries `workspaceId` and `workspaceName`.
Remove an own domain DELETE
**JavaScript SDK:** [`swarmhit.managedDomains.delete(managedDomainId)`](/smart-api/sdk/methods#managedDomains) Let go of a domain you own once no mailbox runs or is on its way there (cancel them first; 409 `domain-in-use` otherwise). Its DNS at Swarmhit is deleted, so the domain stops resolving until its nameservers are set back at the registrar. Billing rights. Not gated on the features. 409 `not-own-domain` for a domain bought here.