Skip to main content
Use POST /chat/query/ to ask a question against one or more topics and optionally continue the same conversation by sending back the returned chat_id. Send your API key in the X-API-KEY header. The body must include query.

Request Notes

  • Topic scoping supports both single-value and list forms: topic_name or topic_names, and topic_uuid or topic_uuids.
  • Prefer the plural fields for new integrations. The singular fields are still accepted for backward compatibility.
  • Do not send both topic names and topic UUIDs in the same request.
  • If you omit all topic fields, the request only succeeds when your organization has smart topic selection enabled or when metadata.selected_pdf_filenames is provided.
  • Send chat_id to continue an existing API chat. Omit it to start a new thread.
  • org_name is only required when using the master VOLTAI API key for another organization.
  • part_selection: true forces part-selection behavior.
  • highlight_sources defaults to true.

Response Notes

  • The endpoint returns a single JSON object, not an array.
  • final_answer is the cleaned answer text returned by the agent.
  • sources contains text citations only, with a filename, page number, and library URL.
  • mode returns the resolved reasoning/query-complexity value when available.
  • latencies is typically an empty object unless the request is made in the master Voltai admin context.

Example Request

{
  "query": "What is EMEM?",
  "topic_uuids": ["d55bc749-3a59-4b5f-8478-6218bf892c10"]
}

Example Response

{
  "final_answer": "EMEM is embedded memory integrated into the device for storing code and data.",
  "chat_id": "2d8a39d8-29d6-4f0f-bc5f-4c5f0f9c9d54",
  "sources": [
    {
      "source_name": "example-datasheet.pdf",
      "page": 12,
      "url": "https://voltai.ai/ExampleOrg/library?source_name=example-datasheet.pdf&source_page=12&source_type=text"
    }
  ],
  "latencies": {},
  "conv_id": "84f96dc8-b92f-41fc-907a-2d7419196185",
  "mode": "FAST"
}