addedInput schema / properties / include_limited_promos
Added value: +{
+ "default": false,
+ "description": "count limited promotions (one per customer, first-time customers only) in totals and rankings; default false: they are listed and flagged promo_limited, but year 1 is priced at the regular price",
+ "type": "boolean"
+}
addedInput schema / properties / include_resellers
Added value: +{
+ "default": false,
+ "description": "include registrars whose prices are a reseller account's tier (pricing_tier reseller, e.g. eNom); default false",
+ "type": "boolean"
+}
changedOutput schema / properties / offers / items / properties / register / anyOf
Previous value: -[
- {
- "properties": {
- "native": {
- "anyOf": [
- {
- "description": "An amount in major units (12.99), in `currency`.",
- "properties": {
- "amount": {
- "type": "number"
- },
- "currency": {
- "description": "ISO 4217",
- "examples": [
- "USD"
- ],
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- }
- },
- "required": [
- "amount",
- "currency"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "description": "price in the registrar's own currency, when it was converted; null when it is already in that currency"
- },
- "price": {
- "description": "what one year costs now: the promotional price while a promotion runs, else the regular price",
- "properties": {
- "amount": {
- "type": "number"
- },
- "currency": {
- "description": "ISO 4217",
- "examples": [
- "USD"
- ],
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- }
- },
- "required": [
- "amount",
- "currency"
- ],
- "type": "object"
- },
- "promo": {
- "description": "price is a promotion (first year only, or until promo_ends_at)",
- "type": "boolean"
- },
- "promo_conditions": {
- "description": "the source's conditions for the promotion, as text",
- "type": [
- "string",
- "null"
- ]
- },
- "promo_ends_at": {
- "anyOf": [
- {
- "examples": [
- "2026-11-06T04:12:00.000Z"
- ],
- "format": "date-time",
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "regular": {
- "anyOf": [
- {
- "description": "An amount in major units (12.99), in `currency`.",
- "properties": {
- "amount": {
- "type": "number"
- },
- "currency": {
- "description": "ISO 4217",
- "examples": [
- "USD"
- ],
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- }
- },
- "required": [
- "amount",
- "currency"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "description": "the regular (list) price; null when the source gives only a promotional price"
- }
- },
- "required": [
- "price",
- "regular",
- "promo",
- "promo_ends_at",
- "promo_conditions",
- "native"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
-]New value: +[
+ {
+ "properties": {
+ "coupon": {
+ "anyOf": [
+ {
+ "description": "The coupon code that lowers this price most, as the registrar's own source lists it. Seen at the source, not tested at checkout. Never part of `price`, the totals or any ranking.",
+ "properties": {
+ "code": {
+ "examples": [
+ "AWESOMENESS"
+ ],
+ "type": "string"
+ },
+ "ends_at": {
+ "anyOf": [
+ {
+ "examples": [
+ "2026-11-06T04:12:00.000Z"
+ ],
+ "format": "date-time",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "first_year_only": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "last_seen_at": {
+ "description": "the last time we saw the code at its source; codes are not tested at checkout",
+ "examples": [
+ "2026-11-06T04:12:00.000Z"
+ ],
+ "format": "date-time",
+ "type": "string"
+ },
+ "max_per_customer": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "new_customers_only": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "price": {
+ "description": "this price with the code (year 1, or the one operation it covers)",
+ "properties": {
+ "amount": {
+ "type": "number"
+ },
+ "currency": {
+ "description": "ISO 4217",
+ "examples": [
+ "USD"
+ ],
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ },
+ "saving": {
+ "description": "An amount in major units (12.99), in `currency`.",
+ "properties": {
+ "amount": {
+ "type": "number"
+ },
+ "currency": {
+ "description": "ISO 4217",
+ "examples": [
+ "USD"
+ ],
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "code",
+ "price",
+ "saving",
+ "first_year_only",
+ "new_customers_only",
+ "max_per_customer",
+ "ends_at",
+ "last_seen_at",
+ "source_url"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "a coupon code that lowers this price, beside it (never in it); null when none is listed"
+ },
+ "native": {
+ "anyOf": [
+ {
+ "description": "An amount in major units (12.99), in `currency`.",
+ "properties": {
+ "amount": {
+ "type": "number"
+ },
+ "currency": {
+ "description": "ISO 4217",
+ "examples": [
+ "USD"
+ ],
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "price in the registrar's own currency, when it was converted; null when it is already in that currency"
+ },
+ "price": {
+ "description": "what one year costs now (per year, whatever the term): the promotional price while a promotion runs, else the regular price",
+ "properties": {
+ "amount": {
+ "type": "number"
+ },
+ "currency": {
+ "description": "ISO 4217",
+ "examples": [
+ "USD"
+ ],
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ },
+ "promo": {
+ "description": "price is a promotion (first year only, or until promo_ends_at)",
+ "type": "boolean"
+ },
+ "promo_conditions": {
+ "description": "the source's conditions for the promotion, as text",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "promo_ends_at": {
+ "anyOf": [
+ {
+ "examples": [
+ "2026-11-06T04:12:00.000Z"
+ ],
+ "format": "date-time",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "promo_inferred": {
+ "description": "the source marks no promotion, but this register price is below the renewal: we treat it as a first-year price whose regular price is unknown",
+ "type": "boolean"
+ },
+ "promo_limited": {
+ "description": "the promotion is limited: capped per customer or for first-time / new customers only. It is shown, but totals, rankings and cheapest use the regular price instead (include_limited_promos=true counts it)",
+ "type": "boolean"
+ },
+ "promo_years": {
+ "description": "the promotion covers the first N years of the term (default 1)",
+ "type": "integer"
+ },
+ "regular": {
+ "anyOf": [
+ {
+ "description": "An amount in major units (12.99), in `currency`.",
+ "properties": {
+ "amount": {
+ "type": "number"
+ },
+ "currency": {
+ "description": "ISO 4217",
+ "examples": [
+ "USD"
+ ],
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "the regular (list) price per year; null when unknown (the source gives only a promotional or first-year price)"
+ },
+ "scheduled": {
+ "anyOf": [
+ {
+ "properties": {
+ "from": {
+ "examples": [
+ "2026-11-06T04:12:00.000Z"
+ ],
+ "format": "date-time",
+ "type": "string"
+ },
+ "regular": {
+ "description": "An amount in major units (12.99), in `currency`.",
+ "properties": {
+ "amount": {
+ "type": "number"
+ },
+ "currency": {
+ "description": "ISO 4217",
+ "examples": [
+ "USD"
+ ],
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "regular",
+ "from"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "a change of the regular per-year price the source has announced, and when it takes effect"
+ },
+ "term_years": {
+ "description": "the shortest term this operation is sold for, in years (2 for a .ai registration, or a transfer that adds 2 years); price is per year, so the operation costs price x term_years",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "price",
+ "regular",
+ "promo",
+ "promo_ends_at",
+ "promo_conditions",
+ "native"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+]
addedOutput schema / properties / offers / items / properties / registrar / properties / note
Added value: +{
+ "anyOf": [
+ {
+ "description": "A short, sourced note about the registrar's prices (not a price we rank by).",
+ "properties": {
+ "checked_on": {
+ "anyOf": [
+ {
+ "examples": [
+ "2026-11-05"
+ ],
+ "format": "date",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "text": {
+ "examples": [
+ "NameSilo's free discount program prices .com at $12.00 (retail $19.99)."
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "where the note's facts come from",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "text",
+ "url",
+ "checked_on"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+}
addedOutput schema / properties / offers / items / properties / registrar / properties / pricing_tier
Added value: +{
+ "description": "retail: anyone can buy at these prices; reseller: the prices are a reseller account's tier (eNom's Silver), left out of consumer rankings unless include_resellers=true",
+ "enum": [
+ "retail",
+ "reseller"
+ ],
+ "type": "string"
+}
changedOutput schema / properties / offers / items / properties / renew / anyOf
Previous value: -[
- {
- "properties": {
- "native": {
- "anyOf": [
- {
- "description": "An amount in major units (12.99), in `currency`.",
- "properties": {
- "amount": {
- "type": "number"
- },
- "currency": {
- "description": "ISO 4217",
- "examples": [
- "USD"
- ],
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- }
- },
- "required": [
- "amount",
- "currency"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "description": "price in the registrar's own currency, when it was converted; null when it is already in that currency"
- },
- "price": {
- "description": "what one year costs now: the promotional price while a promotion runs, else the regular price",
- "properties": {
- "amount": {
- "type": "number"
- },
- "currency": {
- "description": "ISO 4217",
- "examples": [
- "USD"
- ],
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- }
- },
- "required": [
- "amount",
- "currency"
- ],
- "type": "object"
- },
- "promo": {
- "description": "price is a promotion (first year only, or until promo_ends_at)",
- "type": "boolean"
- },
- "promo_conditions": {
- "description": "the source's conditions for the promotion, as text",
- "type": [
- "string",
- "null"
- ]
- },
- "promo_ends_at": {
- "anyOf": [
- {
- "examples": [
- "2026-11-06T04:12:00.000Z"
- ],
- "format": "date-time",
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "regular": {
- "anyOf": [
- {
- "description": "An amount in major units (12.99), in `currency`.",
- "properties": {
- "amount": {
- "type": "number"
- },
- "currency": {
- "description": "ISO 4217",
- "examples": [
- "USD"
- ],
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- }
- },
- "required": [
- "amount",
- "currency"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "description": "the regular (list) price; null when the source gives only a promotional price"
- }
- },
- "required": [
- "price",
- "regular",
- "promo",
- "promo_ends_at",
- "promo_conditions",
- "native"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
-]New value: +[
+ {
+ "properties": {
+ "coupon": {
+ "anyOf": [
+ {
+ "description": "The coupon code that lowers this price most, as the registrar's own source lists it. Seen at the source, not tested at checkout. Never part of `price`, the totals or any ranking.",
+ "properties": {
+ "code": {
+ "examples": [
+ "AWESOMENESS"
+ ],
+ "type": "string"
+ },
+ "ends_at": {
+ "anyOf": [
+ {
+ "examples": [
+ "2026-11-06T04:12:00.000Z"
+ ],
+ "format": "date-time",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "first_year_only": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "last_seen_at": {
+ "description": "the last time we saw the code at its source; codes are not tested at checkout",
+ "examples": [
+ "2026-11-06T04:12:00.000Z"
+ ],
+ "format": "date-time",
+ "type": "string"
+ },
+ "max_per_customer": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "new_customers_only": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "price": {
+ "description": "this price with the code (year 1, or the one operation it covers)",
+ "properties": {
+ "amount": {
+ "type": "number"
+ },
+ "currency": {
+ "description": "ISO 4217",
+ "examples": [
+ "USD"
+ ],
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ },
+ "saving": {
+ "description": "An amount in major units (12.99), in `currency`.",
+ "properties": {
+ "amount": {
+ "type": "number"
+ },
+ "currency": {
+ "description": "ISO 4217",
+ "examples": [
+ "USD"
+ ],
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "code",
+ "price",
+ "saving",
+ "first_year_only",
+ "new_customers_only",
+ "max_per_customer",
+ "ends_at",
+ "last_seen_at",
+ "source_url"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "a coupon code that lowers this price, beside it (never in it); null when none is listed"
+ },
+ "native": {
+ "anyOf": [
+ {
+ "description": "An amount in major units (12.99), in `currency`.",
+ "properties": {
+ "amount": {
+ "type": "number"
+ },
+ "currency": {
+ "description": "ISO 4217",
+ "examples": [
+ "USD"
+ ],
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "price in the registrar's own currency, when it was converted; null when it is already in that currency"
+ },
+ "price": {
+ "description": "what one year costs now (per year, whatever the term): the promotional price while a promotion runs, else the regular price",
+ "properties": {
+ "amount": {
+ "type": "number"
+ },
+ "currency": {
+ "description": "ISO 4217",
+ "examples": [
+ "USD"
+ ],
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ },
+ "promo": {
+ "description": "price is a promotion (first year only, or until promo_ends_at)",
+ "type": "boolean"
+ },
+ "promo_conditions": {
+ "description": "the source's conditions for the promotion, as text",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "promo_ends_at": {
+ "anyOf": [
+ {
+ "examples": [
+ "2026-11-06T04:12:00.000Z"
+ ],
+ "format": "date-time",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "promo_inferred": {
+ "description": "the source marks no promotion, but this register price is below the renewal: we treat it as a first-year price whose regular price is unknown",
+ "type": "boolean"
+ },
+ "promo_limited": {
+ "description": "the promotion is limited: capped per customer or for first-time / new customers only. It is shown, but totals, rankings and cheapest use the regular price instead (include_limited_promos=true counts it)",
+ "type": "boolean"
+ },
+ "promo_years": {
+ "description": "the promotion covers the first N years of the term (default 1)",
+ "type": "integer"
+ },
+ "regular": {
+ "anyOf": [
+ {
+ "description": "An amount in major units (12.99), in `currency`.",
+ "properties": {
+ "amount": {
+ "type": "number"
+ },
+ "currency": {
+ "description": "ISO 4217",
+ "examples": [
+ "USD"
+ ],
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "the regular (list) price per year; null when unknown (the source gives only a promotional or first-year price)"
+ },
+ "scheduled": {
+ "anyOf": [
+ {
+ "properties": {
+ "from": {
+ "examples": [
+ "2026-11-06T04:12:00.000Z"
+ ],
+ "format": "date-time",
+ "type": "string"
+ },
+ "regular": {
+ "description": "An amount in major units (12.99), in `currency`.",
+ "properties": {
+ "amount": {
+ "type": "number"
+ },
+ "currency": {
+ "description": "ISO 4217",
+ "examples": [
+ "USD"
+ ],
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "regular",
+ "from"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "a change of the regular per-year price the source has announced, and when it takes effect"
+ },
+ "term_years": {
+ "description": "the shortest term this operation is sold for, in years (2 for a .ai registration, or a transfer that adds 2 years); price is per year, so the operation costs price x term_years",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "price",
+ "regular",
+ "promo",
+ "promo_ends_at",
+ "promo_conditions",
+ "native"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+]
changedOutput schema / properties / offers / items / properties / restore / anyOf
Previous value: -[
- {
- "properties": {
- "native": {
- "anyOf": [
- {
- "description": "An amount in major units (12.99), in `currency`.",
- "properties": {
- "amount": {
- "type": "number"
- },
- "currency": {
- "description": "ISO 4217",
- "examples": [
- "USD"
- ],
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- }
- },
- "required": [
- "amount",
- "currency"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "description": "price in the registrar's own currency, when it was converted; null when it is already in that currency"
- },
- "price": {
- "description": "what one year costs now: the promotional price while a promotion runs, else the regular price",
- "properties": {
- "amount": {
- "type": "number"
- },
- "currency": {
- "description": "ISO 4217",
- "examples": [
- "USD"
- ],
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- }
- },
- "required": [
- "amount",
- "currency"
- ],
- "type": "object"
- },
- "promo": {
- "description": "price is a promotion (first year only, or until promo_ends_at)",
- "type": "boolean"
- },
- "promo_conditions": {
- "description": "the source's conditions for the promotion, as text",
- "type": [
- "string",
- "null"
- ]
- },
- "promo_ends_at": {
- "anyOf": [
- {
- "examples": [
- "2026-11-06T04:12:00.000Z"
- ],
- "format": "date-time",
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "regular": {
- "anyOf": [
- {
- "description": "An amount in major units (12.99), in `currency`.",
- "properties": {
- "amount": {
- "type": "number"
- },
- "currency": {
- "description": "ISO 4217",
- "examples": [
- "USD"
- ],
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- }
- },
- "required": [
- "amount",
- "currency"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "description": "the regular (list) price; null when the source gives only a promotional price"
- }
- },
- "required": [
- "price",
- "regular",
- "promo",
- "promo_ends_at",
- "promo_conditions",
- "native"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
-]New value: +[
+ {
+ "properties": {
+ "coupon": {
+ "anyOf": [
+ {
+ "description": "The coupon code that lowers this price most, as the registrar's own source lists it. Seen at the source, not tested at checkout. Never part of `price`, the totals or any ranking.",
+ "properties": {
+ "code": {
+ "examples": [
+ "AWESOMENESS"
+ ],
+ "type": "string"
+ },
+ "ends_at": {
+ "anyOf": [
+ {
+ "examples": [
+ "2026-11-06T04:12:00.000Z"
+ ],
+ "format": "date-time",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "first_year_only": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "last_seen_at": {
+ "description": "the last time we saw the code at its source; codes are not tested at checkout",
+ "examples": [
+ "2026-11-06T04:12:00.000Z"
+ ],
+ "format": "date-time",
+ "type": "string"
+ },
+ "max_per_customer": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "new_customers_only": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "price": {
+ "description": "this price with the code (year 1, or the one operation it covers)",
+ "properties": {
+ "amount": {
+ "type": "number"
+ },
+ "currency": {
+ "description": "ISO 4217",
+ "examples": [
+ "USD"
+ ],
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ },
+ "saving": {
+ "description": "An amount in major units (12.99), in `currency`.",
+ "properties": {
+ "amount": {
+ "type": "number"
+ },
+ "currency": {
+ "description": "ISO 4217",
+ "examples": [
+ "USD"
+ ],
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "code",
+ "price",
+ "saving",
+ "first_year_only",
+ "new_customers_only",
+ "max_per_customer",
+ "ends_at",
+ "last_seen_at",
+ "source_url"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "a coupon code that lowers this price, beside it (never in it); null when none is listed"
+ },
+ "native": {
+ "anyOf": [
+ {
+ "description": "An amount in major units (12.99), in `currency`.",
+ "properties": {
+ "amount": {
+ "type": "number"
+ },
+ "currency": {
+ "description": "ISO 4217",
+ "examples": [
+ "USD"
+ ],
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "price in the registrar's own currency, when it was converted; null when it is already in that currency"
+ },
+ "price": {
+ "description": "what one year costs now (per year, whatever the term): the promotional price while a promotion runs, else the regular price",
+ "properties": {
+ "amount": {
+ "type": "number"
+ },
+ "currency": {
+ "description": "ISO 4217",
+ "examples": [
+ "USD"
+ ],
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ },
+ "promo": {
+ "description": "price is a promotion (first year only, or until promo_ends_at)",
+ "type": "boolean"
+ },
+ "promo_conditions": {
+ "description": "the source's conditions for the promotion, as text",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "promo_ends_at": {
+ "anyOf": [
+ {
+ "examples": [
+ "2026-11-06T04:12:00.000Z"
+ ],
+ "format": "date-time",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "promo_inferred": {
+ "description": "the source marks no promotion, but this register price is below the renewal: we treat it as a first-year price whose regular price is unknown",
+ "type": "boolean"
+ },
+ "promo_limited": {
+ "description": "the promotion is limited: capped per customer or for first-time / new customers only. It is shown, but totals, rankings and cheapest use the regular price instead (include_limited_promos=true counts it)",
+ "type": "boolean"
+ },
+ "promo_years": {
+ "description": "the promotion covers the first N years of the term (default 1)",
+ "type": "integer"
+ },
+ "regular": {
+ "anyOf": [
+ {
+ "description": "An amount in major units (12.99), in `currency`.",
+ "properties": {
+ "amount": {
+ "type": "number"
+ },
+ "currency": {
+ "description": "ISO 4217",
+ "examples": [
+ "USD"
+ ],
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "the regular (list) price per year; null when unknown (the source gives only a promotional or first-year price)"
+ },
+ "scheduled": {
+ "anyOf": [
+ {
+ "properties": {
+ "from": {
+ "examples": [
+ "2026-11-06T04:12:00.000Z"
+ ],
+ "format": "date-time",
+ "type": "string"
+ },
+ "regular": {
+ "description": "An amount in major units (12.99), in `currency`.",
+ "properties": {
+ "amount": {
+ "type": "number"
+ },
+ "currency": {
+ "description": "ISO 4217",
+ "examples": [
+ "USD"
+ ],
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "regular",
+ "from"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "a change of the regular per-year price the source has announced, and when it takes effect"
+ },
+ "term_years": {
+ "description": "the shortest term this operation is sold for, in years (2 for a .ai registration, or a transfer that adds 2 years); price is per year, so the operation costs price x term_years",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "price",
+ "regular",
+ "promo",
+ "promo_ends_at",
+ "promo_conditions",
+ "native"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+]
changedOutput schema / properties / offers / items / properties / totals / anyOf
Previous value: -[
- {
- "description": "The cost of owning the domain for `years` years (packages/core computeTco).",
- "properties": {
- "breakdown": {
- "description": "year by year (in /v1/cheapest)",
- "items": {
- "properties": {
- "amount": {
- "description": "An amount in major units (12.99), in `currency`.",
- "properties": {
- "amount": {
- "type": "number"
- },
- "currency": {
- "description": "ISO 4217",
- "examples": [
- "USD"
- ],
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- }
- },
- "required": [
- "amount",
- "currency"
- ],
- "type": "object"
- },
- "kind": {
- "enum": [
- "register",
- "transfer",
- "renew"
- ],
- "type": "string"
- },
- "promo": {
- "type": "boolean"
- },
- "year": {
- "type": "integer"
- }
- },
- "required": [
- "year",
- "amount",
- "kind",
- "promo"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "first_payment": {
- "description": "charged at checkout: year 1 (promotional price if one runs) plus the rest of the minimum term at the regular price",
- "properties": {
- "amount": {
- "type": "number"
- },
- "currency": {
- "description": "ISO 4217",
- "examples": [
- "USD"
- ],
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- }
- },
- "required": [
- "amount",
- "currency"
- ],
- "type": "object"
- },
- "per_year": {
- "description": "total / years_paid",
- "properties": {
- "amount": {
- "type": "number"
- },
- "currency": {
- "description": "ISO 4217",
- "examples": [
- "USD"
- ],
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- }
- },
- "required": [
- "amount",
- "currency"
- ],
- "type": "object"
- },
- "promo_applied": {
- "type": "boolean"
- },
- "start": {
- "enum": [
- "register",
- "transfer"
- ],
- "type": "string"
- },
- "total": {
- "description": "first payment plus every later year at the regular renew price",
- "properties": {
- "amount": {
- "type": "number"
- },
- "currency": {
- "description": "ISO 4217",
- "examples": [
- "USD"
- ],
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- }
- },
- "required": [
- "amount",
- "currency"
- ],
- "type": "object"
- },
- "years": {
- "description": "the horizon asked for (?years=)",
- "type": "integer"
- },
- "years_paid": {
- "description": "years paid for: at least min_years when starting with a registration",
- "type": "integer"
- }
- },
- "required": [
- "years",
- "years_paid",
- "start",
- "first_payment",
- "total",
- "per_year",
- "promo_applied"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
-]New value: +[
+ {
+ "description": "The cost of owning the domain for `years` years (packages/core computeTco).",
+ "properties": {
+ "breakdown": {
+ "description": "year by year (in /v1/cheapest)",
+ "items": {
+ "properties": {
+ "amount": {
+ "description": "An amount in major units (12.99), in `currency`.",
+ "properties": {
+ "amount": {
+ "type": "number"
+ },
+ "currency": {
+ "description": "ISO 4217",
+ "examples": [
+ "USD"
+ ],
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ },
+ "kind": {
+ "enum": [
+ "register",
+ "transfer",
+ "renew"
+ ],
+ "type": "string"
+ },
+ "promo": {
+ "type": "boolean"
+ },
+ "year": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "year",
+ "amount",
+ "kind",
+ "promo"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "estimated": {
+ "description": "a year whose regular price is unknown was priced at the regular renewal: the total is an estimate",
+ "type": "boolean"
+ },
+ "first_payment": {
+ "description": "charged at checkout: year 1 (promotional price if one runs) plus the rest of the minimum term at the regular price; for a transfer, the transfer price x its term",
+ "properties": {
+ "amount": {
+ "type": "number"
+ },
+ "currency": {
+ "description": "ISO 4217",
+ "examples": [
+ "USD"
+ ],
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ },
+ "limited_promo_skipped": {
+ "description": "a limited promotion runs (per customer, first-time customers) and was not counted: year 1 is the regular price",
+ "type": "boolean"
+ },
+ "per_year": {
+ "description": "total / years_paid",
+ "properties": {
+ "amount": {
+ "type": "number"
+ },
+ "currency": {
+ "description": "ISO 4217",
+ "examples": [
+ "USD"
+ ],
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ },
+ "promo_applied": {
+ "description": "year 1 is a promotional price",
+ "type": "boolean"
+ },
+ "start": {
+ "enum": [
+ "register",
+ "transfer"
+ ],
+ "type": "string"
+ },
+ "total": {
+ "description": "first payment plus every later year at the regular renew price (never a renewal promotion)",
+ "properties": {
+ "amount": {
+ "type": "number"
+ },
+ "currency": {
+ "description": "ISO 4217",
+ "examples": [
+ "USD"
+ ],
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ },
+ "years": {
+ "description": "the horizon asked for (?years=)",
+ "type": "integer"
+ },
+ "years_paid": {
+ "description": "years paid for: at least min_years when starting with a registration",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "years",
+ "years_paid",
+ "start",
+ "first_payment",
+ "total",
+ "per_year",
+ "promo_applied"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+]
changedOutput schema / properties / offers / items / properties / transfer / anyOf
Previous value: -[
- {
- "properties": {
- "native": {
- "anyOf": [
- {
- "description": "An amount in major units (12.99), in `currency`.",
- "properties": {
- "amount": {
- "type": "number"
- },
- "currency": {
- "description": "ISO 4217",
- "examples": [
- "USD"
- ],
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- }
- },
- "required": [
- "amount",
- "currency"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "description": "price in the registrar's own currency, when it was converted; null when it is already in that currency"
- },
- "price": {
- "description": "what one year costs now: the promotional price while a promotion runs, else the regular price",
- "properties": {
- "amount": {
- "type": "number"
- },
- "currency": {
- "description": "ISO 4217",
- "examples": [
- "USD"
- ],
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- }
- },
- "required": [
- "amount",
- "currency"
- ],
- "type": "object"
- },
- "promo": {
- "description": "price is a promotion (first year only, or until promo_ends_at)",
- "type": "boolean"
- },
- "promo_conditions": {
- "description": "the source's conditions for the promotion, as text",
- "type": [
- "string",
- "null"
- ]
- },
- "promo_ends_at": {
- "anyOf": [
- {
- "examples": [
- "2026-11-06T04:12:00.000Z"
- ],
- "format": "date-time",
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "regular": {
- "anyOf": [
- {
- "description": "An amount in major units (12.99), in `currency`.",
- "properties": {
- "amount": {
- "type": "number"
- },
- "currency": {
- "description": "ISO 4217",
- "examples": [
- "USD"
- ],
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- }
- },
- "required": [
- "amount",
- "currency"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "description": "the regular (list) price; null when the source gives only a promotional price"
- }
- },
- "required": [
- "price",
- "regular",
- "promo",
- "promo_ends_at",
- "promo_conditions",
- "native"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
-]New value: +[
+ {
+ "properties": {
+ "coupon": {
+ "anyOf": [
+ {
+ "description": "The coupon code that lowers this price most, as the registrar's own source lists it. Seen at the source, not tested at checkout. Never part of `price`, the totals or any ranking.",
+ "properties": {
+ "code": {
+ "examples": [
+ "AWESOMENESS"
+ ],
+ "type": "string"
+ },
+ "ends_at": {
+ "anyOf": [
+ {
+ "examples": [
+ "2026-11-06T04:12:00.000Z"
+ ],
+ "format": "date-time",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "first_year_only": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "last_seen_at": {
+ "description": "the last time we saw the code at its source; codes are not tested at checkout",
+ "examples": [
+ "2026-11-06T04:12:00.000Z"
+ ],
+ "format": "date-time",
+ "type": "string"
+ },
+ "max_per_customer": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "new_customers_only": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "price": {
+ "description": "this price with the code (year 1, or the one operation it covers)",
+ "properties": {
+ "amount": {
+ "type": "number"
+ },
+ "currency": {
+ "description": "ISO 4217",
+ "examples": [
+ "USD"
+ ],
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ },
+ "saving": {
+ "description": "An amount in major units (12.99), in `currency`.",
+ "properties": {
+ "amount": {
+ "type": "number"
+ },
+ "currency": {
+ "description": "ISO 4217",
+ "examples": [
+ "USD"
+ ],
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "code",
+ "price",
+ "saving",
+ "first_year_only",
+ "new_customers_only",
+ "max_per_customer",
+ "ends_at",
+ "last_seen_at",
+ "source_url"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "a coupon code that lowers this price, beside it (never in it); null when none is listed"
+ },
+ "native": {
+ "anyOf": [
+ {
+ "description": "An amount in major units (12.99), in `currency`.",
+ "properties": {
+ "amount": {
+ "type": "number"
+ },
+ "currency": {
+ "description": "ISO 4217",
+ "examples": [
+ "USD"
+ ],
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "price in the registrar's own currency, when it was converted; null when it is already in that currency"
+ },
+ "price": {
+ "description": "what one year costs now (per year, whatever the term): the promotional price while a promotion runs, else the regular price",
+ "properties": {
+ "amount": {
+ "type": "number"
+ },
+ "currency": {
+ "description": "ISO 4217",
+ "examples": [
+ "USD"
+ ],
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ },
+ "promo": {
+ "description": "price is a promotion (first year only, or until promo_ends_at)",
+ "type": "boolean"
+ },
+ "promo_conditions": {
+ "description": "the source's conditions for the promotion, as text",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "promo_ends_at": {
+ "anyOf": [
+ {
+ "examples": [
+ "2026-11-06T04:12:00.000Z"
+ ],
+ "format": "date-time",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "promo_inferred": {
+ "description": "the source marks no promotion, but this register price is below the renewal: we treat it as a first-year price whose regular price is unknown",
+ "type": "boolean"
+ },
+ "promo_limited": {
+ "description": "the promotion is limited: capped per customer or for first-time / new customers only. It is shown, but totals, rankings and cheapest use the regular price instead (include_limited_promos=true counts it)",
+ "type": "boolean"
+ },
+ "promo_years": {
+ "description": "the promotion covers the first N years of the term (default 1)",
+ "type": "integer"
+ },
+ "regular": {
+ "anyOf": [
+ {
+ "description": "An amount in major units (12.99), in `currency`.",
+ "properties": {
+ "amount": {
+ "type": "number"
+ },
+ "currency": {
+ "description": "ISO 4217",
+ "examples": [
+ "USD"
+ ],
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "the regular (list) price per year; null when unknown (the source gives only a promotional or first-year price)"
+ },
+ "scheduled": {
+ "anyOf": [
+ {
+ "properties": {
+ "from": {
+ "examples": [
+ "2026-11-06T04:12:00.000Z"
+ ],
+ "format": "date-time",
+ "type": "string"
+ },
+ "regular": {
+ "description": "An amount in major units (12.99), in `currency`.",
+ "properties": {
+ "amount": {
+ "type": "number"
+ },
+ "currency": {
+ "description": "ISO 4217",
+ "examples": [
+ "USD"
+ ],
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "regular",
+ "from"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "a change of the regular per-year price the source has announced, and when it takes effect"
+ },
+ "term_years": {
+ "description": "the shortest term this operation is sold for, in years (2 for a .ai registration, or a transfer that adds 2 years); price is per year, so the operation costs price x term_years",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "price",
+ "regular",
+ "promo",
+ "promo_ends_at",
+ "promo_conditions",
+ "native"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+]
addedOutput schema / properties / stats / properties / median_register
Added value: +{
+ "anyOf": [
+ {
+ "description": "An amount in major units (12.99), in `currency`.",
+ "properties": {
+ "amount": {
+ "type": "number"
+ },
+ "currency": {
+ "description": "ISO 4217",
+ "examples": [
+ "USD"
+ ],
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+}
addedOutput schema / properties / stats / properties / min_register / description
Added value: +"a limited promotion counts at its regular price"