Skip to main content
Glama

Smallest condition changes that admit plans

relax_conditions
Read-onlyIdempotent

Use this when: search finds no plan or too few plans and the user wants to know which condition to loosen and by how much. Do not use this when: plans already match (use search or check_conditions). When no API plan, or too few API plans, meet every required condition: for each condition the user can change, returns the smallest change that lets at least one plan meet everything (for example the monthly budget needed, the concurrency available, or one exit-IP country to drop) and the plans it admits with their monthly cost. Also lists plans that fail only because a condition is not stated on the official pages, with the pages checked and the check date, so the user can confirm with the provider. Example: no plan meets 2,000,000 searches a month under $100.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "relax_conditions"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNoMaximum plans listed for each change and under confirm_with_provider (default 3).
detailNosummary returns one source sentence per fact; full returns every recorded fact and sentence.summary
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_dpaNoThe vendor must offer a data processing agreement (DPA) to the buyer.
needs_slaNoThe plan must come with a service level agreement (SLA).
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.
preferredNoNice-to-have conditions; they do not filter, they break ties. Put a condition the person calls nice to have ("would be good", "if possible", "되면 좋겠다") here, not as a required field.
needs_soc2NoThe provider must hold a SOC 2 report: true for Type I or Type II, "II" for Type II.
negotiableNoConditions the user said can change: monthly_volume, concurrency, rate_limit, monthly_budget, billing_type, free_allowance, failed_request_billing, success_billing, target_error_billing, geo_targeting, data_region, serp_response_mode, serp_localization, serp_result_types, serp_engines, crawl_page_limit, mcp_official, mcp_remote, mcp_auth, zdr, soc2, search_content, min_session_minutes, proxies_included, captcha_solving, session_recording, persistent_profiles, dedicated_ip, sending_domains, log_retention_days, inbound_parse, overage_per_1k, commercial_use, voice_cloning, streaming, languages_ko, data_not_used_for_training, batch, diarization, no_min_billing, batch_discount, max_pages_per_doc, table_extraction, webhook_events, signed_webhooks, data_processing_agreement, pronunciation_dictionary, cancel_anytime, input_owned_by_customer, output_owned_by_customer, word_timestamps, voice_design, emotion_control, on_prem_deployment, priority_support, training_opt_out, organizations, access_until_period_end_after_cancel, long_form_synthesis, pause_control, language_override_param, shared_credit_pool, data_deleted_on_account_deletion, quota_increase_on_request, nonverbal_tags, volume_discount, dedicated_support_channel, websocket_multi_context, browser_access_tokens, gdpr_compliant, ssml_parsing, credits_kept_on_plan_change, encryption_in_transit_and_at_rest, iso27001, pci_dss, usage_dashboard, auto_recharge, code_switching_within_sentence, voice_localization, ip_indemnity, ccpa_compliant, sla. Default: every required condition, each marked ask_user because the user has not said it can change.
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.
needs_pci_dssNoThe provider must state PCI DSS compliance.
product_typesNoLimit to these product types. Default: every type that can serve the workload.
needs_iso27001NoThe provider must be certified to ISO/IEC 27001.
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.
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_ip_indemnityNoThe provider must indemnify the buyer against intellectual-property claims over the service or its output.
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.
needs_ssml_parsingNoThe service must accept SSML markup in the input text.
needs_voice_designNoThe plan must let the buyer design a new voice from a description or prompt, for text-to-speech.
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_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_auto_rechargeNoPrepaid credits must be able to top up automatically when the balance falls below a threshold.
needs_organizationsNoThe plan must support organizations, teams or workspaces with several members.
needs_pause_controlNoThe service must let the buyer insert or control pauses (breaks) in the generated speech.
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_cancel_anytimeNoThe buyer must be able to cancel at any time, with no fixed term (an official line says so).
needs_ccpa_compliantNoThe provider must state that it complies with the CCPA (California privacy law).
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_gdpr_compliantNoThe provider must state that it complies with the GDPR.
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.
needs_nonverbal_tagsNoThe service must support nonverbal sounds (for example laughter or sighs) through tags in the text.
needs_webhook_eventsNoThe plan must send webhook events to the buyer's server (the vendor calls an address of the buyer when something happens).
needs_emotion_controlNoThe service must let the buyer control the emotion or expressiveness of the generated speech.
needs_input_ownershipNoThe terms must say the buyer keeps the rights to the content the buyer sends in.
needs_signed_webhooksNoThe plan must deliver webhooks that the buyer can verify by a signature (a signing secret or a signed endpoint).
needs_usage_dashboardNoThe provider must offer a dashboard or usage page where the buyer can see consumption.
needs_volume_discountNoThe plan must offer a volume discount or lower unit prices at high volume.
needs_word_timestampsNoThe service must return word-level timestamps (the time of each word).
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.
needs_output_ownershipNoThe terms must say the buyer owns the output the service generates.
needs_priority_supportNoThe plan must include priority support.
needs_table_extractionNoThe service must return the tables of a page as structure (rows and cells), not only the text, for document parsing.
needs_training_opt_outNoThe buyer must be able to opt out of having their data used to train models.
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.
needs_on_prem_deploymentNoThe service must be deployable on the buyer's own infrastructure (on-premises or self-hosted).
needs_shared_credit_poolNoOne credit balance must be shared across several products of the provider.
needs_voice_localizationNoThe service must offer voice localization (dubbing or adapting a voice to other languages or accents).
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_long_form_synthesisNoThe service must support synthesizing long texts (for example audiobooks or chapters), for text-to-speech.
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.
needs_browser_access_tokensNoThe API must offer tokens that let a browser or client call it without exposing the secret API key.
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.
needs_language_override_paramNoThe API must accept a language or locale parameter that sets the language of the synthesis.
needs_websocket_multi_contextNoOne WebSocket connection must be able to carry several independent synthesis contexts.
needs_pronunciation_dictionaryNoThe plan must let the buyer set custom pronunciations of words (a lexicon or pronunciation dictionary), for text-to-speech.
needs_dedicated_support_channelNoThe plan must include a dedicated support channel with the provider.
needs_quota_increase_on_requestNoThe provider must let the buyer request higher quotas or limits.
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.
needs_credits_kept_on_plan_changeNoUnused paid credits must stay in the balance when the buyer changes plan.
needs_code_switching_within_sentenceNoThe service must let one voice switch between languages inside one sentence.
needs_data_deleted_on_account_deletionNoThe provider must delete the buyer's data when the account is deleted.
needs_encryption_in_transit_and_at_restNoThe provider must state that data is encrypted in transit and at rest.
needs_access_until_period_end_after_cancelNoAfter cancelling, the buyer must keep access until the end of the period already paid for.

Output Schema

NameRequiredDescriptionDefault
as_ofYes
notesYes
countsYes
changesYes
requestNo
link_notesNoThe note of each link level (link.link_level) of the plans in this result, stated once.
assumptionsYes
needs_inputYes
confirm_with_providerYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed62 schema fields changed
    • addedInput schema / properties / needs_access_until_period_end_after_cancel
      Added value: +{
      +  "description": "After cancelling, the buyer must keep access until the end of the period already paid for.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_auto_recharge
      Added value: +{
      +  "description": "Prepaid credits must be able to top up automatically when the balance falls below a threshold.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_browser_access_tokens
      Added value: +{
      +  "description": "The API must offer tokens that let a browser or client call it without exposing the secret API key.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_ccpa_compliant
      Added value: +{
      +  "description": "The provider must state that it complies with the CCPA (California privacy law).",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_code_switching_within_sentence
      Added value: +{
      +  "description": "The service must let one voice switch between languages inside one sentence.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_credits_kept_on_plan_change
      Added value: +{
      +  "description": "Unused paid credits must stay in the balance when the buyer changes plan.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_data_deleted_on_account_deletion
      Added value: +{
      +  "description": "The provider must delete the buyer's data when the account is deleted.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_dedicated_support_channel
      Added value: +{
      +  "description": "The plan must include a dedicated support channel with the provider.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_emotion_control
      Added value: +{
      +  "description": "The service must let the buyer control the emotion or expressiveness of the generated speech.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_encryption_in_transit_and_at_rest
      Added value: +{
      +  "description": "The provider must state that data is encrypted in transit and at rest.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_gdpr_compliant
      Added value: +{
      +  "description": "The provider must state that it complies with the GDPR.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_ip_indemnity
      Added value: +{
      +  "description": "The provider must indemnify the buyer against intellectual-property claims over the service or its output.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_iso27001
      Added value: +{
      +  "description": "The provider must be certified to ISO/IEC 27001.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_language_override_param
      Added value: +{
      +  "description": "The API must accept a language or locale parameter that sets the language of the synthesis.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_long_form_synthesis
      Added value: +{
      +  "description": "The service must support synthesizing long texts (for example audiobooks or chapters), for text-to-speech.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_nonverbal_tags
      Added value: +{
      +  "description": "The service must support nonverbal sounds (for example laughter or sighs) through tags in the text.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_on_prem_deployment
      Added value: +{
      +  "description": "The service must be deployable on the buyer's own infrastructure (on-premises or self-hosted).",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_organizations
      Added value: +{
      +  "description": "The plan must support organizations, teams or workspaces with several members.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_pause_control
      Added value: +{
      +  "description": "The service must let the buyer insert or control pauses (breaks) in the generated speech.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_pci_dss
      Added value: +{
      +  "description": "The provider must state PCI DSS compliance.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_priority_support
      Added value: +{
      +  "description": "The plan must include priority support.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_quota_increase_on_request
      Added value: +{
      +  "description": "The provider must let the buyer request higher quotas or limits.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_shared_credit_pool
      Added value: +{
      +  "description": "One credit balance must be shared across several products of the provider.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_ssml_parsing
      Added value: +{
      +  "description": "The service must accept SSML markup in the input text.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_training_opt_out
      Added value: +{
      +  "description": "The buyer must be able to opt out of having their data used to train models.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_usage_dashboard
      Added value: +{
      +  "description": "The provider must offer a dashboard or usage page where the buyer can see consumption.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_voice_design
      Added value: +{
      +  "description": "The plan must let the buyer design a new voice from a description or prompt, for text-to-speech.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_voice_localization
      Added value: +{
      +  "description": "The service must offer voice localization (dubbing or adapting a voice to other languages or accents).",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_volume_discount
      Added value: +{
      +  "description": "The plan must offer a volume discount or lower unit prices at high volume.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_websocket_multi_context
      Added value: +{
      +  "description": "One WebSocket connection must be able to carry several independent synthesis contexts.",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / negotiable / description
      Previous value: -"Conditions the user said can change: monthly_volume, concurrency, rate_limit, monthly_budget, billing_type, free_allowance, failed_request_billing, success_billing, target_error_billing, geo_targeting, data_region, serp_response_mode, serp_localization, serp_result_types, serp_engines, crawl_page_limit, mcp_official, mcp_remote, mcp_auth, zdr, soc2, search_content, min_session_minutes, proxies_included, captcha_solving, session_recording, persistent_profiles, dedicated_ip, sending_domains, log_retention_days, inbound_parse, overage_per_1k, commercial_use, voice_cloning, streaming, languages_ko, data_not_used_for_training, batch, diarization, no_min_billing, batch_discount, max_pages_per_doc, table_extraction, webhook_events, signed_webhooks, data_processing_agreement, pronunciation_dictionary, cancel_anytime, input_owned_by_customer, output_owned_by_customer, word_timestamps, sla. Default: every required condition, each marked ask_user because the user has not said it can change."New value: +"Conditions the user said can change: monthly_volume, concurrency, rate_limit, monthly_budget, billing_type, free_allowance, failed_request_billing, success_billing, target_error_billing, geo_targeting, data_region, serp_response_mode, serp_localization, serp_result_types, serp_engines, crawl_page_limit, mcp_official, mcp_remote, mcp_auth, zdr, soc2, search_content, min_session_minutes, proxies_included, captcha_solving, session_recording, persistent_profiles, dedicated_ip, sending_domains, log_retention_days, inbound_parse, overage_per_1k, commercial_use, voice_cloning, streaming, languages_ko, data_not_used_for_training, batch, diarization, no_min_billing, batch_discount, max_pages_per_doc, table_extraction, webhook_events, signed_webhooks, data_processing_agreement, pronunciation_dictionary, cancel_anytime, input_owned_by_customer, output_owned_by_customer, word_timestamps, voice_design, emotion_control, on_prem_deployment, priority_support, training_opt_out, organizations, access_until_period_end_after_cancel, long_form_synthesis, pause_control, language_override_param, shared_credit_pool, data_deleted_on_account_deletion, quota_increase_on_request, nonverbal_tags, volume_discount, dedicated_support_channel, websocket_multi_context, browser_access_tokens, gdpr_compliant, ssml_parsing, credits_kept_on_plan_change, encryption_in_transit_and_at_rest, iso27001, pci_dss, usage_dashboard, auto_recharge, code_switching_within_sentence, voice_localization, ip_indemnity, ccpa_compliant, sla. Default: every required condition, each marked ask_user because the user has not said it can change."
    • changedInput schema / properties / negotiable / items / enum
      Previous value: -[
      -  "monthly_volume",
      -  "concurrency",
      -  "rate_limit",
      -  "monthly_budget",
      -  "billing_type",
      -  "free_allowance",
      -  "failed_request_billing",
      -  "success_billing",
      -  "target_error_billing",
      -  "geo_targeting",
      -  "data_region",
      -  "serp_response_mode",
      -  "serp_localization",
      -  "serp_result_types",
      -  "serp_engines",
      -  "crawl_page_limit",
      -  "mcp_official",
      -  "mcp_remote",
      -  "mcp_auth",
      -  "zdr",
      -  "soc2",
      -  "search_content",
      -  "min_session_minutes",
      -  "proxies_included",
      -  "captcha_solving",
      -  "session_recording",
      -  "persistent_profiles",
      -  "dedicated_ip",
      -  "sending_domains",
      -  "log_retention_days",
      -  "inbound_parse",
      -  "overage_per_1k",
      -  "commercial_use",
      -  "voice_cloning",
      -  "streaming",
      -  "languages_ko",
      -  "data_not_used_for_training",
      -  "batch",
      -  "diarization",
      -  "no_min_billing",
      -  "batch_discount",
      -  "max_pages_per_doc",
      -  "table_extraction",
      -  "webhook_events",
      -  "signed_webhooks",
      -  "data_processing_agreement",
      -  "pronunciation_dictionary",
      -  "cancel_anytime",
      -  "input_owned_by_customer",
      -  "output_owned_by_customer",
      -  "word_timestamps",
      -  "sla"
      -]New value: +[
      +  "monthly_volume",
      +  "concurrency",
      +  "rate_limit",
      +  "monthly_budget",
      +  "billing_type",
      +  "free_allowance",
      +  "failed_request_billing",
      +  "success_billing",
      +  "target_error_billing",
      +  "geo_targeting",
      +  "data_region",
      +  "serp_response_mode",
      +  "serp_localization",
      +  "serp_result_types",
      +  "serp_engines",
      +  "crawl_page_limit",
      +  "mcp_official",
      +  "mcp_remote",
      +  "mcp_auth",
      +  "zdr",
      +  "soc2",
      +  "search_content",
      +  "min_session_minutes",
      +  "proxies_included",
      +  "captcha_solving",
      +  "session_recording",
      +  "persistent_profiles",
      +  "dedicated_ip",
      +  "sending_domains",
      +  "log_retention_days",
      +  "inbound_parse",
      +  "overage_per_1k",
      +  "commercial_use",
      +  "voice_cloning",
      +  "streaming",
      +  "languages_ko",
      +  "data_not_used_for_training",
      +  "batch",
      +  "diarization",
      +  "no_min_billing",
      +  "batch_discount",
      +  "max_pages_per_doc",
      +  "table_extraction",
      +  "webhook_events",
      +  "signed_webhooks",
      +  "data_processing_agreement",
      +  "pronunciation_dictionary",
      +  "cancel_anytime",
      +  "input_owned_by_customer",
      +  "output_owned_by_customer",
      +  "word_timestamps",
      +  "voice_design",
      +  "emotion_control",
      +  "on_prem_deployment",
      +  "priority_support",
      +  "training_opt_out",
      +  "organizations",
      +  "access_until_period_end_after_cancel",
      +  "long_form_synthesis",
      +  "pause_control",
      +  "language_override_param",
      +  "shared_credit_pool",
      +  "data_deleted_on_account_deletion",
      +  "quota_increase_on_request",
      +  "nonverbal_tags",
      +  "volume_discount",
      +  "dedicated_support_channel",
      +  "websocket_multi_context",
      +  "browser_access_tokens",
      +  "gdpr_compliant",
      +  "ssml_parsing",
      +  "credits_kept_on_plan_change",
      +  "encryption_in_transit_and_at_rest",
      +  "iso27001",
      +  "pci_dss",
      +  "usage_dashboard",
      +  "auto_recharge",
      +  "code_switching_within_sentence",
      +  "voice_localization",
      +  "ip_indemnity",
      +  "ccpa_compliant",
      +  "sla"
      +]
    • addedInput schema / properties / preferred / properties / needs_access_until_period_end_after_cancel
      Added value: +{
      +  "description": "After cancelling, the buyer must keep access until the end of the period already paid for.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_auto_recharge
      Added value: +{
      +  "description": "Prepaid credits must be able to top up automatically when the balance falls below a threshold.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_browser_access_tokens
      Added value: +{
      +  "description": "The API must offer tokens that let a browser or client call it without exposing the secret API key.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_ccpa_compliant
      Added value: +{
      +  "description": "The provider must state that it complies with the CCPA (California privacy law).",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_code_switching_within_sentence
      Added value: +{
      +  "description": "The service must let one voice switch between languages inside one sentence.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_credits_kept_on_plan_change
      Added value: +{
      +  "description": "Unused paid credits must stay in the balance when the buyer changes plan.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_data_deleted_on_account_deletion
      Added value: +{
      +  "description": "The provider must delete the buyer's data when the account is deleted.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_dedicated_support_channel
      Added value: +{
      +  "description": "The plan must include a dedicated support channel with the provider.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_emotion_control
      Added value: +{
      +  "description": "The service must let the buyer control the emotion or expressiveness of the generated speech.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_encryption_in_transit_and_at_rest
      Added value: +{
      +  "description": "The provider must state that data is encrypted in transit and at rest.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_gdpr_compliant
      Added value: +{
      +  "description": "The provider must state that it complies with the GDPR.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_ip_indemnity
      Added value: +{
      +  "description": "The provider must indemnify the buyer against intellectual-property claims over the service or its output.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_iso27001
      Added value: +{
      +  "description": "The provider must be certified to ISO/IEC 27001.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_language_override_param
      Added value: +{
      +  "description": "The API must accept a language or locale parameter that sets the language of the synthesis.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_long_form_synthesis
      Added value: +{
      +  "description": "The service must support synthesizing long texts (for example audiobooks or chapters), for text-to-speech.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_nonverbal_tags
      Added value: +{
      +  "description": "The service must support nonverbal sounds (for example laughter or sighs) through tags in the text.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_on_prem_deployment
      Added value: +{
      +  "description": "The service must be deployable on the buyer's own infrastructure (on-premises or self-hosted).",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_organizations
      Added value: +{
      +  "description": "The plan must support organizations, teams or workspaces with several members.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_pause_control
      Added value: +{
      +  "description": "The service must let the buyer insert or control pauses (breaks) in the generated speech.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_pci_dss
      Added value: +{
      +  "description": "The provider must state PCI DSS compliance.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_priority_support
      Added value: +{
      +  "description": "The plan must include priority support.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_quota_increase_on_request
      Added value: +{
      +  "description": "The provider must let the buyer request higher quotas or limits.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_shared_credit_pool
      Added value: +{
      +  "description": "One credit balance must be shared across several products of the provider.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_ssml_parsing
      Added value: +{
      +  "description": "The service must accept SSML markup in the input text.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_training_opt_out
      Added value: +{
      +  "description": "The buyer must be able to opt out of having their data used to train models.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_usage_dashboard
      Added value: +{
      +  "description": "The provider must offer a dashboard or usage page where the buyer can see consumption.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_voice_design
      Added value: +{
      +  "description": "The plan must let the buyer design a new voice from a description or prompt, for text-to-speech.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_voice_localization
      Added value: +{
      +  "description": "The service must offer voice localization (dubbing or adapting a voice to other languages or accents).",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_volume_discount
      Added value: +{
      +  "description": "The plan must offer a volume discount or lower unit prices at high volume.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_websocket_multi_context
      Added value: +{
      +  "description": "One WebSocket connection must be able to carry several independent synthesis contexts.",
      +  "type": "boolean"
      +}
  2. Changed62 schema fields changed
    • removedInput schema / properties / needs_access_until_period_end_after_cancel
      Removed value: -{
      -  "description": "After cancelling, the buyer must keep access until the end of the period already paid for.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_auto_recharge
      Removed value: -{
      -  "description": "Prepaid credits must be able to top up automatically when the balance falls below a threshold.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_browser_access_tokens
      Removed value: -{
      -  "description": "The API must offer tokens that let a browser or client call it without exposing the secret API key.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_ccpa_compliant
      Removed value: -{
      -  "description": "The provider must state that it complies with the CCPA (California privacy law).",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_code_switching_within_sentence
      Removed value: -{
      -  "description": "The service must let one voice switch between languages inside one sentence.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_credits_kept_on_plan_change
      Removed value: -{
      -  "description": "Unused paid credits must stay in the balance when the buyer changes plan.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_data_deleted_on_account_deletion
      Removed value: -{
      -  "description": "The provider must delete the buyer's data when the account is deleted.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_dedicated_support_channel
      Removed value: -{
      -  "description": "The plan must include a dedicated support channel with the provider.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_emotion_control
      Removed value: -{
      -  "description": "The service must let the buyer control the emotion or expressiveness of the generated speech.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_encryption_in_transit_and_at_rest
      Removed value: -{
      -  "description": "The provider must state that data is encrypted in transit and at rest.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_gdpr_compliant
      Removed value: -{
      -  "description": "The provider must state that it complies with the GDPR.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_ip_indemnity
      Removed value: -{
      -  "description": "The provider must indemnify the buyer against intellectual-property claims over the service or its output.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_iso27001
      Removed value: -{
      -  "description": "The provider must be certified to ISO/IEC 27001.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_language_override_param
      Removed value: -{
      -  "description": "The API must accept a language or locale parameter that sets the language of the synthesis.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_long_form_synthesis
      Removed value: -{
      -  "description": "The service must support synthesizing long texts (for example audiobooks or chapters), for text-to-speech.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_nonverbal_tags
      Removed value: -{
      -  "description": "The service must support nonverbal sounds (for example laughter or sighs) through tags in the text.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_on_prem_deployment
      Removed value: -{
      -  "description": "The service must be deployable on the buyer's own infrastructure (on-premises or self-hosted).",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_organizations
      Removed value: -{
      -  "description": "The plan must support organizations, teams or workspaces with several members.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_pause_control
      Removed value: -{
      -  "description": "The service must let the buyer insert or control pauses (breaks) in the generated speech.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_pci_dss
      Removed value: -{
      -  "description": "The provider must state PCI DSS compliance.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_priority_support
      Removed value: -{
      -  "description": "The plan must include priority support.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_quota_increase_on_request
      Removed value: -{
      -  "description": "The provider must let the buyer request higher quotas or limits.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_shared_credit_pool
      Removed value: -{
      -  "description": "One credit balance must be shared across several products of the provider.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_ssml_parsing
      Removed value: -{
      -  "description": "The service must accept SSML markup in the input text.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_training_opt_out
      Removed value: -{
      -  "description": "The buyer must be able to opt out of having their data used to train models.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_usage_dashboard
      Removed value: -{
      -  "description": "The provider must offer a dashboard or usage page where the buyer can see consumption.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_voice_design
      Removed value: -{
      -  "description": "The plan must let the buyer design a new voice from a description or prompt, for text-to-speech.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_voice_localization
      Removed value: -{
      -  "description": "The service must offer voice localization (dubbing or adapting a voice to other languages or accents).",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_volume_discount
      Removed value: -{
      -  "description": "The plan must offer a volume discount or lower unit prices at high volume.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_websocket_multi_context
      Removed value: -{
      -  "description": "One WebSocket connection must be able to carry several independent synthesis contexts.",
      -  "type": "boolean"
      -}
    • changedInput schema / properties / negotiable / description
      Previous value: -"Conditions the user said can change: monthly_volume, concurrency, rate_limit, monthly_budget, billing_type, free_allowance, failed_request_billing, success_billing, target_error_billing, geo_targeting, data_region, serp_response_mode, serp_localization, serp_result_types, serp_engines, crawl_page_limit, mcp_official, mcp_remote, mcp_auth, zdr, soc2, search_content, min_session_minutes, proxies_included, captcha_solving, session_recording, persistent_profiles, dedicated_ip, sending_domains, log_retention_days, inbound_parse, overage_per_1k, commercial_use, voice_cloning, streaming, languages_ko, data_not_used_for_training, batch, diarization, no_min_billing, batch_discount, max_pages_per_doc, table_extraction, webhook_events, signed_webhooks, data_processing_agreement, pronunciation_dictionary, cancel_anytime, input_owned_by_customer, output_owned_by_customer, word_timestamps, voice_design, emotion_control, on_prem_deployment, priority_support, training_opt_out, organizations, access_until_period_end_after_cancel, long_form_synthesis, pause_control, language_override_param, shared_credit_pool, data_deleted_on_account_deletion, quota_increase_on_request, nonverbal_tags, volume_discount, dedicated_support_channel, websocket_multi_context, browser_access_tokens, gdpr_compliant, ssml_parsing, credits_kept_on_plan_change, encryption_in_transit_and_at_rest, iso27001, pci_dss, usage_dashboard, auto_recharge, code_switching_within_sentence, voice_localization, ip_indemnity, ccpa_compliant, sla. Default: every required condition, each marked ask_user because the user has not said it can change."New value: +"Conditions the user said can change: monthly_volume, concurrency, rate_limit, monthly_budget, billing_type, free_allowance, failed_request_billing, success_billing, target_error_billing, geo_targeting, data_region, serp_response_mode, serp_localization, serp_result_types, serp_engines, crawl_page_limit, mcp_official, mcp_remote, mcp_auth, zdr, soc2, search_content, min_session_minutes, proxies_included, captcha_solving, session_recording, persistent_profiles, dedicated_ip, sending_domains, log_retention_days, inbound_parse, overage_per_1k, commercial_use, voice_cloning, streaming, languages_ko, data_not_used_for_training, batch, diarization, no_min_billing, batch_discount, max_pages_per_doc, table_extraction, webhook_events, signed_webhooks, data_processing_agreement, pronunciation_dictionary, cancel_anytime, input_owned_by_customer, output_owned_by_customer, word_timestamps, sla. Default: every required condition, each marked ask_user because the user has not said it can change."
    • changedInput schema / properties / negotiable / items / enum
      Previous value: -[
      -  "monthly_volume",
      -  "concurrency",
      -  "rate_limit",
      -  "monthly_budget",
      -  "billing_type",
      -  "free_allowance",
      -  "failed_request_billing",
      -  "success_billing",
      -  "target_error_billing",
      -  "geo_targeting",
      -  "data_region",
      -  "serp_response_mode",
      -  "serp_localization",
      -  "serp_result_types",
      -  "serp_engines",
      -  "crawl_page_limit",
      -  "mcp_official",
      -  "mcp_remote",
      -  "mcp_auth",
      -  "zdr",
      -  "soc2",
      -  "search_content",
      -  "min_session_minutes",
      -  "proxies_included",
      -  "captcha_solving",
      -  "session_recording",
      -  "persistent_profiles",
      -  "dedicated_ip",
      -  "sending_domains",
      -  "log_retention_days",
      -  "inbound_parse",
      -  "overage_per_1k",
      -  "commercial_use",
      -  "voice_cloning",
      -  "streaming",
      -  "languages_ko",
      -  "data_not_used_for_training",
      -  "batch",
      -  "diarization",
      -  "no_min_billing",
      -  "batch_discount",
      -  "max_pages_per_doc",
      -  "table_extraction",
      -  "webhook_events",
      -  "signed_webhooks",
      -  "data_processing_agreement",
      -  "pronunciation_dictionary",
      -  "cancel_anytime",
      -  "input_owned_by_customer",
      -  "output_owned_by_customer",
      -  "word_timestamps",
      -  "voice_design",
      -  "emotion_control",
      -  "on_prem_deployment",
      -  "priority_support",
      -  "training_opt_out",
      -  "organizations",
      -  "access_until_period_end_after_cancel",
      -  "long_form_synthesis",
      -  "pause_control",
      -  "language_override_param",
      -  "shared_credit_pool",
      -  "data_deleted_on_account_deletion",
      -  "quota_increase_on_request",
      -  "nonverbal_tags",
      -  "volume_discount",
      -  "dedicated_support_channel",
      -  "websocket_multi_context",
      -  "browser_access_tokens",
      -  "gdpr_compliant",
      -  "ssml_parsing",
      -  "credits_kept_on_plan_change",
      -  "encryption_in_transit_and_at_rest",
      -  "iso27001",
      -  "pci_dss",
      -  "usage_dashboard",
      -  "auto_recharge",
      -  "code_switching_within_sentence",
      -  "voice_localization",
      -  "ip_indemnity",
      -  "ccpa_compliant",
      -  "sla"
      -]New value: +[
      +  "monthly_volume",
      +  "concurrency",
      +  "rate_limit",
      +  "monthly_budget",
      +  "billing_type",
      +  "free_allowance",
      +  "failed_request_billing",
      +  "success_billing",
      +  "target_error_billing",
      +  "geo_targeting",
      +  "data_region",
      +  "serp_response_mode",
      +  "serp_localization",
      +  "serp_result_types",
      +  "serp_engines",
      +  "crawl_page_limit",
      +  "mcp_official",
      +  "mcp_remote",
      +  "mcp_auth",
      +  "zdr",
      +  "soc2",
      +  "search_content",
      +  "min_session_minutes",
      +  "proxies_included",
      +  "captcha_solving",
      +  "session_recording",
      +  "persistent_profiles",
      +  "dedicated_ip",
      +  "sending_domains",
      +  "log_retention_days",
      +  "inbound_parse",
      +  "overage_per_1k",
      +  "commercial_use",
      +  "voice_cloning",
      +  "streaming",
      +  "languages_ko",
      +  "data_not_used_for_training",
      +  "batch",
      +  "diarization",
      +  "no_min_billing",
      +  "batch_discount",
      +  "max_pages_per_doc",
      +  "table_extraction",
      +  "webhook_events",
      +  "signed_webhooks",
      +  "data_processing_agreement",
      +  "pronunciation_dictionary",
      +  "cancel_anytime",
      +  "input_owned_by_customer",
      +  "output_owned_by_customer",
      +  "word_timestamps",
      +  "sla"
      +]
    • removedInput schema / properties / preferred / properties / needs_access_until_period_end_after_cancel
      Removed value: -{
      -  "description": "After cancelling, the buyer must keep access until the end of the period already paid for.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_auto_recharge
      Removed value: -{
      -  "description": "Prepaid credits must be able to top up automatically when the balance falls below a threshold.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_browser_access_tokens
      Removed value: -{
      -  "description": "The API must offer tokens that let a browser or client call it without exposing the secret API key.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_ccpa_compliant
      Removed value: -{
      -  "description": "The provider must state that it complies with the CCPA (California privacy law).",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_code_switching_within_sentence
      Removed value: -{
      -  "description": "The service must let one voice switch between languages inside one sentence.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_credits_kept_on_plan_change
      Removed value: -{
      -  "description": "Unused paid credits must stay in the balance when the buyer changes plan.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_data_deleted_on_account_deletion
      Removed value: -{
      -  "description": "The provider must delete the buyer's data when the account is deleted.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_dedicated_support_channel
      Removed value: -{
      -  "description": "The plan must include a dedicated support channel with the provider.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_emotion_control
      Removed value: -{
      -  "description": "The service must let the buyer control the emotion or expressiveness of the generated speech.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_encryption_in_transit_and_at_rest
      Removed value: -{
      -  "description": "The provider must state that data is encrypted in transit and at rest.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_gdpr_compliant
      Removed value: -{
      -  "description": "The provider must state that it complies with the GDPR.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_ip_indemnity
      Removed value: -{
      -  "description": "The provider must indemnify the buyer against intellectual-property claims over the service or its output.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_iso27001
      Removed value: -{
      -  "description": "The provider must be certified to ISO/IEC 27001.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_language_override_param
      Removed value: -{
      -  "description": "The API must accept a language or locale parameter that sets the language of the synthesis.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_long_form_synthesis
      Removed value: -{
      -  "description": "The service must support synthesizing long texts (for example audiobooks or chapters), for text-to-speech.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_nonverbal_tags
      Removed value: -{
      -  "description": "The service must support nonverbal sounds (for example laughter or sighs) through tags in the text.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_on_prem_deployment
      Removed value: -{
      -  "description": "The service must be deployable on the buyer's own infrastructure (on-premises or self-hosted).",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_organizations
      Removed value: -{
      -  "description": "The plan must support organizations, teams or workspaces with several members.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_pause_control
      Removed value: -{
      -  "description": "The service must let the buyer insert or control pauses (breaks) in the generated speech.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_pci_dss
      Removed value: -{
      -  "description": "The provider must state PCI DSS compliance.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_priority_support
      Removed value: -{
      -  "description": "The plan must include priority support.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_quota_increase_on_request
      Removed value: -{
      -  "description": "The provider must let the buyer request higher quotas or limits.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_shared_credit_pool
      Removed value: -{
      -  "description": "One credit balance must be shared across several products of the provider.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_ssml_parsing
      Removed value: -{
      -  "description": "The service must accept SSML markup in the input text.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_training_opt_out
      Removed value: -{
      -  "description": "The buyer must be able to opt out of having their data used to train models.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_usage_dashboard
      Removed value: -{
      -  "description": "The provider must offer a dashboard or usage page where the buyer can see consumption.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_voice_design
      Removed value: -{
      -  "description": "The plan must let the buyer design a new voice from a description or prompt, for text-to-speech.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_voice_localization
      Removed value: -{
      -  "description": "The service must offer voice localization (dubbing or adapting a voice to other languages or accents).",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_volume_discount
      Removed value: -{
      -  "description": "The plan must offer a volume discount or lower unit prices at high volume.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_websocket_multi_context
      Removed value: -{
      -  "description": "One WebSocket connection must be able to carry several independent synthesis contexts.",
      -  "type": "boolean"
      -}
  3. Changed72 schema fields changed
    • addedInput schema / properties / needs_access_until_period_end_after_cancel
      Added value: +{
      +  "description": "After cancelling, the buyer must keep access until the end of the period already paid for.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_auto_recharge
      Added value: +{
      +  "description": "Prepaid credits must be able to top up automatically when the balance falls below a threshold.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_browser_access_tokens
      Added value: +{
      +  "description": "The API must offer tokens that let a browser or client call it without exposing the secret API key.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_cancel_anytime
      Added value: +{
      +  "description": "The buyer must be able to cancel at any time, with no fixed term (an official line says so).",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_ccpa_compliant
      Added value: +{
      +  "description": "The provider must state that it complies with the CCPA (California privacy law).",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_code_switching_within_sentence
      Added value: +{
      +  "description": "The service must let one voice switch between languages inside one sentence.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_credits_kept_on_plan_change
      Added value: +{
      +  "description": "Unused paid credits must stay in the balance when the buyer changes plan.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_data_deleted_on_account_deletion
      Added value: +{
      +  "description": "The provider must delete the buyer's data when the account is deleted.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_dedicated_support_channel
      Added value: +{
      +  "description": "The plan must include a dedicated support channel with the provider.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_emotion_control
      Added value: +{
      +  "description": "The service must let the buyer control the emotion or expressiveness of the generated speech.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_encryption_in_transit_and_at_rest
      Added value: +{
      +  "description": "The provider must state that data is encrypted in transit and at rest.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_gdpr_compliant
      Added value: +{
      +  "description": "The provider must state that it complies with the GDPR.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_input_ownership
      Added value: +{
      +  "description": "The terms must say the buyer keeps the rights to the content the buyer sends in.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_ip_indemnity
      Added value: +{
      +  "description": "The provider must indemnify the buyer against intellectual-property claims over the service or its output.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_iso27001
      Added value: +{
      +  "description": "The provider must be certified to ISO/IEC 27001.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_language_override_param
      Added value: +{
      +  "description": "The API must accept a language or locale parameter that sets the language of the synthesis.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_long_form_synthesis
      Added value: +{
      +  "description": "The service must support synthesizing long texts (for example audiobooks or chapters), for text-to-speech.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_nonverbal_tags
      Added value: +{
      +  "description": "The service must support nonverbal sounds (for example laughter or sighs) through tags in the text.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_on_prem_deployment
      Added value: +{
      +  "description": "The service must be deployable on the buyer's own infrastructure (on-premises or self-hosted).",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_organizations
      Added value: +{
      +  "description": "The plan must support organizations, teams or workspaces with several members.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_output_ownership
      Added value: +{
      +  "description": "The terms must say the buyer owns the output the service generates.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_pause_control
      Added value: +{
      +  "description": "The service must let the buyer insert or control pauses (breaks) in the generated speech.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_pci_dss
      Added value: +{
      +  "description": "The provider must state PCI DSS compliance.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_priority_support
      Added value: +{
      +  "description": "The plan must include priority support.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_pronunciation_dictionary
      Added value: +{
      +  "description": "The plan must let the buyer set custom pronunciations of words (a lexicon or pronunciation dictionary), for text-to-speech.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_quota_increase_on_request
      Added value: +{
      +  "description": "The provider must let the buyer request higher quotas or limits.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_shared_credit_pool
      Added value: +{
      +  "description": "One credit balance must be shared across several products of the provider.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_ssml_parsing
      Added value: +{
      +  "description": "The service must accept SSML markup in the input text.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_training_opt_out
      Added value: +{
      +  "description": "The buyer must be able to opt out of having their data used to train models.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_usage_dashboard
      Added value: +{
      +  "description": "The provider must offer a dashboard or usage page where the buyer can see consumption.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_voice_design
      Added value: +{
      +  "description": "The plan must let the buyer design a new voice from a description or prompt, for text-to-speech.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_voice_localization
      Added value: +{
      +  "description": "The service must offer voice localization (dubbing or adapting a voice to other languages or accents).",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_volume_discount
      Added value: +{
      +  "description": "The plan must offer a volume discount or lower unit prices at high volume.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_websocket_multi_context
      Added value: +{
      +  "description": "One WebSocket connection must be able to carry several independent synthesis contexts.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_word_timestamps
      Added value: +{
      +  "description": "The service must return word-level timestamps (the time of each word).",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / negotiable / description
      Previous value: -"Conditions the user said can change: monthly_volume, concurrency, rate_limit, monthly_budget, billing_type, free_allowance, failed_request_billing, success_billing, target_error_billing, geo_targeting, data_region, serp_response_mode, serp_localization, serp_result_types, serp_engines, crawl_page_limit, mcp_official, mcp_remote, mcp_auth, zdr, soc2, search_content, min_session_minutes, proxies_included, captcha_solving, session_recording, persistent_profiles, dedicated_ip, sending_domains, log_retention_days, inbound_parse, overage_per_1k, commercial_use, voice_cloning, streaming, languages_ko, data_not_used_for_training, batch, diarization, no_min_billing, batch_discount, max_pages_per_doc, table_extraction, webhook_events, signed_webhooks, data_processing_agreement, sla. Default: every required condition, each marked ask_user because the user has not said it can change."New value: +"Conditions the user said can change: monthly_volume, concurrency, rate_limit, monthly_budget, billing_type, free_allowance, failed_request_billing, success_billing, target_error_billing, geo_targeting, data_region, serp_response_mode, serp_localization, serp_result_types, serp_engines, crawl_page_limit, mcp_official, mcp_remote, mcp_auth, zdr, soc2, search_content, min_session_minutes, proxies_included, captcha_solving, session_recording, persistent_profiles, dedicated_ip, sending_domains, log_retention_days, inbound_parse, overage_per_1k, commercial_use, voice_cloning, streaming, languages_ko, data_not_used_for_training, batch, diarization, no_min_billing, batch_discount, max_pages_per_doc, table_extraction, webhook_events, signed_webhooks, data_processing_agreement, pronunciation_dictionary, cancel_anytime, input_owned_by_customer, output_owned_by_customer, word_timestamps, voice_design, emotion_control, on_prem_deployment, priority_support, training_opt_out, organizations, access_until_period_end_after_cancel, long_form_synthesis, pause_control, language_override_param, shared_credit_pool, data_deleted_on_account_deletion, quota_increase_on_request, nonverbal_tags, volume_discount, dedicated_support_channel, websocket_multi_context, browser_access_tokens, gdpr_compliant, ssml_parsing, credits_kept_on_plan_change, encryption_in_transit_and_at_rest, iso27001, pci_dss, usage_dashboard, auto_recharge, code_switching_within_sentence, voice_localization, ip_indemnity, ccpa_compliant, sla. Default: every required condition, each marked ask_user because the user has not said it can change."
    • changedInput schema / properties / negotiable / items / enum
      Previous value: -[
      -  "monthly_volume",
      -  "concurrency",
      -  "rate_limit",
      -  "monthly_budget",
      -  "billing_type",
      -  "free_allowance",
      -  "failed_request_billing",
      -  "success_billing",
      -  "target_error_billing",
      -  "geo_targeting",
      -  "data_region",
      -  "serp_response_mode",
      -  "serp_localization",
      -  "serp_result_types",
      -  "serp_engines",
      -  "crawl_page_limit",
      -  "mcp_official",
      -  "mcp_remote",
      -  "mcp_auth",
      -  "zdr",
      -  "soc2",
      -  "search_content",
      -  "min_session_minutes",
      -  "proxies_included",
      -  "captcha_solving",
      -  "session_recording",
      -  "persistent_profiles",
      -  "dedicated_ip",
      -  "sending_domains",
      -  "log_retention_days",
      -  "inbound_parse",
      -  "overage_per_1k",
      -  "commercial_use",
      -  "voice_cloning",
      -  "streaming",
      -  "languages_ko",
      -  "data_not_used_for_training",
      -  "batch",
      -  "diarization",
      -  "no_min_billing",
      -  "batch_discount",
      -  "max_pages_per_doc",
      -  "table_extraction",
      -  "webhook_events",
      -  "signed_webhooks",
      -  "data_processing_agreement",
      -  "sla"
      -]New value: +[
      +  "monthly_volume",
      +  "concurrency",
      +  "rate_limit",
      +  "monthly_budget",
      +  "billing_type",
      +  "free_allowance",
      +  "failed_request_billing",
      +  "success_billing",
      +  "target_error_billing",
      +  "geo_targeting",
      +  "data_region",
      +  "serp_response_mode",
      +  "serp_localization",
      +  "serp_result_types",
      +  "serp_engines",
      +  "crawl_page_limit",
      +  "mcp_official",
      +  "mcp_remote",
      +  "mcp_auth",
      +  "zdr",
      +  "soc2",
      +  "search_content",
      +  "min_session_minutes",
      +  "proxies_included",
      +  "captcha_solving",
      +  "session_recording",
      +  "persistent_profiles",
      +  "dedicated_ip",
      +  "sending_domains",
      +  "log_retention_days",
      +  "inbound_parse",
      +  "overage_per_1k",
      +  "commercial_use",
      +  "voice_cloning",
      +  "streaming",
      +  "languages_ko",
      +  "data_not_used_for_training",
      +  "batch",
      +  "diarization",
      +  "no_min_billing",
      +  "batch_discount",
      +  "max_pages_per_doc",
      +  "table_extraction",
      +  "webhook_events",
      +  "signed_webhooks",
      +  "data_processing_agreement",
      +  "pronunciation_dictionary",
      +  "cancel_anytime",
      +  "input_owned_by_customer",
      +  "output_owned_by_customer",
      +  "word_timestamps",
      +  "voice_design",
      +  "emotion_control",
      +  "on_prem_deployment",
      +  "priority_support",
      +  "training_opt_out",
      +  "organizations",
      +  "access_until_period_end_after_cancel",
      +  "long_form_synthesis",
      +  "pause_control",
      +  "language_override_param",
      +  "shared_credit_pool",
      +  "data_deleted_on_account_deletion",
      +  "quota_increase_on_request",
      +  "nonverbal_tags",
      +  "volume_discount",
      +  "dedicated_support_channel",
      +  "websocket_multi_context",
      +  "browser_access_tokens",
      +  "gdpr_compliant",
      +  "ssml_parsing",
      +  "credits_kept_on_plan_change",
      +  "encryption_in_transit_and_at_rest",
      +  "iso27001",
      +  "pci_dss",
      +  "usage_dashboard",
      +  "auto_recharge",
      +  "code_switching_within_sentence",
      +  "voice_localization",
      +  "ip_indemnity",
      +  "ccpa_compliant",
      +  "sla"
      +]
    • addedInput schema / properties / preferred / properties / needs_access_until_period_end_after_cancel
      Added value: +{
      +  "description": "After cancelling, the buyer must keep access until the end of the period already paid for.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_auto_recharge
      Added value: +{
      +  "description": "Prepaid credits must be able to top up automatically when the balance falls below a threshold.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_browser_access_tokens
      Added value: +{
      +  "description": "The API must offer tokens that let a browser or client call it without exposing the secret API key.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_cancel_anytime
      Added value: +{
      +  "description": "The buyer must be able to cancel at any time, with no fixed term (an official line says so).",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_ccpa_compliant
      Added value: +{
      +  "description": "The provider must state that it complies with the CCPA (California privacy law).",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_code_switching_within_sentence
      Added value: +{
      +  "description": "The service must let one voice switch between languages inside one sentence.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_credits_kept_on_plan_change
      Added value: +{
      +  "description": "Unused paid credits must stay in the balance when the buyer changes plan.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_data_deleted_on_account_deletion
      Added value: +{
      +  "description": "The provider must delete the buyer's data when the account is deleted.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_dedicated_support_channel
      Added value: +{
      +  "description": "The plan must include a dedicated support channel with the provider.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_emotion_control
      Added value: +{
      +  "description": "The service must let the buyer control the emotion or expressiveness of the generated speech.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_encryption_in_transit_and_at_rest
      Added value: +{
      +  "description": "The provider must state that data is encrypted in transit and at rest.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_gdpr_compliant
      Added value: +{
      +  "description": "The provider must state that it complies with the GDPR.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_input_ownership
      Added value: +{
      +  "description": "The terms must say the buyer keeps the rights to the content the buyer sends in.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_ip_indemnity
      Added value: +{
      +  "description": "The provider must indemnify the buyer against intellectual-property claims over the service or its output.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_iso27001
      Added value: +{
      +  "description": "The provider must be certified to ISO/IEC 27001.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_language_override_param
      Added value: +{
      +  "description": "The API must accept a language or locale parameter that sets the language of the synthesis.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_long_form_synthesis
      Added value: +{
      +  "description": "The service must support synthesizing long texts (for example audiobooks or chapters), for text-to-speech.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_nonverbal_tags
      Added value: +{
      +  "description": "The service must support nonverbal sounds (for example laughter or sighs) through tags in the text.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_on_prem_deployment
      Added value: +{
      +  "description": "The service must be deployable on the buyer's own infrastructure (on-premises or self-hosted).",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_organizations
      Added value: +{
      +  "description": "The plan must support organizations, teams or workspaces with several members.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_output_ownership
      Added value: +{
      +  "description": "The terms must say the buyer owns the output the service generates.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_pause_control
      Added value: +{
      +  "description": "The service must let the buyer insert or control pauses (breaks) in the generated speech.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_pci_dss
      Added value: +{
      +  "description": "The provider must state PCI DSS compliance.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_priority_support
      Added value: +{
      +  "description": "The plan must include priority support.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_pronunciation_dictionary
      Added value: +{
      +  "description": "The plan must let the buyer set custom pronunciations of words (a lexicon or pronunciation dictionary), for text-to-speech.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_quota_increase_on_request
      Added value: +{
      +  "description": "The provider must let the buyer request higher quotas or limits.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_shared_credit_pool
      Added value: +{
      +  "description": "One credit balance must be shared across several products of the provider.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_ssml_parsing
      Added value: +{
      +  "description": "The service must accept SSML markup in the input text.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_training_opt_out
      Added value: +{
      +  "description": "The buyer must be able to opt out of having their data used to train models.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_usage_dashboard
      Added value: +{
      +  "description": "The provider must offer a dashboard or usage page where the buyer can see consumption.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_voice_design
      Added value: +{
      +  "description": "The plan must let the buyer design a new voice from a description or prompt, for text-to-speech.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_voice_localization
      Added value: +{
      +  "description": "The service must offer voice localization (dubbing or adapting a voice to other languages or accents).",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_volume_discount
      Added value: +{
      +  "description": "The plan must offer a volume discount or lower unit prices at high volume.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_websocket_multi_context
      Added value: +{
      +  "description": "One WebSocket connection must be able to carry several independent synthesis contexts.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_word_timestamps
      Added value: +{
      +  "description": "The service must return word-level timestamps (the time of each word).",
      +  "type": "boolean"
      +}
  4. Changed72 schema fields changed
    • removedInput schema / properties / needs_access_until_period_end_after_cancel
      Removed value: -{
      -  "description": "After cancelling, the buyer must keep access until the end of the period already paid for.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_auto_recharge
      Removed value: -{
      -  "description": "Prepaid credits must be able to top up automatically when the balance falls below a threshold.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_browser_access_tokens
      Removed value: -{
      -  "description": "The API must offer tokens that let a browser or client call it without exposing the secret API key.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_cancel_anytime
      Removed value: -{
      -  "description": "The buyer must be able to cancel at any time, with no fixed term (an official line says so).",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_ccpa_compliant
      Removed value: -{
      -  "description": "The provider must state that it complies with the CCPA (California privacy law).",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_code_switching_within_sentence
      Removed value: -{
      -  "description": "The service must let one voice switch between languages inside one sentence.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_credits_kept_on_plan_change
      Removed value: -{
      -  "description": "Unused paid credits must stay in the balance when the buyer changes plan.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_data_deleted_on_account_deletion
      Removed value: -{
      -  "description": "The provider must delete the buyer's data when the account is deleted.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_dedicated_support_channel
      Removed value: -{
      -  "description": "The plan must include a dedicated support channel with the provider.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_emotion_control
      Removed value: -{
      -  "description": "The service must let the buyer control the emotion or expressiveness of the generated speech.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_encryption_in_transit_and_at_rest
      Removed value: -{
      -  "description": "The provider must state that data is encrypted in transit and at rest.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_gdpr_compliant
      Removed value: -{
      -  "description": "The provider must state that it complies with the GDPR.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_input_ownership
      Removed value: -{
      -  "description": "The terms must say the buyer keeps the rights to the content the buyer sends in.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_ip_indemnity
      Removed value: -{
      -  "description": "The provider must indemnify the buyer against intellectual-property claims over the service or its output.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_iso27001
      Removed value: -{
      -  "description": "The provider must be certified to ISO/IEC 27001.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_language_override_param
      Removed value: -{
      -  "description": "The API must accept a language or locale parameter that sets the language of the synthesis.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_long_form_synthesis
      Removed value: -{
      -  "description": "The service must support synthesizing long texts (for example audiobooks or chapters), for text-to-speech.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_nonverbal_tags
      Removed value: -{
      -  "description": "The service must support nonverbal sounds (for example laughter or sighs) through tags in the text.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_on_prem_deployment
      Removed value: -{
      -  "description": "The service must be deployable on the buyer's own infrastructure (on-premises or self-hosted).",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_organizations
      Removed value: -{
      -  "description": "The plan must support organizations, teams or workspaces with several members.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_output_ownership
      Removed value: -{
      -  "description": "The terms must say the buyer owns the output the service generates.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_pause_control
      Removed value: -{
      -  "description": "The service must let the buyer insert or control pauses (breaks) in the generated speech.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_pci_dss
      Removed value: -{
      -  "description": "The provider must state PCI DSS compliance.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_priority_support
      Removed value: -{
      -  "description": "The plan must include priority support.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_pronunciation_dictionary
      Removed value: -{
      -  "description": "The plan must let the buyer set custom pronunciations of words (a lexicon or pronunciation dictionary), for text-to-speech.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_quota_increase_on_request
      Removed value: -{
      -  "description": "The provider must let the buyer request higher quotas or limits.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_shared_credit_pool
      Removed value: -{
      -  "description": "One credit balance must be shared across several products of the provider.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_ssml_parsing
      Removed value: -{
      -  "description": "The service must accept SSML markup in the input text.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_training_opt_out
      Removed value: -{
      -  "description": "The buyer must be able to opt out of having their data used to train models.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_usage_dashboard
      Removed value: -{
      -  "description": "The provider must offer a dashboard or usage page where the buyer can see consumption.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_voice_design
      Removed value: -{
      -  "description": "The plan must let the buyer design a new voice from a description or prompt, for text-to-speech.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_voice_localization
      Removed value: -{
      -  "description": "The service must offer voice localization (dubbing or adapting a voice to other languages or accents).",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_volume_discount
      Removed value: -{
      -  "description": "The plan must offer a volume discount or lower unit prices at high volume.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_websocket_multi_context
      Removed value: -{
      -  "description": "One WebSocket connection must be able to carry several independent synthesis contexts.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / needs_word_timestamps
      Removed value: -{
      -  "description": "The service must return word-level timestamps (the time of each word).",
      -  "type": "boolean"
      -}
    • changedInput schema / properties / negotiable / description
      Previous value: -"Conditions the user said can change: monthly_volume, concurrency, rate_limit, monthly_budget, billing_type, free_allowance, failed_request_billing, success_billing, target_error_billing, geo_targeting, data_region, serp_response_mode, serp_localization, serp_result_types, serp_engines, crawl_page_limit, mcp_official, mcp_remote, mcp_auth, zdr, soc2, search_content, min_session_minutes, proxies_included, captcha_solving, session_recording, persistent_profiles, dedicated_ip, sending_domains, log_retention_days, inbound_parse, overage_per_1k, commercial_use, voice_cloning, streaming, languages_ko, data_not_used_for_training, batch, diarization, no_min_billing, batch_discount, max_pages_per_doc, table_extraction, webhook_events, signed_webhooks, data_processing_agreement, pronunciation_dictionary, cancel_anytime, input_owned_by_customer, output_owned_by_customer, word_timestamps, voice_design, emotion_control, on_prem_deployment, priority_support, training_opt_out, organizations, access_until_period_end_after_cancel, long_form_synthesis, pause_control, language_override_param, shared_credit_pool, data_deleted_on_account_deletion, quota_increase_on_request, nonverbal_tags, volume_discount, dedicated_support_channel, websocket_multi_context, browser_access_tokens, gdpr_compliant, ssml_parsing, credits_kept_on_plan_change, encryption_in_transit_and_at_rest, iso27001, pci_dss, usage_dashboard, auto_recharge, code_switching_within_sentence, voice_localization, ip_indemnity, ccpa_compliant, sla. Default: every required condition, each marked ask_user because the user has not said it can change."New value: +"Conditions the user said can change: monthly_volume, concurrency, rate_limit, monthly_budget, billing_type, free_allowance, failed_request_billing, success_billing, target_error_billing, geo_targeting, data_region, serp_response_mode, serp_localization, serp_result_types, serp_engines, crawl_page_limit, mcp_official, mcp_remote, mcp_auth, zdr, soc2, search_content, min_session_minutes, proxies_included, captcha_solving, session_recording, persistent_profiles, dedicated_ip, sending_domains, log_retention_days, inbound_parse, overage_per_1k, commercial_use, voice_cloning, streaming, languages_ko, data_not_used_for_training, batch, diarization, no_min_billing, batch_discount, max_pages_per_doc, table_extraction, webhook_events, signed_webhooks, data_processing_agreement, sla. Default: every required condition, each marked ask_user because the user has not said it can change."
    • changedInput schema / properties / negotiable / items / enum
      Previous value: -[
      -  "monthly_volume",
      -  "concurrency",
      -  "rate_limit",
      -  "monthly_budget",
      -  "billing_type",
      -  "free_allowance",
      -  "failed_request_billing",
      -  "success_billing",
      -  "target_error_billing",
      -  "geo_targeting",
      -  "data_region",
      -  "serp_response_mode",
      -  "serp_localization",
      -  "serp_result_types",
      -  "serp_engines",
      -  "crawl_page_limit",
      -  "mcp_official",
      -  "mcp_remote",
      -  "mcp_auth",
      -  "zdr",
      -  "soc2",
      -  "search_content",
      -  "min_session_minutes",
      -  "proxies_included",
      -  "captcha_solving",
      -  "session_recording",
      -  "persistent_profiles",
      -  "dedicated_ip",
      -  "sending_domains",
      -  "log_retention_days",
      -  "inbound_parse",
      -  "overage_per_1k",
      -  "commercial_use",
      -  "voice_cloning",
      -  "streaming",
      -  "languages_ko",
      -  "data_not_used_for_training",
      -  "batch",
      -  "diarization",
      -  "no_min_billing",
      -  "batch_discount",
      -  "max_pages_per_doc",
      -  "table_extraction",
      -  "webhook_events",
      -  "signed_webhooks",
      -  "data_processing_agreement",
      -  "pronunciation_dictionary",
      -  "cancel_anytime",
      -  "input_owned_by_customer",
      -  "output_owned_by_customer",
      -  "word_timestamps",
      -  "voice_design",
      -  "emotion_control",
      -  "on_prem_deployment",
      -  "priority_support",
      -  "training_opt_out",
      -  "organizations",
      -  "access_until_period_end_after_cancel",
      -  "long_form_synthesis",
      -  "pause_control",
      -  "language_override_param",
      -  "shared_credit_pool",
      -  "data_deleted_on_account_deletion",
      -  "quota_increase_on_request",
      -  "nonverbal_tags",
      -  "volume_discount",
      -  "dedicated_support_channel",
      -  "websocket_multi_context",
      -  "browser_access_tokens",
      -  "gdpr_compliant",
      -  "ssml_parsing",
      -  "credits_kept_on_plan_change",
      -  "encryption_in_transit_and_at_rest",
      -  "iso27001",
      -  "pci_dss",
      -  "usage_dashboard",
      -  "auto_recharge",
      -  "code_switching_within_sentence",
      -  "voice_localization",
      -  "ip_indemnity",
      -  "ccpa_compliant",
      -  "sla"
      -]New value: +[
      +  "monthly_volume",
      +  "concurrency",
      +  "rate_limit",
      +  "monthly_budget",
      +  "billing_type",
      +  "free_allowance",
      +  "failed_request_billing",
      +  "success_billing",
      +  "target_error_billing",
      +  "geo_targeting",
      +  "data_region",
      +  "serp_response_mode",
      +  "serp_localization",
      +  "serp_result_types",
      +  "serp_engines",
      +  "crawl_page_limit",
      +  "mcp_official",
      +  "mcp_remote",
      +  "mcp_auth",
      +  "zdr",
      +  "soc2",
      +  "search_content",
      +  "min_session_minutes",
      +  "proxies_included",
      +  "captcha_solving",
      +  "session_recording",
      +  "persistent_profiles",
      +  "dedicated_ip",
      +  "sending_domains",
      +  "log_retention_days",
      +  "inbound_parse",
      +  "overage_per_1k",
      +  "commercial_use",
      +  "voice_cloning",
      +  "streaming",
      +  "languages_ko",
      +  "data_not_used_for_training",
      +  "batch",
      +  "diarization",
      +  "no_min_billing",
      +  "batch_discount",
      +  "max_pages_per_doc",
      +  "table_extraction",
      +  "webhook_events",
      +  "signed_webhooks",
      +  "data_processing_agreement",
      +  "sla"
      +]
    • removedInput schema / properties / preferred / properties / needs_access_until_period_end_after_cancel
      Removed value: -{
      -  "description": "After cancelling, the buyer must keep access until the end of the period already paid for.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_auto_recharge
      Removed value: -{
      -  "description": "Prepaid credits must be able to top up automatically when the balance falls below a threshold.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_browser_access_tokens
      Removed value: -{
      -  "description": "The API must offer tokens that let a browser or client call it without exposing the secret API key.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_cancel_anytime
      Removed value: -{
      -  "description": "The buyer must be able to cancel at any time, with no fixed term (an official line says so).",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_ccpa_compliant
      Removed value: -{
      -  "description": "The provider must state that it complies with the CCPA (California privacy law).",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_code_switching_within_sentence
      Removed value: -{
      -  "description": "The service must let one voice switch between languages inside one sentence.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_credits_kept_on_plan_change
      Removed value: -{
      -  "description": "Unused paid credits must stay in the balance when the buyer changes plan.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_data_deleted_on_account_deletion
      Removed value: -{
      -  "description": "The provider must delete the buyer's data when the account is deleted.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_dedicated_support_channel
      Removed value: -{
      -  "description": "The plan must include a dedicated support channel with the provider.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_emotion_control
      Removed value: -{
      -  "description": "The service must let the buyer control the emotion or expressiveness of the generated speech.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_encryption_in_transit_and_at_rest
      Removed value: -{
      -  "description": "The provider must state that data is encrypted in transit and at rest.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_gdpr_compliant
      Removed value: -{
      -  "description": "The provider must state that it complies with the GDPR.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_input_ownership
      Removed value: -{
      -  "description": "The terms must say the buyer keeps the rights to the content the buyer sends in.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_ip_indemnity
      Removed value: -{
      -  "description": "The provider must indemnify the buyer against intellectual-property claims over the service or its output.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_iso27001
      Removed value: -{
      -  "description": "The provider must be certified to ISO/IEC 27001.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_language_override_param
      Removed value: -{
      -  "description": "The API must accept a language or locale parameter that sets the language of the synthesis.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_long_form_synthesis
      Removed value: -{
      -  "description": "The service must support synthesizing long texts (for example audiobooks or chapters), for text-to-speech.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_nonverbal_tags
      Removed value: -{
      -  "description": "The service must support nonverbal sounds (for example laughter or sighs) through tags in the text.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_on_prem_deployment
      Removed value: -{
      -  "description": "The service must be deployable on the buyer's own infrastructure (on-premises or self-hosted).",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_organizations
      Removed value: -{
      -  "description": "The plan must support organizations, teams or workspaces with several members.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_output_ownership
      Removed value: -{
      -  "description": "The terms must say the buyer owns the output the service generates.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_pause_control
      Removed value: -{
      -  "description": "The service must let the buyer insert or control pauses (breaks) in the generated speech.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_pci_dss
      Removed value: -{
      -  "description": "The provider must state PCI DSS compliance.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_priority_support
      Removed value: -{
      -  "description": "The plan must include priority support.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_pronunciation_dictionary
      Removed value: -{
      -  "description": "The plan must let the buyer set custom pronunciations of words (a lexicon or pronunciation dictionary), for text-to-speech.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_quota_increase_on_request
      Removed value: -{
      -  "description": "The provider must let the buyer request higher quotas or limits.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_shared_credit_pool
      Removed value: -{
      -  "description": "One credit balance must be shared across several products of the provider.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_ssml_parsing
      Removed value: -{
      -  "description": "The service must accept SSML markup in the input text.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_training_opt_out
      Removed value: -{
      -  "description": "The buyer must be able to opt out of having their data used to train models.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_usage_dashboard
      Removed value: -{
      -  "description": "The provider must offer a dashboard or usage page where the buyer can see consumption.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_voice_design
      Removed value: -{
      -  "description": "The plan must let the buyer design a new voice from a description or prompt, for text-to-speech.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_voice_localization
      Removed value: -{
      -  "description": "The service must offer voice localization (dubbing or adapting a voice to other languages or accents).",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_volume_discount
      Removed value: -{
      -  "description": "The plan must offer a volume discount or lower unit prices at high volume.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_websocket_multi_context
      Removed value: -{
      -  "description": "One WebSocket connection must be able to carry several independent synthesis contexts.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / preferred / properties / needs_word_timestamps
      Removed value: -{
      -  "description": "The service must return word-level timestamps (the time of each word).",
      -  "type": "boolean"
      -}
  5. Changed62 schema fields changed
    • addedInput schema / properties / needs_access_until_period_end_after_cancel
      Added value: +{
      +  "description": "After cancelling, the buyer must keep access until the end of the period already paid for.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_auto_recharge
      Added value: +{
      +  "description": "Prepaid credits must be able to top up automatically when the balance falls below a threshold.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_browser_access_tokens
      Added value: +{
      +  "description": "The API must offer tokens that let a browser or client call it without exposing the secret API key.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_ccpa_compliant
      Added value: +{
      +  "description": "The provider must state that it complies with the CCPA (California privacy law).",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_code_switching_within_sentence
      Added value: +{
      +  "description": "The service must let one voice switch between languages inside one sentence.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_credits_kept_on_plan_change
      Added value: +{
      +  "description": "Unused paid credits must stay in the balance when the buyer changes plan.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_data_deleted_on_account_deletion
      Added value: +{
      +  "description": "The provider must delete the buyer's data when the account is deleted.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_dedicated_support_channel
      Added value: +{
      +  "description": "The plan must include a dedicated support channel with the provider.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_emotion_control
      Added value: +{
      +  "description": "The service must let the buyer control the emotion or expressiveness of the generated speech.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_encryption_in_transit_and_at_rest
      Added value: +{
      +  "description": "The provider must state that data is encrypted in transit and at rest.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_gdpr_compliant
      Added value: +{
      +  "description": "The provider must state that it complies with the GDPR.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_ip_indemnity
      Added value: +{
      +  "description": "The provider must indemnify the buyer against intellectual-property claims over the service or its output.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_iso27001
      Added value: +{
      +  "description": "The provider must be certified to ISO/IEC 27001.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_language_override_param
      Added value: +{
      +  "description": "The API must accept a language or locale parameter that sets the language of the synthesis.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_long_form_synthesis
      Added value: +{
      +  "description": "The service must support synthesizing long texts (for example audiobooks or chapters), for text-to-speech.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_nonverbal_tags
      Added value: +{
      +  "description": "The service must support nonverbal sounds (for example laughter or sighs) through tags in the text.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_on_prem_deployment
      Added value: +{
      +  "description": "The service must be deployable on the buyer's own infrastructure (on-premises or self-hosted).",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_organizations
      Added value: +{
      +  "description": "The plan must support organizations, teams or workspaces with several members.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_pause_control
      Added value: +{
      +  "description": "The service must let the buyer insert or control pauses (breaks) in the generated speech.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_pci_dss
      Added value: +{
      +  "description": "The provider must state PCI DSS compliance.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_priority_support
      Added value: +{
      +  "description": "The plan must include priority support.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_quota_increase_on_request
      Added value: +{
      +  "description": "The provider must let the buyer request higher quotas or limits.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_shared_credit_pool
      Added value: +{
      +  "description": "One credit balance must be shared across several products of the provider.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_ssml_parsing
      Added value: +{
      +  "description": "The service must accept SSML markup in the input text.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_training_opt_out
      Added value: +{
      +  "description": "The buyer must be able to opt out of having their data used to train models.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_usage_dashboard
      Added value: +{
      +  "description": "The provider must offer a dashboard or usage page where the buyer can see consumption.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_voice_design
      Added value: +{
      +  "description": "The plan must let the buyer design a new voice from a description or prompt, for text-to-speech.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_voice_localization
      Added value: +{
      +  "description": "The service must offer voice localization (dubbing or adapting a voice to other languages or accents).",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_volume_discount
      Added value: +{
      +  "description": "The plan must offer a volume discount or lower unit prices at high volume.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_websocket_multi_context
      Added value: +{
      +  "description": "One WebSocket connection must be able to carry several independent synthesis contexts.",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / negotiable / description
      Previous value: -"Conditions the user said can change: monthly_volume, concurrency, rate_limit, monthly_budget, billing_type, free_allowance, failed_request_billing, success_billing, target_error_billing, geo_targeting, data_region, serp_response_mode, serp_localization, serp_result_types, serp_engines, crawl_page_limit, mcp_official, mcp_remote, mcp_auth, zdr, soc2, search_content, min_session_minutes, proxies_included, captcha_solving, session_recording, persistent_profiles, dedicated_ip, sending_domains, log_retention_days, inbound_parse, overage_per_1k, commercial_use, voice_cloning, streaming, languages_ko, data_not_used_for_training, batch, diarization, no_min_billing, batch_discount, max_pages_per_doc, table_extraction, webhook_events, signed_webhooks, data_processing_agreement, pronunciation_dictionary, cancel_anytime, input_owned_by_customer, output_owned_by_customer, word_timestamps, sla. Default: every required condition, each marked ask_user because the user has not said it can change."New value: +"Conditions the user said can change: monthly_volume, concurrency, rate_limit, monthly_budget, billing_type, free_allowance, failed_request_billing, success_billing, target_error_billing, geo_targeting, data_region, serp_response_mode, serp_localization, serp_result_types, serp_engines, crawl_page_limit, mcp_official, mcp_remote, mcp_auth, zdr, soc2, search_content, min_session_minutes, proxies_included, captcha_solving, session_recording, persistent_profiles, dedicated_ip, sending_domains, log_retention_days, inbound_parse, overage_per_1k, commercial_use, voice_cloning, streaming, languages_ko, data_not_used_for_training, batch, diarization, no_min_billing, batch_discount, max_pages_per_doc, table_extraction, webhook_events, signed_webhooks, data_processing_agreement, pronunciation_dictionary, cancel_anytime, input_owned_by_customer, output_owned_by_customer, word_timestamps, voice_design, emotion_control, on_prem_deployment, priority_support, training_opt_out, organizations, access_until_period_end_after_cancel, long_form_synthesis, pause_control, language_override_param, shared_credit_pool, data_deleted_on_account_deletion, quota_increase_on_request, nonverbal_tags, volume_discount, dedicated_support_channel, websocket_multi_context, browser_access_tokens, gdpr_compliant, ssml_parsing, credits_kept_on_plan_change, encryption_in_transit_and_at_rest, iso27001, pci_dss, usage_dashboard, auto_recharge, code_switching_within_sentence, voice_localization, ip_indemnity, ccpa_compliant, sla. Default: every required condition, each marked ask_user because the user has not said it can change."
    • changedInput schema / properties / negotiable / items / enum
      Previous value: -[
      -  "monthly_volume",
      -  "concurrency",
      -  "rate_limit",
      -  "monthly_budget",
      -  "billing_type",
      -  "free_allowance",
      -  "failed_request_billing",
      -  "success_billing",
      -  "target_error_billing",
      -  "geo_targeting",
      -  "data_region",
      -  "serp_response_mode",
      -  "serp_localization",
      -  "serp_result_types",
      -  "serp_engines",
      -  "crawl_page_limit",
      -  "mcp_official",
      -  "mcp_remote",
      -  "mcp_auth",
      -  "zdr",
      -  "soc2",
      -  "search_content",
      -  "min_session_minutes",
      -  "proxies_included",
      -  "captcha_solving",
      -  "session_recording",
      -  "persistent_profiles",
      -  "dedicated_ip",
      -  "sending_domains",
      -  "log_retention_days",
      -  "inbound_parse",
      -  "overage_per_1k",
      -  "commercial_use",
      -  "voice_cloning",
      -  "streaming",
      -  "languages_ko",
      -  "data_not_used_for_training",
      -  "batch",
      -  "diarization",
      -  "no_min_billing",
      -  "batch_discount",
      -  "max_pages_per_doc",
      -  "table_extraction",
      -  "webhook_events",
      -  "signed_webhooks",
      -  "data_processing_agreement",
      -  "pronunciation_dictionary",
      -  "cancel_anytime",
      -  "input_owned_by_customer",
      -  "output_owned_by_customer",
      -  "word_timestamps",
      -  "sla"
      -]New value: +[
      +  "monthly_volume",
      +  "concurrency",
      +  "rate_limit",
      +  "monthly_budget",
      +  "billing_type",
      +  "free_allowance",
      +  "failed_request_billing",
      +  "success_billing",
      +  "target_error_billing",
      +  "geo_targeting",
      +  "data_region",
      +  "serp_response_mode",
      +  "serp_localization",
      +  "serp_result_types",
      +  "serp_engines",
      +  "crawl_page_limit",
      +  "mcp_official",
      +  "mcp_remote",
      +  "mcp_auth",
      +  "zdr",
      +  "soc2",
      +  "search_content",
      +  "min_session_minutes",
      +  "proxies_included",
      +  "captcha_solving",
      +  "session_recording",
      +  "persistent_profiles",
      +  "dedicated_ip",
      +  "sending_domains",
      +  "log_retention_days",
      +  "inbound_parse",
      +  "overage_per_1k",
      +  "commercial_use",
      +  "voice_cloning",
      +  "streaming",
      +  "languages_ko",
      +  "data_not_used_for_training",
      +  "batch",
      +  "diarization",
      +  "no_min_billing",
      +  "batch_discount",
      +  "max_pages_per_doc",
      +  "table_extraction",
      +  "webhook_events",
      +  "signed_webhooks",
      +  "data_processing_agreement",
      +  "pronunciation_dictionary",
      +  "cancel_anytime",
      +  "input_owned_by_customer",
      +  "output_owned_by_customer",
      +  "word_timestamps",
      +  "voice_design",
      +  "emotion_control",
      +  "on_prem_deployment",
      +  "priority_support",
      +  "training_opt_out",
      +  "organizations",
      +  "access_until_period_end_after_cancel",
      +  "long_form_synthesis",
      +  "pause_control",
      +  "language_override_param",
      +  "shared_credit_pool",
      +  "data_deleted_on_account_deletion",
      +  "quota_increase_on_request",
      +  "nonverbal_tags",
      +  "volume_discount",
      +  "dedicated_support_channel",
      +  "websocket_multi_context",
      +  "browser_access_tokens",
      +  "gdpr_compliant",
      +  "ssml_parsing",
      +  "credits_kept_on_plan_change",
      +  "encryption_in_transit_and_at_rest",
      +  "iso27001",
      +  "pci_dss",
      +  "usage_dashboard",
      +  "auto_recharge",
      +  "code_switching_within_sentence",
      +  "voice_localization",
      +  "ip_indemnity",
      +  "ccpa_compliant",
      +  "sla"
      +]
    • addedInput schema / properties / preferred / properties / needs_access_until_period_end_after_cancel
      Added value: +{
      +  "description": "After cancelling, the buyer must keep access until the end of the period already paid for.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_auto_recharge
      Added value: +{
      +  "description": "Prepaid credits must be able to top up automatically when the balance falls below a threshold.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_browser_access_tokens
      Added value: +{
      +  "description": "The API must offer tokens that let a browser or client call it without exposing the secret API key.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_ccpa_compliant
      Added value: +{
      +  "description": "The provider must state that it complies with the CCPA (California privacy law).",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_code_switching_within_sentence
      Added value: +{
      +  "description": "The service must let one voice switch between languages inside one sentence.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_credits_kept_on_plan_change
      Added value: +{
      +  "description": "Unused paid credits must stay in the balance when the buyer changes plan.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_data_deleted_on_account_deletion
      Added value: +{
      +  "description": "The provider must delete the buyer's data when the account is deleted.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_dedicated_support_channel
      Added value: +{
      +  "description": "The plan must include a dedicated support channel with the provider.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_emotion_control
      Added value: +{
      +  "description": "The service must let the buyer control the emotion or expressiveness of the generated speech.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_encryption_in_transit_and_at_rest
      Added value: +{
      +  "description": "The provider must state that data is encrypted in transit and at rest.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_gdpr_compliant
      Added value: +{
      +  "description": "The provider must state that it complies with the GDPR.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_ip_indemnity
      Added value: +{
      +  "description": "The provider must indemnify the buyer against intellectual-property claims over the service or its output.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_iso27001
      Added value: +{
      +  "description": "The provider must be certified to ISO/IEC 27001.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_language_override_param
      Added value: +{
      +  "description": "The API must accept a language or locale parameter that sets the language of the synthesis.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_long_form_synthesis
      Added value: +{
      +  "description": "The service must support synthesizing long texts (for example audiobooks or chapters), for text-to-speech.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_nonverbal_tags
      Added value: +{
      +  "description": "The service must support nonverbal sounds (for example laughter or sighs) through tags in the text.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_on_prem_deployment
      Added value: +{
      +  "description": "The service must be deployable on the buyer's own infrastructure (on-premises or self-hosted).",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_organizations
      Added value: +{
      +  "description": "The plan must support organizations, teams or workspaces with several members.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_pause_control
      Added value: +{
      +  "description": "The service must let the buyer insert or control pauses (breaks) in the generated speech.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_pci_dss
      Added value: +{
      +  "description": "The provider must state PCI DSS compliance.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_priority_support
      Added value: +{
      +  "description": "The plan must include priority support.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_quota_increase_on_request
      Added value: +{
      +  "description": "The provider must let the buyer request higher quotas or limits.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_shared_credit_pool
      Added value: +{
      +  "description": "One credit balance must be shared across several products of the provider.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_ssml_parsing
      Added value: +{
      +  "description": "The service must accept SSML markup in the input text.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_training_opt_out
      Added value: +{
      +  "description": "The buyer must be able to opt out of having their data used to train models.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_usage_dashboard
      Added value: +{
      +  "description": "The provider must offer a dashboard or usage page where the buyer can see consumption.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_voice_design
      Added value: +{
      +  "description": "The plan must let the buyer design a new voice from a description or prompt, for text-to-speech.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_voice_localization
      Added value: +{
      +  "description": "The service must offer voice localization (dubbing or adapting a voice to other languages or accents).",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_volume_discount
      Added value: +{
      +  "description": "The plan must offer a volume discount or lower unit prices at high volume.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_websocket_multi_context
      Added value: +{
      +  "description": "One WebSocket connection must be able to carry several independent synthesis contexts.",
      +  "type": "boolean"
      +}
  6. Changed12 schema fields changed
    • addedInput schema / properties / needs_cancel_anytime
      Added value: +{
      +  "description": "The buyer must be able to cancel at any time, with no fixed term (an official line says so).",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_input_ownership
      Added value: +{
      +  "description": "The terms must say the buyer keeps the rights to the content the buyer sends in.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_output_ownership
      Added value: +{
      +  "description": "The terms must say the buyer owns the output the service generates.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_pronunciation_dictionary
      Added value: +{
      +  "description": "The plan must let the buyer set custom pronunciations of words (a lexicon or pronunciation dictionary), for text-to-speech.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_word_timestamps
      Added value: +{
      +  "description": "The service must return word-level timestamps (the time of each word).",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / negotiable / description
      Previous value: -"Conditions the user said can change: monthly_volume, concurrency, rate_limit, monthly_budget, billing_type, free_allowance, failed_request_billing, success_billing, target_error_billing, geo_targeting, data_region, serp_response_mode, serp_localization, serp_result_types, serp_engines, crawl_page_limit, mcp_official, mcp_remote, mcp_auth, zdr, soc2, search_content, min_session_minutes, proxies_included, captcha_solving, session_recording, persistent_profiles, dedicated_ip, sending_domains, log_retention_days, inbound_parse, overage_per_1k, commercial_use, voice_cloning, streaming, languages_ko, data_not_used_for_training, batch, diarization, no_min_billing, batch_discount, max_pages_per_doc, table_extraction, webhook_events, signed_webhooks, data_processing_agreement, sla. Default: every required condition, each marked ask_user because the user has not said it can change."New value: +"Conditions the user said can change: monthly_volume, concurrency, rate_limit, monthly_budget, billing_type, free_allowance, failed_request_billing, success_billing, target_error_billing, geo_targeting, data_region, serp_response_mode, serp_localization, serp_result_types, serp_engines, crawl_page_limit, mcp_official, mcp_remote, mcp_auth, zdr, soc2, search_content, min_session_minutes, proxies_included, captcha_solving, session_recording, persistent_profiles, dedicated_ip, sending_domains, log_retention_days, inbound_parse, overage_per_1k, commercial_use, voice_cloning, streaming, languages_ko, data_not_used_for_training, batch, diarization, no_min_billing, batch_discount, max_pages_per_doc, table_extraction, webhook_events, signed_webhooks, data_processing_agreement, pronunciation_dictionary, cancel_anytime, input_owned_by_customer, output_owned_by_customer, word_timestamps, sla. Default: every required condition, each marked ask_user because the user has not said it can change."
    • changedInput schema / properties / negotiable / items / enum
      Previous value: -[
      -  "monthly_volume",
      -  "concurrency",
      -  "rate_limit",
      -  "monthly_budget",
      -  "billing_type",
      -  "free_allowance",
      -  "failed_request_billing",
      -  "success_billing",
      -  "target_error_billing",
      -  "geo_targeting",
      -  "data_region",
      -  "serp_response_mode",
      -  "serp_localization",
      -  "serp_result_types",
      -  "serp_engines",
      -  "crawl_page_limit",
      -  "mcp_official",
      -  "mcp_remote",
      -  "mcp_auth",
      -  "zdr",
      -  "soc2",
      -  "search_content",
      -  "min_session_minutes",
      -  "proxies_included",
      -  "captcha_solving",
      -  "session_recording",
      -  "persistent_profiles",
      -  "dedicated_ip",
      -  "sending_domains",
      -  "log_retention_days",
      -  "inbound_parse",
      -  "overage_per_1k",
      -  "commercial_use",
      -  "voice_cloning",
      -  "streaming",
      -  "languages_ko",
      -  "data_not_used_for_training",
      -  "batch",
      -  "diarization",
      -  "no_min_billing",
      -  "batch_discount",
      -  "max_pages_per_doc",
      -  "table_extraction",
      -  "webhook_events",
      -  "signed_webhooks",
      -  "data_processing_agreement",
      -  "sla"
      -]New value: +[
      +  "monthly_volume",
      +  "concurrency",
      +  "rate_limit",
      +  "monthly_budget",
      +  "billing_type",
      +  "free_allowance",
      +  "failed_request_billing",
      +  "success_billing",
      +  "target_error_billing",
      +  "geo_targeting",
      +  "data_region",
      +  "serp_response_mode",
      +  "serp_localization",
      +  "serp_result_types",
      +  "serp_engines",
      +  "crawl_page_limit",
      +  "mcp_official",
      +  "mcp_remote",
      +  "mcp_auth",
      +  "zdr",
      +  "soc2",
      +  "search_content",
      +  "min_session_minutes",
      +  "proxies_included",
      +  "captcha_solving",
      +  "session_recording",
      +  "persistent_profiles",
      +  "dedicated_ip",
      +  "sending_domains",
      +  "log_retention_days",
      +  "inbound_parse",
      +  "overage_per_1k",
      +  "commercial_use",
      +  "voice_cloning",
      +  "streaming",
      +  "languages_ko",
      +  "data_not_used_for_training",
      +  "batch",
      +  "diarization",
      +  "no_min_billing",
      +  "batch_discount",
      +  "max_pages_per_doc",
      +  "table_extraction",
      +  "webhook_events",
      +  "signed_webhooks",
      +  "data_processing_agreement",
      +  "pronunciation_dictionary",
      +  "cancel_anytime",
      +  "input_owned_by_customer",
      +  "output_owned_by_customer",
      +  "word_timestamps",
      +  "sla"
      +]
    • addedInput schema / properties / preferred / properties / needs_cancel_anytime
      Added value: +{
      +  "description": "The buyer must be able to cancel at any time, with no fixed term (an official line says so).",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_input_ownership
      Added value: +{
      +  "description": "The terms must say the buyer keeps the rights to the content the buyer sends in.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_output_ownership
      Added value: +{
      +  "description": "The terms must say the buyer owns the output the service generates.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_pronunciation_dictionary
      Added value: +{
      +  "description": "The plan must let the buyer set custom pronunciations of words (a lexicon or pronunciation dictionary), for text-to-speech.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_word_timestamps
      Added value: +{
      +  "description": "The service must return word-level timestamps (the time of each word).",
      +  "type": "boolean"
      +}
  7. Changed1 schema field changed
    • changedInput schema / properties / preferred / description
      Previous value: -"Nice-to-have conditions; they do not filter, they break ties."New value: +"Nice-to-have conditions; they do not filter, they break ties. Put a condition the person calls nice to have (\"would be good\", \"if possible\", \"되면 좋겠다\") here, not as a required field."
  8. Changed10 schema fields changed
    • addedInput schema / properties / needs_dpa
      Added value: +{
      +  "description": "The vendor must offer a data processing agreement (DPA) to the buyer.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_signed_webhooks
      Added value: +{
      +  "description": "The plan must deliver webhooks that the buyer can verify by a signature (a signing secret or a signed endpoint).",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_sla
      Added value: +{
      +  "description": "The plan must come with a service level agreement (SLA).",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / needs_webhook_events
      Added value: +{
      +  "description": "The plan must send webhook events to the buyer's server (the vendor calls an address of the buyer when something happens).",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / negotiable / description
      Previous value: -"Conditions the user said can change: monthly_volume, concurrency, rate_limit, monthly_budget, billing_type, free_allowance, failed_request_billing, success_billing, target_error_billing, geo_targeting, data_region, serp_response_mode, serp_localization, serp_result_types, serp_engines, crawl_page_limit, mcp_official, mcp_remote, mcp_auth, zdr, soc2, search_content, min_session_minutes, proxies_included, captcha_solving, session_recording, persistent_profiles, dedicated_ip, sending_domains, log_retention_days, inbound_parse, overage_per_1k, commercial_use, voice_cloning, streaming, languages_ko, data_not_used_for_training, batch, diarization, no_min_billing, batch_discount, max_pages_per_doc, table_extraction. Default: every required condition, each marked ask_user because the user has not said it can change."New value: +"Conditions the user said can change: monthly_volume, concurrency, rate_limit, monthly_budget, billing_type, free_allowance, failed_request_billing, success_billing, target_error_billing, geo_targeting, data_region, serp_response_mode, serp_localization, serp_result_types, serp_engines, crawl_page_limit, mcp_official, mcp_remote, mcp_auth, zdr, soc2, search_content, min_session_minutes, proxies_included, captcha_solving, session_recording, persistent_profiles, dedicated_ip, sending_domains, log_retention_days, inbound_parse, overage_per_1k, commercial_use, voice_cloning, streaming, languages_ko, data_not_used_for_training, batch, diarization, no_min_billing, batch_discount, max_pages_per_doc, table_extraction, webhook_events, signed_webhooks, data_processing_agreement, sla. Default: every required condition, each marked ask_user because the user has not said it can change."
    • changedInput schema / properties / negotiable / items / enum
      Previous value: -[
      -  "monthly_volume",
      -  "concurrency",
      -  "rate_limit",
      -  "monthly_budget",
      -  "billing_type",
      -  "free_allowance",
      -  "failed_request_billing",
      -  "success_billing",
      -  "target_error_billing",
      -  "geo_targeting",
      -  "data_region",
      -  "serp_response_mode",
      -  "serp_localization",
      -  "serp_result_types",
      -  "serp_engines",
      -  "crawl_page_limit",
      -  "mcp_official",
      -  "mcp_remote",
      -  "mcp_auth",
      -  "zdr",
      -  "soc2",
      -  "search_content",
      -  "min_session_minutes",
      -  "proxies_included",
      -  "captcha_solving",
      -  "session_recording",
      -  "persistent_profiles",
      -  "dedicated_ip",
      -  "sending_domains",
      -  "log_retention_days",
      -  "inbound_parse",
      -  "overage_per_1k",
      -  "commercial_use",
      -  "voice_cloning",
      -  "streaming",
      -  "languages_ko",
      -  "data_not_used_for_training",
      -  "batch",
      -  "diarization",
      -  "no_min_billing",
      -  "batch_discount",
      -  "max_pages_per_doc",
      -  "table_extraction"
      -]New value: +[
      +  "monthly_volume",
      +  "concurrency",
      +  "rate_limit",
      +  "monthly_budget",
      +  "billing_type",
      +  "free_allowance",
      +  "failed_request_billing",
      +  "success_billing",
      +  "target_error_billing",
      +  "geo_targeting",
      +  "data_region",
      +  "serp_response_mode",
      +  "serp_localization",
      +  "serp_result_types",
      +  "serp_engines",
      +  "crawl_page_limit",
      +  "mcp_official",
      +  "mcp_remote",
      +  "mcp_auth",
      +  "zdr",
      +  "soc2",
      +  "search_content",
      +  "min_session_minutes",
      +  "proxies_included",
      +  "captcha_solving",
      +  "session_recording",
      +  "persistent_profiles",
      +  "dedicated_ip",
      +  "sending_domains",
      +  "log_retention_days",
      +  "inbound_parse",
      +  "overage_per_1k",
      +  "commercial_use",
      +  "voice_cloning",
      +  "streaming",
      +  "languages_ko",
      +  "data_not_used_for_training",
      +  "batch",
      +  "diarization",
      +  "no_min_billing",
      +  "batch_discount",
      +  "max_pages_per_doc",
      +  "table_extraction",
      +  "webhook_events",
      +  "signed_webhooks",
      +  "data_processing_agreement",
      +  "sla"
      +]
    • addedInput schema / properties / preferred / properties / needs_dpa
      Added value: +{
      +  "description": "The vendor must offer a data processing agreement (DPA) to the buyer.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_signed_webhooks
      Added value: +{
      +  "description": "The plan must deliver webhooks that the buyer can verify by a signature (a signing secret or a signed endpoint).",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_sla
      Added value: +{
      +  "description": "The plan must come with a service level agreement (SLA).",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / preferred / properties / needs_webhook_events
      Added value: +{
      +  "description": "The plan must send webhook events to the buyer's server (the vendor calls an address of the buyer when something happens).",
      +  "type": "boolean"
      +}
  9. Changed2 schema fields changed
    • addedOutput schema / properties / changes / items / properties / options / items / properties / admitted / items / properties / link / properties / sign_up_url
      Added value: +{
      +  "description": "The same address with the token in the path, /go/<offer_id>/<token>: the sign-up address of this plan to give the user.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / confirm_with_provider / properties / plans / items / properties / link / properties / sign_up_url
      Added value: +{
      +  "description": "The same address with the token in the path, /go/<offer_id>/<token>: the sign-up address of this plan to give the user.",
      +  "type": "string"
      +}
  10. Changed11 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 / 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"
      +}
    • changedInput schema / properties / negotiable / description
      Previous value: -"Conditions the user said can change: monthly_volume, concurrency, rate_limit, monthly_budget, billing_type, free_allowance, failed_request_billing, success_billing, target_error_billing, geo_targeting, data_region, serp_response_mode, serp_localization, serp_result_types, serp_engines, crawl_page_limit, mcp_official, mcp_remote, mcp_auth, zdr, soc2, search_content, min_session_minutes, proxies_included, captcha_solving, session_recording, persistent_profiles, dedicated_ip, sending_domains, log_retention_days, inbound_parse, overage_per_1k, commercial_use, voice_cloning, streaming, languages_ko, data_not_used_for_training, batch, diarization, no_min_billing. Default: every required condition, each marked ask_user because the user has not said it can change."New value: +"Conditions the user said can change: monthly_volume, concurrency, rate_limit, monthly_budget, billing_type, free_allowance, failed_request_billing, success_billing, target_error_billing, geo_targeting, data_region, serp_response_mode, serp_localization, serp_result_types, serp_engines, crawl_page_limit, mcp_official, mcp_remote, mcp_auth, zdr, soc2, search_content, min_session_minutes, proxies_included, captcha_solving, session_recording, persistent_profiles, dedicated_ip, sending_domains, log_retention_days, inbound_parse, overage_per_1k, commercial_use, voice_cloning, streaming, languages_ko, data_not_used_for_training, batch, diarization, no_min_billing, batch_discount, max_pages_per_doc, table_extraction. Default: every required condition, each marked ask_user because the user has not said it can change."
    • changedInput schema / properties / negotiable / items / enum
      Previous value: -[
      -  "monthly_volume",
      -  "concurrency",
      -  "rate_limit",
      -  "monthly_budget",
      -  "billing_type",
      -  "free_allowance",
      -  "failed_request_billing",
      -  "success_billing",
      -  "target_error_billing",
      -  "geo_targeting",
      -  "data_region",
      -  "serp_response_mode",
      -  "serp_localization",
      -  "serp_result_types",
      -  "serp_engines",
      -  "crawl_page_limit",
      -  "mcp_official",
      -  "mcp_remote",
      -  "mcp_auth",
      -  "zdr",
      -  "soc2",
      -  "search_content",
      -  "min_session_minutes",
      -  "proxies_included",
      -  "captcha_solving",
      -  "session_recording",
      -  "persistent_profiles",
      -  "dedicated_ip",
      -  "sending_domains",
      -  "log_retention_days",
      -  "inbound_parse",
      -  "overage_per_1k",
      -  "commercial_use",
      -  "voice_cloning",
      -  "streaming",
      -  "languages_ko",
      -  "data_not_used_for_training",
      -  "batch",
      -  "diarization",
      -  "no_min_billing"
      -]New value: +[
      +  "monthly_volume",
      +  "concurrency",
      +  "rate_limit",
      +  "monthly_budget",
      +  "billing_type",
      +  "free_allowance",
      +  "failed_request_billing",
      +  "success_billing",
      +  "target_error_billing",
      +  "geo_targeting",
      +  "data_region",
      +  "serp_response_mode",
      +  "serp_localization",
      +  "serp_result_types",
      +  "serp_engines",
      +  "crawl_page_limit",
      +  "mcp_official",
      +  "mcp_remote",
      +  "mcp_auth",
      +  "zdr",
      +  "soc2",
      +  "search_content",
      +  "min_session_minutes",
      +  "proxies_included",
      +  "captcha_solving",
      +  "session_recording",
      +  "persistent_profiles",
      +  "dedicated_ip",
      +  "sending_domains",
      +  "log_retention_days",
      +  "inbound_parse",
      +  "overage_per_1k",
      +  "commercial_use",
      +  "voice_cloning",
      +  "streaming",
      +  "languages_ko",
      +  "data_not_used_for_training",
      +  "batch",
      +  "diarization",
      +  "no_min_billing",
      +  "batch_discount",
      +  "max_pages_per_doc",
      +  "table_extraction"
      +]
    • 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"
      +}
    • changedInput schema / properties / product_types / items / enum
      Previous value: -[
      -  "scraping_api",
      -  "serp_api",
      -  "headless_browser",
      -  "platform",
      -  "email_api",
      -  "tts_api",
      -  "stt_api"
      -]New value: +[
      +  "scraping_api",
      +  "serp_api",
      +  "headless_browser",
      +  "platform",
      +  "email_api",
      +  "tts_api",
      +  "stt_api",
      +  "docparse_api"
      +]
  11. 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 / 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"
      +}
    • changedInput schema / properties / negotiable / description
      Previous value: -"Conditions the user said can change: monthly_volume, concurrency, rate_limit, monthly_budget, billing_type, free_allowance, failed_request_billing, success_billing, target_error_billing, geo_targeting, data_region, serp_response_mode, serp_localization, serp_result_types, serp_engines, crawl_page_limit, mcp_official, mcp_remote, mcp_auth, zdr, soc2, search_content, min_session_minutes, proxies_included, captcha_solving, session_recording, persistent_profiles. Default: every required condition, each marked ask_user because the user has not said it can change."New value: +"Conditions the user said can change: monthly_volume, concurrency, rate_limit, monthly_budget, billing_type, free_allowance, failed_request_billing, success_billing, target_error_billing, geo_targeting, data_region, serp_response_mode, serp_localization, serp_result_types, serp_engines, crawl_page_limit, mcp_official, mcp_remote, mcp_auth, zdr, soc2, search_content, min_session_minutes, proxies_included, captcha_solving, session_recording, persistent_profiles, dedicated_ip, sending_domains, log_retention_days, inbound_parse, overage_per_1k, commercial_use, voice_cloning, streaming, languages_ko, data_not_used_for_training, batch, diarization, no_min_billing. Default: every required condition, each marked ask_user because the user has not said it can change."
    • changedInput schema / properties / negotiable / items / enum
      Previous value: -[
      -  "monthly_volume",
      -  "concurrency",
      -  "rate_limit",
      -  "monthly_budget",
      -  "billing_type",
      -  "free_allowance",
      -  "failed_request_billing",
      -  "success_billing",
      -  "target_error_billing",
      -  "geo_targeting",
      -  "data_region",
      -  "serp_response_mode",
      -  "serp_localization",
      -  "serp_result_types",
      -  "serp_engines",
      -  "crawl_page_limit",
      -  "mcp_official",
      -  "mcp_remote",
      -  "mcp_auth",
      -  "zdr",
      -  "soc2",
      -  "search_content",
      -  "min_session_minutes",
      -  "proxies_included",
      -  "captcha_solving",
      -  "session_recording",
      -  "persistent_profiles"
      -]New value: +[
      +  "monthly_volume",
      +  "concurrency",
      +  "rate_limit",
      +  "monthly_budget",
      +  "billing_type",
      +  "free_allowance",
      +  "failed_request_billing",
      +  "success_billing",
      +  "target_error_billing",
      +  "geo_targeting",
      +  "data_region",
      +  "serp_response_mode",
      +  "serp_localization",
      +  "serp_result_types",
      +  "serp_engines",
      +  "crawl_page_limit",
      +  "mcp_official",
      +  "mcp_remote",
      +  "mcp_auth",
      +  "zdr",
      +  "soc2",
      +  "search_content",
      +  "min_session_minutes",
      +  "proxies_included",
      +  "captcha_solving",
      +  "session_recording",
      +  "persistent_profiles",
      +  "dedicated_ip",
      +  "sending_domains",
      +  "log_retention_days",
      +  "inbound_parse",
      +  "overage_per_1k",
      +  "commercial_use",
      +  "voice_cloning",
      +  "streaming",
      +  "languages_ko",
      +  "data_not_used_for_training",
      +  "batch",
      +  "diarization",
      +  "no_min_billing"
      +]
    • 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"
      +}
    • changedInput schema / properties / product_types / items / enum
      Previous value: -[
      -  "scraping_api",
      -  "serp_api",
      -  "headless_browser",
      -  "platform"
      -]New value: +[
      +  "scraping_api",
      +  "serp_api",
      +  "headless_browser",
      +  "platform",
      +  "email_api",
      +  "tts_api",
      +  "stt_api"
      +]
  12. Changed12 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"
      +}
    • changedInput schema / properties / negotiable / description
      Previous value: -"Conditions the user said can change: monthly_volume, concurrency, rate_limit, monthly_budget, billing_type, free_allowance, failed_request_billing, success_billing, target_error_billing, geo_targeting, data_region, serp_response_mode, serp_localization, serp_result_types, serp_engines, crawl_page_limit, mcp_official, mcp_remote, mcp_auth, zdr, soc2, search_content. Default: every required condition, each marked ask_user because the user has not said it can change."New value: +"Conditions the user said can change: monthly_volume, concurrency, rate_limit, monthly_budget, billing_type, free_allowance, failed_request_billing, success_billing, target_error_billing, geo_targeting, data_region, serp_response_mode, serp_localization, serp_result_types, serp_engines, crawl_page_limit, mcp_official, mcp_remote, mcp_auth, zdr, soc2, search_content, min_session_minutes, proxies_included, captcha_solving, session_recording, persistent_profiles. Default: every required condition, each marked ask_user because the user has not said it can change."
    • changedInput schema / properties / negotiable / items / enum
      Previous value: -[
      -  "monthly_volume",
      -  "concurrency",
      -  "rate_limit",
      -  "monthly_budget",
      -  "billing_type",
      -  "free_allowance",
      -  "failed_request_billing",
      -  "success_billing",
      -  "target_error_billing",
      -  "geo_targeting",
      -  "data_region",
      -  "serp_response_mode",
      -  "serp_localization",
      -  "serp_result_types",
      -  "serp_engines",
      -  "crawl_page_limit",
      -  "mcp_official",
      -  "mcp_remote",
      -  "mcp_auth",
      -  "zdr",
      -  "soc2",
      -  "search_content"
      -]New value: +[
      +  "monthly_volume",
      +  "concurrency",
      +  "rate_limit",
      +  "monthly_budget",
      +  "billing_type",
      +  "free_allowance",
      +  "failed_request_billing",
      +  "success_billing",
      +  "target_error_billing",
      +  "geo_targeting",
      +  "data_region",
      +  "serp_response_mode",
      +  "serp_localization",
      +  "serp_result_types",
      +  "serp_engines",
      +  "crawl_page_limit",
      +  "mcp_official",
      +  "mcp_remote",
      +  "mcp_auth",
      +  "zdr",
      +  "soc2",
      +  "search_content",
      +  "min_session_minutes",
      +  "proxies_included",
      +  "captcha_solving",
      +  "session_recording",
      +  "persistent_profiles"
      +]
    • 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"
      +}
  13. Changed2 schema fields changed
    • addedOutput schema / properties / changes / items / properties / options / items / properties / admitted / items / properties / plan_page
      Added value: +{
      +  "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"
      +}
    • addedOutput schema / properties / confirm_with_provider / properties / plans / items / properties / plan_page
      Added value: +{
      +  "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"
      +}
  14. Changed1 schema field changed
    • changedOutput schema / properties / changes / items / properties / ask_user / description
      Previous value: -"True when negotiable was not given: ask the user before changing this condition."New value: +"True when negotiable was not given, so it is not known whether the user can change this condition."
  15. Changed19 schema fields changed
    • addedOutput schema / properties / changes / items / properties / options / items / properties / admitted / items / properties / facts / items / properties / at_limit / properties / evidence / properties / source
      Added value: +{
      +  "type": "string"
      +}
    • removedOutput schema / properties / changes / items / properties / options / items / properties / admitted / items / properties / facts / items / properties / at_limit / properties / evidence / properties / url
      Removed value: -{
      -  "type": "string"
      -}
    • addedOutput schema / properties / changes / items / properties / options / items / properties / admitted / items / properties / facts / items / properties / evidence / items / properties / source
      Added value: +{
      +  "description": "Official page the sentence was found on.",
      +  "type": "string"
      +}
    • removedOutput schema / properties / changes / items / properties / options / items / properties / admitted / items / properties / facts / items / properties / evidence / items / properties / url
      Removed value: -{
      -  "description": "Official page the sentence was found on.",
      -  "type": "string"
      -}
    • changedOutput schema / properties / changes / items / properties / options / items / properties / admitted / items / properties / facts / items / properties / evidence / items / required
      Previous value: -[
      -  "url",
      -  "quote"
      -]New value: +[
      +  "source",
      +  "quote"
      +]
    • changedOutput schema / properties / changes / items / properties / options / items / properties / admitted / items / properties / link / properties / provider_url / description
      Previous value: -"The provider page itself, when url is this service's address that forwards to it."New value: +"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."
    • addedOutput schema / properties / changes / items / properties / options / items / properties / admitted / items / properties / link / properties / url / description
      Added value: +"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."
    • addedOutput schema / properties / changes / items / properties / options / items / properties / admitted / items / properties / monthly_cost / properties / facts / items / properties / at_limit / properties / evidence / properties / source
      Added value: +{
      +  "type": "string"
      +}
    • removedOutput schema / properties / changes / items / properties / options / items / properties / admitted / items / properties / monthly_cost / properties / facts / items / properties / at_limit / properties / evidence / properties / url
      Removed value: -{
      -  "type": "string"
      -}
    • addedOutput schema / properties / changes / items / properties / options / items / properties / admitted / items / properties / monthly_cost / properties / facts / items / properties / evidence / items / properties / source
      Added value: +{
      +  "description": "Official page the sentence was found on.",
      +  "type": "string"
      +}
    • removedOutput schema / properties / changes / items / properties / options / items / properties / admitted / items / properties / monthly_cost / properties / facts / items / properties / evidence / items / properties / url
      Removed value: -{
      -  "description": "Official page the sentence was found on.",
      -  "type": "string"
      -}
    • changedOutput schema / properties / changes / items / properties / options / items / properties / admitted / items / properties / monthly_cost / properties / facts / items / properties / evidence / items / required
      Previous value: -[
      -  "url",
      -  "quote"
      -]New value: +[
      +  "source",
      +  "quote"
      +]
    • changedOutput schema / properties / confirm_with_provider / properties / plans / items / properties / link / properties / provider_url / description
      Previous value: -"The provider page itself, when url is this service's address that forwards to it."New value: +"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."
    • addedOutput schema / properties / confirm_with_provider / properties / plans / items / properties / link / properties / url / description
      Added value: +"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."
    • addedOutput schema / properties / confirm_with_provider / properties / plans / items / properties / monthly_cost / properties / facts / items / properties / at_limit / properties / evidence / properties / source
      Added value: +{
      +  "type": "string"
      +}
    • removedOutput schema / properties / confirm_with_provider / properties / plans / items / properties / monthly_cost / properties / facts / items / properties / at_limit / properties / evidence / properties / url
      Removed value: -{
      -  "type": "string"
      -}
    • addedOutput schema / properties / confirm_with_provider / properties / plans / items / properties / monthly_cost / properties / facts / items / properties / evidence / items / properties / source
      Added value: +{
      +  "description": "Official page the sentence was found on.",
      +  "type": "string"
      +}
    • removedOutput schema / properties / confirm_with_provider / properties / plans / items / properties / monthly_cost / properties / facts / items / properties / evidence / items / properties / url
      Removed value: -{
      -  "description": "Official page the sentence was found on.",
      -  "type": "string"
      -}
    • changedOutput schema / properties / confirm_with_provider / properties / plans / items / properties / monthly_cost / properties / facts / items / properties / evidence / items / required
      Previous value: -[
      -  "url",
      -  "quote"
      -]New value: +[
      +  "source",
      +  "quote"
      +]
  16. 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."
  17. Changed14 schema fields changed
    • 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"
      +}
    • changedInput schema / properties / negotiable / description
      Previous value: -"Conditions the user said can change: monthly_volume, concurrency, rate_limit, monthly_budget, billing_type, free_allowance, failed_request_billing, success_billing, target_error_billing, geo_targeting, data_region, serp_response_mode, serp_localization, serp_result_types, serp_engines, crawl_page_limit. Default: every required condition, each marked ask_user because the user has not said it can change."New value: +"Conditions the user said can change: monthly_volume, concurrency, rate_limit, monthly_budget, billing_type, free_allowance, failed_request_billing, success_billing, target_error_billing, geo_targeting, data_region, serp_response_mode, serp_localization, serp_result_types, serp_engines, crawl_page_limit, mcp_official, mcp_remote, mcp_auth, zdr, soc2, search_content. Default: every required condition, each marked ask_user because the user has not said it can change."
    • changedInput schema / properties / negotiable / items / enum
      Previous value: -[
      -  "monthly_volume",
      -  "concurrency",
      -  "rate_limit",
      -  "monthly_budget",
      -  "billing_type",
      -  "free_allowance",
      -  "failed_request_billing",
      -  "success_billing",
      -  "target_error_billing",
      -  "geo_targeting",
      -  "data_region",
      -  "serp_response_mode",
      -  "serp_localization",
      -  "serp_result_types",
      -  "serp_engines",
      -  "crawl_page_limit"
      -]New value: +[
      +  "monthly_volume",
      +  "concurrency",
      +  "rate_limit",
      +  "monthly_budget",
      +  "billing_type",
      +  "free_allowance",
      +  "failed_request_billing",
      +  "success_billing",
      +  "target_error_billing",
      +  "geo_targeting",
      +  "data_region",
      +  "serp_response_mode",
      +  "serp_localization",
      +  "serp_result_types",
      +  "serp_engines",
      +  "crawl_page_limit",
      +  "mcp_official",
      +  "mcp_remote",
      +  "mcp_auth",
      +  "zdr",
      +  "soc2",
      +  "search_content"
      +]
    • 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"
      +}
  18. Changed6 schema fields changed
    • addedOutput schema / properties / changes / items / properties / options / items / properties / admitted / 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 / changes / items / properties / options / items / properties / admitted / 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 / changes / items / properties / options / items / properties / admitted / 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 / changes / items / properties / options / items / properties / admitted / 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"
      +}
    • addedOutput schema / properties / confirm_with_provider / properties / plans / 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 / confirm_with_provider / properties / plans / 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"
      +}
  19. Changed2 schema fields changed
    • addedOutput schema / properties / changes / items / properties / options / items / properties / admitted / 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"
      +}
    • addedOutput schema / properties / confirm_with_provider / properties / plans / 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"
      +}
  20. Changed4 schema fields changed
    • removedOutput schema / properties / changes / items / properties / options / items / properties / admitted / items / properties / link / properties / note
      Removed value: -{
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • changedOutput schema / properties / changes / items / properties / options / items / properties / admitted / items / properties / was / items / properties / verdict / enum
      Previous value: -[
      -  "MET",
      -  "UNMET",
      -  "UNKNOWN"
      -]New value: +[
      +  "MET",
      +  "UNMET",
      +  "UNKNOWN",
      +  "UNIT_MISMATCH",
      +  "UNIT_UNKNOWN"
      +]
    • removedOutput schema / properties / confirm_with_provider / properties / plans / items / properties / link / properties / note
      Removed value: -{
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • 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"
      +}
  21. Changed3 schema fields changed
    • changedOutput schema / properties / changes / items / properties / options / items / properties / admitted / 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 / changes / items / properties / options / items / properties / admitted / 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."
    • changedOutput schema / properties / confirm_with_provider / properties / plans / 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."
  22. Changed2 schema fields changed
    • addedOutput schema / properties / changes / items / properties / options / items / properties / admitted / items / properties / meets_all_after_change
      Added value: +{
      +  "description": "Against the request with this change applied: always true, because only plans that then meet every required condition are listed.",
      +  "enum": [
      +    true
      +  ],
      +  "type": "boolean"
      +}
    • changedOutput schema / properties / changes / items / properties / options / items / properties / admitted / items / required
      Previous value: -[
      -  "offer_id",
      -  "offer_name",
      -  "provider_name",
      -  "billing",
      -  "monthly_cost",
      -  "meets_all",
      -  "was",
      -  "facts",
      -  "link"
      -]New value: +[
      +  "offer_id",
      +  "offer_name",
      +  "provider_name",
      +  "billing",
      +  "monthly_cost",
      +  "meets_all",
      +  "meets_all_after_change",
      +  "was",
      +  "facts",
      +  "link"
      +]
  23. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, so safety is covered; the description adds genuine behavior instead of repeating it — per-condition minimal deltas, plans admitted, and a separate confirm_with_provider section listing plans rejected only because a fact is unstated, including the pages checked and the check date. That last caveat is important because it tells the agent results may hinge on missing data rather than contradiction.

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?

Front-loaded with the when/when-not block before mechanics, which is the right order. The closing example ('no plan meets 2,000,000 searches a month under $100') is illustrative rather than essential, so it is slightly longer than needed but not padded.

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 92-parameter analysis tool with an output schema, the description supplies the decision context (why this instead of search), the shape of the answer, and the unknown-data caveat without needing to restate return fields. What it does not explain — how the negotiation set interacts with required conditions — is arguably left implicit.

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% across 92 parameters, so the schema carries the semantics and baseline 3 applies. The description adds only a little beyond it, notably that only conditions the user can change are relaxed (mapping to the negotiable parameter) and that budget/concurrency/exit-country are typical relaxations.

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 computation (smallest condition change that admits at least one plan) plus what comes back (the admitting plans and their monthly cost), which no sibling does. It is clearly distinct from search and check_conditions, which it names.

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?

Explicit when-to-use ('search finds no plan or too few plans') and when-not ('plans already match'), with the correct alternatives named for the negative case (search or check_conditions). The trigger condition is stated in terms an agent can evaluate against a prior tool result.

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