---
title: "Read a persisted domain-purchase order's status by id"
method: GET
path: "/sell/orders/{id}"
tags: ["Registrar"]
---

# Read a persisted domain-purchase order's status by id

`GET /sell/orders/{id}`

## Request

- Base URL: `https://api.customdomain.ai/v1`
- URL: `https://api.customdomain.ai/v1/sell/orders/{id}`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://api.customdomain.ai/oauth/agent/authorize`, token URL `https://api.customdomain.ai/oauth/agent/token`, scopes: `domains:read`)

A widget token or a delegated agent token (`domains:read`) reads an order of its own application; a tenant API key reads an order of any of its applications. An order of another application answers `404`.

## Path parameters

- `id` string, required

## Response `200`

Order

- SellOrderView: The stable, documented projection of a domain-purchase order.
  - `orderId` string, required
  - `domain` string, required
  - `registrar` string
  - `status` 'quoted' | 'purchasing' | 'purchased' | 'transferred' | 'failed' | 'expired', required
  - `createdAt` string, date-time
  - `regOrderId` string: the registrar's order reference, once purchased.
  - `jobId` string
  - `link` string: sharing-rail checkout URL, if any.
  - `freeDomain` boolean: promo (first-domain-free) registration.

## Other responses

- `401`: Error envelope: {code, title, details}.
- `403`: Error envelope: {code, title, details}.
- `404`: Error envelope: {code, title, details}.
- `503`: Error envelope: {code, title, details}.

---

[API](https://skmtc.dev/customdomain/apis/customdomain-control-plane-api.md) · [All operations](https://skmtc.dev/customdomain/apis/customdomain-control-plane-api/llms.txt) · [OpenAPI document](https://skmtc.dev/customdomain/apis/customdomain-control-plane-api/revisions/34d89cb7a7cd?raw)
