addedOutput schema / properties / alternatives
Added value: +{
+ "description": "Available domains the caller did not ask about, offered only when every requested domain came back unavailable. Same label the caller typed, on a different ending; nothing is invented and nothing here duplicates a name in `results`. Every entry is available, non-premium and carries a `checkout_url`, so it can be offered to the user directly. Empty is not an error. It means one of three things: recovery is switched off for this deployment, or the search was not a dead end, or the same label is taken on the other endings too, which is the normal outcome for a common dictionary word. Do not tell the user that other endings were checked unless this list is non-empty. Do not re-check these; they were checked live in this same call.",
+ "items": {
+ "properties": {
+ "available": {
+ "type": "boolean"
+ },
+ "checkout_url": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "URL on the Just Domain website where the user completes payment. Set for available domains we can actually register; null for unavailable ones, for premium names (the checkout API refuses them), and for endings whose registry requires registrant data we cannot supply yet. The MCP tool handler fills this in after the bare service call so the UI widget's Buy button can open checkout directly in one click."
+ },
+ "fqdn": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "premium": {
+ "default": false,
+ "type": "boolean"
+ },
+ "price": {
+ "anyOf": [
+ {
+ "properties": {
+ "amount_minor": {
+ "description": "Amount in the smallest currency unit (e.g. cents).",
+ "type": "integer"
+ },
+ "currency": {
+ "description": "ISO-4217 currency code.",
+ "maxLength": 3,
+ "minLength": 3,
+ "type": "string"
+ },
+ "formatted": {
+ "description": "Human-readable price, e.g. '$12.99'.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount_minor",
+ "currency",
+ "formatted"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Registration price: the total for ONE full registration term of this ending, not a per-year rate. One year on most endings; two years on .ai, whose registry mandates a two-year term."
+ },
+ "renewal_price": {
+ "anyOf": [
+ {
+ "properties": {
+ "amount_minor": {
+ "description": "Amount in the smallest currency unit (e.g. cents).",
+ "type": "integer"
+ },
+ "currency": {
+ "description": "ISO-4217 currency code.",
+ "maxLength": 3,
+ "minLength": 3,
+ "type": "string"
+ },
+ "formatted": {
+ "description": "Human-readable price, e.g. '$12.99'.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount_minor",
+ "currency",
+ "formatted"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Renewal price: the total for ONE further registration term, on the same basis as `price`. What a later term would cost at today's rate, not a figure anyone has been charged or quoted for a specific renewal. An owner renews, and turns auto-renew on or off, on their own dashboard at https://justdomain.ai/dashboard, which is the only authoritative source for one domain's renewal state."
+ },
+ "requires_additional_data": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Does this ending's registry demand registrant data beyond standard contact details - a nexus declaration, a national ID, a professional credential? TRI-STATE: true / false / null = we do not know. Just Domain cannot collect or submit that data yet, so a true (or unknown) value means the name is reported honestly but carries no `checkout_url`."
+ },
+ "status": {
+ "description": "Raw provider status, e.g. 'free', 'active', 'premium'.",
+ "type": "string"
+ },
+ "term_years": {
+ "default": 1,
+ "description": "Length in years of ONE registration term for this ending, and therefore the period `price` and `renewal_price` each cover. 1 on most endings; 2 on .ai, whose registry mandates a two-year term with no one-year option. Read this before describing any price as annual.",
+ "type": "integer"
+ },
+ "tld": {
+ "type": "string"
+ },
+ "warnings": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "fqdn",
+ "name",
+ "tld",
+ "available",
+ "status"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+}