Skip to main content
Glama

Check plans against conditions

check_conditions
Read-onlyIdempotent

Call this right before choosing or buying an API plan: it returns, for each plan, whether it meets every condition, the monthly cost, and the official sentence behind each verdict. Use this when: the user names specific plans (by name, id or pricing-page URL) and wants to know whether they meet the workload and conditions, or which plan of the same product is the cheapest that does. Do not use this when: the user has no plans in mind yet (use search). Call it right before you choose or buy a tool or plan; format "brief" returns a short answer. Check specific plans, given by plan id, plan name or pricing-page URL, against the workload and conditions; up to 20 plans in one call are judged against the same conditions. Returns met / not met / unknown per condition with the official source sentence, which plans and billing options each value applies to, and a purchase link. For each plan it also names the cheapest plan of the same product that meets every required condition, with its monthly cost, or null if none does. An ambiguous name or URL returns the candidate plans instead of a guess. If you already have candidate plans or providers (for example from a web search), pass them as providers (search) or offer_ids (check_conditions) so that only those are judged. Example: 2 plans by id against 100,000 emails a month with a dedicated IP.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
plansNoPlans given by provider and plan name (e.g. "ScrapingBee Freelance") or by pricing-page URL, for plans found elsewhere. A name or URL that fits several plans returns the candidates under resolution and no verdict.
detailNosummary returns one source sentence per fact; full returns every recorded fact and sentence.summary
formatNobrief returns, per plan, the plan, provider, whether it meets all, the monthly cost and the requested conditions only, each with its verdict, a one-line reason, one source sentence and its source (about a quarter of the full size); the verdicts and costs are those of full. Call it right before choosing or buying a plan.full
mcp_authNoWays to authenticate to the provider's hosted MCP endpoint, any one of which will do: api_key, oauth. Met when the endpoint accepts at least one of them; implies a hosted endpoint.
needs_zdrNoZero data retention must be usable on this plan. A provider that offers it only on a custom enterprise agreement does not meet it on its listed plans.
offer_idsNoPlan ids to check (from search or get_details).
preferredNoNice-to-have conditions; they do not filter, they break ties.
needs_soc2NoThe provider must hold a SOC 2 report: true for Type I or Type II, "II" for Type II.
needs_batchNoThe plan must transcribe recorded audio (a file or a stored recording), for speech-to-text. A plan priced for live audio only is not met.
data_regionsNoRegions where data must be stored or processed, e.g. ["EU"]. Different from exit-IP countries.
needs_koreanNoThe service must voice Korean text (text-to-speech) or transcribe Korean speech (speech-to-text).
billing_typesNoAcceptable billing: monthly_subscription (A plan with a fixed fee (or minimum commitment) billed every month.) annual_subscription (A plan paid for a year at a time.) pay_as_you_go (No plan fee; a price per unit of use, billed after use or drawn from a balance topped up with any amount.) prepaid_credits (Money paid before use: a credit pack, a balance topped up first, or a plan amount charged in advance for the period.) Free plans always qualify.
monthly_pagesNoPages per month by type: plain_html (static pages), javascript (needs rendering), premium_proxy (blocked sites that need residential/premium proxies), javascript_premium_proxy (both).
needs_inboundNoThe service must receive email for the buyer and hand it on (inbound parsing, routes), for transactional email.
monthly_emailsNoEmails sent per month, for transactional email APIs (SendGrid, Mailgun, Postmark, Resend, Amazon SES, Brevo, Mailtrap, Loops). It is the whole workload: give it instead of monthly_pages, monthly_searches and monthly_browser_hours, not with them. Only email products can serve it; other products are out of scope.
search_enginesNoSearch engines whose results the plan must return, each at the plan's search price: google, bing, yahoo, yandex, baidu, duckduckgo, naver, brave (brave is Brave's own index). monthly_searches is the total over all of them.
captcha_solvingNoThe plan must solve CAPTCHAs for the browser sessions (the vendor does it, not the buyer own service).
min_concurrencyNoMinimum number of concurrent requests (or browsers) the plan must allow.
needs_streamingNoThe service must return audio in real time as it is made (streaming or a WebSocket), for text-to-speech; for speech-to-text, it must transcribe live audio as it arrives. A speech-to-text price line is per mode, so a plan priced for recorded audio only is not met.
monthly_searchesNoSearch requests per month (one results page each).
needs_remote_mcpNoThe provider must host a remote MCP endpoint (a URL an MCP client connects to). An official server that can only be run on the buyer own machine does not meet it.
proxies_includedNoThe plan must include proxy traffic of the vendor (some gigabytes in the plan fee). Proxy traffic sold only per gigabyte on top of the fee, or only on another plan, does not count.
search_countriesNoISO 3166-1 alpha-2 codes of the countries whose search results the searches must return (the search engine's country setting, e.g. Google gl), e.g. ["GB","CA"]. Different from exit_ip_countries.
exit_ip_countriesNoISO 3166-1 alpha-2 codes of countries the page requests must exit from, e.g. ["US","DE"]. For search results of a country use search_countries.
min_pages_per_docNoPages one document may have at the most the plan allows, for document parsing. Met when the stated limit is at least this many (or the pages say there is no page limit); a plan whose pages do not state a limit is unknown. The limit of the largest way of sending (batch or asynchronous) counts.
needs_diarizationNoThe plan must label who spoke (speaker diarization), for speech-to-text. Where the vendor charges extra for it, the extra price is added to the monthly cost; where the pages state no price or no inclusion the plan is unknown.
needs_no_trainingNoAn official page must say the vendor does not use the buyer's text, audio or documents to train its models without the buyer opting in. A use that is on by default with an opt-out to ask for does not count.
session_recordingNoThe plan must record browser sessions (video or replay) that the buyer can watch afterwards.
monthly_charactersNoCharacters of text voiced per month, for text-to-speech APIs (ElevenLabs, Cartesia, Deepgram Aura, OpenAI, Google Cloud, Amazon Polly, Azure, Gradium, Rime, Inworld, MiniMax, Murf, Hume). It is the whole workload: give it instead of monthly_pages, monthly_searches, monthly_browser_hours and monthly_emails, not with them. Only text-to-speech products can serve it; other products are out of scope.
needs_dedicated_ipNoThe plan must come with a dedicated sending IP address, for transactional email. A dedicated IP sold only as an add-on on top of the plan, or only on another plan, does not count.
needs_official_mcpNoThe provider must publish its own MCP server (hosted by it or run by the buyer), stated in its official documentation. A server only a third party published does not count.
ai_extraction_pagesNoHow many of the pages need their fields extracted by an AI model (from a prompt or a schema, or automatically) without writing selectors. Each page counts in one of the two extraction fields.
min_pages_per_crawlNoPages one crawl job (from one start URL, following links) must be able to reach. A plan whose crawl has no page cap meets any number; give the size of the largest site to crawl. Different from the monthly page total.
min_sending_domainsNoSending domains the plan must let one account authenticate, for transactional email. Met when the stated limit is at least this many (or the pages say it is unlimited); a plan whose pages do not state a limit is unknown.
min_session_minutesNoMinutes one browser session must be able to run on this plan, for hosted browsers. Met when the stated longest session of the plan is at least this long; a plan whose pages do not state a session limit is unknown, and a limit the page gives only for another plan is not met.
monthly_audio_hoursNoHours of audio transcribed per month, for speech-to-text APIs (Deepgram, AssemblyAI, Speechmatics, Amazon Transcribe, Google Cloud, OpenAI). A price given per minute is multiplied by 60. It is the whole workload: give it instead of monthly_pages, monthly_searches, monthly_browser_hours, monthly_emails and monthly_characters, not with them. Only speech-to-text products can serve it; other products are out of scope.
monthly_pages_totalNoTotal pages per month when the split by type is not known yet. Costs and verdicts then cover every share of JavaScript-rendered pages from 0% to 100% of the total (no premium proxies), and the result lists monthly_pages under needs_input.
needs_voice_cloningNoThe plan must let the account clone a voice from its own recording, for text-to-speech. Cloning limited to eligible customers, a request form or an enterprise plan does not count for a plan that is not that plan.
persistent_profilesNoThe plan must keep browser profiles (login state, cookies) between sessions.
search_result_typesNoResult types the parsed search response must contain: organic, ads, local_pack, knowledge_graph, people_also_ask, related_searches, shopping, news, images, videos, ai_overview.
max_monthly_cost_usdNoMonthly budget in USD before tax. Compared with listed prices; annual plans use their per-month equivalent.
needs_batch_discountNoAn official page must say a batch or asynchronous way of sending documents costs less than the list price on the plan, for document parsing. The budget and the cost are judged at the list price, not at the batch price.
needs_commercial_useNoThe plan must allow commercial use of the generated audio, for text-to-speech. A free plan limited to non-commercial use does not count; a plan whose pages do not say is unknown.
needs_no_min_billingNoAn official page must say audio is billed by the second (or an increment of seconds) with no minimum billed duration per request, for speech-to-text. A page that says nothing about rounding is unknown.
monthly_browser_hoursNoBrowser time per month in hours, for hosted browsers (Browserbase, Browserless) billed by browser time. It is the whole workload: give it instead of monthly_pages, monthly_searches and browser_seconds_per_page, not with them. Only browser products can serve it; other products are out of scope.
max_overage_usd_per_1kNoThe most the plan may charge for each 1,000 emails beyond its included volume, in USD, for transactional email. A plan whose extra price is not published as a per-1,000 figure is unknown.
min_log_retention_daysNoDays the plan must keep the logs or events of sent email where the account can read them, for transactional email. Longer retention sold as an add-on does not count.
monthly_document_pagesNoPages of documents parsed per month, for document-parsing APIs (LlamaParse, Reducto, Unstructured, Mistral OCR, LandingAI, Amazon Textract, Google Document AI, Azure Document Intelligence, Datalab, Mathpix, Mindee, Nanonets, Upstage). A price given per credit is multiplied by the credits one page costs. It is the whole workload: give it instead of monthly_pages, monthly_searches, monthly_browser_hours, monthly_emails, monthly_characters and monthly_audio_hours, not with them. Only document-parsing products can serve it; other products are out of scope.
needs_table_extractionNoThe service must return the tables of a page as structure (rows and cells), not only the text, for document parsing.
search_returns_contentNoThe search response itself must carry the text of the result pages (extracted content), not only titles, links and snippets.
min_requests_per_minuteNoMinimum request rate the plan must allow, per minute.
browser_seconds_per_pageNoBrowser time per page in seconds, for headless-browser products billed by time. Every plan must then serve pages that take this long: a hosted browser does, a request-based API only when one request may run that long.
realtime_search_requiredNoSearch results must be returned in real time (not through a queue).
target_errors_not_billedNoError responses from the target site (e.g. 404) must not be billed.
needs_recurring_free_tierNoThe plan must be usable every month without paying (a free plan with a monthly allowance or a monthly free credit).
failed_requests_not_billedNoRequests that fail on the provider side (timeouts, blocks, 5xx) must not be billed. A flat monthly price for unlimited requests meets it, since no request is billed on its own; when only success-based billing will do, use only_successful_requests_billed.
structured_extraction_pagesNoHow many of the pages must come back as JSON fields rather than HTML or text, by any method the plan offers (CSS or XPath selectors, a schema, or AI). When the fields must be found without writing selectors, use ai_extraction_pages instead; each page counts in one of the two.
only_successful_requests_billedNoBilling must count successful requests only: each successful request is charged (or draws credits) and failed ones cost nothing. A flat monthly price for unlimited requests does not meet it, since the price is the same whatever succeeds.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed9 schema fields changed
    • addedInput schema / properties / min_pages_per_doc
      Added value: +{
      +  "description": "Pages one document may have at the most the plan allows, for document parsing. Met when the stated limit is at least this many (or the pages say there is no page limit); a plan whose pages do not state a limit is unknown. The limit of the largest way of sending (batch or asynchronous) counts.",
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedInput schema / properties / monthly_document_pages
      Added value: +{
      +  "description": "Pages of documents parsed per month, for document-parsing APIs (LlamaParse, Reducto, Unstructured, Mistral OCR, LandingAI, Amazon Textract, Google Document AI, Azure Document Intelligence, Datalab, Mathpix, Mindee, Nanonets, Upstage). A price given per credit is multiplied by the credits one page costs. It is the whole workload: give it instead of monthly_pages, monthly_searches, monthly_browser_hours, monthly_emails, monthly_characters and monthly_audio_hours, not with them. Only document-parsing products can serve it; other products are out of scope.",
      +  "exclusiveMinimum": 0,
      +  "type": "number"
      +}
    • addedInput schema / properties / needs_batch_discount
      Added value: +{
      +  "description": "An official page must say a batch or asynchronous way of sending documents costs less than the list price on the plan, for document parsing. The budget and the cost are judged at the list price, not at the batch price.",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / needs_no_training / description
      Previous value: -"An official page must say the vendor does not use the buyer's text and audio to train its models without the buyer opting in. A use that is on by default with an opt-out to ask for does not count."New value: +"An official page must say the vendor does not use the buyer's text, audio or documents to train its models without the buyer opting in. A use that is on by default with an opt-out to ask for does not count."
    • addedInput schema / properties / needs_table_extraction
      Added value: +{
      +  "description": "The service must return the tables of a page as structure (rows and cells), not only the text, for document parsing.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / min_pages_per_doc
      Added value: +{
      +  "description": "Pages one document may have at the most the plan allows, for document parsing. Met when the stated limit is at least this many (or the pages say there is no page limit); a plan whose pages do not state a limit is unknown. The limit of the largest way of sending (batch or asynchronous) counts.",
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedInput schema / properties / preferred / properties / needs_batch_discount
      Added value: +{
      +  "description": "An official page must say a batch or asynchronous way of sending documents costs less than the list price on the plan, for document parsing. The budget and the cost are judged at the list price, not at the batch price.",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / preferred / properties / needs_no_training / description
      Previous value: -"An official page must say the vendor does not use the buyer's text and audio to train its models without the buyer opting in. A use that is on by default with an opt-out to ask for does not count."New value: +"An official page must say the vendor does not use the buyer's text, audio or documents to train its models without the buyer opting in. A use that is on by default with an opt-out to ask for does not count."
    • addedInput schema / properties / preferred / properties / needs_table_extraction
      Added value: +{
      +  "description": "The service must return the tables of a page as structure (rows and cells), not only the text, for document parsing.",
      +  "type": "boolean"
      +}
  2. Changed29 schema fields changed
    • addedInput schema / properties / max_overage_usd_per_1k
      Added value: +{
      +  "description": "The most the plan may charge for each 1,000 emails beyond its included volume, in USD, for transactional email. A plan whose extra price is not published as a per-1,000 figure is unknown.",
      +  "minimum": 0,
      +  "type": "number"
      +}
    • addedInput schema / properties / min_log_retention_days
      Added value: +{
      +  "description": "Days the plan must keep the logs or events of sent email where the account can read them, for transactional email. Longer retention sold as an add-on does not count.",
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedInput schema / properties / min_sending_domains
      Added value: +{
      +  "description": "Sending domains the plan must let one account authenticate, for transactional email. Met when the stated limit is at least this many (or the pages say it is unlimited); a plan whose pages do not state a limit is unknown.",
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedInput schema / properties / monthly_audio_hours
      Added value: +{
      +  "description": "Hours of audio transcribed per month, for speech-to-text APIs (Deepgram, AssemblyAI, Speechmatics, Amazon Transcribe, Google Cloud, OpenAI). A price given per minute is multiplied by 60. It is the whole workload: give it instead of monthly_pages, monthly_searches, monthly_browser_hours, monthly_emails and monthly_characters, not with them. Only speech-to-text products can serve it; other products are out of scope.",
      +  "exclusiveMinimum": 0,
      +  "type": "number"
      +}
    • addedInput schema / properties / monthly_characters
      Added value: +{
      +  "description": "Characters of text voiced per month, for text-to-speech APIs (ElevenLabs, Cartesia, Deepgram Aura, OpenAI, Google Cloud, Amazon Polly, Azure, Gradium, Rime, Inworld, MiniMax, Murf, Hume). It is the whole workload: give it instead of monthly_pages, monthly_searches, monthly_browser_hours and monthly_emails, not with them. Only text-to-speech products can serve it; other products are out of scope.",
      +  "exclusiveMinimum": 0,
      +  "type": "number"
      +}
    • addedInput schema / properties / monthly_emails
      Added value: +{
      +  "description": "Emails sent per month, for transactional email APIs (SendGrid, Mailgun, Postmark, Resend, Amazon SES, Brevo, Mailtrap, Loops). It is the whole workload: give it instead of monthly_pages, monthly_searches and monthly_browser_hours, not with them. Only email products can serve it; other products are out of scope.",
      +  "exclusiveMinimum": 0,
      +  "type": "number"
      +}
    • addedInput schema / properties / needs_batch
      Added value: +{
      +  "description": "The plan must transcribe recorded audio (a file or a stored recording), for speech-to-text. A plan priced for live audio only is not met.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_commercial_use
      Added value: +{
      +  "description": "The plan must allow commercial use of the generated audio, for text-to-speech. A free plan limited to non-commercial use does not count; a plan whose pages do not say is unknown.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_dedicated_ip
      Added value: +{
      +  "description": "The plan must come with a dedicated sending IP address, for transactional email. A dedicated IP sold only as an add-on on top of the plan, or only on another plan, does not count.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_diarization
      Added value: +{
      +  "description": "The plan must label who spoke (speaker diarization), for speech-to-text. Where the vendor charges extra for it, the extra price is added to the monthly cost; where the pages state no price or no inclusion the plan is unknown.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_inbound
      Added value: +{
      +  "description": "The service must receive email for the buyer and hand it on (inbound parsing, routes), for transactional email.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_korean
      Added value: +{
      +  "description": "The service must voice Korean text (text-to-speech) or transcribe Korean speech (speech-to-text).",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_no_min_billing
      Added value: +{
      +  "description": "An official page must say audio is billed by the second (or an increment of seconds) with no minimum billed duration per request, for speech-to-text. A page that says nothing about rounding is unknown.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_no_training
      Added value: +{
      +  "description": "An official page must say the vendor does not use the buyer's text and audio to train its models without the buyer opting in. A use that is on by default with an opt-out to ask for does not count.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_streaming
      Added value: +{
      +  "description": "The service must return audio in real time as it is made (streaming or a WebSocket), for text-to-speech; for speech-to-text, it must transcribe live audio as it arrives. A speech-to-text price line is per mode, so a plan priced for recorded audio only is not met.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_voice_cloning
      Added value: +{
      +  "description": "The plan must let the account clone a voice from its own recording, for text-to-speech. Cloning limited to eligible customers, a request form or an enterprise plan does not count for a plan that is not that plan.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / max_overage_usd_per_1k
      Added value: +{
      +  "description": "The most the plan may charge for each 1,000 emails beyond its included volume, in USD, for transactional email. A plan whose extra price is not published as a per-1,000 figure is unknown.",
      +  "minimum": 0,
      +  "type": "number"
      +}
    • addedInput schema / properties / preferred / properties / min_log_retention_days
      Added value: +{
      +  "description": "Days the plan must keep the logs or events of sent email where the account can read them, for transactional email. Longer retention sold as an add-on does not count.",
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedInput schema / properties / preferred / properties / min_sending_domains
      Added value: +{
      +  "description": "Sending domains the plan must let one account authenticate, for transactional email. Met when the stated limit is at least this many (or the pages say it is unlimited); a plan whose pages do not state a limit is unknown.",
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedInput schema / properties / preferred / properties / needs_batch
      Added value: +{
      +  "description": "The plan must transcribe recorded audio (a file or a stored recording), for speech-to-text. A plan priced for live audio only is not met.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_commercial_use
      Added value: +{
      +  "description": "The plan must allow commercial use of the generated audio, for text-to-speech. A free plan limited to non-commercial use does not count; a plan whose pages do not say is unknown.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_dedicated_ip
      Added value: +{
      +  "description": "The plan must come with a dedicated sending IP address, for transactional email. A dedicated IP sold only as an add-on on top of the plan, or only on another plan, does not count.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_diarization
      Added value: +{
      +  "description": "The plan must label who spoke (speaker diarization), for speech-to-text. Where the vendor charges extra for it, the extra price is added to the monthly cost; where the pages state no price or no inclusion the plan is unknown.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_inbound
      Added value: +{
      +  "description": "The service must receive email for the buyer and hand it on (inbound parsing, routes), for transactional email.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_korean
      Added value: +{
      +  "description": "The service must voice Korean text (text-to-speech) or transcribe Korean speech (speech-to-text).",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_no_min_billing
      Added value: +{
      +  "description": "An official page must say audio is billed by the second (or an increment of seconds) with no minimum billed duration per request, for speech-to-text. A page that says nothing about rounding is unknown.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_no_training
      Added value: +{
      +  "description": "An official page must say the vendor does not use the buyer's text and audio to train its models without the buyer opting in. A use that is on by default with an opt-out to ask for does not count.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_streaming
      Added value: +{
      +  "description": "The service must return audio in real time as it is made (streaming or a WebSocket), for text-to-speech; for speech-to-text, it must transcribe live audio as it arrives. A speech-to-text price line is per mode, so a plan priced for recorded audio only is not met.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_voice_cloning
      Added value: +{
      +  "description": "The plan must let the account clone a voice from its own recording, for text-to-speech. Cloning limited to eligible customers, a request form or an enterprise plan does not count for a plan that is not that plan.",
      +  "type": "boolean"
      +}
  3. Changed11 schema fields changed
    • addedInput schema / properties / captcha_solving
      Added value: +{
      +  "description": "The plan must solve CAPTCHAs for the browser sessions (the vendor does it, not the buyer own service).",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / min_session_minutes
      Added value: +{
      +  "description": "Minutes one browser session must be able to run on this plan, for hosted browsers. Met when the stated longest session of the plan is at least this long; a plan whose pages do not state a session limit is unknown, and a limit the page gives only for another plan is not met.",
      +  "exclusiveMinimum": 0,
      +  "type": "number"
      +}
    • addedInput schema / properties / monthly_browser_hours
      Added value: +{
      +  "description": "Browser time per month in hours, for hosted browsers (Browserbase, Browserless) billed by browser time. It is the whole workload: give it instead of monthly_pages, monthly_searches and browser_seconds_per_page, not with them. Only browser products can serve it; other products are out of scope.",
      +  "exclusiveMinimum": 0,
      +  "type": "number"
      +}
    • addedInput schema / properties / persistent_profiles
      Added value: +{
      +  "description": "The plan must keep browser profiles (login state, cookies) between sessions.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / captcha_solving
      Added value: +{
      +  "description": "The plan must solve CAPTCHAs for the browser sessions (the vendor does it, not the buyer own service).",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / min_session_minutes
      Added value: +{
      +  "description": "Minutes one browser session must be able to run on this plan, for hosted browsers. Met when the stated longest session of the plan is at least this long; a plan whose pages do not state a session limit is unknown, and a limit the page gives only for another plan is not met.",
      +  "exclusiveMinimum": 0,
      +  "type": "number"
      +}
    • addedInput schema / properties / preferred / properties / persistent_profiles
      Added value: +{
      +  "description": "The plan must keep browser profiles (login state, cookies) between sessions.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / proxies_included
      Added value: +{
      +  "description": "The plan must include proxy traffic of the vendor (some gigabytes in the plan fee). Proxy traffic sold only per gigabyte on top of the fee, or only on another plan, does not count.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / session_recording
      Added value: +{
      +  "description": "The plan must record browser sessions (video or replay) that the buyer can watch afterwards.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / proxies_included
      Added value: +{
      +  "description": "The plan must include proxy traffic of the vendor (some gigabytes in the plan fee). Proxy traffic sold only per gigabyte on top of the fee, or only on another plan, does not count.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / session_recording
      Added value: +{
      +  "description": "The plan must record browser sessions (video or replay) that the buyer can watch afterwards.",
      +  "type": "boolean"
      +}
  4. Changed1 schema field changed
    • changedOutput schema / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "answer": {
      -        "description": "One sentence that opens the answer: the cheapest checked plan (or plan of the same product) that meets every required condition with its link, or, when none does, the closest checked plan with what it does not meet or what is unknown, and its link. The plan is written as a markdown link, [Provider Plan](visit link), at the end of the sentence.",
      -        "type": "string"
      -      },
      -      "as_of": {
      -        "type": "string"
      -      },
      -      "assumptions": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "link_notes": {
      -        "additionalProperties": {
      -          "type": "string"
      -        },
      -        "description": "The note of each link level (link.link_level) of the plans in this result, stated once.",
      -        "type": "object"
      -      },
      -      "needs_input": {
      -        "items": {
      -          "properties": {
      -            "field": {
      -              "type": "string"
      -            },
      -            "reason": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "field",
      -            "reason"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "notes": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "request": {
      -        "type": "object"
      -      },
      -      "resolution": {
      -        "description": "How each entry of plans was read.",
      -        "items": {
      -          "properties": {
      -            "candidates": {
      -              "items": {
      -                "properties": {
      -                  "listed": {
      -                    "type": "boolean"
      -                  },
      -                  "offer_id": {
      -                    "type": "string"
      -                  },
      -                  "offer_name": {
      -                    "type": "string"
      -                  },
      -                  "product_name": {
      -                    "type": "string"
      -                  },
      -                  "provider_name": {
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "offer_id",
      -                  "offer_name",
      -                  "provider_name"
      -                ],
      -                "type": "object"
      -              },
      -              "type": "array"
      -            },
      -            "candidates_total": {
      -              "type": "integer"
      -            },
      -            "input": {
      -              "type": "string"
      -            },
      -            "matched_by": {
      -              "enum": [
      -                "id",
      -                "name",
      -                "url",
      -                null
      -              ]
      -            },
      -            "note": {
      -              "type": [
      -                "string",
      -                "null"
      -              ]
      -            },
      -            "offer_id": {
      -              "type": [
      -                "string",
      -                "null"
      -              ]
      -            },
      -            "status": {
      -              "description": "resolved: one plan, checked in results; ambiguous: several plans fit, listed in candidates and not checked; not_found: no plan in the catalog fits.",
      -              "enum": [
      -                "resolved",
      -                "ambiguous",
      -                "not_found"
      -              ]
      -            }
      -          },
      -          "required": [
      -            "input",
      -            "status",
      -            "offer_id",
      -            "candidates"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "results": {
      -        "items": {
      -          "properties": {
      -            "assumptions": {
      -              "items": {
      -                "type": "string"
      -              },
      -              "type": "array"
      -            },
      -            "at_limit": {
      -              "description": "Present for a plan with no automatic extra usage: what the official page says happens at the limit (kind no_extra_usage or restart_by_hand), with its sentence. With a workload that needs restarts, restarts gives their count, the price of each and the total, the numbers of monthly_cost.explanation.",
      -              "properties": {
      -                "evidence": {
      -                  "properties": {
      -                    "quote": {
      -                      "type": "string"
      -                    },
      -                    "source": {
      -                      "type": "string"
      -                    }
      -                  },
      -                  "type": "object"
      -                },
      -                "kind": {
      -                  "enum": [
      -                    "no_extra_usage",
      -                    "restart_by_hand"
      -                  ]
      -                },
      -                "restarts": {
      -                  "properties": {
      -                    "count": {
      -                      "properties": {
      -                        "high": {
      -                          "type": "integer"
      -                        },
      -                        "low": {
      -                          "type": "integer"
      -                        }
      -                      },
      -                      "type": "object"
      -                    },
      -                    "total_usd": {
      -                      "properties": {
      -                        "high": {
      -                          "type": "number"
      -                        },
      -                        "low": {
      -                          "type": "number"
      -                        }
      -                      },
      -                      "type": "object"
      -                    },
      -                    "usd_each": {
      -                      "type": "number"
      -                    }
      -                  },
      -                  "type": "object"
      -                },
      -                "text": {
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "kind",
      -                "text",
      -                "evidence"
      -              ],
      -              "type": "object"
      -            },
      -            "billing": {
      -              "type": "string"
      -            },
      -            "billing_options": {
      -              "items": {
      -                "type": "string"
      -              },
      -              "type": "array"
      -            },
      -            "cheapest_in_product": {
      -              "description": "The cheapest listed plan of the same product that meets every required condition of this call; is_this_plan is true when that is the checked plan. null when no plan of the product meets them all.",
      -              "properties": {
      -                "billing": {
      -                  "type": "string"
      -                },
      -                "is_this_plan": {
      -                  "type": "boolean"
      -                },
      -                "monthly_cost": {
      -                  "type": "object"
      -                },
      -                "offer_id": {
      -                  "type": "string"
      -                },
      -                "offer_name": {
      -                  "type": "string"
      -                },
      -                "page_url": {
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "offer_id",
      -                "offer_name",
      -                "billing",
      -                "monthly_cost",
      -                "is_this_plan"
      -              ],
      -              "type": [
      -                "object",
      -                "null"
      -              ]
      -            },
      -            "checked_at": {
      -              "type": [
      -                "string",
      -                "null"
      -              ]
      -            },
      -            "conditions": {
      -              "items": {
      -                "properties": {
      -                  "condition": {
      -                    "type": "string"
      -                  },
      -                  "facts": {
      -                    "description": "Facts the verdict was judged from. The monthly budget is judged from monthly_cost; its price facts are listed there only.",
      -                    "items": {
      -                      "properties": {
      -                        "also_stated_in": {
      -                          "description": "get_details only: other official machine-readable documents of the provider (llms.txt, llms-full.txt, OpenAPI files, MCP tool listings) that contain the same quoted sentences.",
      -                          "items": {
      -                            "type": "string"
      -                          },
      -                          "type": "array"
      -                        },
      -                        "applies_to": {
      -                          "description": "get_details only: billing options (billing) or search engines (search_engines) the fact is limited to.",
      -                          "type": [
      -                            "object",
      -                            "null"
      -                          ]
      -                        },
      -                        "at_limit": {
      -                          "description": "Present for a plan with no automatic extra usage: what the official page says happens at the limit (kind no_extra_usage or restart_by_hand), with its sentence. With a workload that needs restarts, restarts gives their count, the price of each and the total, the numbers of monthly_cost.explanation.",
      -                          "properties": {
      -                            "evidence": {
      -                              "properties": {
      -                                "quote": {
      -                                  "type": "string"
      -                                },
      -                                "source": {
      -                                  "type": "string"
      -                                }
      -                              },
      -                              "type": "object"
      -                            },
      -                            "kind": {
      -                              "enum": [
      -                                "no_extra_usage",
      -                                "restart_by_hand"
      -                              ]
      -                            },
      -                            "restarts": {
      -                              "properties": {
      -                                "count": {
      -                                  "properties": {
      -                                    "high": {
      -                                      "type": "integer"
      -                                    },
      -                                    "low": {
      -                                      "type": "integer"
      -                                    }
      -                                  },
      -                                  "type": "object"
      -                                },
      -                                "total_usd": {
      -                                  "properties": {
      -                                    "high": {
      -                                      "type": "number"
      -                                    },
      -                                    "low": {
      -                                      "type": "number"
      -                                    }
      -                                  },
      -                                  "type": "object"
      -                                },
      -                                "usd_each": {
      -                                  "type": "number"
      -                                }
      -                              },
      -                              "type": "object"
      -                            },
      -                            "text": {
      -                              "type": "string"
      -                            }
      -                          },
      -                          "required": [
      -                            "kind",
      -                            "text",
      -                            "evidence"
      -                          ],
      -                          "type": "object"
      -                        },
      -                        "checked_at": {
      -                          "type": [
      -                            "string",
      -                            "null"
      -                          ]
      -                        },
      -                        "concurrency_unit": {
      -                          "description": "get_details, concurrency only: the unit the page states the value in (unit, text such as \"100 threads\"). Against concurrent requests: equals_requests (value, text and the official line of the unit rule) when the unit rule counts this unit as requests, else note \"not the same unit as concurrent requests\"; \"unit not stated\" when the page names none.",
      -                          "type": "object"
      -                        },
      -                        "derived": {
      -                          "description": "How the value follows from the quoted sentence when it is not literal.",
      -                          "type": "string"
      -                        },
      -                        "evidence": {
      -                          "items": {
      -                            "properties": {
      -                              "quote": {
      -                                "description": "The sentence as it appears on that page.",
      -                                "type": "string"
      -                              },
      -                              "retrieved_at": {
      -                                "description": "Date the page was read (YYYY-MM-DD). Only with detail=full.",
      -                                "type": "string"
      -                              },
      -                              "source": {
      -                                "description": "Official page the sentence was found on.",
      -                                "type": "string"
      -                              },
      -                              "source_type": {
      -                                "description": "Only with detail=full.",
      -                                "enum": [
      -                                  "official_pricing",
      -                                  "official_docs",
      -                                  "third_party"
      -                                ]
      -                              }
      -                            },
      -                            "required": [
      -                              "source",
      -                              "quote"
      -                            ],
      -                            "type": "object"
      -                          },
      -                          "type": "array"
      -                        },
      -                        "exceptions": {
      -                          "description": "get_details only: plans with a different value.",
      -                          "type": "array"
      -                        },
      -                        "key": {
      -                          "type": "string"
      -                        },
      -                        "label": {
      -                          "type": "string"
      -                        },
      -                        "level": {
      -                          "description": "Where the fact is recorded: offer (the plan), product or provider.",
      -                          "type": [
      -                            "string",
      -                            "null"
      -                          ]
      -                        },
      -                        "note": {
      -                          "type": "string"
      -                        },
      -                        "stale": {
      -                          "type": "boolean"
      -                        },
      -                        "status": {
      -                          "description": "TRUE: stated with the value; FALSE / NOT_SUPPORTED: stated as unavailable; UNKNOWN: not stated; CONFLICT: official pages disagree (value lists each version); STALE: past its recheck date; MISSING: not recorded.",
      -                          "enum": [
      -                            "TRUE",
      -                            "FALSE",
      -                            "NOT_SUPPORTED",
      -                            "UNKNOWN",
      -                            "CONFLICT",
      -                            "STALE",
      -                            "MISSING"
      -                          ]
      -                        },
      -                        "value": {},
      -                        "via_exception": {
      -                          "description": "Present and true when a plan-specific exception replaced the general value.",
      -                          "type": "boolean"
      -                        }
      -                      },
      -                      "required": [
      -                        "key",
      -                        "status",
      -                        "value",
      -                        "level",
      -                        "evidence",
      -                        "checked_at"
      -                      ],
      -                      "type": "object"
      -                    },
      -                    "type": "array"
      -                  },
      -                  "label": {
      -                    "type": "string"
      -                  },
      -                  "reason": {
      -                    "type": "string"
      -                  },
      -                  "required": {
      -                    "type": "boolean"
      -                  },
      -                  "verdict": {
      -                    "enum": [
      -                      "MET",
      -                      "UNMET",
      -                      "UNKNOWN",
      -                      "UNIT_MISMATCH",
      -                      "UNIT_UNKNOWN"
      -                    ]
      -                  }
      -                },
      -                "required": [
      -                  "condition",
      -                  "label",
      -                  "required",
      -                  "verdict",
      -                  "reason",
      -                  "facts"
      -                ],
      -                "type": "object"
      -              },
      -              "type": "array"
      -            },
      -            "facts_omitted": {
      -              "description": "search only: present and true when the source sentences under the conditions were left out so that the response fits one response; the verdicts, reasons and costs are unchanged. Ask check_conditions with the offer_id or get_details for the sentences.",
      -              "type": "boolean"
      -            },
      -            "link": {
      -              "properties": {
      -                "affiliate": {
      -                  "properties": {
      -                    "disclosure": {
      -                      "type": [
      -                        "string",
      -                        "null"
      -                      ]
      -                    },
      -                    "program": {
      -                      "type": [
      -                        "string",
      -                        "null"
      -                      ]
      -                    },
      -                    "status": {
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "status"
      -                  ],
      -                  "type": "object"
      -                },
      -                "landing": {
      -                  "type": "string"
      -                },
      -                "link_level": {
      -                  "type": "string"
      -                },
      -                "provider_url": {
      -                  "description": "The provider page itself. Only in a page made for a browser, where url is this service's address that forwards to it; MCP and REST results do not carry it.",
      -                  "type": "string"
      -                },
      -                "url": {
      -                  "description": "The only address to visit the plan: this service's /go/<offer_id>?r=<token> address, which forwards to the provider page. The token is made for this response and holds nothing about you.",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "url",
      -                "landing",
      -                "link_level",
      -                "affiliate"
      -              ],
      -              "type": "object"
      -            },
      -            "listed": {
      -              "type": "boolean"
      -            },
      -            "match": {
      -              "enum": [
      -                "FULL_MATCH",
      -                "PARTIAL_MATCH",
      -                "NO_MATCH"
      -              ]
      -            },
      -            "meets_all": {
      -              "description": "Judged against the required conditions of this call only: true when every one is met, false when one is not met, \"unknown\" when none fails and one is not stated on the official pages.",
      -              "enum": [
      -                true,
      -                false,
      -                "unknown"
      -              ]
      -            },
      -            "monthly_cost": {
      -              "properties": {
      -                "explanation": {
      -                  "type": "string"
      -                },
      -                "facts": {
      -                  "description": "Price facts the cost was computed from.",
      -                  "items": {
      -                    "properties": {
      -                      "also_stated_in": {
      -                        "description": "get_details only: other official machine-readable documents of the provider (llms.txt, llms-full.txt, OpenAPI files, MCP tool listings) that contain the same quoted sentences.",
      -                        "items": {
      -                          "type": "string"
      -                        },
      -                        "type": "array"
      -                      },
      -                      "applies_to": {
      -                        "description": "get_details only: billing options (billing) or search engines (search_engines) the fact is limited to.",
      -                        "type": [
      -                          "object",
      -                          "null"
      -                        ]
      -                      },
      -                      "at_limit": {
      -                        "description": "Present for a plan with no automatic extra usage: what the official page says happens at the limit (kind no_extra_usage or restart_by_hand), with its sentence. With a workload that needs restarts, restarts gives their count, the price of each and the total, the numbers of monthly_cost.explanation.",
      -                        "properties": {
      -                          "evidence": {
      -                            "properties": {
      -                              "quote": {
      -                                "type": "string"
      -                              },
      -                              "source": {
      -                                "type": "string"
      -                              }
      -                            },
      -                            "type": "object"
      -                          },
      -                          "kind": {
      -                            "enum": [
      -                              "no_extra_usage",
      -                              "restart_by_hand"
      -                            ]
      -                          },
      -                          "restarts": {
      -                            "properties": {
      -                              "count": {
      -                                "properties": {
      -                                  "high": {
      -                                    "type": "integer"
      -                                  },
      -                                  "low": {
      -                                    "type": "integer"
      -                                  }
      -                                },
      -                                "type": "object"
      -                              },
      -                              "total_usd": {
      -                                "properties": {
      -                                  "high": {
      -                                    "type": "number"
      -                                  },
      -                                  "low": {
      -                                    "type": "number"
      -                                  }
      -                                },
      -                                "type": "object"
      -                              },
      -                              "usd_each": {
      -                                "type": "number"
      -                              }
      -                            },
      -                            "type": "object"
      -                          },
      -                          "text": {
      -                            "type": "string"
      -                          }
      -                        },
      -                        "required": [
      -                          "kind",
      -                          "text",
      -                          "evidence"
      -                        ],
      -                        "type": "object"
      -                      },
      -                      "checked_at": {
      -                        "type": [
      -                          "string",
      -                          "null"
      -                        ]
      -                      },
      -                      "concurrency_unit": {
      -                        "description": "get_details, concurrency only: the unit the page states the value in (unit, text such as \"100 threads\"). Against concurrent requests: equals_requests (value, text and the official line of the unit rule) when the unit rule counts this unit as requests, else note \"not the same unit as concurrent requests\"; \"unit not stated\" when the page names none.",
      -                        "type": "object"
      -                      },
      -                      "derived": {
      -                        "description": "How the value follows from the quoted sentence when it is not literal.",
      -                        "type": "string"
      -                      },
      -                      "evidence": {
      -                        "items": {
      -                          "properties": {
      -                            "quote": {
      -                              "description": "The sentence as it appears on that page.",
      -                              "type": "string"
      -                            },
      -                            "retrieved_at": {
      -                              "description": "Date the page was read (YYYY-MM-DD). Only with detail=full.",
      -                              "type": "string"
      -                            },
      -                            "source": {
      -                              "description": "Official page the sentence was found on.",
      -                              "type": "string"
      -                            },
      -                            "source_type": {
      -                              "description": "Only with detail=full.",
      -                              "enum": [
      -                                "official_pricing",
      -                                "official_docs",
      -                                "third_party"
      -                              ]
      -                            }
      -                          },
      -                          "required": [
      -                            "source",
      -                            "quote"
      -                          ],
      -                          "type": "object"
      -                        },
      -                        "type": "array"
      -                      },
      -                      "exceptions": {
      -                        "description": "get_details only: plans with a different value.",
      -                        "type": "array"
      -                      },
      -                      "key": {
      -                        "type": "string"
      -                      },
      -                      "label": {
      -                        "type": "string"
      -                      },
      -                      "level": {
      -                        "description": "Where the fact is recorded: offer (the plan), product or provider.",
      -                        "type": [
      -                          "string",
      -                          "null"
      -                        ]
      -                      },
      -                      "note": {
      -                        "type": "string"
      -                      },
      -                      "stale": {
      -                        "type": "boolean"
      -                      },
      -                      "status": {
      -                        "description": "TRUE: stated with the value; FALSE / NOT_SUPPORTED: stated as unavailable; UNKNOWN: not stated; CONFLICT: official pages disagree (value lists each version); STALE: past its recheck date; MISSING: not recorded.",
      -                        "enum": [
      -                          "TRUE",
      -                          "FALSE",
      -                          "NOT_SUPPORTED",
      -                          "UNKNOWN",
      -                          "CONFLICT",
      -                          "STALE",
      -                          "MISSING"
      -                        ]
      -                      },
      -                      "value": {},
      -                      "via_exception": {
      -                        "description": "Present and true when a plan-specific exception replaced the general value.",
      -                        "type": "boolean"
      -                      }
      -                    },
      -                    "required": [
      -                      "key",
      -                      "status",
      -                      "value",
      -                      "level",
      -                      "evidence",
      -                      "checked_at"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  "type": "array"
      -                },
      -                "high": {
      -                  "type": [
      -                    "number",
      -                    "null"
      -                  ]
      -                },
      -                "low": {
      -                  "type": [
      -                    "number",
      -                    "null"
      -                  ]
      -                },
      -                "lower_bound": {
      -                  "type": [
      -                    "number",
      -                    "null"
      -                  ]
      -                },
      -                "status": {
      -                  "enum": [
      -                    "exact",
      -                    "range",
      -                    "lower_bound",
      -                    "unknown"
      -                  ]
      -                },
      -                "upfront_usd": {
      -                  "type": [
      -                    "number",
      -                    "null"
      -                  ]
      -                },
      -                "usd": {
      -                  "type": [
      -                    "number",
      -                    "null"
      -                  ]
      -                }
      -              },
      -              "required": [
      -                "status",
      -                "usd",
      -                "explanation"
      -              ],
      -              "type": "object"
      -            },
      -            "offer_id": {
      -              "type": "string"
      -            },
      -            "offer_name": {
      -              "type": "string"
      -            },
      -            "page_url": {
      -              "type": "string"
      -            },
      -            "preferred_met": {
      -              "type": "integer"
      -            },
      -            "prices_exclude_tax": {
      -              "type": [
      -                "boolean",
      -                "null"
      -              ]
      -            },
      -            "product_id": {
      -              "type": "string"
      -            },
      -            "product_name": {
      -              "type": "string"
      -            },
      -            "provider_id": {
      -              "type": "string"
      -            },
      -            "provider_name": {
      -              "type": "string"
      -            },
      -            "unknown_conditions": {
      -              "items": {
      -                "type": "string"
      -              },
      -              "type": "array"
      -            },
      -            "unmet_conditions": {
      -              "items": {
      -                "type": "string"
      -              },
      -              "type": "array"
      -            },
      -            "verdict": {
      -              "description": "One sentence: the conditions met, or the ones not met or not stated, with the reason.",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "offer_id",
      -            "offer_name",
      -            "product_id",
      -            "provider_name",
      -            "match",
      -            "meets_all",
      -            "verdict",
      -            "billing",
      -            "monthly_cost",
      -            "conditions",
      -            "unmet_conditions",
      -            "unknown_conditions",
      -            "link",
      -            "checked_at",
      -            "cheapest_in_product"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "show_text": {
      -        "description": "Ready to show: one line per listed plan, in list order, \"Meets all N: [Provider Plan](visit link)\" for a plan that meets every required condition of the call, \"Closest: [Provider Plan](visit link)\" for any other. The plan is a markdown link to its visit link, which carries the token of this response. Absent when no plan is listed.",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "answer",
      -      "as_of",
      -      "needs_input",
      -      "results",
      -      "assumptions",
      -      "notes"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "properties": {
      -      "answer": {
      -        "type": "string"
      -      },
      -      "as_of": {
      -        "type": "string"
      -      },
      -      "format": {
      -        "enum": [
      -          "brief"
      -        ]
      -      },
      -      "needs_input": {
      -        "items": {
      -          "properties": {
      -            "field": {
      -              "type": "string"
      -            },
      -            "reason": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "field",
      -            "reason"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "resolution": {
      -        "type": "array"
      -      },
      -      "results": {
      -        "items": {
      -          "properties": {
      -            "conditions": {
      -              "items": {
      -                "properties": {
      -                  "condition": {
      -                    "type": "string"
      -                  },
      -                  "quote": {
      -                    "description": "One official source sentence, 200 characters at most.",
      -                    "type": "string"
      -                  },
      -                  "reason": {
      -                    "description": "One line, 120 characters at most.",
      -                    "type": "string"
      -                  },
      -                  "required": {
      -                    "description": "Present only on a preferred (nice-to-have) condition.",
      -                    "enum": [
      -                      false
      -                    ]
      -                  },
      -                  "source": {
      -                    "description": "Official page the sentence was found on.",
      -                    "type": [
      -                      "string",
      -                      "null"
      -                    ]
      -                  },
      -                  "verdict": {
      -                    "enum": [
      -                      "MET",
      -                      "UNMET",
      -                      "UNKNOWN",
      -                      "UNIT_MISMATCH",
      -                      "UNIT_UNKNOWN"
      -                    ]
      -                  }
      -                },
      -                "required": [
      -                  "condition",
      -                  "verdict",
      -                  "reason"
      -                ],
      -                "type": "object"
      -              },
      -              "type": "array"
      -            },
      -            "match": {
      -              "enum": [
      -                "FULL_MATCH",
      -                "PARTIAL_MATCH",
      -                "NO_MATCH"
      -              ]
      -            },
      -            "meets_all": {
      -              "description": "Judged against the required conditions of this call only: true when every one is met, false when one is not met, \"unknown\" when none fails and one is not stated on the official pages.",
      -              "enum": [
      -                true,
      -                false,
      -                "unknown"
      -              ]
      -            },
      -            "monthly_cost": {
      -              "description": "status, usd, and low, high or lower_bound when they differ; as in the full result.",
      -              "type": "object"
      -            },
      -            "offer_id": {
      -              "type": "string"
      -            },
      -            "offer_name": {
      -              "type": "string"
      -            },
      -            "provider": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "offer_id",
      -            "offer_name",
      -            "provider",
      -            "meets_all",
      -            "monthly_cost",
      -            "conditions"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "show_text": {
      -        "description": "Ready to show: one line per listed plan, in list order, \"Meets all N: [Provider Plan](visit link)\" for a plan that meets every required condition of the call, \"Closest: [Provider Plan](visit link)\" for any other. The plan is a markdown link to its visit link, which carries the token of this response. Absent when no plan is listed.",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "format",
      -      "answer",
      -      "as_of",
      -      "needs_input",
      -      "results"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "answer": {
      +        "description": "One sentence that opens the answer: the cheapest checked plan (or plan of the same product) that meets every required condition with its link, or, when none does, the closest checked plan with what it does not meet or what is unknown, and its link. The plan is written as a markdown link, [Provider Plan](visit link), at the end of the sentence.",
      +        "type": "string"
      +      },
      +      "as_of": {
      +        "type": "string"
      +      },
      +      "assumptions": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "link_notes": {
      +        "additionalProperties": {
      +          "type": "string"
      +        },
      +        "description": "The note of each link level (link.link_level) of the plans in this result, stated once.",
      +        "type": "object"
      +      },
      +      "needs_input": {
      +        "items": {
      +          "properties": {
      +            "field": {
      +              "type": "string"
      +            },
      +            "reason": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "field",
      +            "reason"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "notes": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "request": {
      +        "type": "object"
      +      },
      +      "resolution": {
      +        "description": "How each entry of plans was read.",
      +        "items": {
      +          "properties": {
      +            "candidates": {
      +              "items": {
      +                "properties": {
      +                  "listed": {
      +                    "type": "boolean"
      +                  },
      +                  "offer_id": {
      +                    "type": "string"
      +                  },
      +                  "offer_name": {
      +                    "type": "string"
      +                  },
      +                  "product_name": {
      +                    "type": "string"
      +                  },
      +                  "provider_name": {
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "offer_id",
      +                  "offer_name",
      +                  "provider_name"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "candidates_total": {
      +              "type": "integer"
      +            },
      +            "input": {
      +              "type": "string"
      +            },
      +            "matched_by": {
      +              "enum": [
      +                "id",
      +                "name",
      +                "url",
      +                null
      +              ]
      +            },
      +            "note": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "offer_id": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "status": {
      +              "description": "resolved: one plan, checked in results; ambiguous: several plans fit, listed in candidates and not checked; not_found: no plan in the catalog fits.",
      +              "enum": [
      +                "resolved",
      +                "ambiguous",
      +                "not_found"
      +              ]
      +            }
      +          },
      +          "required": [
      +            "input",
      +            "status",
      +            "offer_id",
      +            "candidates"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "results": {
      +        "items": {
      +          "properties": {
      +            "assumptions": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "at_limit": {
      +              "description": "Present for a plan with no automatic extra usage: what the official page says happens at the limit (kind no_extra_usage or restart_by_hand), with its sentence. With a workload that needs restarts, restarts gives their count, the price of each and the total, the numbers of monthly_cost.explanation.",
      +              "properties": {
      +                "evidence": {
      +                  "properties": {
      +                    "quote": {
      +                      "type": "string"
      +                    },
      +                    "source": {
      +                      "type": "string"
      +                    }
      +                  },
      +                  "type": "object"
      +                },
      +                "kind": {
      +                  "enum": [
      +                    "no_extra_usage",
      +                    "restart_by_hand"
      +                  ]
      +                },
      +                "restarts": {
      +                  "properties": {
      +                    "count": {
      +                      "properties": {
      +                        "high": {
      +                          "type": "integer"
      +                        },
      +                        "low": {
      +                          "type": "integer"
      +                        }
      +                      },
      +                      "type": "object"
      +                    },
      +                    "total_usd": {
      +                      "properties": {
      +                        "high": {
      +                          "type": "number"
      +                        },
      +                        "low": {
      +                          "type": "number"
      +                        }
      +                      },
      +                      "type": "object"
      +                    },
      +                    "usd_each": {
      +                      "type": "number"
      +                    }
      +                  },
      +                  "type": "object"
      +                },
      +                "text": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "kind",
      +                "text",
      +                "evidence"
      +              ],
      +              "type": "object"
      +            },
      +            "billing": {
      +              "type": "string"
      +            },
      +            "billing_options": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "cheapest_in_product": {
      +              "description": "The cheapest listed plan of the same product that meets every required condition of this call; is_this_plan is true when that is the checked plan. null when no plan of the product meets them all.",
      +              "properties": {
      +                "billing": {
      +                  "type": "string"
      +                },
      +                "is_this_plan": {
      +                  "type": "boolean"
      +                },
      +                "monthly_cost": {
      +                  "type": "object"
      +                },
      +                "offer_id": {
      +                  "type": "string"
      +                },
      +                "offer_name": {
      +                  "type": "string"
      +                },
      +                "page_url": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "offer_id",
      +                "offer_name",
      +                "billing",
      +                "monthly_cost",
      +                "is_this_plan"
      +              ],
      +              "type": [
      +                "object",
      +                "null"
      +              ]
      +            },
      +            "checked_at": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "conditions": {
      +              "items": {
      +                "properties": {
      +                  "condition": {
      +                    "type": "string"
      +                  },
      +                  "facts": {
      +                    "description": "Facts the verdict was judged from. The monthly budget is judged from monthly_cost; its price facts are listed there only.",
      +                    "items": {
      +                      "properties": {
      +                        "also_stated_in": {
      +                          "description": "get_details only: other official machine-readable documents of the provider (llms.txt, llms-full.txt, OpenAPI files, MCP tool listings) that contain the same quoted sentences.",
      +                          "items": {
      +                            "type": "string"
      +                          },
      +                          "type": "array"
      +                        },
      +                        "applies_to": {
      +                          "description": "get_details only: billing options (billing) or search engines (search_engines) the fact is limited to.",
      +                          "type": [
      +                            "object",
      +                            "null"
      +                          ]
      +                        },
      +                        "at_limit": {
      +                          "description": "Present for a plan with no automatic extra usage: what the official page says happens at the limit (kind no_extra_usage or restart_by_hand), with its sentence. With a workload that needs restarts, restarts gives their count, the price of each and the total, the numbers of monthly_cost.explanation.",
      +                          "properties": {
      +                            "evidence": {
      +                              "properties": {
      +                                "quote": {
      +                                  "type": "string"
      +                                },
      +                                "source": {
      +                                  "type": "string"
      +                                }
      +                              },
      +                              "type": "object"
      +                            },
      +                            "kind": {
      +                              "enum": [
      +                                "no_extra_usage",
      +                                "restart_by_hand"
      +                              ]
      +                            },
      +                            "restarts": {
      +                              "properties": {
      +                                "count": {
      +                                  "properties": {
      +                                    "high": {
      +                                      "type": "integer"
      +                                    },
      +                                    "low": {
      +                                      "type": "integer"
      +                                    }
      +                                  },
      +                                  "type": "object"
      +                                },
      +                                "total_usd": {
      +                                  "properties": {
      +                                    "high": {
      +                                      "type": "number"
      +                                    },
      +                                    "low": {
      +                                      "type": "number"
      +                                    }
      +                                  },
      +                                  "type": "object"
      +                                },
      +                                "usd_each": {
      +                                  "type": "number"
      +                                }
      +                              },
      +                              "type": "object"
      +                            },
      +                            "text": {
      +                              "type": "string"
      +                            }
      +                          },
      +                          "required": [
      +                            "kind",
      +                            "text",
      +                            "evidence"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        "checked_at": {
      +                          "type": [
      +                            "string",
      +                            "null"
      +                          ]
      +                        },
      +                        "concurrency_unit": {
      +                          "description": "get_details, concurrency only: the unit the page states the value in (unit, text such as \"100 threads\"). Against concurrent requests: equals_requests (value, text and the official line of the unit rule) when the unit rule counts this unit as requests, else note \"not the same unit as concurrent requests\"; \"unit not stated\" when the page names none.",
      +                          "type": "object"
      +                        },
      +                        "derived": {
      +                          "description": "How the value follows from the quoted sentence when it is not literal.",
      +                          "type": "string"
      +                        },
      +                        "evidence": {
      +                          "items": {
      +                            "properties": {
      +                              "quote": {
      +                                "description": "The sentence as it appears on that page.",
      +                                "type": "string"
      +                              },
      +                              "retrieved_at": {
      +                                "description": "Date the page was read (YYYY-MM-DD). Only with detail=full.",
      +                                "type": "string"
      +                              },
      +                              "source": {
      +                                "description": "Official page the sentence was found on.",
      +                                "type": "string"
      +                              },
      +                              "source_type": {
      +                                "description": "Only with detail=full.",
      +                                "enum": [
      +                                  "official_pricing",
      +                                  "official_docs",
      +                                  "third_party"
      +                                ]
      +                              }
      +                            },
      +                            "required": [
      +                              "source",
      +                              "quote"
      +                            ],
      +                            "type": "object"
      +                          },
      +                          "type": "array"
      +                        },
      +                        "exceptions": {
      +                          "description": "get_details only: plans with a different value.",
      +                          "type": "array"
      +                        },
      +                        "key": {
      +                          "type": "string"
      +                        },
      +                        "label": {
      +                          "type": "string"
      +                        },
      +                        "level": {
      +                          "description": "Where the fact is recorded: offer (the plan), product or provider.",
      +                          "type": [
      +                            "string",
      +                            "null"
      +                          ]
      +                        },
      +                        "note": {
      +                          "type": "string"
      +                        },
      +                        "stale": {
      +                          "type": "boolean"
      +                        },
      +                        "status": {
      +                          "description": "TRUE: stated with the value; FALSE / NOT_SUPPORTED: stated as unavailable; UNKNOWN: not stated; CONFLICT: official pages disagree (value lists each version); STALE: past its recheck date; MISSING: not recorded.",
      +                          "enum": [
      +                            "TRUE",
      +                            "FALSE",
      +                            "NOT_SUPPORTED",
      +                            "UNKNOWN",
      +                            "CONFLICT",
      +                            "STALE",
      +                            "MISSING"
      +                          ]
      +                        },
      +                        "value": {},
      +                        "via_exception": {
      +                          "description": "Present and true when a plan-specific exception replaced the general value.",
      +                          "type": "boolean"
      +                        }
      +                      },
      +                      "required": [
      +                        "key",
      +                        "status",
      +                        "value",
      +                        "level",
      +                        "evidence",
      +                        "checked_at"
      +                      ],
      +                      "type": "object"
      +                    },
      +                    "type": "array"
      +                  },
      +                  "label": {
      +                    "type": "string"
      +                  },
      +                  "reason": {
      +                    "type": "string"
      +                  },
      +                  "required": {
      +                    "type": "boolean"
      +                  },
      +                  "verdict": {
      +                    "enum": [
      +                      "MET",
      +                      "UNMET",
      +                      "UNKNOWN",
      +                      "UNIT_MISMATCH",
      +                      "UNIT_UNKNOWN"
      +                    ]
      +                  }
      +                },
      +                "required": [
      +                  "condition",
      +                  "label",
      +                  "required",
      +                  "verdict",
      +                  "reason",
      +                  "facts"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "facts_omitted": {
      +              "description": "search only: present and true when the source sentences under the conditions were left out so that the response fits one response; the verdicts, reasons and costs are unchanged. Ask check_conditions with the offer_id or get_details for the sentences.",
      +              "type": "boolean"
      +            },
      +            "link": {
      +              "properties": {
      +                "affiliate": {
      +                  "properties": {
      +                    "disclosure": {
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    },
      +                    "program": {
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    },
      +                    "status": {
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "status"
      +                  ],
      +                  "type": "object"
      +                },
      +                "landing": {
      +                  "type": "string"
      +                },
      +                "link_level": {
      +                  "type": "string"
      +                },
      +                "provider_url": {
      +                  "description": "The provider page itself. Only in a page made for a browser, where url is this service's address that forwards to it; MCP and REST results do not carry it.",
      +                  "type": "string"
      +                },
      +                "url": {
      +                  "description": "The only address to visit the plan: this service's /go/<offer_id>?r=<token> address, which forwards to the provider page. The token is made for this response and holds nothing about you.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "url",
      +                "landing",
      +                "link_level",
      +                "affiliate"
      +              ],
      +              "type": "object"
      +            },
      +            "listed": {
      +              "type": "boolean"
      +            },
      +            "match": {
      +              "enum": [
      +                "FULL_MATCH",
      +                "PARTIAL_MATCH",
      +                "NO_MATCH"
      +              ]
      +            },
      +            "meets_all": {
      +              "description": "Judged against the required conditions of this call only: true when every one is met, false when one is not met, \"unknown\" when none fails and one is not stated on the official pages.",
      +              "enum": [
      +                true,
      +                false,
      +                "unknown"
      +              ]
      +            },
      +            "monthly_cost": {
      +              "properties": {
      +                "explanation": {
      +                  "type": "string"
      +                },
      +                "facts": {
      +                  "description": "Price facts the cost was computed from.",
      +                  "items": {
      +                    "properties": {
      +                      "also_stated_in": {
      +                        "description": "get_details only: other official machine-readable documents of the provider (llms.txt, llms-full.txt, OpenAPI files, MCP tool listings) that contain the same quoted sentences.",
      +                        "items": {
      +                          "type": "string"
      +                        },
      +                        "type": "array"
      +                      },
      +                      "applies_to": {
      +                        "description": "get_details only: billing options (billing) or search engines (search_engines) the fact is limited to.",
      +                        "type": [
      +                          "object",
      +                          "null"
      +                        ]
      +                      },
      +                      "at_limit": {
      +                        "description": "Present for a plan with no automatic extra usage: what the official page says happens at the limit (kind no_extra_usage or restart_by_hand), with its sentence. With a workload that needs restarts, restarts gives their count, the price of each and the total, the numbers of monthly_cost.explanation.",
      +                        "properties": {
      +                          "evidence": {
      +                            "properties": {
      +                              "quote": {
      +                                "type": "string"
      +                              },
      +                              "source": {
      +                                "type": "string"
      +                              }
      +                            },
      +                            "type": "object"
      +                          },
      +                          "kind": {
      +                            "enum": [
      +                              "no_extra_usage",
      +                              "restart_by_hand"
      +                            ]
      +                          },
      +                          "restarts": {
      +                            "properties": {
      +                              "count": {
      +                                "properties": {
      +                                  "high": {
      +                                    "type": "integer"
      +                                  },
      +                                  "low": {
      +                                    "type": "integer"
      +                                  }
      +                                },
      +                                "type": "object"
      +                              },
      +                              "total_usd": {
      +                                "properties": {
      +                                  "high": {
      +                                    "type": "number"
      +                                  },
      +                                  "low": {
      +                                    "type": "number"
      +                                  }
      +                                },
      +                                "type": "object"
      +                              },
      +                              "usd_each": {
      +                                "type": "number"
      +                              }
      +                            },
      +                            "type": "object"
      +                          },
      +                          "text": {
      +                            "type": "string"
      +                          }
      +                        },
      +                        "required": [
      +                          "kind",
      +                          "text",
      +                          "evidence"
      +                        ],
      +                        "type": "object"
      +                      },
      +                      "checked_at": {
      +                        "type": [
      +                          "string",
      +                          "null"
      +                        ]
      +                      },
      +                      "concurrency_unit": {
      +                        "description": "get_details, concurrency only: the unit the page states the value in (unit, text such as \"100 threads\"). Against concurrent requests: equals_requests (value, text and the official line of the unit rule) when the unit rule counts this unit as requests, else note \"not the same unit as concurrent requests\"; \"unit not stated\" when the page names none.",
      +                        "type": "object"
      +                      },
      +                      "derived": {
      +                        "description": "How the value follows from the quoted sentence when it is not literal.",
      +                        "type": "string"
      +                      },
      +                      "evidence": {
      +                        "items": {
      +                          "properties": {
      +                            "quote": {
      +                              "description": "The sentence as it appears on that page.",
      +                              "type": "string"
      +                            },
      +                            "retrieved_at": {
      +                              "description": "Date the page was read (YYYY-MM-DD). Only with detail=full.",
      +                              "type": "string"
      +                            },
      +                            "source": {
      +                              "description": "Official page the sentence was found on.",
      +                              "type": "string"
      +                            },
      +                            "source_type": {
      +                              "description": "Only with detail=full.",
      +                              "enum": [
      +                                "official_pricing",
      +                                "official_docs",
      +                                "third_party"
      +                              ]
      +                            }
      +                          },
      +                          "required": [
      +                            "source",
      +                            "quote"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        "type": "array"
      +                      },
      +                      "exceptions": {
      +                        "description": "get_details only: plans with a different value.",
      +                        "type": "array"
      +                      },
      +                      "key": {
      +                        "type": "string"
      +                      },
      +                      "label": {
      +                        "type": "string"
      +                      },
      +                      "level": {
      +                        "description": "Where the fact is recorded: offer (the plan), product or provider.",
      +                        "type": [
      +                          "string",
      +                          "null"
      +                        ]
      +                      },
      +                      "note": {
      +                        "type": "string"
      +                      },
      +                      "stale": {
      +                        "type": "boolean"
      +                      },
      +                      "status": {
      +                        "description": "TRUE: stated with the value; FALSE / NOT_SUPPORTED: stated as unavailable; UNKNOWN: not stated; CONFLICT: official pages disagree (value lists each version); STALE: past its recheck date; MISSING: not recorded.",
      +                        "enum": [
      +                          "TRUE",
      +                          "FALSE",
      +                          "NOT_SUPPORTED",
      +                          "UNKNOWN",
      +                          "CONFLICT",
      +                          "STALE",
      +                          "MISSING"
      +                        ]
      +                      },
      +                      "value": {},
      +                      "via_exception": {
      +                        "description": "Present and true when a plan-specific exception replaced the general value.",
      +                        "type": "boolean"
      +                      }
      +                    },
      +                    "required": [
      +                      "key",
      +                      "status",
      +                      "value",
      +                      "level",
      +                      "evidence",
      +                      "checked_at"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                "high": {
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "low": {
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "lower_bound": {
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "status": {
      +                  "enum": [
      +                    "exact",
      +                    "range",
      +                    "lower_bound",
      +                    "unknown"
      +                  ]
      +                },
      +                "upfront_usd": {
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "usd": {
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                }
      +              },
      +              "required": [
      +                "status",
      +                "usd",
      +                "explanation"
      +              ],
      +              "type": "object"
      +            },
      +            "offer_id": {
      +              "type": "string"
      +            },
      +            "offer_name": {
      +              "type": "string"
      +            },
      +            "page_url": {
      +              "type": "string"
      +            },
      +            "plan_page": {
      +              "description": "The link to give the user with this plan, as a markdown link named \"<provider> <plan> — plan page\" (its pricing and sign-up page). The evidence sources under the conditions are for citing a condition.",
      +              "type": "string"
      +            },
      +            "preferred_met": {
      +              "type": "integer"
      +            },
      +            "prices_exclude_tax": {
      +              "type": [
      +                "boolean",
      +                "null"
      +              ]
      +            },
      +            "product_id": {
      +              "type": "string"
      +            },
      +            "product_name": {
      +              "type": "string"
      +            },
      +            "provider_id": {
      +              "type": "string"
      +            },
      +            "provider_name": {
      +              "type": "string"
      +            },
      +            "unknown_conditions": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "unmet_conditions": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "verdict": {
      +              "description": "One sentence: the conditions met, or the ones not met or not stated, with the reason.",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "offer_id",
      +            "offer_name",
      +            "product_id",
      +            "provider_name",
      +            "match",
      +            "meets_all",
      +            "verdict",
      +            "billing",
      +            "monthly_cost",
      +            "conditions",
      +            "unmet_conditions",
      +            "unknown_conditions",
      +            "link",
      +            "checked_at",
      +            "cheapest_in_product"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "show_text": {
      +        "description": "Ready to show: one line per listed plan, in list order, \"Meets all N: [Provider Plan](visit link)\" for a plan that meets every required condition of the call, \"Closest: [Provider Plan](visit link)\" for any other. The plan is a markdown link to its visit link, which carries the token of this response. Absent when no plan is listed.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "answer",
      +      "as_of",
      +      "needs_input",
      +      "results",
      +      "assumptions",
      +      "notes"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "answer": {
      +        "type": "string"
      +      },
      +      "as_of": {
      +        "type": "string"
      +      },
      +      "format": {
      +        "enum": [
      +          "brief"
      +        ]
      +      },
      +      "needs_input": {
      +        "items": {
      +          "properties": {
      +            "field": {
      +              "type": "string"
      +            },
      +            "reason": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "field",
      +            "reason"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "resolution": {
      +        "type": "array"
      +      },
      +      "results": {
      +        "items": {
      +          "properties": {
      +            "conditions": {
      +              "items": {
      +                "properties": {
      +                  "condition": {
      +                    "type": "string"
      +                  },
      +                  "quote": {
      +                    "description": "One official source sentence, 200 characters at most.",
      +                    "type": "string"
      +                  },
      +                  "reason": {
      +                    "description": "One line, 120 characters at most.",
      +                    "type": "string"
      +                  },
      +                  "required": {
      +                    "description": "Present only on a preferred (nice-to-have) condition.",
      +                    "enum": [
      +                      false
      +                    ]
      +                  },
      +                  "source": {
      +                    "description": "Official page the sentence was found on.",
      +                    "type": [
      +                      "string",
      +                      "null"
      +                    ]
      +                  },
      +                  "verdict": {
      +                    "enum": [
      +                      "MET",
      +                      "UNMET",
      +                      "UNKNOWN",
      +                      "UNIT_MISMATCH",
      +                      "UNIT_UNKNOWN"
      +                    ]
      +                  }
      +                },
      +                "required": [
      +                  "condition",
      +                  "verdict",
      +                  "reason"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "match": {
      +              "enum": [
      +                "FULL_MATCH",
      +                "PARTIAL_MATCH",
      +                "NO_MATCH"
      +              ]
      +            },
      +            "meets_all": {
      +              "description": "Judged against the required conditions of this call only: true when every one is met, false when one is not met, \"unknown\" when none fails and one is not stated on the official pages.",
      +              "enum": [
      +                true,
      +                false,
      +                "unknown"
      +              ]
      +            },
      +            "monthly_cost": {
      +              "description": "status, usd, and low, high or lower_bound when they differ; as in the full result.",
      +              "type": "object"
      +            },
      +            "offer_id": {
      +              "type": "string"
      +            },
      +            "offer_name": {
      +              "type": "string"
      +            },
      +            "plan_page": {
      +              "description": "The link to give the user with this plan, as a markdown link named \"<provider> <plan> — plan page\" (its pricing and sign-up page). The evidence sources under the conditions are for citing a condition.",
      +              "type": "string"
      +            },
      +            "provider": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "offer_id",
      +            "offer_name",
      +            "provider",
      +            "meets_all",
      +            "monthly_cost",
      +            "conditions"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "show_text": {
      +        "description": "Ready to show: one line per listed plan, in list order, \"Meets all N: [Provider Plan](visit link)\" for a plan that meets every required condition of the call, \"Closest: [Provider Plan](visit link)\" for any other. The plan is a markdown link to its visit link, which carries the token of this response. Absent when no plan is listed.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "format",
      +      "answer",
      +      "as_of",
      +      "needs_input",
      +      "results"
      +    ],
      +    "type": "object"
      +  }
      +]
  5. Changed1 schema field changed
    • changedOutput schema / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "answer": {
      -        "description": "One sentence that opens the answer: the cheapest checked plan (or plan of the same product) that meets every required condition with its link, or, when none does, the closest checked plan with what it does not meet or what is unknown, and its link.",
      -        "type": "string"
      -      },
      -      "as_of": {
      -        "type": "string"
      -      },
      -      "assumptions": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "link_notes": {
      -        "additionalProperties": {
      -          "type": "string"
      -        },
      -        "description": "The note of each link level (link.link_level) of the plans in this result, stated once.",
      -        "type": "object"
      -      },
      -      "needs_input": {
      -        "items": {
      -          "properties": {
      -            "field": {
      -              "type": "string"
      -            },
      -            "reason": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "field",
      -            "reason"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "notes": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "request": {
      -        "type": "object"
      -      },
      -      "resolution": {
      -        "description": "How each entry of plans was read.",
      -        "items": {
      -          "properties": {
      -            "candidates": {
      -              "items": {
      -                "properties": {
      -                  "listed": {
      -                    "type": "boolean"
      -                  },
      -                  "offer_id": {
      -                    "type": "string"
      -                  },
      -                  "offer_name": {
      -                    "type": "string"
      -                  },
      -                  "product_name": {
      -                    "type": "string"
      -                  },
      -                  "provider_name": {
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "offer_id",
      -                  "offer_name",
      -                  "provider_name"
      -                ],
      -                "type": "object"
      -              },
      -              "type": "array"
      -            },
      -            "candidates_total": {
      -              "type": "integer"
      -            },
      -            "input": {
      -              "type": "string"
      -            },
      -            "matched_by": {
      -              "enum": [
      -                "id",
      -                "name",
      -                "url",
      -                null
      -              ]
      -            },
      -            "note": {
      -              "type": [
      -                "string",
      -                "null"
      -              ]
      -            },
      -            "offer_id": {
      -              "type": [
      -                "string",
      -                "null"
      -              ]
      -            },
      -            "status": {
      -              "description": "resolved: one plan, checked in results; ambiguous: several plans fit, listed in candidates and not checked; not_found: no plan in the catalog fits.",
      -              "enum": [
      -                "resolved",
      -                "ambiguous",
      -                "not_found"
      -              ]
      -            }
      -          },
      -          "required": [
      -            "input",
      -            "status",
      -            "offer_id",
      -            "candidates"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "results": {
      -        "items": {
      -          "properties": {
      -            "assumptions": {
      -              "items": {
      -                "type": "string"
      -              },
      -              "type": "array"
      -            },
      -            "at_limit": {
      -              "description": "Present for a plan with no automatic extra usage: what the official page says happens at the limit (kind no_extra_usage or restart_by_hand), with its sentence. With a workload that needs restarts, restarts gives their count, the price of each and the total, the numbers of monthly_cost.explanation.",
      -              "properties": {
      -                "evidence": {
      -                  "properties": {
      -                    "quote": {
      -                      "type": "string"
      -                    },
      -                    "source": {
      -                      "type": "string"
      -                    }
      -                  },
      -                  "type": "object"
      -                },
      -                "kind": {
      -                  "enum": [
      -                    "no_extra_usage",
      -                    "restart_by_hand"
      -                  ]
      -                },
      -                "restarts": {
      -                  "properties": {
      -                    "count": {
      -                      "properties": {
      -                        "high": {
      -                          "type": "integer"
      -                        },
      -                        "low": {
      -                          "type": "integer"
      -                        }
      -                      },
      -                      "type": "object"
      -                    },
      -                    "total_usd": {
      -                      "properties": {
      -                        "high": {
      -                          "type": "number"
      -                        },
      -                        "low": {
      -                          "type": "number"
      -                        }
      -                      },
      -                      "type": "object"
      -                    },
      -                    "usd_each": {
      -                      "type": "number"
      -                    }
      -                  },
      -                  "type": "object"
      -                },
      -                "text": {
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "kind",
      -                "text",
      -                "evidence"
      -              ],
      -              "type": "object"
      -            },
      -            "billing": {
      -              "type": "string"
      -            },
      -            "billing_options": {
      -              "items": {
      -                "type": "string"
      -              },
      -              "type": "array"
      -            },
      -            "cheapest_in_product": {
      -              "description": "The cheapest listed plan of the same product that meets every required condition of this call; is_this_plan is true when that is the checked plan. null when no plan of the product meets them all.",
      -              "properties": {
      -                "billing": {
      -                  "type": "string"
      -                },
      -                "is_this_plan": {
      -                  "type": "boolean"
      -                },
      -                "monthly_cost": {
      -                  "type": "object"
      -                },
      -                "offer_id": {
      -                  "type": "string"
      -                },
      -                "offer_name": {
      -                  "type": "string"
      -                },
      -                "page_url": {
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "offer_id",
      -                "offer_name",
      -                "billing",
      -                "monthly_cost",
      -                "is_this_plan"
      -              ],
      -              "type": [
      -                "object",
      -                "null"
      -              ]
      -            },
      -            "checked_at": {
      -              "type": [
      -                "string",
      -                "null"
      -              ]
      -            },
      -            "conditions": {
      -              "items": {
      -                "properties": {
      -                  "condition": {
      -                    "type": "string"
      -                  },
      -                  "facts": {
      -                    "description": "Facts the verdict was judged from. The monthly budget is judged from monthly_cost; its price facts are listed there only.",
      -                    "items": {
      -                      "properties": {
      -                        "also_stated_in": {
      -                          "description": "get_details only: other official machine-readable documents of the provider (llms.txt, llms-full.txt, OpenAPI files, MCP tool listings) that contain the same quoted sentences.",
      -                          "items": {
      -                            "type": "string"
      -                          },
      -                          "type": "array"
      -                        },
      -                        "applies_to": {
      -                          "description": "get_details only: billing options (billing) or search engines (search_engines) the fact is limited to.",
      -                          "type": [
      -                            "object",
      -                            "null"
      -                          ]
      -                        },
      -                        "at_limit": {
      -                          "description": "Present for a plan with no automatic extra usage: what the official page says happens at the limit (kind no_extra_usage or restart_by_hand), with its sentence. With a workload that needs restarts, restarts gives their count, the price of each and the total, the numbers of monthly_cost.explanation.",
      -                          "properties": {
      -                            "evidence": {
      -                              "properties": {
      -                                "quote": {
      -                                  "type": "string"
      -                                },
      -                                "source": {
      -                                  "type": "string"
      -                                }
      -                              },
      -                              "type": "object"
      -                            },
      -                            "kind": {
      -                              "enum": [
      -                                "no_extra_usage",
      -                                "restart_by_hand"
      -                              ]
      -                            },
      -                            "restarts": {
      -                              "properties": {
      -                                "count": {
      -                                  "properties": {
      -                                    "high": {
      -                                      "type": "integer"
      -                                    },
      -                                    "low": {
      -                                      "type": "integer"
      -                                    }
      -                                  },
      -                                  "type": "object"
      -                                },
      -                                "total_usd": {
      -                                  "properties": {
      -                                    "high": {
      -                                      "type": "number"
      -                                    },
      -                                    "low": {
      -                                      "type": "number"
      -                                    }
      -                                  },
      -                                  "type": "object"
      -                                },
      -                                "usd_each": {
      -                                  "type": "number"
      -                                }
      -                              },
      -                              "type": "object"
      -                            },
      -                            "text": {
      -                              "type": "string"
      -                            }
      -                          },
      -                          "required": [
      -                            "kind",
      -                            "text",
      -                            "evidence"
      -                          ],
      -                          "type": "object"
      -                        },
      -                        "checked_at": {
      -                          "type": [
      -                            "string",
      -                            "null"
      -                          ]
      -                        },
      -                        "concurrency_unit": {
      -                          "description": "get_details, concurrency only: the unit the page states the value in (unit, text such as \"100 threads\"). Against concurrent requests: equals_requests (value, text and the official line of the unit rule) when the unit rule counts this unit as requests, else note \"not the same unit as concurrent requests\"; \"unit not stated\" when the page names none.",
      -                          "type": "object"
      -                        },
      -                        "derived": {
      -                          "description": "How the value follows from the quoted sentence when it is not literal.",
      -                          "type": "string"
      -                        },
      -                        "evidence": {
      -                          "items": {
      -                            "properties": {
      -                              "quote": {
      -                                "description": "The sentence as it appears on that page.",
      -                                "type": "string"
      -                              },
      -                              "retrieved_at": {
      -                                "description": "Date the page was read (YYYY-MM-DD). Only with detail=full.",
      -                                "type": "string"
      -                              },
      -                              "source": {
      -                                "description": "Official page the sentence was found on.",
      -                                "type": "string"
      -                              },
      -                              "source_type": {
      -                                "description": "Only with detail=full.",
      -                                "enum": [
      -                                  "official_pricing",
      -                                  "official_docs",
      -                                  "third_party"
      -                                ]
      -                              }
      -                            },
      -                            "required": [
      -                              "source",
      -                              "quote"
      -                            ],
      -                            "type": "object"
      -                          },
      -                          "type": "array"
      -                        },
      -                        "exceptions": {
      -                          "description": "get_details only: plans with a different value.",
      -                          "type": "array"
      -                        },
      -                        "key": {
      -                          "type": "string"
      -                        },
      -                        "label": {
      -                          "type": "string"
      -                        },
      -                        "level": {
      -                          "description": "Where the fact is recorded: offer (the plan), product or provider.",
      -                          "type": [
      -                            "string",
      -                            "null"
      -                          ]
      -                        },
      -                        "note": {
      -                          "type": "string"
      -                        },
      -                        "stale": {
      -                          "type": "boolean"
      -                        },
      -                        "status": {
      -                          "description": "TRUE: stated with the value; FALSE / NOT_SUPPORTED: stated as unavailable; UNKNOWN: not stated; CONFLICT: official pages disagree (value lists each version); STALE: past its recheck date; MISSING: not recorded.",
      -                          "enum": [
      -                            "TRUE",
      -                            "FALSE",
      -                            "NOT_SUPPORTED",
      -                            "UNKNOWN",
      -                            "CONFLICT",
      -                            "STALE",
      -                            "MISSING"
      -                          ]
      -                        },
      -                        "value": {},
      -                        "via_exception": {
      -                          "description": "Present and true when a plan-specific exception replaced the general value.",
      -                          "type": "boolean"
      -                        }
      -                      },
      -                      "required": [
      -                        "key",
      -                        "status",
      -                        "value",
      -                        "level",
      -                        "evidence",
      -                        "checked_at"
      -                      ],
      -                      "type": "object"
      -                    },
      -                    "type": "array"
      -                  },
      -                  "label": {
      -                    "type": "string"
      -                  },
      -                  "reason": {
      -                    "type": "string"
      -                  },
      -                  "required": {
      -                    "type": "boolean"
      -                  },
      -                  "verdict": {
      -                    "enum": [
      -                      "MET",
      -                      "UNMET",
      -                      "UNKNOWN",
      -                      "UNIT_MISMATCH",
      -                      "UNIT_UNKNOWN"
      -                    ]
      -                  }
      -                },
      -                "required": [
      -                  "condition",
      -                  "label",
      -                  "required",
      -                  "verdict",
      -                  "reason",
      -                  "facts"
      -                ],
      -                "type": "object"
      -              },
      -              "type": "array"
      -            },
      -            "facts_omitted": {
      -              "description": "search only: present and true when the source sentences under the conditions were left out so that the response fits one response; the verdicts, reasons and costs are unchanged. Ask check_conditions with the offer_id or get_details for the sentences.",
      -              "type": "boolean"
      -            },
      -            "link": {
      -              "properties": {
      -                "affiliate": {
      -                  "properties": {
      -                    "disclosure": {
      -                      "type": [
      -                        "string",
      -                        "null"
      -                      ]
      -                    },
      -                    "program": {
      -                      "type": [
      -                        "string",
      -                        "null"
      -                      ]
      -                    },
      -                    "status": {
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "status"
      -                  ],
      -                  "type": "object"
      -                },
      -                "landing": {
      -                  "type": "string"
      -                },
      -                "link_level": {
      -                  "type": "string"
      -                },
      -                "provider_url": {
      -                  "description": "The provider page itself. Only in a page made for a browser, where url is this service's address that forwards to it; MCP and REST results do not carry it.",
      -                  "type": "string"
      -                },
      -                "url": {
      -                  "description": "The only address to visit the plan: this service's /go/<offer_id>?r=<token> address, which forwards to the provider page. The token is made for this response and holds nothing about you.",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "url",
      -                "landing",
      -                "link_level",
      -                "affiliate"
      -              ],
      -              "type": "object"
      -            },
      -            "listed": {
      -              "type": "boolean"
      -            },
      -            "match": {
      -              "enum": [
      -                "FULL_MATCH",
      -                "PARTIAL_MATCH",
      -                "NO_MATCH"
      -              ]
      -            },
      -            "meets_all": {
      -              "description": "Judged against the required conditions of this call only: true when every one is met, false when one is not met, \"unknown\" when none fails and one is not stated on the official pages.",
      -              "enum": [
      -                true,
      -                false,
      -                "unknown"
      -              ]
      -            },
      -            "monthly_cost": {
      -              "properties": {
      -                "explanation": {
      -                  "type": "string"
      -                },
      -                "facts": {
      -                  "description": "Price facts the cost was computed from.",
      -                  "items": {
      -                    "properties": {
      -                      "also_stated_in": {
      -                        "description": "get_details only: other official machine-readable documents of the provider (llms.txt, llms-full.txt, OpenAPI files, MCP tool listings) that contain the same quoted sentences.",
      -                        "items": {
      -                          "type": "string"
      -                        },
      -                        "type": "array"
      -                      },
      -                      "applies_to": {
      -                        "description": "get_details only: billing options (billing) or search engines (search_engines) the fact is limited to.",
      -                        "type": [
      -                          "object",
      -                          "null"
      -                        ]
      -                      },
      -                      "at_limit": {
      -                        "description": "Present for a plan with no automatic extra usage: what the official page says happens at the limit (kind no_extra_usage or restart_by_hand), with its sentence. With a workload that needs restarts, restarts gives their count, the price of each and the total, the numbers of monthly_cost.explanation.",
      -                        "properties": {
      -                          "evidence": {
      -                            "properties": {
      -                              "quote": {
      -                                "type": "string"
      -                              },
      -                              "source": {
      -                                "type": "string"
      -                              }
      -                            },
      -                            "type": "object"
      -                          },
      -                          "kind": {
      -                            "enum": [
      -                              "no_extra_usage",
      -                              "restart_by_hand"
      -                            ]
      -                          },
      -                          "restarts": {
      -                            "properties": {
      -                              "count": {
      -                                "properties": {
      -                                  "high": {
      -                                    "type": "integer"
      -                                  },
      -                                  "low": {
      -                                    "type": "integer"
      -                                  }
      -                                },
      -                                "type": "object"
      -                              },
      -                              "total_usd": {
      -                                "properties": {
      -                                  "high": {
      -                                    "type": "number"
      -                                  },
      -                                  "low": {
      -                                    "type": "number"
      -                                  }
      -                                },
      -                                "type": "object"
      -                              },
      -                              "usd_each": {
      -                                "type": "number"
      -                              }
      -                            },
      -                            "type": "object"
      -                          },
      -                          "text": {
      -                            "type": "string"
      -                          }
      -                        },
      -                        "required": [
      -                          "kind",
      -                          "text",
      -                          "evidence"
      -                        ],
      -                        "type": "object"
      -                      },
      -                      "checked_at": {
      -                        "type": [
      -                          "string",
      -                          "null"
      -                        ]
      -                      },
      -                      "concurrency_unit": {
      -                        "description": "get_details, concurrency only: the unit the page states the value in (unit, text such as \"100 threads\"). Against concurrent requests: equals_requests (value, text and the official line of the unit rule) when the unit rule counts this unit as requests, else note \"not the same unit as concurrent requests\"; \"unit not stated\" when the page names none.",
      -                        "type": "object"
      -                      },
      -                      "derived": {
      -                        "description": "How the value follows from the quoted sentence when it is not literal.",
      -                        "type": "string"
      -                      },
      -                      "evidence": {
      -                        "items": {
      -                          "properties": {
      -                            "quote": {
      -                              "description": "The sentence as it appears on that page.",
      -                              "type": "string"
      -                            },
      -                            "retrieved_at": {
      -                              "description": "Date the page was read (YYYY-MM-DD). Only with detail=full.",
      -                              "type": "string"
      -                            },
      -                            "source": {
      -                              "description": "Official page the sentence was found on.",
      -                              "type": "string"
      -                            },
      -                            "source_type": {
      -                              "description": "Only with detail=full.",
      -                              "enum": [
      -                                "official_pricing",
      -                                "official_docs",
      -                                "third_party"
      -                              ]
      -                            }
      -                          },
      -                          "required": [
      -                            "source",
      -                            "quote"
      -                          ],
      -                          "type": "object"
      -                        },
      -                        "type": "array"
      -                      },
      -                      "exceptions": {
      -                        "description": "get_details only: plans with a different value.",
      -                        "type": "array"
      -                      },
      -                      "key": {
      -                        "type": "string"
      -                      },
      -                      "label": {
      -                        "type": "string"
      -                      },
      -                      "level": {
      -                        "description": "Where the fact is recorded: offer (the plan), product or provider.",
      -                        "type": [
      -                          "string",
      -                          "null"
      -                        ]
      -                      },
      -                      "note": {
      -                        "type": "string"
      -                      },
      -                      "stale": {
      -                        "type": "boolean"
      -                      },
      -                      "status": {
      -                        "description": "TRUE: stated with the value; FALSE / NOT_SUPPORTED: stated as unavailable; UNKNOWN: not stated; CONFLICT: official pages disagree (value lists each version); STALE: past its recheck date; MISSING: not recorded.",
      -                        "enum": [
      -                          "TRUE",
      -                          "FALSE",
      -                          "NOT_SUPPORTED",
      -                          "UNKNOWN",
      -                          "CONFLICT",
      -                          "STALE",
      -                          "MISSING"
      -                        ]
      -                      },
      -                      "value": {},
      -                      "via_exception": {
      -                        "description": "Present and true when a plan-specific exception replaced the general value.",
      -                        "type": "boolean"
      -                      }
      -                    },
      -                    "required": [
      -                      "key",
      -                      "status",
      -                      "value",
      -                      "level",
      -                      "evidence",
      -                      "checked_at"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  "type": "array"
      -                },
      -                "high": {
      -                  "type": [
      -                    "number",
      -                    "null"
      -                  ]
      -                },
      -                "low": {
      -                  "type": [
      -                    "number",
      -                    "null"
      -                  ]
      -                },
      -                "lower_bound": {
      -                  "type": [
      -                    "number",
      -                    "null"
      -                  ]
      -                },
      -                "status": {
      -                  "enum": [
      -                    "exact",
      -                    "range",
      -                    "lower_bound",
      -                    "unknown"
      -                  ]
      -                },
      -                "upfront_usd": {
      -                  "type": [
      -                    "number",
      -                    "null"
      -                  ]
      -                },
      -                "usd": {
      -                  "type": [
      -                    "number",
      -                    "null"
      -                  ]
      -                }
      -              },
      -              "required": [
      -                "status",
      -                "usd",
      -                "explanation"
      -              ],
      -              "type": "object"
      -            },
      -            "offer_id": {
      -              "type": "string"
      -            },
      -            "offer_name": {
      -              "type": "string"
      -            },
      -            "page_url": {
      -              "type": "string"
      -            },
      -            "preferred_met": {
      -              "type": "integer"
      -            },
      -            "prices_exclude_tax": {
      -              "type": [
      -                "boolean",
      -                "null"
      -              ]
      -            },
      -            "product_id": {
      -              "type": "string"
      -            },
      -            "product_name": {
      -              "type": "string"
      -            },
      -            "provider_id": {
      -              "type": "string"
      -            },
      -            "provider_name": {
      -              "type": "string"
      -            },
      -            "unknown_conditions": {
      -              "items": {
      -                "type": "string"
      -              },
      -              "type": "array"
      -            },
      -            "unmet_conditions": {
      -              "items": {
      -                "type": "string"
      -              },
      -              "type": "array"
      -            },
      -            "verdict": {
      -              "description": "One sentence: the conditions met, or the ones not met or not stated, with the reason.",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "offer_id",
      -            "offer_name",
      -            "product_id",
      -            "provider_name",
      -            "match",
      -            "meets_all",
      -            "verdict",
      -            "billing",
      -            "monthly_cost",
      -            "conditions",
      -            "unmet_conditions",
      -            "unknown_conditions",
      -            "link",
      -            "checked_at",
      -            "cheapest_in_product"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "show_text": {
      -        "description": "Ready to show: one line per listed plan, in list order, \"Meets all N: Provider Plan — link\" for a plan that meets every required condition of the call, \"Closest: Provider Plan — link\" for any other. The link is the visit link of the plan, with the token of this response. Absent when no plan is listed.",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "answer",
      -      "as_of",
      -      "needs_input",
      -      "results",
      -      "assumptions",
      -      "notes"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "properties": {
      -      "answer": {
      -        "type": "string"
      -      },
      -      "as_of": {
      -        "type": "string"
      -      },
      -      "format": {
      -        "enum": [
      -          "brief"
      -        ]
      -      },
      -      "needs_input": {
      -        "items": {
      -          "properties": {
      -            "field": {
      -              "type": "string"
      -            },
      -            "reason": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "field",
      -            "reason"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "resolution": {
      -        "type": "array"
      -      },
      -      "results": {
      -        "items": {
      -          "properties": {
      -            "conditions": {
      -              "items": {
      -                "properties": {
      -                  "condition": {
      -                    "type": "string"
      -                  },
      -                  "quote": {
      -                    "description": "One official source sentence, 200 characters at most.",
      -                    "type": "string"
      -                  },
      -                  "reason": {
      -                    "description": "One line, 120 characters at most.",
      -                    "type": "string"
      -                  },
      -                  "required": {
      -                    "description": "Present only on a preferred (nice-to-have) condition.",
      -                    "enum": [
      -                      false
      -                    ]
      -                  },
      -                  "source": {
      -                    "description": "Official page the sentence was found on.",
      -                    "type": [
      -                      "string",
      -                      "null"
      -                    ]
      -                  },
      -                  "verdict": {
      -                    "enum": [
      -                      "MET",
      -                      "UNMET",
      -                      "UNKNOWN",
      -                      "UNIT_MISMATCH",
      -                      "UNIT_UNKNOWN"
      -                    ]
      -                  }
      -                },
      -                "required": [
      -                  "condition",
      -                  "verdict",
      -                  "reason"
      -                ],
      -                "type": "object"
      -              },
      -              "type": "array"
      -            },
      -            "match": {
      -              "enum": [
      -                "FULL_MATCH",
      -                "PARTIAL_MATCH",
      -                "NO_MATCH"
      -              ]
      -            },
      -            "meets_all": {
      -              "description": "Judged against the required conditions of this call only: true when every one is met, false when one is not met, \"unknown\" when none fails and one is not stated on the official pages.",
      -              "enum": [
      -                true,
      -                false,
      -                "unknown"
      -              ]
      -            },
      -            "monthly_cost": {
      -              "description": "status, usd, and low, high or lower_bound when they differ; as in the full result.",
      -              "type": "object"
      -            },
      -            "offer_id": {
      -              "type": "string"
      -            },
      -            "offer_name": {
      -              "type": "string"
      -            },
      -            "provider": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "offer_id",
      -            "offer_name",
      -            "provider",
      -            "meets_all",
      -            "monthly_cost",
      -            "conditions"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "show_text": {
      -        "description": "Ready to show: one line per listed plan, in list order, \"Meets all N: Provider Plan — link\" for a plan that meets every required condition of the call, \"Closest: Provider Plan — link\" for any other. The link is the visit link of the plan, with the token of this response. Absent when no plan is listed.",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "format",
      -      "answer",
      -      "as_of",
      -      "needs_input",
      -      "results"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "answer": {
      +        "description": "One sentence that opens the answer: the cheapest checked plan (or plan of the same product) that meets every required condition with its link, or, when none does, the closest checked plan with what it does not meet or what is unknown, and its link. The plan is written as a markdown link, [Provider Plan](visit link), at the end of the sentence.",
      +        "type": "string"
      +      },
      +      "as_of": {
      +        "type": "string"
      +      },
      +      "assumptions": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "link_notes": {
      +        "additionalProperties": {
      +          "type": "string"
      +        },
      +        "description": "The note of each link level (link.link_level) of the plans in this result, stated once.",
      +        "type": "object"
      +      },
      +      "needs_input": {
      +        "items": {
      +          "properties": {
      +            "field": {
      +              "type": "string"
      +            },
      +            "reason": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "field",
      +            "reason"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "notes": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "request": {
      +        "type": "object"
      +      },
      +      "resolution": {
      +        "description": "How each entry of plans was read.",
      +        "items": {
      +          "properties": {
      +            "candidates": {
      +              "items": {
      +                "properties": {
      +                  "listed": {
      +                    "type": "boolean"
      +                  },
      +                  "offer_id": {
      +                    "type": "string"
      +                  },
      +                  "offer_name": {
      +                    "type": "string"
      +                  },
      +                  "product_name": {
      +                    "type": "string"
      +                  },
      +                  "provider_name": {
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "offer_id",
      +                  "offer_name",
      +                  "provider_name"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "candidates_total": {
      +              "type": "integer"
      +            },
      +            "input": {
      +              "type": "string"
      +            },
      +            "matched_by": {
      +              "enum": [
      +                "id",
      +                "name",
      +                "url",
      +                null
      +              ]
      +            },
      +            "note": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "offer_id": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "status": {
      +              "description": "resolved: one plan, checked in results; ambiguous: several plans fit, listed in candidates and not checked; not_found: no plan in the catalog fits.",
      +              "enum": [
      +                "resolved",
      +                "ambiguous",
      +                "not_found"
      +              ]
      +            }
      +          },
      +          "required": [
      +            "input",
      +            "status",
      +            "offer_id",
      +            "candidates"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "results": {
      +        "items": {
      +          "properties": {
      +            "assumptions": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "at_limit": {
      +              "description": "Present for a plan with no automatic extra usage: what the official page says happens at the limit (kind no_extra_usage or restart_by_hand), with its sentence. With a workload that needs restarts, restarts gives their count, the price of each and the total, the numbers of monthly_cost.explanation.",
      +              "properties": {
      +                "evidence": {
      +                  "properties": {
      +                    "quote": {
      +                      "type": "string"
      +                    },
      +                    "source": {
      +                      "type": "string"
      +                    }
      +                  },
      +                  "type": "object"
      +                },
      +                "kind": {
      +                  "enum": [
      +                    "no_extra_usage",
      +                    "restart_by_hand"
      +                  ]
      +                },
      +                "restarts": {
      +                  "properties": {
      +                    "count": {
      +                      "properties": {
      +                        "high": {
      +                          "type": "integer"
      +                        },
      +                        "low": {
      +                          "type": "integer"
      +                        }
      +                      },
      +                      "type": "object"
      +                    },
      +                    "total_usd": {
      +                      "properties": {
      +                        "high": {
      +                          "type": "number"
      +                        },
      +                        "low": {
      +                          "type": "number"
      +                        }
      +                      },
      +                      "type": "object"
      +                    },
      +                    "usd_each": {
      +                      "type": "number"
      +                    }
      +                  },
      +                  "type": "object"
      +                },
      +                "text": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "kind",
      +                "text",
      +                "evidence"
      +              ],
      +              "type": "object"
      +            },
      +            "billing": {
      +              "type": "string"
      +            },
      +            "billing_options": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "cheapest_in_product": {
      +              "description": "The cheapest listed plan of the same product that meets every required condition of this call; is_this_plan is true when that is the checked plan. null when no plan of the product meets them all.",
      +              "properties": {
      +                "billing": {
      +                  "type": "string"
      +                },
      +                "is_this_plan": {
      +                  "type": "boolean"
      +                },
      +                "monthly_cost": {
      +                  "type": "object"
      +                },
      +                "offer_id": {
      +                  "type": "string"
      +                },
      +                "offer_name": {
      +                  "type": "string"
      +                },
      +                "page_url": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "offer_id",
      +                "offer_name",
      +                "billing",
      +                "monthly_cost",
      +                "is_this_plan"
      +              ],
      +              "type": [
      +                "object",
      +                "null"
      +              ]
      +            },
      +            "checked_at": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "conditions": {
      +              "items": {
      +                "properties": {
      +                  "condition": {
      +                    "type": "string"
      +                  },
      +                  "facts": {
      +                    "description": "Facts the verdict was judged from. The monthly budget is judged from monthly_cost; its price facts are listed there only.",
      +                    "items": {
      +                      "properties": {
      +                        "also_stated_in": {
      +                          "description": "get_details only: other official machine-readable documents of the provider (llms.txt, llms-full.txt, OpenAPI files, MCP tool listings) that contain the same quoted sentences.",
      +                          "items": {
      +                            "type": "string"
      +                          },
      +                          "type": "array"
      +                        },
      +                        "applies_to": {
      +                          "description": "get_details only: billing options (billing) or search engines (search_engines) the fact is limited to.",
      +                          "type": [
      +                            "object",
      +                            "null"
      +                          ]
      +                        },
      +                        "at_limit": {
      +                          "description": "Present for a plan with no automatic extra usage: what the official page says happens at the limit (kind no_extra_usage or restart_by_hand), with its sentence. With a workload that needs restarts, restarts gives their count, the price of each and the total, the numbers of monthly_cost.explanation.",
      +                          "properties": {
      +                            "evidence": {
      +                              "properties": {
      +                                "quote": {
      +                                  "type": "string"
      +                                },
      +                                "source": {
      +                                  "type": "string"
      +                                }
      +                              },
      +                              "type": "object"
      +                            },
      +                            "kind": {
      +                              "enum": [
      +                                "no_extra_usage",
      +                                "restart_by_hand"
      +                              ]
      +                            },
      +                            "restarts": {
      +                              "properties": {
      +                                "count": {
      +                                  "properties": {
      +                                    "high": {
      +                                      "type": "integer"
      +                                    },
      +                                    "low": {
      +                                      "type": "integer"
      +                                    }
      +                                  },
      +                                  "type": "object"
      +                                },
      +                                "total_usd": {
      +                                  "properties": {
      +                                    "high": {
      +                                      "type": "number"
      +                                    },
      +                                    "low": {
      +                                      "type": "number"
      +                                    }
      +                                  },
      +                                  "type": "object"
      +                                },
      +                                "usd_each": {
      +                                  "type": "number"
      +                                }
      +                              },
      +                              "type": "object"
      +                            },
      +                            "text": {
      +                              "type": "string"
      +                            }
      +                          },
      +                          "required": [
      +                            "kind",
      +                            "text",
      +                            "evidence"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        "checked_at": {
      +                          "type": [
      +                            "string",
      +                            "null"
      +                          ]
      +                        },
      +                        "concurrency_unit": {
      +                          "description": "get_details, concurrency only: the unit the page states the value in (unit, text such as \"100 threads\"). Against concurrent requests: equals_requests (value, text and the official line of the unit rule) when the unit rule counts this unit as requests, else note \"not the same unit as concurrent requests\"; \"unit not stated\" when the page names none.",
      +                          "type": "object"
      +                        },
      +                        "derived": {
      +                          "description": "How the value follows from the quoted sentence when it is not literal.",
      +                          "type": "string"
      +                        },
      +                        "evidence": {
      +                          "items": {
      +                            "properties": {
      +                              "quote": {
      +                                "description": "The sentence as it appears on that page.",
      +                                "type": "string"
      +                              },
      +                              "retrieved_at": {
      +                                "description": "Date the page was read (YYYY-MM-DD). Only with detail=full.",
      +                                "type": "string"
      +                              },
      +                              "source": {
      +                                "description": "Official page the sentence was found on.",
      +                                "type": "string"
      +                              },
      +                              "source_type": {
      +                                "description": "Only with detail=full.",
      +                                "enum": [
      +                                  "official_pricing",
      +                                  "official_docs",
      +                                  "third_party"
      +                                ]
      +                              }
      +                            },
      +                            "required": [
      +                              "source",
      +                              "quote"
      +                            ],
      +                            "type": "object"
      +                          },
      +                          "type": "array"
      +                        },
      +                        "exceptions": {
      +                          "description": "get_details only: plans with a different value.",
      +                          "type": "array"
      +                        },
      +                        "key": {
      +                          "type": "string"
      +                        },
      +                        "label": {
      +                          "type": "string"
      +                        },
      +                        "level": {
      +                          "description": "Where the fact is recorded: offer (the plan), product or provider.",
      +                          "type": [
      +                            "string",
      +                            "null"
      +                          ]
      +                        },
      +                        "note": {
      +                          "type": "string"
      +                        },
      +                        "stale": {
      +                          "type": "boolean"
      +                        },
      +                        "status": {
      +                          "description": "TRUE: stated with the value; FALSE / NOT_SUPPORTED: stated as unavailable; UNKNOWN: not stated; CONFLICT: official pages disagree (value lists each version); STALE: past its recheck date; MISSING: not recorded.",
      +                          "enum": [
      +                            "TRUE",
      +                            "FALSE",
      +                            "NOT_SUPPORTED",
      +                            "UNKNOWN",
      +                            "CONFLICT",
      +                            "STALE",
      +                            "MISSING"
      +                          ]
      +                        },
      +                        "value": {},
      +                        "via_exception": {
      +                          "description": "Present and true when a plan-specific exception replaced the general value.",
      +                          "type": "boolean"
      +                        }
      +                      },
      +                      "required": [
      +                        "key",
      +                        "status",
      +                        "value",
      +                        "level",
      +                        "evidence",
      +                        "checked_at"
      +                      ],
      +                      "type": "object"
      +                    },
      +                    "type": "array"
      +                  },
      +                  "label": {
      +                    "type": "string"
      +                  },
      +                  "reason": {
      +                    "type": "string"
      +                  },
      +                  "required": {
      +                    "type": "boolean"
      +                  },
      +                  "verdict": {
      +                    "enum": [
      +                      "MET",
      +                      "UNMET",
      +                      "UNKNOWN",
      +                      "UNIT_MISMATCH",
      +                      "UNIT_UNKNOWN"
      +                    ]
      +                  }
      +                },
      +                "required": [
      +                  "condition",
      +                  "label",
      +                  "required",
      +                  "verdict",
      +                  "reason",
      +                  "facts"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "facts_omitted": {
      +              "description": "search only: present and true when the source sentences under the conditions were left out so that the response fits one response; the verdicts, reasons and costs are unchanged. Ask check_conditions with the offer_id or get_details for the sentences.",
      +              "type": "boolean"
      +            },
      +            "link": {
      +              "properties": {
      +                "affiliate": {
      +                  "properties": {
      +                    "disclosure": {
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    },
      +                    "program": {
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    },
      +                    "status": {
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "status"
      +                  ],
      +                  "type": "object"
      +                },
      +                "landing": {
      +                  "type": "string"
      +                },
      +                "link_level": {
      +                  "type": "string"
      +                },
      +                "provider_url": {
      +                  "description": "The provider page itself. Only in a page made for a browser, where url is this service's address that forwards to it; MCP and REST results do not carry it.",
      +                  "type": "string"
      +                },
      +                "url": {
      +                  "description": "The only address to visit the plan: this service's /go/<offer_id>?r=<token> address, which forwards to the provider page. The token is made for this response and holds nothing about you.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "url",
      +                "landing",
      +                "link_level",
      +                "affiliate"
      +              ],
      +              "type": "object"
      +            },
      +            "listed": {
      +              "type": "boolean"
      +            },
      +            "match": {
      +              "enum": [
      +                "FULL_MATCH",
      +                "PARTIAL_MATCH",
      +                "NO_MATCH"
      +              ]
      +            },
      +            "meets_all": {
      +              "description": "Judged against the required conditions of this call only: true when every one is met, false when one is not met, \"unknown\" when none fails and one is not stated on the official pages.",
      +              "enum": [
      +                true,
      +                false,
      +                "unknown"
      +              ]
      +            },
      +            "monthly_cost": {
      +              "properties": {
      +                "explanation": {
      +                  "type": "string"
      +                },
      +                "facts": {
      +                  "description": "Price facts the cost was computed from.",
      +                  "items": {
      +                    "properties": {
      +                      "also_stated_in": {
      +                        "description": "get_details only: other official machine-readable documents of the provider (llms.txt, llms-full.txt, OpenAPI files, MCP tool listings) that contain the same quoted sentences.",
      +                        "items": {
      +                          "type": "string"
      +                        },
      +                        "type": "array"
      +                      },
      +                      "applies_to": {
      +                        "description": "get_details only: billing options (billing) or search engines (search_engines) the fact is limited to.",
      +                        "type": [
      +                          "object",
      +                          "null"
      +                        ]
      +                      },
      +                      "at_limit": {
      +                        "description": "Present for a plan with no automatic extra usage: what the official page says happens at the limit (kind no_extra_usage or restart_by_hand), with its sentence. With a workload that needs restarts, restarts gives their count, the price of each and the total, the numbers of monthly_cost.explanation.",
      +                        "properties": {
      +                          "evidence": {
      +                            "properties": {
      +                              "quote": {
      +                                "type": "string"
      +                              },
      +                              "source": {
      +                                "type": "string"
      +                              }
      +                            },
      +                            "type": "object"
      +                          },
      +                          "kind": {
      +                            "enum": [
      +                              "no_extra_usage",
      +                              "restart_by_hand"
      +                            ]
      +                          },
      +                          "restarts": {
      +                            "properties": {
      +                              "count": {
      +                                "properties": {
      +                                  "high": {
      +                                    "type": "integer"
      +                                  },
      +                                  "low": {
      +                                    "type": "integer"
      +                                  }
      +                                },
      +                                "type": "object"
      +                              },
      +                              "total_usd": {
      +                                "properties": {
      +                                  "high": {
      +                                    "type": "number"
      +                                  },
      +                                  "low": {
      +                                    "type": "number"
      +                                  }
      +                                },
      +                                "type": "object"
      +                              },
      +                              "usd_each": {
      +                                "type": "number"
      +                              }
      +                            },
      +                            "type": "object"
      +                          },
      +                          "text": {
      +                            "type": "string"
      +                          }
      +                        },
      +                        "required": [
      +                          "kind",
      +                          "text",
      +                          "evidence"
      +                        ],
      +                        "type": "object"
      +                      },
      +                      "checked_at": {
      +                        "type": [
      +                          "string",
      +                          "null"
      +                        ]
      +                      },
      +                      "concurrency_unit": {
      +                        "description": "get_details, concurrency only: the unit the page states the value in (unit, text such as \"100 threads\"). Against concurrent requests: equals_requests (value, text and the official line of the unit rule) when the unit rule counts this unit as requests, else note \"not the same unit as concurrent requests\"; \"unit not stated\" when the page names none.",
      +                        "type": "object"
      +                      },
      +                      "derived": {
      +                        "description": "How the value follows from the quoted sentence when it is not literal.",
      +                        "type": "string"
      +                      },
      +                      "evidence": {
      +                        "items": {
      +                          "properties": {
      +                            "quote": {
      +                              "description": "The sentence as it appears on that page.",
      +                              "type": "string"
      +                            },
      +                            "retrieved_at": {
      +                              "description": "Date the page was read (YYYY-MM-DD). Only with detail=full.",
      +                              "type": "string"
      +                            },
      +                            "source": {
      +                              "description": "Official page the sentence was found on.",
      +                              "type": "string"
      +                            },
      +                            "source_type": {
      +                              "description": "Only with detail=full.",
      +                              "enum": [
      +                                "official_pricing",
      +                                "official_docs",
      +                                "third_party"
      +                              ]
      +                            }
      +                          },
      +                          "required": [
      +                            "source",
      +                            "quote"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        "type": "array"
      +                      },
      +                      "exceptions": {
      +                        "description": "get_details only: plans with a different value.",
      +                        "type": "array"
      +                      },
      +                      "key": {
      +                        "type": "string"
      +                      },
      +                      "label": {
      +                        "type": "string"
      +                      },
      +                      "level": {
      +                        "description": "Where the fact is recorded: offer (the plan), product or provider.",
      +                        "type": [
      +                          "string",
      +                          "null"
      +                        ]
      +                      },
      +                      "note": {
      +                        "type": "string"
      +                      },
      +                      "stale": {
      +                        "type": "boolean"
      +                      },
      +                      "status": {
      +                        "description": "TRUE: stated with the value; FALSE / NOT_SUPPORTED: stated as unavailable; UNKNOWN: not stated; CONFLICT: official pages disagree (value lists each version); STALE: past its recheck date; MISSING: not recorded.",
      +                        "enum": [
      +                          "TRUE",
      +                          "FALSE",
      +                          "NOT_SUPPORTED",
      +                          "UNKNOWN",
      +                          "CONFLICT",
      +                          "STALE",
      +                          "MISSING"
      +                        ]
      +                      },
      +                      "value": {},
      +                      "via_exception": {
      +                        "description": "Present and true when a plan-specific exception replaced the general value.",
      +                        "type": "boolean"
      +                      }
      +                    },
      +                    "required": [
      +                      "key",
      +                      "status",
      +                      "value",
      +                      "level",
      +                      "evidence",
      +                      "checked_at"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                "high": {
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "low": {
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "lower_bound": {
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "status": {
      +                  "enum": [
      +                    "exact",
      +                    "range",
      +                    "lower_bound",
      +                    "unknown"
      +                  ]
      +                },
      +                "upfront_usd": {
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "usd": {
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                }
      +              },
      +              "required": [
      +                "status",
      +                "usd",
      +                "explanation"
      +              ],
      +              "type": "object"
      +            },
      +            "offer_id": {
      +              "type": "string"
      +            },
      +            "offer_name": {
      +              "type": "string"
      +            },
      +            "page_url": {
      +              "type": "string"
      +            },
      +            "preferred_met": {
      +              "type": "integer"
      +            },
      +            "prices_exclude_tax": {
      +              "type": [
      +                "boolean",
      +                "null"
      +              ]
      +            },
      +            "product_id": {
      +              "type": "string"
      +            },
      +            "product_name": {
      +              "type": "string"
      +            },
      +            "provider_id": {
      +              "type": "string"
      +            },
      +            "provider_name": {
      +              "type": "string"
      +            },
      +            "unknown_conditions": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "unmet_conditions": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "verdict": {
      +              "description": "One sentence: the conditions met, or the ones not met or not stated, with the reason.",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "offer_id",
      +            "offer_name",
      +            "product_id",
      +            "provider_name",
      +            "match",
      +            "meets_all",
      +            "verdict",
      +            "billing",
      +            "monthly_cost",
      +            "conditions",
      +            "unmet_conditions",
      +            "unknown_conditions",
      +            "link",
      +            "checked_at",
      +            "cheapest_in_product"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "show_text": {
      +        "description": "Ready to show: one line per listed plan, in list order, \"Meets all N: [Provider Plan](visit link)\" for a plan that meets every required condition of the call, \"Closest: [Provider Plan](visit link)\" for any other. The plan is a markdown link to its visit link, which carries the token of this response. Absent when no plan is listed.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "answer",
      +      "as_of",
      +      "needs_input",
      +      "results",
      +      "assumptions",
      +      "notes"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "answer": {
      +        "type": "string"
      +      },
      +      "as_of": {
      +        "type": "string"
      +      },
      +      "format": {
      +        "enum": [
      +          "brief"
      +        ]
      +      },
      +      "needs_input": {
      +        "items": {
      +          "properties": {
      +            "field": {
      +              "type": "string"
      +            },
      +            "reason": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "field",
      +            "reason"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "resolution": {
      +        "type": "array"
      +      },
      +      "results": {
      +        "items": {
      +          "properties": {
      +            "conditions": {
      +              "items": {
      +                "properties": {
      +                  "condition": {
      +                    "type": "string"
      +                  },
      +                  "quote": {
      +                    "description": "One official source sentence, 200 characters at most.",
      +                    "type": "string"
      +                  },
      +                  "reason": {
      +                    "description": "One line, 120 characters at most.",
      +                    "type": "string"
      +                  },
      +                  "required": {
      +                    "description": "Present only on a preferred (nice-to-have) condition.",
      +                    "enum": [
      +                      false
      +                    ]
      +                  },
      +                  "source": {
      +                    "description": "Official page the sentence was found on.",
      +                    "type": [
      +                      "string",
      +                      "null"
      +                    ]
      +                  },
      +                  "verdict": {
      +                    "enum": [
      +                      "MET",
      +                      "UNMET",
      +                      "UNKNOWN",
      +                      "UNIT_MISMATCH",
      +                      "UNIT_UNKNOWN"
      +                    ]
      +                  }
      +                },
      +                "required": [
      +                  "condition",
      +                  "verdict",
      +                  "reason"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "match": {
      +              "enum": [
      +                "FULL_MATCH",
      +                "PARTIAL_MATCH",
      +                "NO_MATCH"
      +              ]
      +            },
      +            "meets_all": {
      +              "description": "Judged against the required conditions of this call only: true when every one is met, false when one is not met, \"unknown\" when none fails and one is not stated on the official pages.",
      +              "enum": [
      +                true,
      +                false,
      +                "unknown"
      +              ]
      +            },
      +            "monthly_cost": {
      +              "description": "status, usd, and low, high or lower_bound when they differ; as in the full result.",
      +              "type": "object"
      +            },
      +            "offer_id": {
      +              "type": "string"
      +            },
      +            "offer_name": {
      +              "type": "string"
      +            },
      +            "provider": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "offer_id",
      +            "offer_name",
      +            "provider",
      +            "meets_all",
      +            "monthly_cost",
      +            "conditions"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "show_text": {
      +        "description": "Ready to show: one line per listed plan, in list order, \"Meets all N: [Provider Plan](visit link)\" for a plan that meets every required condition of the call, \"Closest: [Provider Plan](visit link)\" for any other. The plan is a markdown link to its visit link, which carries the token of this response. Absent when no plan is listed.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "format",
      +      "answer",
      +      "as_of",
      +      "needs_input",
      +      "results"
      +    ],
      +    "type": "object"
      +  }
      +]
  6. Changed2 schema fields changed
    • changedInput schema / properties / format / description
      Previous value: -"brief returns, per plan, the plan, provider, whether it meets all, the monthly cost and the requested conditions only, each with its verdict, a one-line reason, one source sentence and its url (about a quarter of the full size); the verdicts and costs are those of full. Call it right before choosing or buying a plan."New value: +"brief returns, per plan, the plan, provider, whether it meets all, the monthly cost and the requested conditions only, each with its verdict, a one-line reason, one source sentence and its source (about a quarter of the full size); the verdicts and costs are those of full. Call it right before choosing or buying a plan."
    • changedOutput schema / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "answer": {
      -        "description": "One sentence that opens the answer: the cheapest checked plan (or plan of the same product) that meets every required condition with its link, or, when none does, the closest checked plan with what it does not meet or what is unknown, and its link.",
      -        "type": "string"
      -      },
      -      "as_of": {
      -        "type": "string"
      -      },
      -      "assumptions": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "link_notes": {
      -        "additionalProperties": {
      -          "type": "string"
      -        },
      -        "description": "The note of each link level (link.link_level) of the plans in this result, stated once.",
      -        "type": "object"
      -      },
      -      "needs_input": {
      -        "items": {
      -          "properties": {
      -            "field": {
      -              "type": "string"
      -            },
      -            "reason": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "field",
      -            "reason"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "notes": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "request": {
      -        "type": "object"
      -      },
      -      "resolution": {
      -        "description": "How each entry of plans was read.",
      -        "items": {
      -          "properties": {
      -            "candidates": {
      -              "items": {
      -                "properties": {
      -                  "listed": {
      -                    "type": "boolean"
      -                  },
      -                  "offer_id": {
      -                    "type": "string"
      -                  },
      -                  "offer_name": {
      -                    "type": "string"
      -                  },
      -                  "product_name": {
      -                    "type": "string"
      -                  },
      -                  "provider_name": {
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "offer_id",
      -                  "offer_name",
      -                  "provider_name"
      -                ],
      -                "type": "object"
      -              },
      -              "type": "array"
      -            },
      -            "candidates_total": {
      -              "type": "integer"
      -            },
      -            "input": {
      -              "type": "string"
      -            },
      -            "matched_by": {
      -              "enum": [
      -                "id",
      -                "name",
      -                "url",
      -                null
      -              ]
      -            },
      -            "note": {
      -              "type": [
      -                "string",
      -                "null"
      -              ]
      -            },
      -            "offer_id": {
      -              "type": [
      -                "string",
      -                "null"
      -              ]
      -            },
      -            "status": {
      -              "description": "resolved: one plan, checked in results; ambiguous: several plans fit, listed in candidates and not checked; not_found: no plan in the catalog fits.",
      -              "enum": [
      -                "resolved",
      -                "ambiguous",
      -                "not_found"
      -              ]
      -            }
      -          },
      -          "required": [
      -            "input",
      -            "status",
      -            "offer_id",
      -            "candidates"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "results": {
      -        "items": {
      -          "properties": {
      -            "assumptions": {
      -              "items": {
      -                "type": "string"
      -              },
      -              "type": "array"
      -            },
      -            "at_limit": {
      -              "description": "Present for a plan with no automatic extra usage: what the official page says happens at the limit (kind no_extra_usage or restart_by_hand), with its sentence. With a workload that needs restarts, restarts gives their count, the price of each and the total, the numbers of monthly_cost.explanation.",
      -              "properties": {
      -                "evidence": {
      -                  "properties": {
      -                    "quote": {
      -                      "type": "string"
      -                    },
      -                    "url": {
      -                      "type": "string"
      -                    }
      -                  },
      -                  "type": "object"
      -                },
      -                "kind": {
      -                  "enum": [
      -                    "no_extra_usage",
      -                    "restart_by_hand"
      -                  ]
      -                },
      -                "restarts": {
      -                  "properties": {
      -                    "count": {
      -                      "properties": {
      -                        "high": {
      -                          "type": "integer"
      -                        },
      -                        "low": {
      -                          "type": "integer"
      -                        }
      -                      },
      -                      "type": "object"
      -                    },
      -                    "total_usd": {
      -                      "properties": {
      -                        "high": {
      -                          "type": "number"
      -                        },
      -                        "low": {
      -                          "type": "number"
      -                        }
      -                      },
      -                      "type": "object"
      -                    },
      -                    "usd_each": {
      -                      "type": "number"
      -                    }
      -                  },
      -                  "type": "object"
      -                },
      -                "text": {
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "kind",
      -                "text",
      -                "evidence"
      -              ],
      -              "type": "object"
      -            },
      -            "billing": {
      -              "type": "string"
      -            },
      -            "billing_options": {
      -              "items": {
      -                "type": "string"
      -              },
      -              "type": "array"
      -            },
      -            "cheapest_in_product": {
      -              "description": "The cheapest listed plan of the same product that meets every required condition of this call; is_this_plan is true when that is the checked plan. null when no plan of the product meets them all.",
      -              "properties": {
      -                "billing": {
      -                  "type": "string"
      -                },
      -                "is_this_plan": {
      -                  "type": "boolean"
      -                },
      -                "monthly_cost": {
      -                  "type": "object"
      -                },
      -                "offer_id": {
      -                  "type": "string"
      -                },
      -                "offer_name": {
      -                  "type": "string"
      -                },
      -                "page_url": {
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "offer_id",
      -                "offer_name",
      -                "billing",
      -                "monthly_cost",
      -                "is_this_plan"
      -              ],
      -              "type": [
      -                "object",
      -                "null"
      -              ]
      -            },
      -            "checked_at": {
      -              "type": [
      -                "string",
      -                "null"
      -              ]
      -            },
      -            "conditions": {
      -              "items": {
      -                "properties": {
      -                  "condition": {
      -                    "type": "string"
      -                  },
      -                  "facts": {
      -                    "description": "Facts the verdict was judged from. The monthly budget is judged from monthly_cost; its price facts are listed there only.",
      -                    "items": {
      -                      "properties": {
      -                        "also_stated_in": {
      -                          "description": "get_details only: other official machine-readable documents of the provider (llms.txt, llms-full.txt, OpenAPI files, MCP tool listings) that contain the same quoted sentences.",
      -                          "items": {
      -                            "type": "string"
      -                          },
      -                          "type": "array"
      -                        },
      -                        "applies_to": {
      -                          "description": "get_details only: billing options (billing) or search engines (search_engines) the fact is limited to.",
      -                          "type": [
      -                            "object",
      -                            "null"
      -                          ]
      -                        },
      -                        "at_limit": {
      -                          "description": "Present for a plan with no automatic extra usage: what the official page says happens at the limit (kind no_extra_usage or restart_by_hand), with its sentence. With a workload that needs restarts, restarts gives their count, the price of each and the total, the numbers of monthly_cost.explanation.",
      -                          "properties": {
      -                            "evidence": {
      -                              "properties": {
      -                                "quote": {
      -                                  "type": "string"
      -                                },
      -                                "url": {
      -                                  "type": "string"
      -                                }
      -                              },
      -                              "type": "object"
      -                            },
      -                            "kind": {
      -                              "enum": [
      -                                "no_extra_usage",
      -                                "restart_by_hand"
      -                              ]
      -                            },
      -                            "restarts": {
      -                              "properties": {
      -                                "count": {
      -                                  "properties": {
      -                                    "high": {
      -                                      "type": "integer"
      -                                    },
      -                                    "low": {
      -                                      "type": "integer"
      -                                    }
      -                                  },
      -                                  "type": "object"
      -                                },
      -                                "total_usd": {
      -                                  "properties": {
      -                                    "high": {
      -                                      "type": "number"
      -                                    },
      -                                    "low": {
      -                                      "type": "number"
      -                                    }
      -                                  },
      -                                  "type": "object"
      -                                },
      -                                "usd_each": {
      -                                  "type": "number"
      -                                }
      -                              },
      -                              "type": "object"
      -                            },
      -                            "text": {
      -                              "type": "string"
      -                            }
      -                          },
      -                          "required": [
      -                            "kind",
      -                            "text",
      -                            "evidence"
      -                          ],
      -                          "type": "object"
      -                        },
      -                        "checked_at": {
      -                          "type": [
      -                            "string",
      -                            "null"
      -                          ]
      -                        },
      -                        "concurrency_unit": {
      -                          "description": "get_details, concurrency only: the unit the page states the value in (unit, text such as \"100 threads\"). Against concurrent requests: equals_requests (value, text and the official line of the unit rule) when the unit rule counts this unit as requests, else note \"not the same unit as concurrent requests\"; \"unit not stated\" when the page names none.",
      -                          "type": "object"
      -                        },
      -                        "derived": {
      -                          "description": "How the value follows from the quoted sentence when it is not literal.",
      -                          "type": "string"
      -                        },
      -                        "evidence": {
      -                          "items": {
      -                            "properties": {
      -                              "quote": {
      -                                "description": "The sentence as it appears on that page.",
      -                                "type": "string"
      -                              },
      -                              "retrieved_at": {
      -                                "description": "Date the page was read (YYYY-MM-DD). Only with detail=full.",
      -                                "type": "string"
      -                              },
      -                              "source_type": {
      -                                "description": "Only with detail=full.",
      -                                "enum": [
      -                                  "official_pricing",
      -                                  "official_docs",
      -                                  "third_party"
      -                                ]
      -                              },
      -                              "url": {
      -                                "description": "Official page the sentence was found on.",
      -                                "type": "string"
      -                              }
      -                            },
      -                            "required": [
      -                              "url",
      -                              "quote"
      -                            ],
      -                            "type": "object"
      -                          },
      -                          "type": "array"
      -                        },
      -                        "exceptions": {
      -                          "description": "get_details only: plans with a different value.",
      -                          "type": "array"
      -                        },
      -                        "key": {
      -                          "type": "string"
      -                        },
      -                        "label": {
      -                          "type": "string"
      -                        },
      -                        "level": {
      -                          "description": "Where the fact is recorded: offer (the plan), product or provider.",
      -                          "type": [
      -                            "string",
      -                            "null"
      -                          ]
      -                        },
      -                        "note": {
      -                          "type": "string"
      -                        },
      -                        "stale": {
      -                          "type": "boolean"
      -                        },
      -                        "status": {
      -                          "description": "TRUE: stated with the value; FALSE / NOT_SUPPORTED: stated as unavailable; UNKNOWN: not stated; CONFLICT: official pages disagree (value lists each version); STALE: past its recheck date; MISSING: not recorded.",
      -                          "enum": [
      -                            "TRUE",
      -                            "FALSE",
      -                            "NOT_SUPPORTED",
      -                            "UNKNOWN",
      -                            "CONFLICT",
      -                            "STALE",
      -                            "MISSING"
      -                          ]
      -                        },
      -                        "value": {},
      -                        "via_exception": {
      -                          "description": "Present and true when a plan-specific exception replaced the general value.",
      -                          "type": "boolean"
      -                        }
      -                      },
      -                      "required": [
      -                        "key",
      -                        "status",
      -                        "value",
      -                        "level",
      -                        "evidence",
      -                        "checked_at"
      -                      ],
      -                      "type": "object"
      -                    },
      -                    "type": "array"
      -                  },
      -                  "label": {
      -                    "type": "string"
      -                  },
      -                  "reason": {
      -                    "type": "string"
      -                  },
      -                  "required": {
      -                    "type": "boolean"
      -                  },
      -                  "verdict": {
      -                    "enum": [
      -                      "MET",
      -                      "UNMET",
      -                      "UNKNOWN",
      -                      "UNIT_MISMATCH",
      -                      "UNIT_UNKNOWN"
      -                    ]
      -                  }
      -                },
      -                "required": [
      -                  "condition",
      -                  "label",
      -                  "required",
      -                  "verdict",
      -                  "reason",
      -                  "facts"
      -                ],
      -                "type": "object"
      -              },
      -              "type": "array"
      -            },
      -            "facts_omitted": {
      -              "description": "search only: present and true when the source sentences under the conditions were left out so that the response fits one response; the verdicts, reasons and costs are unchanged. Ask check_conditions with the offer_id or get_details for the sentences.",
      -              "type": "boolean"
      -            },
      -            "link": {
      -              "properties": {
      -                "affiliate": {
      -                  "properties": {
      -                    "disclosure": {
      -                      "type": [
      -                        "string",
      -                        "null"
      -                      ]
      -                    },
      -                    "program": {
      -                      "type": [
      -                        "string",
      -                        "null"
      -                      ]
      -                    },
      -                    "status": {
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "status"
      -                  ],
      -                  "type": "object"
      -                },
      -                "landing": {
      -                  "type": "string"
      -                },
      -                "link_level": {
      -                  "type": "string"
      -                },
      -                "provider_url": {
      -                  "description": "The provider page itself, when url is this service's address that forwards to it.",
      -                  "type": "string"
      -                },
      -                "url": {
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "url",
      -                "landing",
      -                "link_level",
      -                "affiliate"
      -              ],
      -              "type": "object"
      -            },
      -            "listed": {
      -              "type": "boolean"
      -            },
      -            "match": {
      -              "enum": [
      -                "FULL_MATCH",
      -                "PARTIAL_MATCH",
      -                "NO_MATCH"
      -              ]
      -            },
      -            "meets_all": {
      -              "description": "Judged against the required conditions of this call only: true when every one is met, false when one is not met, \"unknown\" when none fails and one is not stated on the official pages.",
      -              "enum": [
      -                true,
      -                false,
      -                "unknown"
      -              ]
      -            },
      -            "monthly_cost": {
      -              "properties": {
      -                "explanation": {
      -                  "type": "string"
      -                },
      -                "facts": {
      -                  "description": "Price facts the cost was computed from.",
      -                  "items": {
      -                    "properties": {
      -                      "also_stated_in": {
      -                        "description": "get_details only: other official machine-readable documents of the provider (llms.txt, llms-full.txt, OpenAPI files, MCP tool listings) that contain the same quoted sentences.",
      -                        "items": {
      -                          "type": "string"
      -                        },
      -                        "type": "array"
      -                      },
      -                      "applies_to": {
      -                        "description": "get_details only: billing options (billing) or search engines (search_engines) the fact is limited to.",
      -                        "type": [
      -                          "object",
      -                          "null"
      -                        ]
      -                      },
      -                      "at_limit": {
      -                        "description": "Present for a plan with no automatic extra usage: what the official page says happens at the limit (kind no_extra_usage or restart_by_hand), with its sentence. With a workload that needs restarts, restarts gives their count, the price of each and the total, the numbers of monthly_cost.explanation.",
      -                        "properties": {
      -                          "evidence": {
      -                            "properties": {
      -                              "quote": {
      -                                "type": "string"
      -                              },
      -                              "url": {
      -                                "type": "string"
      -                              }
      -                            },
      -                            "type": "object"
      -                          },
      -                          "kind": {
      -                            "enum": [
      -                              "no_extra_usage",
      -                              "restart_by_hand"
      -                            ]
      -                          },
      -                          "restarts": {
      -                            "properties": {
      -                              "count": {
      -                                "properties": {
      -                                  "high": {
      -                                    "type": "integer"
      -                                  },
      -                                  "low": {
      -                                    "type": "integer"
      -                                  }
      -                                },
      -                                "type": "object"
      -                              },
      -                              "total_usd": {
      -                                "properties": {
      -                                  "high": {
      -                                    "type": "number"
      -                                  },
      -                                  "low": {
      -                                    "type": "number"
      -                                  }
      -                                },
      -                                "type": "object"
      -                              },
      -                              "usd_each": {
      -                                "type": "number"
      -                              }
      -                            },
      -                            "type": "object"
      -                          },
      -                          "text": {
      -                            "type": "string"
      -                          }
      -                        },
      -                        "required": [
      -                          "kind",
      -                          "text",
      -                          "evidence"
      -                        ],
      -                        "type": "object"
      -                      },
      -                      "checked_at": {
      -                        "type": [
      -                          "string",
      -                          "null"
      -                        ]
      -                      },
      -                      "concurrency_unit": {
      -                        "description": "get_details, concurrency only: the unit the page states the value in (unit, text such as \"100 threads\"). Against concurrent requests: equals_requests (value, text and the official line of the unit rule) when the unit rule counts this unit as requests, else note \"not the same unit as concurrent requests\"; \"unit not stated\" when the page names none.",
      -                        "type": "object"
      -                      },
      -                      "derived": {
      -                        "description": "How the value follows from the quoted sentence when it is not literal.",
      -                        "type": "string"
      -                      },
      -                      "evidence": {
      -                        "items": {
      -                          "properties": {
      -                            "quote": {
      -                              "description": "The sentence as it appears on that page.",
      -                              "type": "string"
      -                            },
      -                            "retrieved_at": {
      -                              "description": "Date the page was read (YYYY-MM-DD). Only with detail=full.",
      -                              "type": "string"
      -                            },
      -                            "source_type": {
      -                              "description": "Only with detail=full.",
      -                              "enum": [
      -                                "official_pricing",
      -                                "official_docs",
      -                                "third_party"
      -                              ]
      -                            },
      -                            "url": {
      -                              "description": "Official page the sentence was found on.",
      -                              "type": "string"
      -                            }
      -                          },
      -                          "required": [
      -                            "url",
      -                            "quote"
      -                          ],
      -                          "type": "object"
      -                        },
      -                        "type": "array"
      -                      },
      -                      "exceptions": {
      -                        "description": "get_details only: plans with a different value.",
      -                        "type": "array"
      -                      },
      -                      "key": {
      -                        "type": "string"
      -                      },
      -                      "label": {
      -                        "type": "string"
      -                      },
      -                      "level": {
      -                        "description": "Where the fact is recorded: offer (the plan), product or provider.",
      -                        "type": [
      -                          "string",
      -                          "null"
      -                        ]
      -                      },
      -                      "note": {
      -                        "type": "string"
      -                      },
      -                      "stale": {
      -                        "type": "boolean"
      -                      },
      -                      "status": {
      -                        "description": "TRUE: stated with the value; FALSE / NOT_SUPPORTED: stated as unavailable; UNKNOWN: not stated; CONFLICT: official pages disagree (value lists each version); STALE: past its recheck date; MISSING: not recorded.",
      -                        "enum": [
      -                          "TRUE",
      -                          "FALSE",
      -                          "NOT_SUPPORTED",
      -                          "UNKNOWN",
      -                          "CONFLICT",
      -                          "STALE",
      -                          "MISSING"
      -                        ]
      -                      },
      -                      "value": {},
      -                      "via_exception": {
      -                        "description": "Present and true when a plan-specific exception replaced the general value.",
      -                        "type": "boolean"
      -                      }
      -                    },
      -                    "required": [
      -                      "key",
      -                      "status",
      -                      "value",
      -                      "level",
      -                      "evidence",
      -                      "checked_at"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  "type": "array"
      -                },
      -                "high": {
      -                  "type": [
      -                    "number",
      -                    "null"
      -                  ]
      -                },
      -                "low": {
      -                  "type": [
      -                    "number",
      -                    "null"
      -                  ]
      -                },
      -                "lower_bound": {
      -                  "type": [
      -                    "number",
      -                    "null"
      -                  ]
      -                },
      -                "status": {
      -                  "enum": [
      -                    "exact",
      -                    "range",
      -                    "lower_bound",
      -                    "unknown"
      -                  ]
      -                },
      -                "upfront_usd": {
      -                  "type": [
      -                    "number",
      -                    "null"
      -                  ]
      -                },
      -                "usd": {
      -                  "type": [
      -                    "number",
      -                    "null"
      -                  ]
      -                }
      -              },
      -              "required": [
      -                "status",
      -                "usd",
      -                "explanation"
      -              ],
      -              "type": "object"
      -            },
      -            "offer_id": {
      -              "type": "string"
      -            },
      -            "offer_name": {
      -              "type": "string"
      -            },
      -            "page_url": {
      -              "type": "string"
      -            },
      -            "preferred_met": {
      -              "type": "integer"
      -            },
      -            "prices_exclude_tax": {
      -              "type": [
      -                "boolean",
      -                "null"
      -              ]
      -            },
      -            "product_id": {
      -              "type": "string"
      -            },
      -            "product_name": {
      -              "type": "string"
      -            },
      -            "provider_id": {
      -              "type": "string"
      -            },
      -            "provider_name": {
      -              "type": "string"
      -            },
      -            "unknown_conditions": {
      -              "items": {
      -                "type": "string"
      -              },
      -              "type": "array"
      -            },
      -            "unmet_conditions": {
      -              "items": {
      -                "type": "string"
      -              },
      -              "type": "array"
      -            },
      -            "verdict": {
      -              "description": "One sentence: the conditions met, or the ones not met or not stated, with the reason.",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "offer_id",
      -            "offer_name",
      -            "product_id",
      -            "provider_name",
      -            "match",
      -            "meets_all",
      -            "verdict",
      -            "billing",
      -            "monthly_cost",
      -            "conditions",
      -            "unmet_conditions",
      -            "unknown_conditions",
      -            "link",
      -            "checked_at",
      -            "cheapest_in_product"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "answer",
      -      "as_of",
      -      "needs_input",
      -      "results",
      -      "assumptions",
      -      "notes"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "properties": {
      -      "answer": {
      -        "type": "string"
      -      },
      -      "as_of": {
      -        "type": "string"
      -      },
      -      "format": {
      -        "enum": [
      -          "brief"
      -        ]
      -      },
      -      "needs_input": {
      -        "items": {
      -          "properties": {
      -            "field": {
      -              "type": "string"
      -            },
      -            "reason": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "field",
      -            "reason"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "resolution": {
      -        "type": "array"
      -      },
      -      "results": {
      -        "items": {
      -          "properties": {
      -            "conditions": {
      -              "items": {
      -                "properties": {
      -                  "condition": {
      -                    "type": "string"
      -                  },
      -                  "quote": {
      -                    "description": "One official source sentence, 200 characters at most.",
      -                    "type": "string"
      -                  },
      -                  "reason": {
      -                    "description": "One line, 120 characters at most.",
      -                    "type": "string"
      -                  },
      -                  "required": {
      -                    "description": "Present only on a preferred (nice-to-have) condition.",
      -                    "enum": [
      -                      false
      -                    ]
      -                  },
      -                  "url": {
      -                    "type": [
      -                      "string",
      -                      "null"
      -                    ]
      -                  },
      -                  "verdict": {
      -                    "enum": [
      -                      "MET",
      -                      "UNMET",
      -                      "UNKNOWN",
      -                      "UNIT_MISMATCH",
      -                      "UNIT_UNKNOWN"
      -                    ]
      -                  }
      -                },
      -                "required": [
      -                  "condition",
      -                  "verdict",
      -                  "reason"
      -                ],
      -                "type": "object"
      -              },
      -              "type": "array"
      -            },
      -            "match": {
      -              "enum": [
      -                "FULL_MATCH",
      -                "PARTIAL_MATCH",
      -                "NO_MATCH"
      -              ]
      -            },
      -            "meets_all": {
      -              "description": "Judged against the required conditions of this call only: true when every one is met, false when one is not met, \"unknown\" when none fails and one is not stated on the official pages.",
      -              "enum": [
      -                true,
      -                false,
      -                "unknown"
      -              ]
      -            },
      -            "monthly_cost": {
      -              "description": "status, usd, and low, high or lower_bound when they differ; as in the full result.",
      -              "type": "object"
      -            },
      -            "offer_id": {
      -              "type": "string"
      -            },
      -            "offer_name": {
      -              "type": "string"
      -            },
      -            "provider": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "offer_id",
      -            "offer_name",
      -            "provider",
      -            "meets_all",
      -            "monthly_cost",
      -            "conditions"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "format",
      -      "answer",
      -      "as_of",
      -      "needs_input",
      -      "results"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "answer": {
      +        "description": "One sentence that opens the answer: the cheapest checked plan (or plan of the same product) that meets every required condition with its link, or, when none does, the closest checked plan with what it does not meet or what is unknown, and its link.",
      +        "type": "string"
      +      },
      +      "as_of": {
      +        "type": "string"
      +      },
      +      "assumptions": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "link_notes": {
      +        "additionalProperties": {
      +          "type": "string"
      +        },
      +        "description": "The note of each link level (link.link_level) of the plans in this result, stated once.",
      +        "type": "object"
      +      },
      +      "needs_input": {
      +        "items": {
      +          "properties": {
      +            "field": {
      +              "type": "string"
      +            },
      +            "reason": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "field",
      +            "reason"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "notes": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "request": {
      +        "type": "object"
      +      },
      +      "resolution": {
      +        "description": "How each entry of plans was read.",
      +        "items": {
      +          "properties": {
      +            "candidates": {
      +              "items": {
      +                "properties": {
      +                  "listed": {
      +                    "type": "boolean"
      +                  },
      +                  "offer_id": {
      +                    "type": "string"
      +                  },
      +                  "offer_name": {
      +                    "type": "string"
      +                  },
      +                  "product_name": {
      +                    "type": "string"
      +                  },
      +                  "provider_name": {
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "offer_id",
      +                  "offer_name",
      +                  "provider_name"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "candidates_total": {
      +              "type": "integer"
      +            },
      +            "input": {
      +              "type": "string"
      +            },
      +            "matched_by": {
      +              "enum": [
      +                "id",
      +                "name",
      +                "url",
      +                null
      +              ]
      +            },
      +            "note": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "offer_id": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "status": {
      +              "description": "resolved: one plan, checked in results; ambiguous: several plans fit, listed in candidates and not checked; not_found: no plan in the catalog fits.",
      +              "enum": [
      +                "resolved",
      +                "ambiguous",
      +                "not_found"
      +              ]
      +            }
      +          },
      +          "required": [
      +            "input",
      +            "status",
      +            "offer_id",
      +            "candidates"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "results": {
      +        "items": {
      +          "properties": {
      +            "assumptions": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "at_limit": {
      +              "description": "Present for a plan with no automatic extra usage: what the official page says happens at the limit (kind no_extra_usage or restart_by_hand), with its sentence. With a workload that needs restarts, restarts gives their count, the price of each and the total, the numbers of monthly_cost.explanation.",
      +              "properties": {
      +                "evidence": {
      +                  "properties": {
      +                    "quote": {
      +                      "type": "string"
      +                    },
      +                    "source": {
      +                      "type": "string"
      +                    }
      +                  },
      +                  "type": "object"
      +                },
      +                "kind": {
      +                  "enum": [
      +                    "no_extra_usage",
      +                    "restart_by_hand"
      +                  ]
      +                },
      +                "restarts": {
      +                  "properties": {
      +                    "count": {
      +                      "properties": {
      +                        "high": {
      +                          "type": "integer"
      +                        },
      +                        "low": {
      +                          "type": "integer"
      +                        }
      +                      },
      +                      "type": "object"
      +                    },
      +                    "total_usd": {
      +                      "properties": {
      +                        "high": {
      +                          "type": "number"
      +                        },
      +                        "low": {
      +                          "type": "number"
      +                        }
      +                      },
      +                      "type": "object"
      +                    },
      +                    "usd_each": {
      +                      "type": "number"
      +                    }
      +                  },
      +                  "type": "object"
      +                },
      +                "text": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "kind",
      +                "text",
      +                "evidence"
      +              ],
      +              "type": "object"
      +            },
      +            "billing": {
      +              "type": "string"
      +            },
      +            "billing_options": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "cheapest_in_product": {
      +              "description": "The cheapest listed plan of the same product that meets every required condition of this call; is_this_plan is true when that is the checked plan. null when no plan of the product meets them all.",
      +              "properties": {
      +                "billing": {
      +                  "type": "string"
      +                },
      +                "is_this_plan": {
      +                  "type": "boolean"
      +                },
      +                "monthly_cost": {
      +                  "type": "object"
      +                },
      +                "offer_id": {
      +                  "type": "string"
      +                },
      +                "offer_name": {
      +                  "type": "string"
      +                },
      +                "page_url": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "offer_id",
      +                "offer_name",
      +                "billing",
      +                "monthly_cost",
      +                "is_this_plan"
      +              ],
      +              "type": [
      +                "object",
      +                "null"
      +              ]
      +            },
      +            "checked_at": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "conditions": {
      +              "items": {
      +                "properties": {
      +                  "condition": {
      +                    "type": "string"
      +                  },
      +                  "facts": {
      +                    "description": "Facts the verdict was judged from. The monthly budget is judged from monthly_cost; its price facts are listed there only.",
      +                    "items": {
      +                      "properties": {
      +                        "also_stated_in": {
      +                          "description": "get_details only: other official machine-readable documents of the provider (llms.txt, llms-full.txt, OpenAPI files, MCP tool listings) that contain the same quoted sentences.",
      +                          "items": {
      +                            "type": "string"
      +                          },
      +                          "type": "array"
      +                        },
      +                        "applies_to": {
      +                          "description": "get_details only: billing options (billing) or search engines (search_engines) the fact is limited to.",
      +                          "type": [
      +                            "object",
      +                            "null"
      +                          ]
      +                        },
      +                        "at_limit": {
      +                          "description": "Present for a plan with no automatic extra usage: what the official page says happens at the limit (kind no_extra_usage or restart_by_hand), with its sentence. With a workload that needs restarts, restarts gives their count, the price of each and the total, the numbers of monthly_cost.explanation.",
      +                          "properties": {
      +                            "evidence": {
      +                              "properties": {
      +                                "quote": {
      +                                  "type": "string"
      +                                },
      +                                "source": {
      +                                  "type": "string"
      +                                }
      +                              },
      +                              "type": "object"
      +                            },
      +                            "kind": {
      +                              "enum": [
      +                                "no_extra_usage",
      +                                "restart_by_hand"
      +                              ]
      +                            },
      +                            "restarts": {
      +                              "properties": {
      +                                "count": {
      +                                  "properties": {
      +                                    "high": {
      +                                      "type": "integer"
      +                                    },
      +                                    "low": {
      +                                      "type": "integer"
      +                                    }
      +                                  },
      +                                  "type": "object"
      +                                },
      +                                "total_usd": {
      +                                  "properties": {
      +                                    "high": {
      +                                      "type": "number"
      +                                    },
      +                                    "low": {
      +                                      "type": "number"
      +                                    }
      +                                  },
      +                                  "type": "object"
      +                                },
      +                                "usd_each": {
      +                                  "type": "number"
      +                                }
      +                              },
      +                              "type": "object"
      +                            },
      +                            "text": {
      +                              "type": "string"
      +                            }
      +                          },
      +                          "required": [
      +                            "kind",
      +                            "text",
      +                            "evidence"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        "checked_at": {
      +                          "type": [
      +                            "string",
      +                            "null"
      +                          ]
      +                        },
      +                        "concurrency_unit": {
      +                          "description": "get_details, concurrency only: the unit the page states the value in (unit, text such as \"100 threads\"). Against concurrent requests: equals_requests (value, text and the official line of the unit rule) when the unit rule counts this unit as requests, else note \"not the same unit as concurrent requests\"; \"unit not stated\" when the page names none.",
      +                          "type": "object"
      +                        },
      +                        "derived": {
      +                          "description": "How the value follows from the quoted sentence when it is not literal.",
      +                          "type": "string"
      +                        },
      +                        "evidence": {
      +                          "items": {
      +                            "properties": {
      +                              "quote": {
      +                                "description": "The sentence as it appears on that page.",
      +                                "type": "string"
      +                              },
      +                              "retrieved_at": {
      +                                "description": "Date the page was read (YYYY-MM-DD). Only with detail=full.",
      +                                "type": "string"
      +                              },
      +                              "source": {
      +                                "description": "Official page the sentence was found on.",
      +                                "type": "string"
      +                              },
      +                              "source_type": {
      +                                "description": "Only with detail=full.",
      +                                "enum": [
      +                                  "official_pricing",
      +                                  "official_docs",
      +                                  "third_party"
      +                                ]
      +                              }
      +                            },
      +                            "required": [
      +                              "source",
      +                              "quote"
      +                            ],
      +                            "type": "object"
      +                          },
      +                          "type": "array"
      +                        },
      +                        "exceptions": {
      +                          "description": "get_details only: plans with a different value.",
      +                          "type": "array"
      +                        },
      +                        "key": {
      +                          "type": "string"
      +                        },
      +                        "label": {
      +                          "type": "string"
      +                        },
      +                        "level": {
      +                          "description": "Where the fact is recorded: offer (the plan), product or provider.",
      +                          "type": [
      +                            "string",
      +                            "null"
      +                          ]
      +                        },
      +                        "note": {
      +                          "type": "string"
      +                        },
      +                        "stale": {
      +                          "type": "boolean"
      +                        },
      +                        "status": {
      +                          "description": "TRUE: stated with the value; FALSE / NOT_SUPPORTED: stated as unavailable; UNKNOWN: not stated; CONFLICT: official pages disagree (value lists each version); STALE: past its recheck date; MISSING: not recorded.",
      +                          "enum": [
      +                            "TRUE",
      +                            "FALSE",
      +                            "NOT_SUPPORTED",
      +                            "UNKNOWN",
      +                            "CONFLICT",
      +                            "STALE",
      +                            "MISSING"
      +                          ]
      +                        },
      +                        "value": {},
      +                        "via_exception": {
      +                          "description": "Present and true when a plan-specific exception replaced the general value.",
      +                          "type": "boolean"
      +                        }
      +                      },
      +                      "required": [
      +                        "key",
      +                        "status",
      +                        "value",
      +                        "level",
      +                        "evidence",
      +                        "checked_at"
      +                      ],
      +                      "type": "object"
      +                    },
      +                    "type": "array"
      +                  },
      +                  "label": {
      +                    "type": "string"
      +                  },
      +                  "reason": {
      +                    "type": "string"
      +                  },
      +                  "required": {
      +                    "type": "boolean"
      +                  },
      +                  "verdict": {
      +                    "enum": [
      +                      "MET",
      +                      "UNMET",
      +                      "UNKNOWN",
      +                      "UNIT_MISMATCH",
      +                      "UNIT_UNKNOWN"
      +                    ]
      +                  }
      +                },
      +                "required": [
      +                  "condition",
      +                  "label",
      +                  "required",
      +                  "verdict",
      +                  "reason",
      +                  "facts"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "facts_omitted": {
      +              "description": "search only: present and true when the source sentences under the conditions were left out so that the response fits one response; the verdicts, reasons and costs are unchanged. Ask check_conditions with the offer_id or get_details for the sentences.",
      +              "type": "boolean"
      +            },
      +            "link": {
      +              "properties": {
      +                "affiliate": {
      +                  "properties": {
      +                    "disclosure": {
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    },
      +                    "program": {
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    },
      +                    "status": {
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "status"
      +                  ],
      +                  "type": "object"
      +                },
      +                "landing": {
      +                  "type": "string"
      +                },
      +                "link_level": {
      +                  "type": "string"
      +                },
      +                "provider_url": {
      +                  "description": "The provider page itself. Only in a page made for a browser, where url is this service's address that forwards to it; MCP and REST results do not carry it.",
      +                  "type": "string"
      +                },
      +                "url": {
      +                  "description": "The only address to visit the plan: this service's /go/<offer_id>?r=<token> address, which forwards to the provider page. The token is made for this response and holds nothing about you.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "url",
      +                "landing",
      +                "link_level",
      +                "affiliate"
      +              ],
      +              "type": "object"
      +            },
      +            "listed": {
      +              "type": "boolean"
      +            },
      +            "match": {
      +              "enum": [
      +                "FULL_MATCH",
      +                "PARTIAL_MATCH",
      +                "NO_MATCH"
      +              ]
      +            },
      +            "meets_all": {
      +              "description": "Judged against the required conditions of this call only: true when every one is met, false when one is not met, \"unknown\" when none fails and one is not stated on the official pages.",
      +              "enum": [
      +                true,
      +                false,
      +                "unknown"
      +              ]
      +            },
      +            "monthly_cost": {
      +              "properties": {
      +                "explanation": {
      +                  "type": "string"
      +                },
      +                "facts": {
      +                  "description": "Price facts the cost was computed from.",
      +                  "items": {
      +                    "properties": {
      +                      "also_stated_in": {
      +                        "description": "get_details only: other official machine-readable documents of the provider (llms.txt, llms-full.txt, OpenAPI files, MCP tool listings) that contain the same quoted sentences.",
      +                        "items": {
      +                          "type": "string"
      +                        },
      +                        "type": "array"
      +                      },
      +                      "applies_to": {
      +                        "description": "get_details only: billing options (billing) or search engines (search_engines) the fact is limited to.",
      +                        "type": [
      +                          "object",
      +                          "null"
      +                        ]
      +                      },
      +                      "at_limit": {
      +                        "description": "Present for a plan with no automatic extra usage: what the official page says happens at the limit (kind no_extra_usage or restart_by_hand), with its sentence. With a workload that needs restarts, restarts gives their count, the price of each and the total, the numbers of monthly_cost.explanation.",
      +                        "properties": {
      +                          "evidence": {
      +                            "properties": {
      +                              "quote": {
      +                                "type": "string"
      +                              },
      +                              "source": {
      +                                "type": "string"
      +                              }
      +                            },
      +                            "type": "object"
      +                          },
      +                          "kind": {
      +                            "enum": [
      +                              "no_extra_usage",
      +                              "restart_by_hand"
      +                            ]
      +                          },
      +                          "restarts": {
      +                            "properties": {
      +                              "count": {
      +                                "properties": {
      +                                  "high": {
      +                                    "type": "integer"
      +                                  },
      +                                  "low": {
      +                                    "type": "integer"
      +                                  }
      +                                },
      +                                "type": "object"
      +                              },
      +                              "total_usd": {
      +                                "properties": {
      +                                  "high": {
      +                                    "type": "number"
      +                                  },
      +                                  "low": {
      +                                    "type": "number"
      +                                  }
      +                                },
      +                                "type": "object"
      +                              },
      +                              "usd_each": {
      +                                "type": "number"
      +                              }
      +                            },
      +                            "type": "object"
      +                          },
      +                          "text": {
      +                            "type": "string"
      +                          }
      +                        },
      +                        "required": [
      +                          "kind",
      +                          "text",
      +                          "evidence"
      +                        ],
      +                        "type": "object"
      +                      },
      +                      "checked_at": {
      +                        "type": [
      +                          "string",
      +                          "null"
      +                        ]
      +                      },
      +                      "concurrency_unit": {
      +                        "description": "get_details, concurrency only: the unit the page states the value in (unit, text such as \"100 threads\"). Against concurrent requests: equals_requests (value, text and the official line of the unit rule) when the unit rule counts this unit as requests, else note \"not the same unit as concurrent requests\"; \"unit not stated\" when the page names none.",
      +                        "type": "object"
      +                      },
      +                      "derived": {
      +                        "description": "How the value follows from the quoted sentence when it is not literal.",
      +                        "type": "string"
      +                      },
      +                      "evidence": {
      +                        "items": {
      +                          "properties": {
      +                            "quote": {
      +                              "description": "The sentence as it appears on that page.",
      +                              "type": "string"
      +                            },
      +                            "retrieved_at": {
      +                              "description": "Date the page was read (YYYY-MM-DD). Only with detail=full.",
      +                              "type": "string"
      +                            },
      +                            "source": {
      +                              "description": "Official page the sentence was found on.",
      +                              "type": "string"
      +                            },
      +                            "source_type": {
      +                              "description": "Only with detail=full.",
      +                              "enum": [
      +                                "official_pricing",
      +                                "official_docs",
      +                                "third_party"
      +                              ]
      +                            }
      +                          },
      +                          "required": [
      +                            "source",
      +                            "quote"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        "type": "array"
      +                      },
      +                      "exceptions": {
      +                        "description": "get_details only: plans with a different value.",
      +                        "type": "array"
      +                      },
      +                      "key": {
      +                        "type": "string"
      +                      },
      +                      "label": {
      +                        "type": "string"
      +                      },
      +                      "level": {
      +                        "description": "Where the fact is recorded: offer (the plan), product or provider.",
      +                        "type": [
      +                          "string",
      +                          "null"
      +                        ]
      +                      },
      +                      "note": {
      +                        "type": "string"
      +                      },
      +                      "stale": {
      +                        "type": "boolean"
      +                      },
      +                      "status": {
      +                        "description": "TRUE: stated with the value; FALSE / NOT_SUPPORTED: stated as unavailable; UNKNOWN: not stated; CONFLICT: official pages disagree (value lists each version); STALE: past its recheck date; MISSING: not recorded.",
      +                        "enum": [
      +                          "TRUE",
      +                          "FALSE",
      +                          "NOT_SUPPORTED",
      +                          "UNKNOWN",
      +                          "CONFLICT",
      +                          "STALE",
      +                          "MISSING"
      +                        ]
      +                      },
      +                      "value": {},
      +                      "via_exception": {
      +                        "description": "Present and true when a plan-specific exception replaced the general value.",
      +                        "type": "boolean"
      +                      }
      +                    },
      +                    "required": [
      +                      "key",
      +                      "status",
      +                      "value",
      +                      "level",
      +                      "evidence",
      +                      "checked_at"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                "high": {
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "low": {
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "lower_bound": {
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "status": {
      +                  "enum": [
      +                    "exact",
      +                    "range",
      +                    "lower_bound",
      +                    "unknown"
      +                  ]
      +                },
      +                "upfront_usd": {
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "usd": {
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                }
      +              },
      +              "required": [
      +                "status",
      +                "usd",
      +                "explanation"
      +              ],
      +              "type": "object"
      +            },
      +            "offer_id": {
      +              "type": "string"
      +            },
      +            "offer_name": {
      +              "type": "string"
      +            },
      +            "page_url": {
      +              "type": "string"
      +            },
      +            "preferred_met": {
      +              "type": "integer"
      +            },
      +            "prices_exclude_tax": {
      +              "type": [
      +                "boolean",
      +                "null"
      +              ]
      +            },
      +            "product_id": {
      +              "type": "string"
      +            },
      +            "product_name": {
      +              "type": "string"
      +            },
      +            "provider_id": {
      +              "type": "string"
      +            },
      +            "provider_name": {
      +              "type": "string"
      +            },
      +            "unknown_conditions": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "unmet_conditions": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "verdict": {
      +              "description": "One sentence: the conditions met, or the ones not met or not stated, with the reason.",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "offer_id",
      +            "offer_name",
      +            "product_id",
      +            "provider_name",
      +            "match",
      +            "meets_all",
      +            "verdict",
      +            "billing",
      +            "monthly_cost",
      +            "conditions",
      +            "unmet_conditions",
      +            "unknown_conditions",
      +            "link",
      +            "checked_at",
      +            "cheapest_in_product"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "show_text": {
      +        "description": "Ready to show: one line per listed plan, in list order, \"Meets all N: Provider Plan — link\" for a plan that meets every required condition of the call, \"Closest: Provider Plan — link\" for any other. The link is the visit link of the plan, with the token of this response. Absent when no plan is listed.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "answer",
      +      "as_of",
      +      "needs_input",
      +      "results",
      +      "assumptions",
      +      "notes"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "answer": {
      +        "type": "string"
      +      },
      +      "as_of": {
      +        "type": "string"
      +      },
      +      "format": {
      +        "enum": [
      +          "brief"
      +        ]
      +      },
      +      "needs_input": {
      +        "items": {
      +          "properties": {
      +            "field": {
      +              "type": "string"
      +            },
      +            "reason": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "field",
      +            "reason"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "resolution": {
      +        "type": "array"
      +      },
      +      "results": {
      +        "items": {
      +          "properties": {
      +            "conditions": {
      +              "items": {
      +                "properties": {
      +                  "condition": {
      +                    "type": "string"
      +                  },
      +                  "quote": {
      +                    "description": "One official source sentence, 200 characters at most.",
      +                    "type": "string"
      +                  },
      +                  "reason": {
      +                    "description": "One line, 120 characters at most.",
      +                    "type": "string"
      +                  },
      +                  "required": {
      +                    "description": "Present only on a preferred (nice-to-have) condition.",
      +                    "enum": [
      +                      false
      +                    ]
      +                  },
      +                  "source": {
      +                    "description": "Official page the sentence was found on.",
      +                    "type": [
      +                      "string",
      +                      "null"
      +                    ]
      +                  },
      +                  "verdict": {
      +                    "enum": [
      +                      "MET",
      +                      "UNMET",
      +                      "UNKNOWN",
      +                      "UNIT_MISMATCH",
      +                      "UNIT_UNKNOWN"
      +                    ]
      +                  }
      +                },
      +                "required": [
      +                  "condition",
      +                  "verdict",
      +                  "reason"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "match": {
      +              "enum": [
      +                "FULL_MATCH",
      +                "PARTIAL_MATCH",
      +                "NO_MATCH"
      +              ]
      +            },
      +            "meets_all": {
      +              "description": "Judged against the required conditions of this call only: true when every one is met, false when one is not met, \"unknown\" when none fails and one is not stated on the official pages.",
      +              "enum": [
      +                true,
      +                false,
      +                "unknown"
      +              ]
      +            },
      +            "monthly_cost": {
      +              "description": "status, usd, and low, high or lower_bound when they differ; as in the full result.",
      +              "type": "object"
      +            },
      +            "offer_id": {
      +              "type": "string"
      +            },
      +            "offer_name": {
      +              "type": "string"
      +            },
      +            "provider": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "offer_id",
      +            "offer_name",
      +            "provider",
      +            "meets_all",
      +            "monthly_cost",
      +            "conditions"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "show_text": {
      +        "description": "Ready to show: one line per listed plan, in list order, \"Meets all N: Provider Plan — link\" for a plan that meets every required condition of the call, \"Closest: Provider Plan — link\" for any other. The link is the visit link of the plan, with the token of this response. Absent when no plan is listed.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "format",
      +      "answer",
      +      "as_of",
      +      "needs_input",
      +      "results"
      +    ],
      +    "type": "object"
      +  }
      +]
  7. Changed2 schema fields changed
    • changedInput schema / properties / billing_types / description
      Previous value: -"Acceptable billing: monthly_subscription (A plan with a fixed fee (or minimum commitment) billed every month.) annual_subscription (A plan paid for a year at a time.) pay_as_you_go (No plan fee; a price per unit of use, billed after use or drawn from a balance topped up with any amount.) prepaid_credits (A fixed-size credit pack bought before use, usually with an expiry.) Free plans always qualify."New value: +"Acceptable billing: monthly_subscription (A plan with a fixed fee (or minimum commitment) billed every month.) annual_subscription (A plan paid for a year at a time.) pay_as_you_go (No plan fee; a price per unit of use, billed after use or drawn from a balance topped up with any amount.) prepaid_credits (Money paid before use: a credit pack, a balance topped up first, or a plan amount charged in advance for the period.) Free plans always qualify."
    • changedInput schema / properties / preferred / properties / billing_types / description
      Previous value: -"Acceptable billing: monthly_subscription (A plan with a fixed fee (or minimum commitment) billed every month.) annual_subscription (A plan paid for a year at a time.) pay_as_you_go (No plan fee; a price per unit of use, billed after use or drawn from a balance topped up with any amount.) prepaid_credits (A fixed-size credit pack bought before use, usually with an expiry.) Free plans always qualify."New value: +"Acceptable billing: monthly_subscription (A plan with a fixed fee (or minimum commitment) billed every month.) annual_subscription (A plan paid for a year at a time.) pay_as_you_go (No plan fee; a price per unit of use, billed after use or drawn from a balance topped up with any amount.) prepaid_credits (Money paid before use: a credit pack, a balance topped up first, or a plan amount charged in advance for the period.) Free plans always qualify."
  8. Changed16 schema fields changed
    • addedInput schema / properties / format
      Added value: +{
      +  "default": "full",
      +  "description": "brief returns, per plan, the plan, provider, whether it meets all, the monthly cost and the requested conditions only, each with its verdict, a one-line reason, one source sentence and its url (about a quarter of the full size); the verdicts and costs are those of full. Call it right before choosing or buying a plan.",
      +  "enum": [
      +    "full",
      +    "brief"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / mcp_auth
      Added value: +{
      +  "description": "Ways to authenticate to the provider's hosted MCP endpoint, any one of which will do: api_key, oauth. Met when the endpoint accepts at least one of them; implies a hosted endpoint.",
      +  "items": {
      +    "enum": [
      +      "api_key",
      +      "oauth"
      +    ],
      +    "type": "string"
      +  },
      +  "minItems": 1,
      +  "type": "array",
      +  "uniqueItems": true
      +}
    • addedInput schema / properties / needs_official_mcp
      Added value: +{
      +  "description": "The provider must publish its own MCP server (hosted by it or run by the buyer), stated in its official documentation. A server only a third party published does not count.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_remote_mcp
      Added value: +{
      +  "description": "The provider must host a remote MCP endpoint (a URL an MCP client connects to). An official server that can only be run on the buyer own machine does not meet it.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_soc2
      Added value: +{
      +  "description": "The provider must hold a SOC 2 report: true for Type I or Type II, \"II\" for Type II.",
      +  "enum": [
      +    true,
      +    false,
      +    "II"
      +  ],
      +  "type": [
      +    "boolean",
      +    "string"
      +  ]
      +}
    • addedInput schema / properties / needs_zdr
      Added value: +{
      +  "description": "Zero data retention must be usable on this plan. A provider that offers it only on a custom enterprise agreement does not meet it on its listed plans.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / mcp_auth
      Added value: +{
      +  "description": "Ways to authenticate to the provider's hosted MCP endpoint, any one of which will do: api_key, oauth. Met when the endpoint accepts at least one of them; implies a hosted endpoint.",
      +  "items": {
      +    "enum": [
      +      "api_key",
      +      "oauth"
      +    ],
      +    "type": "string"
      +  },
      +  "minItems": 1,
      +  "type": "array",
      +  "uniqueItems": true
      +}
    • addedInput schema / properties / preferred / properties / needs_official_mcp
      Added value: +{
      +  "description": "The provider must publish its own MCP server (hosted by it or run by the buyer), stated in its official documentation. A server only a third party published does not count.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_remote_mcp
      Added value: +{
      +  "description": "The provider must host a remote MCP endpoint (a URL an MCP client connects to). An official server that can only be run on the buyer own machine does not meet it.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_soc2
      Added value: +{
      +  "description": "The provider must hold a SOC 2 report: true for Type I or Type II, \"II\" for Type II.",
      +  "enum": [
      +    true,
      +    false,
      +    "II"
      +  ],
      +  "type": [
      +    "boolean",
      +    "string"
      +  ]
      +}
    • addedInput schema / properties / preferred / properties / needs_zdr
      Added value: +{
      +  "description": "Zero data retention must be usable on this plan. A provider that offers it only on a custom enterprise agreement does not meet it on its listed plans.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / search_returns_content
      Added value: +{
      +  "description": "The search response itself must carry the text of the result pages (extracted content), not only titles, links and snippets.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / search_returns_content
      Added value: +{
      +  "description": "The search response itself must carry the text of the result pages (extracted content), not only titles, links and snippets.",
      +  "type": "boolean"
      +}
    • addedOutput schema / anyOf
      Added value: +[
      +  {
      +    "properties": {
      +      "answer": {
      +        "description": "One sentence that opens the answer: the cheapest checked plan (or plan of the same product) that meets every required condition with its link, or, when none does, the closest checked plan with what it does not meet or what is unknown, and its link.",
      +        "type": "string"
      +      },
      +      "as_of": {
      +        "type": "string"
      +      },
      +      "assumptions": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "link_notes": {
      +        "additionalProperties": {
      +          "type": "string"
      +        },
      +        "description": "The note of each link level (link.link_level) of the plans in this result, stated once.",
      +        "type": "object"
      +      },
      +      "needs_input": {
      +        "items": {
      +          "properties": {
      +            "field": {
      +              "type": "string"
      +            },
      +            "reason": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "field",
      +            "reason"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "notes": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "request": {
      +        "type": "object"
      +      },
      +      "resolution": {
      +        "description": "How each entry of plans was read.",
      +        "items": {
      +          "properties": {
      +            "candidates": {
      +              "items": {
      +                "properties": {
      +                  "listed": {
      +                    "type": "boolean"
      +                  },
      +                  "offer_id": {
      +                    "type": "string"
      +                  },
      +                  "offer_name": {
      +                    "type": "string"
      +                  },
      +                  "product_name": {
      +                    "type": "string"
      +                  },
      +                  "provider_name": {
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "offer_id",
      +                  "offer_name",
      +                  "provider_name"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "candidates_total": {
      +              "type": "integer"
      +            },
      +            "input": {
      +              "type": "string"
      +            },
      +            "matched_by": {
      +              "enum": [
      +                "id",
      +                "name",
      +                "url",
      +                null
      +              ]
      +            },
      +            "note": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "offer_id": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "status": {
      +              "description": "resolved: one plan, checked in results; ambiguous: several plans fit, listed in candidates and not checked; not_found: no plan in the catalog fits.",
      +              "enum": [
      +                "resolved",
      +                "ambiguous",
      +                "not_found"
      +              ]
      +            }
      +          },
      +          "required": [
      +            "input",
      +            "status",
      +            "offer_id",
      +            "candidates"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "results": {
      +        "items": {
      +          "properties": {
      +            "assumptions": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "at_limit": {
      +              "description": "Present for a plan with no automatic extra usage: what the official page says happens at the limit (kind no_extra_usage or restart_by_hand), with its sentence. With a workload that needs restarts, restarts gives their count, the price of each and the total, the numbers of monthly_cost.explanation.",
      +              "properties": {
      +                "evidence": {
      +                  "properties": {
      +                    "quote": {
      +                      "type": "string"
      +                    },
      +                    "url": {
      +                      "type": "string"
      +                    }
      +                  },
      +                  "type": "object"
      +                },
      +                "kind": {
      +                  "enum": [
      +                    "no_extra_usage",
      +                    "restart_by_hand"
      +                  ]
      +                },
      +                "restarts": {
      +                  "properties": {
      +                    "count": {
      +                      "properties": {
      +                        "high": {
      +                          "type": "integer"
      +                        },
      +                        "low": {
      +                          "type": "integer"
      +                        }
      +                      },
      +                      "type": "object"
      +                    },
      +                    "total_usd": {
      +                      "properties": {
      +                        "high": {
      +                          "type": "number"
      +                        },
      +                        "low": {
      +                          "type": "number"
      +                        }
      +                      },
      +                      "type": "object"
      +                    },
      +                    "usd_each": {
      +                      "type": "number"
      +                    }
      +                  },
      +                  "type": "object"
      +                },
      +                "text": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "kind",
      +                "text",
      +                "evidence"
      +              ],
      +              "type": "object"
      +            },
      +            "billing": {
      +              "type": "string"
      +            },
      +            "billing_options": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "cheapest_in_product": {
      +              "description": "The cheapest listed plan of the same product that meets every required condition of this call; is_this_plan is true when that is the checked plan. null when no plan of the product meets them all.",
      +              "properties": {
      +                "billing": {
      +                  "type": "string"
      +                },
      +                "is_this_plan": {
      +                  "type": "boolean"
      +                },
      +                "monthly_cost": {
      +                  "type": "object"
      +                },
      +                "offer_id": {
      +                  "type": "string"
      +                },
      +                "offer_name": {
      +                  "type": "string"
      +                },
      +                "page_url": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "offer_id",
      +                "offer_name",
      +                "billing",
      +                "monthly_cost",
      +                "is_this_plan"
      +              ],
      +              "type": [
      +                "object",
      +                "null"
      +              ]
      +            },
      +            "checked_at": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "conditions": {
      +              "items": {
      +                "properties": {
      +                  "condition": {
      +                    "type": "string"
      +                  },
      +                  "facts": {
      +                    "description": "Facts the verdict was judged from. The monthly budget is judged from monthly_cost; its price facts are listed there only.",
      +                    "items": {
      +                      "properties": {
      +                        "also_stated_in": {
      +                          "description": "get_details only: other official machine-readable documents of the provider (llms.txt, llms-full.txt, OpenAPI files, MCP tool listings) that contain the same quoted sentences.",
      +                          "items": {
      +                            "type": "string"
      +                          },
      +                          "type": "array"
      +                        },
      +                        "applies_to": {
      +                          "description": "get_details only: billing options (billing) or search engines (search_engines) the fact is limited to.",
      +                          "type": [
      +                            "object",
      +                            "null"
      +                          ]
      +                        },
      +                        "at_limit": {
      +                          "description": "Present for a plan with no automatic extra usage: what the official page says happens at the limit (kind no_extra_usage or restart_by_hand), with its sentence. With a workload that needs restarts, restarts gives their count, the price of each and the total, the numbers of monthly_cost.explanation.",
      +                          "properties": {
      +                            "evidence": {
      +                              "properties": {
      +                                "quote": {
      +                                  "type": "string"
      +                                },
      +                                "url": {
      +                                  "type": "string"
      +                                }
      +                              },
      +                              "type": "object"
      +                            },
      +                            "kind": {
      +                              "enum": [
      +                                "no_extra_usage",
      +                                "restart_by_hand"
      +                              ]
      +                            },
      +                            "restarts": {
      +                              "properties": {
      +                                "count": {
      +                                  "properties": {
      +                                    "high": {
      +                                      "type": "integer"
      +                                    },
      +                                    "low": {
      +                                      "type": "integer"
      +                                    }
      +                                  },
      +                                  "type": "object"
      +                                },
      +                                "total_usd": {
      +                                  "properties": {
      +                                    "high": {
      +                                      "type": "number"
      +                                    },
      +                                    "low": {
      +                                      "type": "number"
      +                                    }
      +                                  },
      +                                  "type": "object"
      +                                },
      +                                "usd_each": {
      +                                  "type": "number"
      +                                }
      +                              },
      +                              "type": "object"
      +                            },
      +                            "text": {
      +                              "type": "string"
      +                            }
      +                          },
      +                          "required": [
      +                            "kind",
      +                            "text",
      +                            "evidence"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        "checked_at": {
      +                          "type": [
      +                            "string",
      +                            "null"
      +                          ]
      +                        },
      +                        "concurrency_unit": {
      +                          "description": "get_details, concurrency only: the unit the page states the value in (unit, text such as \"100 threads\"). Against concurrent requests: equals_requests (value, text and the official line of the unit rule) when the unit rule counts this unit as requests, else note \"not the same unit as concurrent requests\"; \"unit not stated\" when the page names none.",
      +                          "type": "object"
      +                        },
      +                        "derived": {
      +                          "description": "How the value follows from the quoted sentence when it is not literal.",
      +                          "type": "string"
      +                        },
      +                        "evidence": {
      +                          "items": {
      +                            "properties": {
      +                              "quote": {
      +                                "description": "The sentence as it appears on that page.",
      +                                "type": "string"
      +                              },
      +                              "retrieved_at": {
      +                                "description": "Date the page was read (YYYY-MM-DD). Only with detail=full.",
      +                                "type": "string"
      +                              },
      +                              "source_type": {
      +                                "description": "Only with detail=full.",
      +                                "enum": [
      +                                  "official_pricing",
      +                                  "official_docs",
      +                                  "third_party"
      +                                ]
      +                              },
      +                              "url": {
      +                                "description": "Official page the sentence was found on.",
      +                                "type": "string"
      +                              }
      +                            },
      +                            "required": [
      +                              "url",
      +                              "quote"
      +                            ],
      +                            "type": "object"
      +                          },
      +                          "type": "array"
      +                        },
      +                        "exceptions": {
      +                          "description": "get_details only: plans with a different value.",
      +                          "type": "array"
      +                        },
      +                        "key": {
      +                          "type": "string"
      +                        },
      +                        "label": {
      +                          "type": "string"
      +                        },
      +                        "level": {
      +                          "description": "Where the fact is recorded: offer (the plan), product or provider.",
      +                          "type": [
      +                            "string",
      +                            "null"
      +                          ]
      +                        },
      +                        "note": {
      +                          "type": "string"
      +                        },
      +                        "stale": {
      +                          "type": "boolean"
      +                        },
      +                        "status": {
      +                          "description": "TRUE: stated with the value; FALSE / NOT_SUPPORTED: stated as unavailable; UNKNOWN: not stated; CONFLICT: official pages disagree (value lists each version); STALE: past its recheck date; MISSING: not recorded.",
      +                          "enum": [
      +                            "TRUE",
      +                            "FALSE",
      +                            "NOT_SUPPORTED",
      +                            "UNKNOWN",
      +                            "CONFLICT",
      +                            "STALE",
      +                            "MISSING"
      +                          ]
      +                        },
      +                        "value": {},
      +                        "via_exception": {
      +                          "description": "Present and true when a plan-specific exception replaced the general value.",
      +                          "type": "boolean"
      +                        }
      +                      },
      +                      "required": [
      +                        "key",
      +                        "status",
      +                        "value",
      +                        "level",
      +                        "evidence",
      +                        "checked_at"
      +                      ],
      +                      "type": "object"
      +                    },
      +                    "type": "array"
      +                  },
      +                  "label": {
      +                    "type": "string"
      +                  },
      +                  "reason": {
      +                    "type": "string"
      +                  },
      +                  "required": {
      +                    "type": "boolean"
      +                  },
      +                  "verdict": {
      +                    "enum": [
      +                      "MET",
      +                      "UNMET",
      +                      "UNKNOWN",
      +                      "UNIT_MISMATCH",
      +                      "UNIT_UNKNOWN"
      +                    ]
      +                  }
      +                },
      +                "required": [
      +                  "condition",
      +                  "label",
      +                  "required",
      +                  "verdict",
      +                  "reason",
      +                  "facts"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "facts_omitted": {
      +              "description": "search only: present and true when the source sentences under the conditions were left out so that the response fits one response; the verdicts, reasons and costs are unchanged. Ask check_conditions with the offer_id or get_details for the sentences.",
      +              "type": "boolean"
      +            },
      +            "link": {
      +              "properties": {
      +                "affiliate": {
      +                  "properties": {
      +                    "disclosure": {
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    },
      +                    "program": {
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    },
      +                    "status": {
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "status"
      +                  ],
      +                  "type": "object"
      +                },
      +                "landing": {
      +                  "type": "string"
      +                },
      +                "link_level": {
      +                  "type": "string"
      +                },
      +                "provider_url": {
      +                  "description": "The provider page itself, when url is this service's address that forwards to it.",
      +                  "type": "string"
      +                },
      +                "url": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "url",
      +                "landing",
      +                "link_level",
      +                "affiliate"
      +              ],
      +              "type": "object"
      +            },
      +            "listed": {
      +              "type": "boolean"
      +            },
      +            "match": {
      +              "enum": [
      +                "FULL_MATCH",
      +                "PARTIAL_MATCH",
      +                "NO_MATCH"
      +              ]
      +            },
      +            "meets_all": {
      +              "description": "Judged against the required conditions of this call only: true when every one is met, false when one is not met, \"unknown\" when none fails and one is not stated on the official pages.",
      +              "enum": [
      +                true,
      +                false,
      +                "unknown"
      +              ]
      +            },
      +            "monthly_cost": {
      +              "properties": {
      +                "explanation": {
      +                  "type": "string"
      +                },
      +                "facts": {
      +                  "description": "Price facts the cost was computed from.",
      +                  "items": {
      +                    "properties": {
      +                      "also_stated_in": {
      +                        "description": "get_details only: other official machine-readable documents of the provider (llms.txt, llms-full.txt, OpenAPI files, MCP tool listings) that contain the same quoted sentences.",
      +                        "items": {
      +                          "type": "string"
      +                        },
      +                        "type": "array"
      +                      },
      +                      "applies_to": {
      +                        "description": "get_details only: billing options (billing) or search engines (search_engines) the fact is limited to.",
      +                        "type": [
      +                          "object",
      +                          "null"
      +                        ]
      +                      },
      +                      "at_limit": {
      +                        "description": "Present for a plan with no automatic extra usage: what the official page says happens at the limit (kind no_extra_usage or restart_by_hand), with its sentence. With a workload that needs restarts, restarts gives their count, the price of each and the total, the numbers of monthly_cost.explanation.",
      +                        "properties": {
      +                          "evidence": {
      +                            "properties": {
      +                              "quote": {
      +                                "type": "string"
      +                              },
      +                              "url": {
      +                                "type": "string"
      +                              }
      +                            },
      +                            "type": "object"
      +                          },
      +                          "kind": {
      +                            "enum": [
      +                              "no_extra_usage",
      +                              "restart_by_hand"
      +                            ]
      +                          },
      +                          "restarts": {
      +                            "properties": {
      +                              "count": {
      +                                "properties": {
      +                                  "high": {
      +                                    "type": "integer"
      +                                  },
      +                                  "low": {
      +                                    "type": "integer"
      +                                  }
      +                                },
      +                                "type": "object"
      +                              },
      +                              "total_usd": {
      +                                "properties": {
      +                                  "high": {
      +                                    "type": "number"
      +                                  },
      +                                  "low": {
      +                                    "type": "number"
      +                                  }
      +                                },
      +                                "type": "object"
      +                              },
      +                              "usd_each": {
      +                                "type": "number"
      +                              }
      +                            },
      +                            "type": "object"
      +                          },
      +                          "text": {
      +                            "type": "string"
      +                          }
      +                        },
      +                        "required": [
      +                          "kind",
      +                          "text",
      +                          "evidence"
      +                        ],
      +                        "type": "object"
      +                      },
      +                      "checked_at": {
      +                        "type": [
      +                          "string",
      +                          "null"
      +                        ]
      +                      },
      +                      "concurrency_unit": {
      +                        "description": "get_details, concurrency only: the unit the page states the value in (unit, text such as \"100 threads\"). Against concurrent requests: equals_requests (value, text and the official line of the unit rule) when the unit rule counts this unit as requests, else note \"not the same unit as concurrent requests\"; \"unit not stated\" when the page names none.",
      +                        "type": "object"
      +                      },
      +                      "derived": {
      +                        "description": "How the value follows from the quoted sentence when it is not literal.",
      +                        "type": "string"
      +                      },
      +                      "evidence": {
      +                        "items": {
      +                          "properties": {
      +                            "quote": {
      +                              "description": "The sentence as it appears on that page.",
      +                              "type": "string"
      +                            },
      +                            "retrieved_at": {
      +                              "description": "Date the page was read (YYYY-MM-DD). Only with detail=full.",
      +                              "type": "string"
      +                            },
      +                            "source_type": {
      +                              "description": "Only with detail=full.",
      +                              "enum": [
      +                                "official_pricing",
      +                                "official_docs",
      +                                "third_party"
      +                              ]
      +                            },
      +                            "url": {
      +                              "description": "Official page the sentence was found on.",
      +                              "type": "string"
      +                            }
      +                          },
      +                          "required": [
      +                            "url",
      +                            "quote"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        "type": "array"
      +                      },
      +                      "exceptions": {
      +                        "description": "get_details only: plans with a different value.",
      +                        "type": "array"
      +                      },
      +                      "key": {
      +                        "type": "string"
      +                      },
      +                      "label": {
      +                        "type": "string"
      +                      },
      +                      "level": {
      +                        "description": "Where the fact is recorded: offer (the plan), product or provider.",
      +                        "type": [
      +                          "string",
      +                          "null"
      +                        ]
      +                      },
      +                      "note": {
      +                        "type": "string"
      +                      },
      +                      "stale": {
      +                        "type": "boolean"
      +                      },
      +                      "status": {
      +                        "description": "TRUE: stated with the value; FALSE / NOT_SUPPORTED: stated as unavailable; UNKNOWN: not stated; CONFLICT: official pages disagree (value lists each version); STALE: past its recheck date; MISSING: not recorded.",
      +                        "enum": [
      +                          "TRUE",
      +                          "FALSE",
      +                          "NOT_SUPPORTED",
      +                          "UNKNOWN",
      +                          "CONFLICT",
      +                          "STALE",
      +                          "MISSING"
      +                        ]
      +                      },
      +                      "value": {},
      +                      "via_exception": {
      +                        "description": "Present and true when a plan-specific exception replaced the general value.",
      +                        "type": "boolean"
      +                      }
      +                    },
      +                    "required": [
      +                      "key",
      +                      "status",
      +                      "value",
      +                      "level",
      +                      "evidence",
      +                      "checked_at"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                "high": {
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "low": {
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "lower_bound": {
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "status": {
      +                  "enum": [
      +                    "exact",
      +                    "range",
      +                    "lower_bound",
      +                    "unknown"
      +                  ]
      +                },
      +                "upfront_usd": {
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "usd": {
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                }
      +              },
      +              "required": [
      +                "status",
      +                "usd",
      +                "explanation"
      +              ],
      +              "type": "object"
      +            },
      +            "offer_id": {
      +              "type": "string"
      +            },
      +            "offer_name": {
      +              "type": "string"
      +            },
      +            "page_url": {
      +              "type": "string"
      +            },
      +            "preferred_met": {
      +              "type": "integer"
      +            },
      +            "prices_exclude_tax": {
      +              "type": [
      +                "boolean",
      +                "null"
      +              ]
      +            },
      +            "product_id": {
      +              "type": "string"
      +            },
      +            "product_name": {
      +              "type": "string"
      +            },
      +            "provider_id": {
      +              "type": "string"
      +            },
      +            "provider_name": {
      +              "type": "string"
      +            },
      +            "unknown_conditions": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "unmet_conditions": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "verdict": {
      +              "description": "One sentence: the conditions met, or the ones not met or not stated, with the reason.",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "offer_id",
      +            "offer_name",
      +            "product_id",
      +            "provider_name",
      +            "match",
      +            "meets_all",
      +            "verdict",
      +            "billing",
      +            "monthly_cost",
      +            "conditions",
      +            "unmet_conditions",
      +            "unknown_conditions",
      +            "link",
      +            "checked_at",
      +            "cheapest_in_product"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "answer",
      +      "as_of",
      +      "needs_input",
      +      "results",
      +      "assumptions",
      +      "notes"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "answer": {
      +        "type": "string"
      +      },
      +      "as_of": {
      +        "type": "string"
      +      },
      +      "format": {
      +        "enum": [
      +          "brief"
      +        ]
      +      },
      +      "needs_input": {
      +        "items": {
      +          "properties": {
      +            "field": {
      +              "type": "string"
      +            },
      +            "reason": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "field",
      +            "reason"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "resolution": {
      +        "type": "array"
      +      },
      +      "results": {
      +        "items": {
      +          "properties": {
      +            "conditions": {
      +              "items": {
      +                "properties": {
      +                  "condition": {
      +                    "type": "string"
      +                  },
      +                  "quote": {
      +                    "description": "One official source sentence, 200 characters at most.",
      +                    "type": "string"
      +                  },
      +                  "reason": {
      +                    "description": "One line, 120 characters at most.",
      +                    "type": "string"
      +                  },
      +                  "required": {
      +                    "description": "Present only on a preferred (nice-to-have) condition.",
      +                    "enum": [
      +                      false
      +                    ]
      +                  },
      +                  "url": {
      +                    "type": [
      +                      "string",
      +                      "null"
      +                    ]
      +                  },
      +                  "verdict": {
      +                    "enum": [
      +                      "MET",
      +                      "UNMET",
      +                      "UNKNOWN",
      +                      "UNIT_MISMATCH",
      +                      "UNIT_UNKNOWN"
      +                    ]
      +                  }
      +                },
      +                "required": [
      +                  "condition",
      +                  "verdict",
      +                  "reason"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "match": {
      +              "enum": [
      +                "FULL_MATCH",
      +                "PARTIAL_MATCH",
      +                "NO_MATCH"
      +              ]
      +            },
      +            "meets_all": {
      +              "description": "Judged against the required conditions of this call only: true when every one is met, false when one is not met, \"unknown\" when none fails and one is not stated on the official pages.",
      +              "enum": [
      +                true,
      +                false,
      +                "unknown"
      +              ]
      +            },
      +            "monthly_cost": {
      +              "description": "status, usd, and low, high or lower_bound when they differ; as in the full result.",
      +              "type": "object"
      +            },
      +            "offer_id": {
      +              "type": "string"
      +            },
      +            "offer_name": {
      +              "type": "string"
      +            },
      +            "provider": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "offer_id",
      +            "offer_name",
      +            "provider",
      +            "meets_all",
      +            "monthly_cost",
      +            "conditions"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "format",
      +      "answer",
      +      "as_of",
      +      "needs_input",
      +      "results"
      +    ],
      +    "type": "object"
      +  }
      +]
    • removedOutput schema / properties
      Removed value: -{
      -  "answer": {
      -    "description": "One sentence that opens the answer: the cheapest checked plan (or plan of the same product) that meets every required condition with its link, or, when none does, the closest checked plan with what it does not meet or what is unknown, and its link.",
      -    "type": "string"
      -  },
      -  "as_of": {
      -    "type": "string"
      -  },
      -  "assumptions": {
      -    "items": {
      -      "type": "string"
      -    },
      -    "type": "array"
      -  },
      -  "link_notes": {
      -    "additionalProperties": {
      -      "type": "string"
      -    },
      -    "description": "The note of each link level (link.link_level) of the plans in this result, stated once.",
      -    "type": "object"
      -  },
      -  "needs_input": {
      -    "items": {
      -      "properties": {
      -        "field": {
      -          "type": "string"
      -        },
      -        "reason": {
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "field",
      -        "reason"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  "notes": {
      -    "items": {
      -      "type": "string"
      -    },
      -    "type": "array"
      -  },
      -  "request": {
      -    "type": "object"
      -  },
      -  "resolution": {
      -    "description": "How each entry of plans was read.",
      -    "items": {
      -      "properties": {
      -        "candidates": {
      -          "items": {
      -            "properties": {
      -              "listed": {
      -                "type": "boolean"
      -              },
      -              "offer_id": {
      -                "type": "string"
      -              },
      -              "offer_name": {
      -                "type": "string"
      -              },
      -              "product_name": {
      -                "type": "string"
      -              },
      -              "provider_name": {
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "offer_id",
      -              "offer_name",
      -              "provider_name"
      -            ],
      -            "type": "object"
      -          },
      -          "type": "array"
      -        },
      -        "candidates_total": {
      -          "type": "integer"
      -        },
      -        "input": {
      -          "type": "string"
      -        },
      -        "matched_by": {
      -          "enum": [
      -            "id",
      -            "name",
      -            "url",
      -            null
      -          ]
      -        },
      -        "note": {
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "offer_id": {
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "status": {
      -          "description": "resolved: one plan, checked in results; ambiguous: several plans fit, listed in candidates and not checked; not_found: no plan in the catalog fits.",
      -          "enum": [
      -            "resolved",
      -            "ambiguous",
      -            "not_found"
      -          ]
      -        }
      -      },
      -      "required": [
      -        "input",
      -        "status",
      -        "offer_id",
      -        "candidates"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  "results": {
      -    "items": {
      -      "properties": {
      -        "assumptions": {
      -          "items": {
      -            "type": "string"
      -          },
      -          "type": "array"
      -        },
      -        "at_limit": {
      -          "description": "Present for a plan with no automatic extra usage: what the official page says happens at the limit (kind no_extra_usage or restart_by_hand), with its sentence. With a workload that needs restarts, restarts gives their count, the price of each and the total, the numbers of monthly_cost.explanation.",
      -          "properties": {
      -            "evidence": {
      -              "properties": {
      -                "quote": {
      -                  "type": "string"
      -                },
      -                "url": {
      -                  "type": "string"
      -                }
      -              },
      -              "type": "object"
      -            },
      -            "kind": {
      -              "enum": [
      -                "no_extra_usage",
      -                "restart_by_hand"
      -              ]
      -            },
      -            "restarts": {
      -              "properties": {
      -                "count": {
      -                  "properties": {
      -                    "high": {
      -                      "type": "integer"
      -                    },
      -                    "low": {
      -                      "type": "integer"
      -                    }
      -                  },
      -                  "type": "object"
      -                },
      -                "total_usd": {
      -                  "properties": {
      -                    "high": {
      -                      "type": "number"
      -                    },
      -                    "low": {
      -                      "type": "number"
      -                    }
      -                  },
      -                  "type": "object"
      -                },
      -                "usd_each": {
      -                  "type": "number"
      -                }
      -              },
      -              "type": "object"
      -            },
      -            "text": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "kind",
      -            "text",
      -            "evidence"
      -          ],
      -          "type": "object"
      -        },
      -        "billing": {
      -          "type": "string"
      -        },
      -        "billing_options": {
      -          "items": {
      -            "type": "string"
      -          },
      -          "type": "array"
      -        },
      -        "cheapest_in_product": {
      -          "description": "The cheapest listed plan of the same product that meets every required condition of this call; is_this_plan is true when that is the checked plan. null when no plan of the product meets them all.",
      -          "properties": {
      -            "billing": {
      -              "type": "string"
      -            },
      -            "is_this_plan": {
      -              "type": "boolean"
      -            },
      -            "monthly_cost": {
      -              "type": "object"
      -            },
      -            "offer_id": {
      -              "type": "string"
      -            },
      -            "offer_name": {
      -              "type": "string"
      -            },
      -            "page_url": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "offer_id",
      -            "offer_name",
      -            "billing",
      -            "monthly_cost",
      -            "is_this_plan"
      -          ],
      -          "type": [
      -            "object",
      -            "null"
      -          ]
      -        },
      -        "checked_at": {
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "conditions": {
      -          "items": {
      -            "properties": {
      -              "condition": {
      -                "type": "string"
      -              },
      -              "facts": {
      -                "description": "Facts the verdict was judged from. The monthly budget is judged from monthly_cost; its price facts are listed there only.",
      -                "items": {
      -                  "properties": {
      -                    "also_stated_in": {
      -                      "description": "get_details only: other official machine-readable documents of the provider (llms.txt, llms-full.txt, OpenAPI files, MCP tool listings) that contain the same quoted sentences.",
      -                      "items": {
      -                        "type": "string"
      -                      },
      -                      "type": "array"
      -                    },
      -                    "applies_to": {
      -                      "description": "get_details only: billing options (billing) or search engines (search_engines) the fact is limited to.",
      -                      "type": [
      -                        "object",
      -                        "null"
      -                      ]
      -                    },
      -                    "at_limit": {
      -                      "description": "Present for a plan with no automatic extra usage: what the official page says happens at the limit (kind no_extra_usage or restart_by_hand), with its sentence. With a workload that needs restarts, restarts gives their count, the price of each and the total, the numbers of monthly_cost.explanation.",
      -                      "properties": {
      -                        "evidence": {
      -                          "properties": {
      -                            "quote": {
      -                              "type": "string"
      -                            },
      -                            "url": {
      -                              "type": "string"
      -                            }
      -                          },
      -                          "type": "object"
      -                        },
      -                        "kind": {
      -                          "enum": [
      -                            "no_extra_usage",
      -                            "restart_by_hand"
      -                          ]
      -                        },
      -                        "restarts": {
      -                          "properties": {
      -                            "count": {
      -                              "properties": {
      -                                "high": {
      -                                  "type": "integer"
      -                                },
      -                                "low": {
      -                                  "type": "integer"
      -                                }
      -                              },
      -                              "type": "object"
      -                            },
      -                            "total_usd": {
      -                              "properties": {
      -                                "high": {
      -                                  "type": "number"
      -                                },
      -                                "low": {
      -                                  "type": "number"
      -                                }
      -                              },
      -                              "type": "object"
      -                            },
      -                            "usd_each": {
      -                              "type": "number"
      -                            }
      -                          },
      -                          "type": "object"
      -                        },
      -                        "text": {
      -                          "type": "string"
      -                        }
      -                      },
      -                      "required": [
      -                        "kind",
      -                        "text",
      -                        "evidence"
      -                      ],
      -                      "type": "object"
      -                    },
      -                    "checked_at": {
      -                      "type": [
      -                        "string",
      -                        "null"
      -                      ]
      -                    },
      -                    "concurrency_unit": {
      -                      "description": "get_details, concurrency only: the unit the page states the value in (unit, text such as \"100 threads\"). Against concurrent requests: equals_requests (value, text and the official line of the unit rule) when the unit rule counts this unit as requests, else note \"not the same unit as concurrent requests\"; \"unit not stated\" when the page names none.",
      -                      "type": "object"
      -                    },
      -                    "derived": {
      -                      "description": "How the value follows from the quoted sentence when it is not literal.",
      -                      "type": "string"
      -                    },
      -                    "evidence": {
      -                      "items": {
      -                        "properties": {
      -                          "quote": {
      -                            "description": "The sentence as it appears on that page.",
      -                            "type": "string"
      -                          },
      -                          "retrieved_at": {
      -                            "description": "Date the page was read (YYYY-MM-DD). Only with detail=full.",
      -                            "type": "string"
      -                          },
      -                          "source_type": {
      -                            "description": "Only with detail=full.",
      -                            "enum": [
      -                              "official_pricing",
      -                              "official_docs",
      -                              "third_party"
      -                            ]
      -                          },
      -                          "url": {
      -                            "description": "Official page the sentence was found on.",
      -                            "type": "string"
      -                          }
      -                        },
      -                        "required": [
      -                          "url",
      -                          "quote"
      -                        ],
      -                        "type": "object"
      -                      },
      -                      "type": "array"
      -                    },
      -                    "exceptions": {
      -                      "description": "get_details only: plans with a different value.",
      -                      "type": "array"
      -                    },
      -                    "key": {
      -                      "type": "string"
      -                    },
      -                    "label": {
      -                      "type": "string"
      -                    },
      -                    "level": {
      -                      "description": "Where the fact is recorded: offer (the plan), product or provider.",
      -                      "type": [
      -                        "string",
      -                        "null"
      -                      ]
      -                    },
      -                    "note": {
      -                      "type": "string"
      -                    },
      -                    "stale": {
      -                      "type": "boolean"
      -                    },
      -                    "status": {
      -                      "description": "TRUE: stated with the value; FALSE / NOT_SUPPORTED: stated as unavailable; UNKNOWN: not stated; CONFLICT: official pages disagree (value lists each version); STALE: past its recheck date; MISSING: not recorded.",
      -                      "enum": [
      -                        "TRUE",
      -                        "FALSE",
      -                        "NOT_SUPPORTED",
      -                        "UNKNOWN",
      -                        "CONFLICT",
      -                        "STALE",
      -                        "MISSING"
      -                      ]
      -                    },
      -                    "value": {},
      -                    "via_exception": {
      -                      "description": "Present and true when a plan-specific exception replaced the general value.",
      -                      "type": "boolean"
      -                    }
      -                  },
      -                  "required": [
      -                    "key",
      -                    "status",
      -                    "value",
      -                    "level",
      -                    "evidence",
      -                    "checked_at"
      -                  ],
      -                  "type": "object"
      -                },
      -                "type": "array"
      -              },
      -              "label": {
      -                "type": "string"
      -              },
      -              "reason": {
      -                "type": "string"
      -              },
      -              "required": {
      -                "type": "boolean"
      -              },
      -              "verdict": {
      -                "enum": [
      -                  "MET",
      -                  "UNMET",
      -                  "UNKNOWN",
      -                  "UNIT_MISMATCH",
      -                  "UNIT_UNKNOWN"
      -                ]
      -              }
      -            },
      -            "required": [
      -              "condition",
      -              "label",
      -              "required",
      -              "verdict",
      -              "reason",
      -              "facts"
      -            ],
      -            "type": "object"
      -          },
      -          "type": "array"
      -        },
      -        "facts_omitted": {
      -          "description": "search only: present and true when the source sentences under the conditions were left out so that the response fits one response; the verdicts, reasons and costs are unchanged. Ask check_conditions with the offer_id or get_details for the sentences.",
      -          "type": "boolean"
      -        },
      -        "link": {
      -          "properties": {
      -            "affiliate": {
      -              "properties": {
      -                "disclosure": {
      -                  "type": [
      -                    "string",
      -                    "null"
      -                  ]
      -                },
      -                "program": {
      -                  "type": [
      -                    "string",
      -                    "null"
      -                  ]
      -                },
      -                "status": {
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "status"
      -              ],
      -              "type": "object"
      -            },
      -            "landing": {
      -              "type": "string"
      -            },
      -            "link_level": {
      -              "type": "string"
      -            },
      -            "provider_url": {
      -              "description": "The provider page itself, when url is this service's address that forwards to it.",
      -              "type": "string"
      -            },
      -            "url": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "url",
      -            "landing",
      -            "link_level",
      -            "affiliate"
      -          ],
      -          "type": "object"
      -        },
      -        "listed": {
      -          "type": "boolean"
      -        },
      -        "match": {
      -          "enum": [
      -            "FULL_MATCH",
      -            "PARTIAL_MATCH",
      -            "NO_MATCH"
      -          ]
      -        },
      -        "meets_all": {
      -          "description": "Judged against the required conditions of this call only: true when every one is met, false when one is not met, \"unknown\" when none fails and one is not stated on the official pages.",
      -          "enum": [
      -            true,
      -            false,
      -            "unknown"
      -          ]
      -        },
      -        "monthly_cost": {
      -          "properties": {
      -            "explanation": {
      -              "type": "string"
      -            },
      -            "facts": {
      -              "description": "Price facts the cost was computed from.",
      -              "items": {
      -                "properties": {
      -                  "also_stated_in": {
      -                    "description": "get_details only: other official machine-readable documents of the provider (llms.txt, llms-full.txt, OpenAPI files, MCP tool listings) that contain the same quoted sentences.",
      -                    "items": {
      -                      "type": "string"
      -                    },
      -                    "type": "array"
      -                  },
      -                  "applies_to": {
      -                    "description": "get_details only: billing options (billing) or search engines (search_engines) the fact is limited to.",
      -                    "type": [
      -                      "object",
      -                      "null"
      -                    ]
      -                  },
      -                  "at_limit": {
      -                    "description": "Present for a plan with no automatic extra usage: what the official page says happens at the limit (kind no_extra_usage or restart_by_hand), with its sentence. With a workload that needs restarts, restarts gives their count, the price of each and the total, the numbers of monthly_cost.explanation.",
      -                    "properties": {
      -                      "evidence": {
      -                        "properties": {
      -                          "quote": {
      -                            "type": "string"
      -                          },
      -                          "url": {
      -                            "type": "string"
      -                          }
      -                        },
      -                        "type": "object"
      -                      },
      -                      "kind": {
      -                        "enum": [
      -                          "no_extra_usage",
      -                          "restart_by_hand"
      -                        ]
      -                      },
      -                      "restarts": {
      -                        "properties": {
      -                          "count": {
      -                            "properties": {
      -                              "high": {
      -                                "type": "integer"
      -                              },
      -                              "low": {
      -                                "type": "integer"
      -                              }
      -                            },
      -                            "type": "object"
      -                          },
      -                          "total_usd": {
      -                            "properties": {
      -                              "high": {
      -                                "type": "number"
      -                              },
      -                              "low": {
      -                                "type": "number"
      -                              }
      -                            },
      -                            "type": "object"
      -                          },
      -                          "usd_each": {
      -                            "type": "number"
      -                          }
      -                        },
      -                        "type": "object"
      -                      },
      -                      "text": {
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "kind",
      -                      "text",
      -                      "evidence"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  "checked_at": {
      -                    "type": [
      -                      "string",
      -                      "null"
      -                    ]
      -                  },
      -                  "concurrency_unit": {
      -                    "description": "get_details, concurrency only: the unit the page states the value in (unit, text such as \"100 threads\"). Against concurrent requests: equals_requests (value, text and the official line of the unit rule) when the unit rule counts this unit as requests, else note \"not the same unit as concurrent requests\"; \"unit not stated\" when the page names none.",
      -                    "type": "object"
      -                  },
      -                  "derived": {
      -                    "description": "How the value follows from the quoted sentence when it is not literal.",
      -                    "type": "string"
      -                  },
      -                  "evidence": {
      -                    "items": {
      -                      "properties": {
      -                        "quote": {
      -                          "description": "The sentence as it appears on that page.",
      -                          "type": "string"
      -                        },
      -                        "retrieved_at": {
      -                          "description": "Date the page was read (YYYY-MM-DD). Only with detail=full.",
      -                          "type": "string"
      -                        },
      -                        "source_type": {
      -                          "description": "Only with detail=full.",
      -                          "enum": [
      -                            "official_pricing",
      -                            "official_docs",
      -                            "third_party"
      -                          ]
      -                        },
      -                        "url": {
      -                          "description": "Official page the sentence was found on.",
      -                          "type": "string"
      -                        }
      -                      },
      -                      "required": [
      -                        "url",
      -                        "quote"
      -                      ],
      -                      "type": "object"
      -                    },
      -                    "type": "array"
      -                  },
      -                  "exceptions": {
      -                    "description": "get_details only: plans with a different value.",
      -                    "type": "array"
      -                  },
      -                  "key": {
      -                    "type": "string"
      -                  },
      -                  "label": {
      -                    "type": "string"
      -                  },
      -                  "level": {
      -                    "description": "Where the fact is recorded: offer (the plan), product or provider.",
      -                    "type": [
      -                      "string",
      -                      "null"
      -                    ]
      -                  },
      -                  "note": {
      -                    "type": "string"
      -                  },
      -                  "stale": {
      -                    "type": "boolean"
      -                  },
      -                  "status": {
      -                    "description": "TRUE: stated with the value; FALSE / NOT_SUPPORTED: stated as unavailable; UNKNOWN: not stated; CONFLICT: official pages disagree (value lists each version); STALE: past its recheck date; MISSING: not recorded.",
      -                    "enum": [
      -                      "TRUE",
      -                      "FALSE",
      -                      "NOT_SUPPORTED",
      -                      "UNKNOWN",
      -                      "CONFLICT",
      -                      "STALE",
      -                      "MISSING"
      -                    ]
      -                  },
      -                  "value": {},
      -                  "via_exception": {
      -                    "description": "Present and true when a plan-specific exception replaced the general value.",
      -                    "type": "boolean"
      -                  }
      -                },
      -                "required": [
      -                  "key",
      -                  "status",
      -                  "value",
      -                  "level",
      -                  "evidence",
      -                  "checked_at"
      -                ],
      -                "type": "object"
      -              },
      -              "type": "array"
      -            },
      -            "high": {
      -              "type": [
      -                "number",
      -                "null"
      -              ]
      -            },
      -            "low": {
      -              "type": [
      -                "number",
      -                "null"
      -              ]
      -            },
      -            "lower_bound": {
      -              "type": [
      -                "number",
      -                "null"
      -              ]
      -            },
      -            "status": {
      -              "enum": [
      -                "exact",
      -                "range",
      -                "lower_bound",
      -                "unknown"
      -              ]
      -            },
      -            "upfront_usd": {
      -              "type": [
      -                "number",
      -                "null"
      -              ]
      -            },
      -            "usd": {
      -              "type": [
      -                "number",
      -                "null"
      -              ]
      -            }
      -          },
      -          "required": [
      -            "status",
      -            "usd",
      -            "explanation"
      -          ],
      -          "type": "object"
      -        },
      -        "offer_id": {
      -          "type": "string"
      -        },
      -        "offer_name": {
      -          "type": "string"
      -        },
      -        "page_url": {
      -          "type": "string"
      -        },
      -        "preferred_met": {
      -          "type": "integer"
      -        },
      -        "prices_exclude_tax": {
      -          "type": [
      -            "boolean",
      -            "null"
      -          ]
      -        },
      -        "product_id": {
      -          "type": "string"
      -        },
      -        "product_name": {
      -          "type": "string"
      -        },
      -        "provider_id": {
      -          "type": "string"
      -        },
      -        "provider_name": {
      -          "type": "string"
      -        },
      -        "unknown_conditions": {
      -          "items": {
      -            "type": "string"
      -          },
      -          "type": "array"
      -        },
      -        "unmet_conditions": {
      -          "items": {
      -            "type": "string"
      -          },
      -          "type": "array"
      -        },
      -        "verdict": {
      -          "description": "One sentence: the conditions met, or the ones not met or not stated, with the reason.",
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "offer_id",
      -        "offer_name",
      -        "product_id",
      -        "provider_name",
      -        "match",
      -        "meets_all",
      -        "verdict",
      -        "billing",
      -        "monthly_cost",
      -        "conditions",
      -        "unmet_conditions",
      -        "unknown_conditions",
      -        "link",
      -        "checked_at",
      -        "cheapest_in_product"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  }
      -}
    • removedOutput schema / required
      Removed value: -[
      -  "answer",
      -  "as_of",
      -  "needs_input",
      -  "results",
      -  "assumptions",
      -  "notes"
      -]
  9. Changed1 schema field changed
    • addedOutput schema / properties / results / items / properties / facts_omitted
      Added value: +{
      +  "description": "search only: present and true when the source sentences under the conditions were left out so that the response fits one response; the verdicts, reasons and costs are unchanged. Ask check_conditions with the offer_id or get_details for the sentences.",
      +  "type": "boolean"
      +}
  10. Changed7 schema fields changed
    • addedOutput schema / properties / answer
      Added value: +{
      +  "description": "One sentence that opens the answer: the cheapest checked plan (or plan of the same product) that meets every required condition with its link, or, when none does, the closest checked plan with what it does not meet or what is unknown, and its link.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / results / items / properties / at_limit
      Added value: +{
      +  "description": "Present for a plan with no automatic extra usage: what the official page says happens at the limit (kind no_extra_usage or restart_by_hand), with its sentence. With a workload that needs restarts, restarts gives their count, the price of each and the total, the numbers of monthly_cost.explanation.",
      +  "properties": {
      +    "evidence": {
      +      "properties": {
      +        "quote": {
      +          "type": "string"
      +        },
      +        "url": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "kind": {
      +      "enum": [
      +        "no_extra_usage",
      +        "restart_by_hand"
      +      ]
      +    },
      +    "restarts": {
      +      "properties": {
      +        "count": {
      +          "properties": {
      +            "high": {
      +              "type": "integer"
      +            },
      +            "low": {
      +              "type": "integer"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "total_usd": {
      +          "properties": {
      +            "high": {
      +              "type": "number"
      +            },
      +            "low": {
      +              "type": "number"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "usd_each": {
      +          "type": "number"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "text": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "kind",
      +    "text",
      +    "evidence"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / results / items / properties / conditions / items / properties / facts / items / properties / at_limit
      Added value: +{
      +  "description": "Present for a plan with no automatic extra usage: what the official page says happens at the limit (kind no_extra_usage or restart_by_hand), with its sentence. With a workload that needs restarts, restarts gives their count, the price of each and the total, the numbers of monthly_cost.explanation.",
      +  "properties": {
      +    "evidence": {
      +      "properties": {
      +        "quote": {
      +          "type": "string"
      +        },
      +        "url": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "kind": {
      +      "enum": [
      +        "no_extra_usage",
      +        "restart_by_hand"
      +      ]
      +    },
      +    "restarts": {
      +      "properties": {
      +        "count": {
      +          "properties": {
      +            "high": {
      +              "type": "integer"
      +            },
      +            "low": {
      +              "type": "integer"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "total_usd": {
      +          "properties": {
      +            "high": {
      +              "type": "number"
      +            },
      +            "low": {
      +              "type": "number"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "usd_each": {
      +          "type": "number"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "text": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "kind",
      +    "text",
      +    "evidence"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / results / items / properties / conditions / items / properties / facts / items / properties / concurrency_unit
      Added value: +{
      +  "description": "get_details, concurrency only: the unit the page states the value in (unit, text such as \"100 threads\"). Against concurrent requests: equals_requests (value, text and the official line of the unit rule) when the unit rule counts this unit as requests, else note \"not the same unit as concurrent requests\"; \"unit not stated\" when the page names none.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / results / items / properties / monthly_cost / properties / facts / items / properties / at_limit
      Added value: +{
      +  "description": "Present for a plan with no automatic extra usage: what the official page says happens at the limit (kind no_extra_usage or restart_by_hand), with its sentence. With a workload that needs restarts, restarts gives their count, the price of each and the total, the numbers of monthly_cost.explanation.",
      +  "properties": {
      +    "evidence": {
      +      "properties": {
      +        "quote": {
      +          "type": "string"
      +        },
      +        "url": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "kind": {
      +      "enum": [
      +        "no_extra_usage",
      +        "restart_by_hand"
      +      ]
      +    },
      +    "restarts": {
      +      "properties": {
      +        "count": {
      +          "properties": {
      +            "high": {
      +              "type": "integer"
      +            },
      +            "low": {
      +              "type": "integer"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "total_usd": {
      +          "properties": {
      +            "high": {
      +              "type": "number"
      +            },
      +            "low": {
      +              "type": "number"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "usd_each": {
      +          "type": "number"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "text": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "kind",
      +    "text",
      +    "evidence"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / results / items / properties / monthly_cost / properties / facts / items / properties / concurrency_unit
      Added value: +{
      +  "description": "get_details, concurrency only: the unit the page states the value in (unit, text such as \"100 threads\"). Against concurrent requests: equals_requests (value, text and the official line of the unit rule) when the unit rule counts this unit as requests, else note \"not the same unit as concurrent requests\"; \"unit not stated\" when the page names none.",
      +  "type": "object"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "as_of",
      -  "needs_input",
      -  "results",
      -  "assumptions",
      -  "notes"
      -]New value: +[
      +  "answer",
      +  "as_of",
      +  "needs_input",
      +  "results",
      +  "assumptions",
      +  "notes"
      +]
  11. Changed1 schema field changed
    • addedOutput schema / properties / results / items / properties / link / properties / provider_url
      Added value: +{
      +  "description": "The provider page itself, when url is this service's address that forwards to it.",
      +  "type": "string"
      +}
  12. Changed3 schema fields changed
    • addedOutput schema / properties / link_notes
      Added value: +{
      +  "additionalProperties": {
      +    "type": "string"
      +  },
      +  "description": "The note of each link level (link.link_level) of the plans in this result, stated once.",
      +  "type": "object"
      +}
    • changedOutput schema / properties / results / items / properties / conditions / items / properties / verdict / enum
      Previous value: -[
      -  "MET",
      -  "UNMET",
      -  "UNKNOWN"
      -]New value: +[
      +  "MET",
      +  "UNMET",
      +  "UNKNOWN",
      +  "UNIT_MISMATCH",
      +  "UNIT_UNKNOWN"
      +]
    • removedOutput schema / properties / results / items / properties / link / properties / note
      Removed value: -{
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
  13. Changed2 schema fields changed
    • changedOutput schema / properties / results / items / properties / conditions / items / properties / facts / items / properties / applies_to / description
      Previous value: -"get_details only: billing options the fact is limited to."New value: +"get_details only: billing options (billing) or search engines (search_engines) the fact is limited to."
    • changedOutput schema / properties / results / items / properties / monthly_cost / properties / facts / items / properties / applies_to / description
      Previous value: -"get_details only: billing options the fact is limited to."New value: +"get_details only: billing options (billing) or search engines (search_engines) the fact is limited to."
  14. First observed

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover the safety profile (readOnly, idempotent, non-destructive, closed-world), and the description adds substantive behavior on top: per-condition verdicts of met/not met/unknown with the official source sentence, a purchase link, the cheapest qualifying plan of the same product, a 20-plan cap, and candidate resolution instead of guessing on ambiguous names/URLs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The when/when-not framing is front-loaded and the return-value sentence is well placed, but the definition is repetitive: the 'call it right before choosing or buying' directive and the plan-identifier enumeration both appear twice, adding length without new information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 58-parameter tool with a rich output schema, the description covers selection, scope limits, ambiguity handling and expected output adequately. It does not touch the workload inputs (monthly_emails, monthly_pages, etc.), but the exhaustive schema and output schema carry that burden.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 58 parameters and their semantics in depth. The description restates the plans-vs-offer_ids choice and the brief format behavior but adds no syntax or format detail the schema lacks, making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Check specific plans ... against the workload and conditions') and enumerates the accepted identifiers (plan id, plan name, pricing-page URL). It also explicitly differentiates itself from the sibling search tool, so an agent can tell them apart without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides an explicit 'Use this when' (user names specific plans and wants to know if they meet the load, or which same-product plan is cheapest that does) and a 'Do not use this when' routing to search for users with no plans in mind. It also specifies timing ('right before you choose or buy') and a fallback for pre-existing candidates (offer_ids from web search).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources