DomaineeDocs

List purchases

GET /v1/domain-purchases — paginated, filterable list of every purchase in your workspace.

GET /v1/domain-purchases

Lists every purchase tied to your workspace's API key. Cursor-paginated and filterable so you can power a customer-facing dashboard, a CRM lookup, or a support tool without keeping a parallel record.

Request

curl https://api.domainee.dev/v1/domain-purchases \
  -H "Authorization: Bearer $DOMAINEE_API_KEY"

Query parameters

All optional. Filters stack.

ParamNotes
hostnameExact-match filter (case-insensitive).
statuspending · completed · failed · refunded. Repeat the param for multiple.
customerReferenceMatch the opaque string you stashed at purchase time.
createdAfterISO 8601 date — inclusive lower bound.
createdBeforeISO 8601 date — inclusive upper bound.
limit1–200, default 50.
cursorPagination cursor from a previous nextCursor.

Useful queries

All purchases for one of your end-users, by the reference you stored:

curl "https://api.domainee.dev/v1/domain-purchases?customerReference=user_jane_42" \
  -H "Authorization: Bearer $DOMAINEE_API_KEY"

Failed purchases this month (support triage):

curl "https://api.domainee.dev/v1/domain-purchases?status=failed&status=refunded&createdAfter=2026-05-01" \
  -H "Authorization: Bearer $DOMAINEE_API_KEY"

Find a specific domain:

curl "https://api.domainee.dev/v1/domain-purchases?hostname=janesbakery.com" \
  -H "Authorization: Bearer $DOMAINEE_API_KEY"

Response — 200 OK

{
  "purchases": [
    {
      "id": "f8a0c1b9-1234-…",
      "hostname": "janesbakery.com",
      "years": 1,
      "wholesaleCents": 1418,
      "feeCents": 100,
      "totalCents": 1518,
      "currency": "USD",
      "registrar": "namecheap",
      "status": "completed",
      "registrant": {
        "firstName": "Jane",
        "lastName": "Smith",
        "email": "jane@bakery.example",
        "country": "US"
      },
      "whoisPrivacyEnabled": true,
      "autoRenew": false,
      "expiresAt": "2027-05-17T15:42:11.000Z",
      "customerReference": "user_jane_42",
      "createdAt": "2026-05-17T15:42:09.000Z"
    }
  ],
  "nextCursor": "f8a0c1b9-1234-…"
}

nextCursor is null on the last page.

Notes

  • Always implicitly scoped to the API key's workspace. There's no workspace-jumping query — one API key, one workspace's purchases.
  • Failed/refunded rows are kept, not deleted. Useful for reconciliation.
  • The registrant field on the row is a snapshot taken at purchase time. Source of truth for the live contact lives at the registrar.

On this page