Transient Intelligence — API Integration
Everything you need to integrate the Transient Intelligence API into your product — endpoints, authentication, request shapes, and response handling.
Tools & Artifacts
Download our official API specifications and test collections to jumpstart your integration.
Authentication
All API endpoints require the x-api-key header. Every request must include it.
Core Endpoints Reference
Two integration paths are available. Use /answer for inline text — it handles upload, indexing, and query in one call. Use the decoupled /upload → /ask flow for large files or async workloads.
/api/models/v1/answerRecommended defaultOne-call orchestrator. Accepts inline content and a question, handles upload and evidence retrieval internally, and returns a grounded response. Equivalent to ti_run_workflow in MCP.
Request body
| Parameter | Type | Required | Description |
|---|---|---|---|
| question | string | Yes | The question to answer from the provided evidence. |
| input | string | Conditional | Raw text or JSON content to ingest inline. Required unless session_id or input_url is provided. |
| input_url | string | Conditional | HTTPS URL to a publicly accessible file. Must not be a local path (/mnt/data, file://). |
| session_id | string | No | Reuse an existing indexed session. If provided without a source, queries that session directly. |
| top_k | integer | No | Number of evidence chunks to retrieve. Default: 10. Max: 50. See top_k guide below. |
| wait_max_ms | integer | No | Max milliseconds to wait for async indexing before returning a retry payload. Default: 10000. Max: 60000. |
| retry_after_seconds | integer | No | Hint returned in retry payloads. Default: 10. |
| include_normative | boolean | No | Include normative_check and factual_confidence in the response. Default: true. |
Response
/api/models/v1/uploadIngest source data into a session. Accepts JSON payloads and multipart file uploads. Returns a session_id and optionally a run_id for async tracking.
Supported input types
Text-layer extraction. Async for large files.
.docx
Word
Full document with headings and tables.
.xlsx
Excel
Tabular data across sheets. Processed via Excel pipeline.
.csv
CSV
Flat tabular data. Treated as structured evidence.
.txt
Plain text
Raw text. Fastest indexing path.
.json
JSON
Structured payloads and inline data objects.
Request body
| Parameter | Type | Required | Description |
|---|---|---|---|
| input | string | Conditional | Text or JSON content to ingest. Required if no files or input_url. |
| input_url | string | Conditional | HTTPS URL pointing to a file to fetch and ingest server-side. |
| files | multipart | Conditional | One or more files as multipart form data. Max 30MB default. |
| sessionId | string | No | Attach to an existing session to append content. |
| retention_hours | integer | No | How long to retain the indexed session. Subject to platform cap. |
/api/models/v1/askEvidence-first query endpoint. Requires a session_id from a prior upload and a question. Returns grounded citations and an optional synthesized answer. Only call once retrieval_ready: true.
Request body
| Parameter | Type | Required | Description |
|---|---|---|---|
| session_id | string | Yes | Session ID returned from /v1/upload. |
| question | string | Yes | The question to answer from indexed evidence. |
| top_k | integer | No | Evidence chunks to retrieve. Default: 10. Max: 50. See top_k guide below. |
| evidence_only | boolean | No | Return only citations without a synthesized answer. |
| answer_only | boolean | No | Return a concise answer with compact citations only. |
| include_normative | boolean | No | Include normative_check and factual_confidence. Default: true. |
top_k: choosing the right value
Controls how many evidence chunks are retrieved before synthesis. Higher values increase recall but may surface weaker matches. Lower values prioritise precision.
1 – 5
Precision. Use for highly specific, targeted questions.
6 – 15
Balanced. Default range for most integrations.
16 – 50
Recall. Use for broad synthesis across long documents.
/api/models/v1/runs/{id}Poll the status of an asynchronous run. Call after /v1/upload returns retrieval_ready: false. Proceed to /v1/ask once status is completed.
/api/models/v1/runs/{id}/resultsRetrieve the final output of a completed run. Use after polling confirms status: completed.
Session management (important)
Reusing the same session_id across unrelated reviews can muddy previous context and make results harder to interpret.
- Reuse
session_idonly for follow-up questions on the same evidence set. - Start a new session when switching documents, review goals, or customer/case boundaries.
- Persist
session_idper workflow job, not as a global shared default. - In multi-tenant setups, never reuse sessions across tenants or projects.
