> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.truvo.com/api-reference/mcp/start-quote-request/llms.txt. # start_quote_request Starts one quote request for one person and one line. It returns at once with the request in\_progress, and carriers answer in the background. Follow the request with get\_quote\_request. Send only facts the person gave you. Put them in application, in the shape of the required\_facts\_schema that get\_capabilities gives for the line. If a required fact is missing, the answer is a needs\_information error that lists each missing field. Ask the person, then send the request again. consent\_receipt\_id is required: the ID of the person's consent for Truvo to get quotes for them. It covers quoting only. For auto only, send credit\_disclosure\_receipt\_id when the person agreed to a credit check. Renters and pet requests do not use it. Set a contact channel to true only when contact\_consent, the person's own record of consent to be contacted, lists that channel in its channels. Each receipt covers one consent. Never send one receipt ID in two fields, and never make a receipt up. request\_key is your own ID for this request. The same key with the same input returns the same request, so a retry never starts a second one. A key that already started a request cannot take different input, so use a new key for a new request. Leave out scenario unless the person or developer asks to test a named sandbox outcome, and never send it on a first quote. The line's default scenario prices whatever pets, drivers, or vehicles you send. * **Title:** Request insurance quotes * **Callers:** partner key, platform key, and keyless * **Hints:** `readOnlyHint: false`, `destructiveHint: false` * **Result:** The quote request, with the status `in_progress`. With a platform key or keyless, it also holds `read_handle` and `read_handle_expires_at`. Keyless, it also holds `quote_consent`, the receipt that Truvo recorded. * **HTTP:** [`POST /v1/quote-requests`](/api-reference/start-quote-request) | Field | Type | Required | Description | | ------------------------------ | ------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `line` | string | Yes | The insurance line. One of `personal_auto`, `renters`, or `pet`. | | `consent_receipt_id` | string | Yes | Partner key and platform key only. The ID of the person's consent for Truvo to get quotes for them. | | `credit_disclosure_receipt_id` | string | No | Partner key and platform key only. For auto, the ID of the person's agreement to a credit check. | | `contact_consent` | object | No | Partner key and platform key only. The person's record of consent to be contacted: its `receipt_id` and the `channels` it covers. | | `contact_channels` | object | No | Partner key and platform key only. The `email`, `sms`, and `phone` channels, each `true` or `false`. Set a channel to `true` only if `contact_consent` lists it. | | `scenario` | string | No | Sandbox only. The scenario that decides the outcome. Leave it out unless you test a named outcome. | | `request_key` | string | Yes | Your own ID for this request. Send a new random UUID for each new request, and the same value to retry it. | | `application` | object | Yes | The person's facts, in the shape of the line's `required_facts_schema` from `get_capabilities`. | | `quote_disclosure_version` | string | Yes | Keyless only. The version of the quote disclosure from `get_capabilities` that the person agreed to. | | `quote_disclosure_accepted` | boolean | Yes | Keyless only. `true` once the person agrees to the quote disclosure. |