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 / rows / items / properties / registrar / anyOf
Previous value: -[
- {
- "properties": {
- "id": {
- "examples": [
- "porkbun"
- ],
- "type": "string"
- },
- "name": {
- "examples": [
- "Porkbun"
- ],
- "type": "string"
- },
- "url": {
- "description": "the registrar's website (a plain link, no affiliate code)",
- "type": [
- "string",
- "null"
- ]
- }
- },
- "required": [
- "id",
- "name",
- "url"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
-]New value: +[
+ {
+ "properties": {
+ "id": {
+ "examples": [
+ "porkbun"
+ ],
+ "type": "string"
+ },
+ "name": {
+ "examples": [
+ "Porkbun"
+ ],
+ "type": "string"
+ },
+ "note": {
+ "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"
+ }
+ ]
+ },
+ "pricing_tier": {
+ "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"
+ },
+ "url": {
+ "description": "the registrar's website (a plain link, no affiliate code)",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "id",
+ "name",
+ "url"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+]
changedOutput schema / properties / rows / items / properties / switch / anyOf
Previous value: -[
- {
- "properties": {
- "after_year": {
- "type": "integer"
- },
- "saving": {
- "description": "total without the switch minus total with it",
- "properties": {
- "amount": {
- "type": "number"
- },
- "currency": {
- "description": "ISO 4217",
- "examples": [
- "USD"
- ],
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- }
- },
- "required": [
- "amount",
- "currency"
- ],
- "type": "object"
- },
- "to": {
- "properties": {
- "id": {
- "examples": [
- "porkbun"
- ],
- "type": "string"
- },
- "name": {
- "examples": [
- "Porkbun"
- ],
- "type": "string"
- },
- "url": {
- "description": "the registrar's website (a plain link, no affiliate code)",
- "type": [
- "string",
- "null"
- ]
- }
- },
- "required": [
- "id",
- "name",
- "url"
- ],
- "type": "object"
- },
- "total": {
- "description": "register at `registrar`, transfer to `to` after `after_year` years, renew there",
- "properties": {
- "amount": {
- "type": "number"
- },
- "currency": {
- "description": "ISO 4217",
- "examples": [
- "USD"
- ],
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- }
- },
- "required": [
- "amount",
- "currency"
- ],
- "type": "object"
- },
- "transfer": {
- "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": [
- "after_year",
- "to",
- "transfer",
- "total",
- "saving"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
-]New value: +[
+ {
+ "properties": {
+ "after_year": {
+ "type": "integer"
+ },
+ "saving": {
+ "description": "total without the switch minus total with it",
+ "properties": {
+ "amount": {
+ "type": "number"
+ },
+ "currency": {
+ "description": "ISO 4217",
+ "examples": [
+ "USD"
+ ],
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ },
+ "to": {
+ "properties": {
+ "id": {
+ "examples": [
+ "porkbun"
+ ],
+ "type": "string"
+ },
+ "name": {
+ "examples": [
+ "Porkbun"
+ ],
+ "type": "string"
+ },
+ "note": {
+ "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"
+ }
+ ]
+ },
+ "pricing_tier": {
+ "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"
+ },
+ "url": {
+ "description": "the registrar's website (a plain link, no affiliate code)",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "id",
+ "name",
+ "url"
+ ],
+ "type": "object"
+ },
+ "total": {
+ "description": "register at `registrar`, transfer to `to` after `after_year` years, renew there",
+ "properties": {
+ "amount": {
+ "type": "number"
+ },
+ "currency": {
+ "description": "ISO 4217",
+ "examples": [
+ "USD"
+ ],
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ },
+ "transfer": {
+ "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": [
+ "after_year",
+ "to",
+ "transfer",
+ "total",
+ "saving"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+]
changedOutput schema / properties / rows / 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"
+ }
+]