Skip to main content
POST
Answer with brain conditioning
With arm set to baseline the answer comes from cosine retrieval and the persona prompt alone. With arm set to brain the forward pass runs first: omit tercile_boundaries and the call returns the raw signals and skips generation (answer is an empty string), so a caller can collect signals across a batch of questions before computing boundaries; supply tercile_boundaries and those signals are rendered into the prompt before the answer is generated. Reads the API key owner’s own content, so the X-Exo-Subject selector is not accepted here.

Authorization

This route requires the read scope. A missing or invalid credential returns 401 authentication_error. A valid credential without the scope returns 403 permission_denied, and the problem body names the exact scope required.

Headers

These are request conventions the contract does not declare as parameters, so they do not appear in the schema tables below.

Success responses

Errors

Every error is an RFC 9457 application/problem+json body carrying a stable code, a requestId, and a suggestedAction where Exo has one. See Errors.

Authorizations

X-Exo-API-Key
string
header
required

An Exo API key (exo_...) sent as the X-Exo-API-Key header.

Body

application/json

Request for /v1/brain/answer.

arm
enum<string>
required
Available options:
baseline,
brain
question
string
required
Minimum string length: 3
k
integer
default:8
Required range: 1 <= x <= 50
tercile_boundaries
TercileBoundaries · object | null

Corpus-relative cut points that turn raw ExoBrain signals into prose.

Confidence and drift saturate in absolute terms, so /v1/brain/answer bands them against the caller's own corpus instead of fixed thresholds. Collect the raw signals first (call /v1/brain/answer with arm set to brain and no boundaries), compute the terciles across that batch, then send them back on the generating call.

Doc-only note: each field is a fixed-length pair, which Pydantic renders as JSON Schema 2020-12 prefixItems. The json_schema_extra sibling items is a documentation aid for OpenAPI tooling that predates prefixItems (Spectral's array-items rule); it is accurate (every element is a number) and has no effect on validation.

Response

The generated answer, the prompt that produced it, and the brain signals when the brain arm ran.

Response for /v1/brain/answer.

answer
string
required
prompt_used
Prompt Used · object
required
retrieval_chunk_ids
string[]
required
brain_signals
BrainSignalsOut · object | null

Raw + rendered ExoBrain signals (brain arm only).