List a domain's history
Everything that was done to this domain, newest first: what it was, when, and who asked for it. The same events a webhook carries, read back per domain - one row per thing done, so putting a domain on hold reads as the hold itself rather than also as a settings change.
apiKeyAuthorizationBearer <token>An API key from the Developers page. rhq_test_ keys reach the sandbox, rhq_live_ keys the live side.
id*stringlimit?integerHow many to return
1 <= value <= 10025cursor?stringnextCursor from the previous page
Success
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/domains/dom_01K6XJ4Q8ZT3M9R5V2B7WDHNCA/history"{ "data": [ { "id": "evt_01K6XJ4Q8ZT3M9R5V2B7WDHNCA", "type": "domain.renewed", "at": "2026-10-07T11:04:31.000Z", "actor": { "kind": "user", "label": "string" }, "detail": "string" } ], "nextCursor": null, "total": 1}Quote a delete GET
What deleting this domain now would give back. The window is the registry's own add grace period, read from the registrar and measured from the registration: inside it the registration charge alone comes back, and outside it nothing does. WHOIS privacy is not refunded, and neither is any renewal since.
Transfer a domain in POST
Starts a transfer in from another registrar: holds the transfer price for this ending and answers 202 with a transfer whose status you poll. A wrong auth code is never known this early - only the losing registrar or the registrant finds that out, which can take days - so it never fails this call; it only ever shows up later as this transfer ending `rejected`. Send an Idempotency-Key header so a retry can never start a second one.