Check domains
For buying several at once. A name that is malformed or whose ending is not on offer comes back unavailable, with a null price, as does a premium name or one the registrar could not check.
apiKeyAuthorizationBearer <token>An API key from the Developers page. rhq_test_ keys reach the sandbox, rhq_live_ keys the live side.
application/json- body
domains*array<>1 <= items <= 100customerId?stringAlso return what this customer pays for a first purchase
coupon?stringAlso count the promotion this coupon unlocks, as an order sending it would
1 <= length <= 40Success
application/json- response
Success
data*array<>curl -X POST "https://example.com/v1/domains/check" \ -H "Content-Type: application/json" \ -d '{ "domains": [ "northwind-telecom.com", "northwind.io" ] }'{ "data": [ { "domain": "northwind-telecom.com", "available": true, "price": 1440, "premium": true, "unknown": true, "transferPrice": null, "transferAddsYear": null, "customerPrice": 1799, "customerCurrency": "USD", "customerNormalPrice": 1999, "customerPromotionEndsAt": "2026-12-01T00:00:00.000Z", "privacyPrice": 499, "customerPrivacyPrice": 599 } ]}Search for a domain GET
Checks one name across every ending on offer, with your price for each. With `customerId`, each also says what that customer pays, promotions counted. A premium name is left out until it can be priced properly, and one the registrar could not check comes back `unknown`.
Register a domain POST
Charges your wallet for the years asked for, plus WHOIS privacy for those years when it is on. Send an Idempotency-Key header so a retry can never register twice. The registrar can answer `pending`: the domain comes back with `status: "pending"` and the charge stays held until it finishes. A `coupon` is checked before the registrar is asked, so an order it cannot be used on is refused with nothing registered, unless you send `couponOptional`.