Answer a question with cited synthesis

Changed on
post/api/mpp/v1/answer

Request

  • Base URL
    https://tako.com
  • URL
    https://tako.com/api/mpp/v1/answer
  • Auth
    none declared

Request body

querystring required

Natural language search query.

effort'fast' | 'instant' | 'deep'

Public effort taxonomy for search and answer. FAST is the default. INSTANT serves cached embeds without a new data retrieval and works in all environments. On /v1/answer it also writes the answer with the fastest synthesis model, so it trades answer quality for latency. On /v1/answer FAST and DEEP both write the answer with a stronger model. DEEP also widens Tako retrieval and adds a second, higher-quality reranking pass; it's slower and bills at a premium tier.

country_codestring

ISO 3166-1 alpha-2 country code for localization.

localestring

BCP-47 locale tag for language and formatting.

timezonestring nullable

IANA timezone (for example, 'America/New_York') Tako renders preview images in. Defaults to the zone at location when you send coordinates. Card text keeps each surface's own timezone.

include_relatedinteger nullable

Applies to POST /v3/search only. Return follow-up query suggestions in related. Omit this field to disable them. The value sets the maximum number of suggestions, from 1 to 20. POST /v1/answer accepts this field but ignores it: the answer response has no related field.

variable_costboolean nullable

Deprecated: send sources.data.variable_cost instead. Tako reads this field only when sources.data.variable_cost is absent, and answers 400 when the two disagree.

zdrboolean nullable

Request zero data retention. Set it to true and Tako keeps no copy of the query in its logs or saved cards, and limits web retrieval to its zero-data-retention provider. Available only to accounts that Tako has enabled; any other account gets a 403. To turn it on, contact support@tako.com. Omit it for standard retention.

output_schemaobject nullable

JSON Schema for structured output. Tako fills it from the same evidence it uses to write answer, and returns it in structured_output. Requires effort 'fast' or 'deep'; on 'instant' the request returns 400. Supported subset: the object, array, string, number, integer, and boolean types, plus items, enum, required, description, and additionalProperties: false. A type may be nullable as ["number", "null"], which is how you let Tako signal 'no evidence' rather than filling a zero. title, examples, format, and default are accepted and ignored — they constrain nothing. Caps: 16KB total, depth 5, 64 properties, 512 characters per description. Violations return 400. If Tako can't fill the schema, structured_output is absent and structured_output_error says why — the answer and the cards still return.

Example request

{
  "query": "Intel vs Nvidia headcount since 2013",
  "sources": {
    "data": {
      "max_rows": 100,
      "max_variable_cost_usd": 0.5
    }
  }
}

Response

Cited answer grounded in Tako data, the web, or both.

answerstring required

Synthesized text answer.

request_idstring required
structured_outputobject nullable

Your output_schema, filled. Absent when the request carried no output_schema, or when Tako couldn't fill it — check structured_output_error.

Example response

{
  "cards": [
    {
      "sources": [
        {
          "source_name": "S&P Global",
          "url": "https://xignite.com"
        }
      ],
      "methodologies": [
        {
          "methodology_name": "Where the Data Comes From - S&P Global",
          "methodology_description": "Financial metrics standardized by S&P Global from company regulatory filings, press releases, and restatements."
        }
      ],
      "metric_definitions": [
        {
          "name": "Gross Domestic Product (current US$)"
        }
      ],
      "data_freshness": {
        "coverage_end": "2026",
        "data_as_of": "2026-10-01",
        "last_updated": "2026-07-14"
      }
    }
  ]
}

Changes

    • info

      added the new optional request property //

    • info

      added the new optional request property //

    • info

      request property deprecated

    • info

      added the optional property //// to the response with the status

    • breaking

      response property cards/items/content/anyOf[subschema #1: ResultContent]/dataset/anyOf[subschema #1: TakoDataset]/rows/items/items/ list-of-types was widened by adding types array to media type application/json of response 200

    • breaking

      response property cards/items/content/anyOf[subschema #1: ResultContent]/records/anyOf[subschema #1]/items/additionalProperties/ list-of-types was widened by adding types array to media type application/json of response 200

    • breaking

      response property web_results/items/content/anyOf[subschema #1: ResultContent]/dataset/anyOf[subschema #1: TakoDataset]/rows/items/items/ list-of-types was widened by adding types array to media type application/json of response 200

    • breaking

      response property web_results/items/content/anyOf[subschema #1: ResultContent]/records/anyOf[subschema #1]/items/additionalProperties/ list-of-types was widened by adding types array to media type application/json of response 200

    • warning

      added the new array enum value to the //////// response property for the response status

    • warning

      added the new array enum value to the //////// response property for the response status

    • warning

      added the new array enum value to the //////// response property for the response status

    • warning

      added the new array enum value to the //////// response property for the response status