Envelope
The single, versioned response contract returned for every capture, regardless of surface or acquisition method. An Envelope carries the job header (status, warnings, artifact keys), provenance (how the capture was acquired and how each claim about it is known), the answer (text, markdown, blocks), evidence (sources, fan-out, mentions, shopping, ads) and raw (the verbatim upstream payload, by reference). One shape to parse, diff and store — instead of N per-provider formats.
In AI Search API
GET /v1/jobs/:id returns an Envelope for every completed child job; ?mode=sync returns one inline. The markdown answer is always populated, absence-is-data is enforced by the schema itself, and every Envelope records its schemaVersion so stored captures stay diffable as the contract evolves.
{
"job": { "id", "status", "warnings", "artifacts", … },
"provenance": { "acquisition", "model", "loginState", "surfacePresent", … },
"answer": { "text", "markdown", "blocks" },
"evidence": { "sources", "fanOut", "mentions", "shopping", "ads" },
"raw": { "ref" }
}Related terms
See it in the product
Every definition here is enforced in the Envelope contract — run a capture and read the fields yourself.