# Registration Quotes (https://developer.godaddy.com/en/docs/references/rest/domains/v3/registration-quotes)

***

title: Registration Quotes
description: >
Quote a domain registration. Returns a locked price, resolved settings,
required agreements, and a single-use quoteToken. Free and read-only.
full: true
\_openapi:
method: POST
toc:

* depth: 2
  title: Quote a single-domain registration (no commitment)
  url: '#quote-a-single-domain-registration-no-commitment'
  structuredData:
  headings:
  * content: Quote a single-domain registration (no commitment)
    id: quote-a-single-domain-registration-no-commitment
    contents:
  * content: >
    Prices the registration, resolves contact and preference settings,

    returns required legal agreements, and mints a single-use quoteToken

    with a 10-minute TTL. Free and read-only; safe to call speculatively.

    When the domain is unavailable, `available: false` is returned with

    no quoteToken — this is a valid non-error response.

    When required contact fields are missing, a `422` is returned with

    field-level details so the agent can collect the missing data and
    re-quote.

    May pass `iscCode` to lock pricing at applicable rates;

    the same value must be supplied on /registrations if provided here.
    heading: quote-a-single-domain-registration-no-commitment

***

## POST /registration-quotes

Quote a single-domain registration (no commitment)

Prices the registration, resolves contact and preference settings,
returns required legal agreements, and mints a single-use quoteToken
with a 10-minute TTL. Free and read-only; safe to call speculatively.

When the domain is unavailable, `available: false` is returned with
no quoteToken — this is a valid non-error response.

When required contact fields are missing, a `422` is returned with
field-level details so the agent can collect the missing data and re-quote.

May pass `iscCode` to lock pricing at applicable rates;
the same value must be supplied on /registrations if provided here.
The `period` supplied here must be re-supplied on /registrations;
a mismatch returns `quote_mismatch`.
If `profile` or `profileId` is supplied here, the same value must be
re-supplied on /registrations; a mismatch returns `quote_mismatch`.


### 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` | string <uuid> | 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(string <uuid> & unknown)
  - `profile`: allOf(object & unknown)

### Responses

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

Content-Type: `application/json`

Schema:

- object — A price quote for registering a single domain. Contains a locked price, resolved contact and preference settings, required legal agreements, and a short-lived single-use quoteToken that must be presented on the subsequent registration execute call. Execution without a valid quoteToken is structurally impossible.
  - `quoteToken`: allOf(string <uuid> & unknown)
  - `expiresAt`: allOf(string & unknown)
  - `domain` (required): string — The domain name being quoted, in punycode A-label form for IDNs.
  - `available` (required): boolean — Whether the domain is available for registration. When false, no quoteToken is returned. The availability check at quote time is authoritative; a name sniped between suggest/availability and quote fails cleanly here.
  - `price`: allOf(object & unknown)
  - `renewalPrice`: allOf(object & unknown)
  - `period`: integer — Registration period in years for which the price is quoted.
  - `resolved`: allOf(object & unknown)
  - `requiredAgreements`: array — Legal agreements that must be accepted before executing this quote. The agreementType values from this list must be included in the execute request's consent object.
      - items:
          - `agreementType` (required): allOf(string & unknown)
          - `title` (required): string — Human-readable title of the agreement, suitable for display to the customer.
          - `url`: string <uri> — URL to the full legal text of this agreement. Present when available.
  - `irreversible`: boolean — Whether executing this quote is irreversible once accepted. Use to calibrate the explicitness of any confirmation step presented before execute.

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

Content-Type: `application/json`

Schema:

- object — The error information.
  - `name` (required): string — The human-readable, unique name of the error.
  - `correlationId` (required): string — Internal identifier used for correlation purposes.
  - `message` (required): string — The message that describes the error.
  - `informationLink`: string — The URI for detailed information related to this error for the developer.
  - `details`: array — An array of additional details about the error. Required for client-side `4XX` errors.
      - items:
          - `field`: string — The field that caused the error. If the field is in the body, set this value to the JSON pointer to that field. Required for client-side errors.
          - `value`: string — The value of the field that caused the error.
          - `location`: string — The location of the field that caused the error. Value is `body`, `path`, or `query`.
          - `issue` (required): string — The unique fine-grained application-level error code.
          - `description`: string — The human-readable description for an issue. The description MAY change over the lifetime of an API, so clients MUST NOT depend on this value.
  - `links`: array — An array of error-related HATEOAS links.
      - items:
          - `href` (required): string <uri> — The complete target URL, or link, to use in combination with the method to make the related call, as defined by [RFC 6570 - URI Template](https://tools.ietf.org/html/rfc6570), with the addition of the `$`, `(`, and `)` characters for pre-processing. The `href` is the key HATEOAS component that links a completed call with a subsequent call.
          - `rel` (required): string — The [link relation type](https://tools.ietf.org/html/rfc5988#section-4), which is an identifier for a link that unambiguously describes the semantics of the link. For values, see [Link Relationship Types](https://www.iana.org/assignments/link-relations/link-relations.xhtml).
          - `title`: string — The link title.
          - `targetMediaType`: string — The [RFC 2046-defined media type](https://www.ietf.org/rfc/rfc2046.txt) that describes the link target.
          - `targetSchema`: unknown — The schema that describes the link target.
          - `method`: string — The method to use to request the link target. For example, for HTTP, this might be `GET` or `DELETE`.
          - `submissionMediaType`: string — The media type with which to submit data with the request.
          - `submissionSchema`: unknown — The schema that describes the request data.

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

Content-Type: `application/json`

Schema:

- object — The error information.
  - `name` (required): string — The human-readable, unique name of the error.
  - `correlationId` (required): string — Internal identifier used for correlation purposes.
  - `message` (required): string — The message that describes the error.
  - `informationLink`: string — The URI for detailed information related to this error for the developer.
  - `details`: array — An array of additional details about the error. Required for client-side `4XX` errors.
      - items:
          - `field`: string — The field that caused the error. If the field is in the body, set this value to the JSON pointer to that field. Required for client-side errors.
          - `value`: string — The value of the field that caused the error.
          - `location`: string — The location of the field that caused the error. Value is `body`, `path`, or `query`.
          - `issue` (required): string — The unique fine-grained application-level error code.
          - `description`: string — The human-readable description for an issue. The description MAY change over the lifetime of an API, so clients MUST NOT depend on this value.
  - `links`: array — An array of error-related HATEOAS links.
      - items:
          - `href` (required): string <uri> — The complete target URL, or link, to use in combination with the method to make the related call, as defined by [RFC 6570 - URI Template](https://tools.ietf.org/html/rfc6570), with the addition of the `$`, `(`, and `)` characters for pre-processing. The `href` is the key HATEOAS component that links a completed call with a subsequent call.
          - `rel` (required): string — The [link relation type](https://tools.ietf.org/html/rfc5988#section-4), which is an identifier for a link that unambiguously describes the semantics of the link. For values, see [Link Relationship Types](https://www.iana.org/assignments/link-relations/link-relations.xhtml).
          - `title`: string — The link title.
          - `targetMediaType`: string — The [RFC 2046-defined media type](https://www.ietf.org/rfc/rfc2046.txt) that describes the link target.
          - `targetSchema`: unknown — The schema that describes the link target.
          - `method`: string — The method to use to request the link target. For example, for HTTP, this might be `GET` or `DELETE`.
          - `submissionMediaType`: string — The media type with which to submit data with the request.
          - `submissionSchema`: unknown — The schema that describes the request data.

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

Content-Type: `application/json`

Schema:

- object — The error information.
  - `name` (required): string — The human-readable, unique name of the error.
  - `correlationId` (required): string — Internal identifier used for correlation purposes.
  - `message` (required): string — The message that describes the error.
  - `informationLink`: string — The URI for detailed information related to this error for the developer.
  - `details`: array — An array of additional details about the error. Required for client-side `4XX` errors.
      - items:
          - `field`: string — The field that caused the error. If the field is in the body, set this value to the JSON pointer to that field. Required for client-side errors.
          - `value`: string — The value of the field that caused the error.
          - `location`: string — The location of the field that caused the error. Value is `body`, `path`, or `query`.
          - `issue` (required): string — The unique fine-grained application-level error code.
          - `description`: string — The human-readable description for an issue. The description MAY change over the lifetime of an API, so clients MUST NOT depend on this value.
  - `links`: array — An array of error-related HATEOAS links.
      - items:
          - `href` (required): string <uri> — The complete target URL, or link, to use in combination with the method to make the related call, as defined by [RFC 6570 - URI Template](https://tools.ietf.org/html/rfc6570), with the addition of the `$`, `(`, and `)` characters for pre-processing. The `href` is the key HATEOAS component that links a completed call with a subsequent call.
          - `rel` (required): string — The [link relation type](https://tools.ietf.org/html/rfc5988#section-4), which is an identifier for a link that unambiguously describes the semantics of the link. For values, see [Link Relationship Types](https://www.iana.org/assignments/link-relations/link-relations.xhtml).
          - `title`: string — The link title.
          - `targetMediaType`: string — The [RFC 2046-defined media type](https://www.ietf.org/rfc/rfc2046.txt) that describes the link target.
          - `targetSchema`: unknown — The schema that describes the link target.
          - `method`: string — The method to use to request the link target. For example, for HTTP, this might be `GET` or `DELETE`.
          - `submissionMediaType`: string — The media type with which to submit data with the request.
          - `submissionSchema`: unknown — The schema that describes the request data.

**422** — Semantically invalid request — valid structure but violates a business rule, such as an ineligible contact, unsupported TLD, or non-renewable domain status.

Content-Type: `application/json`

Schema:

- object — The error information.
  - `name` (required): string — The human-readable, unique name of the error.
  - `correlationId` (required): string — Internal identifier used for correlation purposes.
  - `message` (required): string — The message that describes the error.
  - `informationLink`: string — The URI for detailed information related to this error for the developer.
  - `details`: array — An array of additional details about the error. Required for client-side `4XX` errors.
      - items:
          - `field`: string — The field that caused the error. If the field is in the body, set this value to the JSON pointer to that field. Required for client-side errors.
          - `value`: string — The value of the field that caused the error.
          - `location`: string — The location of the field that caused the error. Value is `body`, `path`, or `query`.
          - `issue` (required): string — The unique fine-grained application-level error code.
          - `description`: string — The human-readable description for an issue. The description MAY change over the lifetime of an API, so clients MUST NOT depend on this value.
  - `links`: array — An array of error-related HATEOAS links.
      - items:
          - `href` (required): string <uri> — The complete target URL, or link, to use in combination with the method to make the related call, as defined by [RFC 6570 - URI Template](https://tools.ietf.org/html/rfc6570), with the addition of the `$`, `(`, and `)` characters for pre-processing. The `href` is the key HATEOAS component that links a completed call with a subsequent call.
          - `rel` (required): string — The [link relation type](https://tools.ietf.org/html/rfc5988#section-4), which is an identifier for a link that unambiguously describes the semantics of the link. For values, see [Link Relationship Types](https://www.iana.org/assignments/link-relations/link-relations.xhtml).
          - `title`: string — The link title.
          - `targetMediaType`: string — The [RFC 2046-defined media type](https://www.ietf.org/rfc/rfc2046.txt) that describes the link target.
          - `targetSchema`: unknown — The schema that describes the link target.
          - `method`: string — The method to use to request the link target. For example, for HTTP, this might be `GET` or `DELETE`.
          - `submissionMediaType`: string — The media type with which to submit data with the request.
          - `submissionSchema`: unknown — The schema that describes the request data.

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

Content-Type: `application/json`

Schema:

- object — The error information.
  - `name` (required): string — The human-readable, unique name of the error.
  - `correlationId` (required): string — Internal identifier used for correlation purposes.
  - `message` (required): string — The message that describes the error.
  - `informationLink`: string — The URI for detailed information related to this error for the developer.
  - `details`: array — An array of additional details about the error. Required for client-side `4XX` errors.
      - items:
          - `field`: string — The field that caused the error. If the field is in the body, set this value to the JSON pointer to that field. Required for client-side errors.
          - `value`: string — The value of the field that caused the error.
          - `location`: string — The location of the field that caused the error. Value is `body`, `path`, or `query`.
          - `issue` (required): string — The unique fine-grained application-level error code.
          - `description`: string — The human-readable description for an issue. The description MAY change over the lifetime of an API, so clients MUST NOT depend on this value.
  - `links`: array — An array of error-related HATEOAS links.
      - items:
          - `href` (required): string <uri> — The complete target URL, or link, to use in combination with the method to make the related call, as defined by [RFC 6570 - URI Template](https://tools.ietf.org/html/rfc6570), with the addition of the `$`, `(`, and `)` characters for pre-processing. The `href` is the key HATEOAS component that links a completed call with a subsequent call.
          - `rel` (required): string — The [link relation type](https://tools.ietf.org/html/rfc5988#section-4), which is an identifier for a link that unambiguously describes the semantics of the link. For values, see [Link Relationship Types](https://www.iana.org/assignments/link-relations/link-relations.xhtml).
          - `title`: string — The link title.
          - `targetMediaType`: string — The [RFC 2046-defined media type](https://www.ietf.org/rfc/rfc2046.txt) that describes the link target.
          - `targetSchema`: unknown — The schema that describes the link target.
          - `method`: string — The method to use to request the link target. For example, for HTTP, this might be `GET` or `DELETE`.
          - `submissionMediaType`: string — The media type with which to submit data with the request.
          - `submissionSchema`: unknown — The schema that describes the request data.

**Security:** requires `bearerAuth`.
