API reference

Every route of the ResellerHQ REST API, with its parameters, responses and errors.

The API is REST over HTTPS. Requests and responses are JSON, and every route is described by an OpenAPI 3.1 document that these pages are generated from.

The dashboard's own sign-in routes, under /api/auth, are not part of this API and are not in that document. They have a reference of their own at /api/auth/reference, served only when ResellerHQ is run in development and never on the live site.

Base URL

https://resellerhq.com/api/v1

Making a request

Send your API key as a bearer token. A rhq_test_ key reaches the sandbox and a rhq_live_ key the live side; nothing else in the request changes.

curl https://resellerhq.com/api/v1/account \
  -H "Authorization: Bearer $RHQ_API_KEY"

Each page has a Try in Playground button that sends the request from your browser. Use a sandbox key there.

Conventions

MoneyIntegers in minor units. 1200 is $12.00. Your wallet and the wholesale it pays are in US cents; a customer price, sale or invoice is in the minor units of its own currency. See Currency.
IdsStrings with a prefix that says what they are: num_, ord_, dom_, lic_, cus_.
TimesISO 8601 timestamps in UTC, such as 2026-10-07T11:04:31.000Z.
ListsTake limit and cursor, and return data and nextCursor. See pagination.
RetriesRoutes that spend money take an Idempotency-Key header. See Idempotency.
ErrorsAlways { error, message, requestId }. Branch on error. See Errors.
Rate limit300 requests a minute per key.

Resources

The reference is grouped into areas: Start here, Customers and billing, Products, Reselling, Integrations and Retired. Each resource is a folder, and a large one is split into sections. Mailboxes, for example, has its DNS and its forwarding, DMARC and OAuth routes in folders of their own. The OpenAPI document carries the same layout: each route has one tag, a section names its parent tag in x-parent, and the areas are in x-tagGroups.