# Quote a single-domain registration (no commitment) (https://developer.godaddy.com/en/docs/references/rest/domains/v3/quote-domain-registration)

---
title: Quote a single-domain registration (no commitment)
description: >-
  Prices the registration, resolves contact settings, and returns required legal
  agreements alongside a single-use quoteToken (10-minute TTL).
full: true
---

Full description

Prices the registration, resolves contact settings, and returns required legal agreements alongside a single-use quoteToken (10-minute TTL). Free and read-only; safe to call speculatively. Returns 422 with field-level detail when required contacts are missing.

## POST /registration-quotes

Quote a single-domain registration (no commitment)

Prices the registration, resolves contact settings, and returns required legal agreements alongside a single-use quoteToken (10-minute TTL). Free and read-only; safe to call speculatively. Returns 422 with field-level detail when required contacts are missing.

### Query parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `iscCode` | string | no | ISC (International Shopper Code) for pricing context. When provided, prices reflect the applicable rates for this ISC. |

### Header parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `X-Request-Id` | unknown | no | Optional client-generated request correlation identifier, propagated across services and returned in the response X-Request-Id header. |

### Request body (required)

Content-Type: `application/json`

```json
{
  "domain": "example.com"
}
```

Schema:

- object
  - `domain` (required): string — The domain name to quote, in punycode A-label form.
  - `period`: integer — Registration period in years. If supplied, the same value must be re-supplied on /registrations.
  - `profileId`: allOf(unknown & unknown)
  - `profile`: allOf(unknown & unknown)

### Responses

**200** — Registration quote. When available is false, no quoteToken is returned; this is not an error.

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/RegistrationQuote`

**400** — Malformed request syntax, missing required field, or invalid field type.

Content-Type: `application/json`

Schema:

- schema reference: `#/x-ext/21ae8c5`

**401** — Authentication credentials are missing or invalid.

Content-Type: `application/json`

Schema:

- schema reference: `#/x-ext/21ae8c5`

**403** — Authenticated identity is not authorized to perform this operation.

Content-Type: `application/json`

Schema:

- schema reference: `#/x-ext/21ae8c5`

**422** — Semantically invalid request — valid structure but violates a business rule, such as an ineligible contact, unsupported TLD, non-renewable domain status, or quote_mismatch (e.g. iscCode or acknowledgedFees that do not match the locked quote).

Content-Type: `application/json`

Schema:

- schema reference: `#/x-ext/21ae8c5`

**429** — Too many requests — rate limit exceeded.

Content-Type: `application/json`

Schema:

- schema reference: `#/x-ext/21ae8c5`

**Security:** requires `bearerAuth`.
