Start a quote request
Also available as the MCP tool start_quote_request.
Authentication
Your Truvo API key, sent as a bearer token. The prefix selects sandbox (trv_sandbox_) or live (trv_live_).
Headers
The contract revision of this request, which every operation in this document requires. This document describes 2026-09-26. Served revisions: 2026-09-26. A missing header, or one that names no served revision exactly, answers invalid_version (400), and its field error lists the served revisions in allowed_values, newest first.
A caller-chosen request key. A key replays for at least 24 hours. The same key with the same body starts no second request. It returns the same quote request as it is now, with the same id and its current status, version, and quotes, so the answer can differ from the first one. The same key with a different body is a conflict.
Request
Response headers
The ID of this answer. An error body repeats it as request_id.
The contract revision of this answer: the revision that the request named in Truvo-Version. A 404, and a refusal sent before Truvo knows your revision (401, 413, a 429 for failed authentication, and a 400 invalid_version), name the current revision and take its shape.
Response
The quote request ID, which starts with qreq_.
Rises with each change to the request: the start of its run, each new quote, and the final status. Send it as since_version to wait for the next change.
The environment of the call: sandbox or live.
When Truvo created the quote request. The created_after and created_before list filters compare against it.
When the quote request last changed. The updated_since list filter compares against it.
Where the request stands. failed is an error on Truvo’s side and always says what to do next. incomplete is a finished result where carriers gave no final answer. Neither completed nor incomplete is an error. action_required is not used yet. Switch on it: a new value comes only in a new revision.
Why the resource has this status. New reasons can arrive in any revision: show message, and give any switch on reason a default branch.
The defaults that Truvo set before it asked carriers, and each stated value that Truvo rates differently, each with a path, a value, and a source. To change a default, send the fact. A rated value’s label says why Truvo rates it so.