List mailboxes
Your mailboxes, newest first. Sign-in details are only on the credentials route.
apiKeyAuthorizationBearer <token>An API key from the Developers page. rhq_test_ keys reach the sandbox, rhq_live_ keys the live side.
limit?integerHow many to return
1 <= value <= 10025cursor?stringnextCursor from the previous page
mailboxDomainId?stringstatus?stringqueued until the domain is connected; provisioning while it is being set up (minutes to a few hours); active with its sign-in details ready; failed if it could not be set up, when nothing is charged for it; cancelled once its domain is deleted
"queued""provisioning""active""failed""cancelled"customerId?stringq?stringText to look for anywhere in the address
1 <= length <= 100Success
application/json- response
Success
data*array<>nextCursor*|Pass as cursor for the next page. null on the last page
total*integerHow many match across every page
0 <= valuecurl -X GET "https://example.com/v1/mailboxes?mailboxDomainId=mdm_01K6XJ4Q8ZT3M9R5V2B7WDHNCA&customerId=cus_01K6XJ4Q8ZT3M9R5V2B7WDHNCA"{ "data": [ { "id": "mbx_01K6XJ4Q8ZT3M9R5V2B7WDHNCA", "mailboxDomainId": "mdm_01K6XJ4Q8ZT3M9R5V2B7WDHNCA", "email": "[email protected]", "username": "jo", "firstName": "Jo", "lastName": "Bloggs", "profilePictureUrl": "string", "isAdmin": true, "status": "queued", "setupStage": "configuring_dns", "failure": { "code": "DOMAIN_IN_USE_GOOGLE", "message": "Domain is already in use in Google Workspace." }, "customerId": "cus_01K6XJ4Q8ZT3M9R5V2B7WDHNCA", "activatedAt": "2026-10-07T11:04:31.000Z", "actor": { "kind": "user", "label": "string" }, "createdAt": "2026-10-07T11:04:31.000Z" } ], "nextCursor": null, "total": 1}Order mailboxes POST
Orders Google mailboxes on a domain, by its name or id: the one call you need. A domain you bought here needs nothing else: we point its nameservers ourselves, keep its existing records (website, verifications), and the mailboxes are set up as soon as it is ready (`nameserversManaged: true`). For a domain registered elsewhere, set the `nameservers` in `mailboxDomain` at its registrar; the mailboxes wait, paid for, and are set up once it points there. A domain nobody has registered is checked with the registrar first: send `buy: true` to register it (a year, to the registrant on the customer or your account default) before its mailboxes are ordered, or leave it off and get `domain_not_registered`, with nothing held or charged. A premium name is never bought here, whatever `buy` says (`premium_domain`). Order more later the same way, up to 10 per domain. Each month is held from your wallet now (checked first, so a short balance changes nothing) and only taken once that mailbox is set up. Send an Idempotency-Key header so a retry never orders twice.
Order mailboxes on several domains POST
Orders mailboxes on up to 50 domains in one call, buying the ones sent with `buy: true` first (for a year, to the customer's registrant or your default one). The wallet is checked for everything up front, so a short balance changes nothing. Each domain then succeeds or fails on its own: `results` says which, and a failed one can be sent again alone. A domain still being registered comes back `awaiting_domain`, its mailboxes paid for and set up once the registration finishes. Send an Idempotency-Key header so a retry never orders twice.