> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.truvo.com/llms.txt.

# start_quote_request

POST https://api.truvo.com/v1/mcp#start_quote_request
Content-Type: application/json

Reference: https://docs.truvo.com/api-reference/call-start-quote-request

## Authentication

- `Authorization` header (bearer token, required) — Your Truvo API key, sent as a bearer token. The prefix selects sandbox (trv_sandbox_) or live (trv_live_).

## Request

### Headers

- `Accept` (string, required, default: application/json, text/event-stream)

### Body (application/json)

This endpoint expects a StartQuoteRequestCall.

- `jsonrpc` (enum, required)
  - Allowed values: `2.0`
- `id` (integer, required)
- `method` (enum, required)
  - Allowed values: `tools/call`
- `params` (StartQuoteRequestCallParams, required)

## Response

### 200

The JSON-RPC answer.

- `jsonrpc` (enum, optional)
  - Allowed values: `2.0`
- `id` (integer, optional)
- `result` (ToolCallAnswerResult, optional)
- `error` (ToolCallAnswerError, optional)

## Types

### StartQuoteRequestCallParams

- `name` (enum, required)
  - Allowed values: `start_quote_request`
- `arguments` (StartQuoteRequestArguments, required)

### ToolCallAnswerResult

- `content` (list of ToolCallAnswerResultContentItems, optional)
- `structuredContent` (ToolCallAnswerResultStructuredContent, optional)
- `isError` (boolean, optional)

### ToolCallAnswerError

- `code` (integer, optional)
- `message` (string, optional)

### StartQuoteRequestArguments

- `line` (enum, required)
  - Allowed values: `personal_auto`, `renters`, `pet`
- `consent_receipt_id` (string, required) — The ID of the person's consent for Truvo to get quotes for them. It covers quoting only.
- `request_key` (string, required) — Your own ID for this request. Send a new random UUID for each new quote, and resend the same value only when you retry the same call.
- `application` (StartQuoteRequestArgumentsApplication, required) — The person's facts for the line. Call get_capabilities for the line first: its required_facts_schema is the JSON Schema of this object, and its required_facts lists each fact a quote request needs.
- `credit_disclosure_receipt_id` (string, optional) — The ID of the person's own record of agreeing to a credit check. It covers the credit check only.
- `contact_consent` (ContactConsent, optional) — The person's own record of consent to be contacted, and each channel it covers. A contact channel set to true must be one of these channels.
- `contact_channels` (ContactChannelsIntake, optional)
- `scenario` (string, optional) — Sandbox testing only. Send it only when the person or developer asks to test a named outcome, and never on a first quote. Leave it out when you act for a person.

### ToolCallAnswerResultContentItems

### ToolCallAnswerResultStructuredContent

### StartQuoteRequestArgumentsApplication

The person's facts for the line. Call get_capabilities for the line first: its required_facts_schema is the JSON Schema of this object, and its required_facts lists each fact a quote request needs.

### ContactConsent

The person's own record of consent to be contacted, and each channel it covers. A contact channel set to true must be one of these channels.

- `receipt_id` (string, required)
- `channels` (list of enum, required)
  - Allowed values: `email`, `sms`, `phone`

### ContactChannelsIntake

- `email` (boolean, optional)
- `sms` (boolean, optional)
- `phone` (boolean, optional)

## Examples

### Auto

**Request**

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "start_quote_request",
    "arguments": {
      "line": "personal_auto",
      "consent_receipt_id": "consent-auto-one-owned",
      "request_key": "63d4e0a8-40e4-4b74-ad76-60a23e7105d7",
      "application": {
        "applicant": {
          "email": "alex@example.com",
          "name": {
            "first_name": "Test",
            "last_name": "Applicant One"
          },
          "phone": "5550100000"
        },
        "drivers": [
          {
            "date_of_birth": "1990-04-12",
            "gender": "female",
            "name": {
              "first_name": "Test",
              "last_name": "Applicant One"
            }
          }
        ],
        "garaging_address": {
          "city": "Austin",
          "line1": "100 Example Way",
          "line2": null,
          "postal_code": "78701",
          "state": "TX"
        },
        "protection": {
          "bodily_injury_per_accident_minor": 30000000,
          "bodily_injury_per_person_minor": 10000000,
          "property_damage_minor": 5000000
        },
        "vehicles": [
          {
            "annual_mileage": 8000,
            "collision_deductible_minor": 100000,
            "comprehensive_deductible_minor": 100000,
            "make": "Toyota",
            "model": "Camry",
            "ownership": "owned",
            "use": "pleasure",
            "vin": "SYNTHVIN000000001",
            "year": 2019
          }
        ]
      }
    }
  }
}
```

**Response**

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "text": "Quote request qreq_453eeedb7f2edbfb250d06b3a8776ba9 is in_progress. Call get_quote_request with this ID, wait_seconds 20, and since_version 1 to follow it.",
        "type": "text"
      },
      {
        "text": "{\"id\":\"qreq_453eeedb7f2edbfb250d06b3a8776ba9\",\"version\":1,\"line\":\"personal_auto\",\"environment\":\"sandbox\",\"application_id\":\"app_a0b3fb8ace118df446ee5b8378fc8db6\",\"application_version\":1,\"status\":\"in_progress\",\"status_details\":{\"reason\":\"queued\",\"message\":\"The request is waiting to start.\"},\"quotes\":[],\"market_outcomes\":[],\"requirements\":[],\"assumptions\":[{\"path\":\"application.vehicles.0.assigned_driver\",\"value\":1,\"source\":\"single_driver\"},{\"path\":\"application.credit_mode\",\"value\":\"declined\",\"source\":\"external_default\"},{\"path\":\"contact_channels.email\",\"value\":false,\"source\":\"no_tcpa_consent\"},{\"path\":\"contact_channels.sms\",\"value\":false,\"source\":\"no_tcpa_consent\"},{\"path\":\"contact_channels.phone\",\"value\":false,\"source\":\"no_tcpa_consent\"}],\"next_actions\":[{\"type\":\"read_status\",\"resource\":\"quote_request\",\"id\":\"qreq_453eeedb7f2edbfb250d06b3a8776ba9\"}],\"failure\":null}",
        "type": "text"
      }
    ],
    "structuredContent": {
      "application_id": "app_a0b3fb8ace118df446ee5b8378fc8db6",
      "application_version": 1,
      "assumptions": [
        {
          "path": "application.vehicles.0.assigned_driver",
          "source": "single_driver",
          "value": 1
        },
        {
          "path": "application.credit_mode",
          "source": "external_default",
          "value": "declined"
        },
        {
          "path": "contact_channels.email",
          "source": "no_tcpa_consent",
          "value": false
        },
        {
          "path": "contact_channels.sms",
          "source": "no_tcpa_consent",
          "value": false
        },
        {
          "path": "contact_channels.phone",
          "source": "no_tcpa_consent",
          "value": false
        }
      ],
      "environment": "sandbox",
      "failure": null,
      "id": "qreq_453eeedb7f2edbfb250d06b3a8776ba9",
      "line": "personal_auto",
      "market_outcomes": [],
      "next_actions": [
        {
          "id": "qreq_453eeedb7f2edbfb250d06b3a8776ba9",
          "resource": "quote_request",
          "type": "read_status"
        }
      ],
      "quotes": [],
      "requirements": [],
      "status": "in_progress",
      "status_details": {
        "message": "The request is waiting to start.",
        "reason": "queued"
      },
      "version": 1
    }
  }
}
```

**SDK Code**

```python Auto
import requests

url = "https://api.truvo.com/v1/mcp#start_quote_request"

payload = {
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
        "name": "start_quote_request",
        "arguments": {
            "line": "personal_auto",
            "consent_receipt_id": "consent-auto-one-owned",
            "request_key": "63d4e0a8-40e4-4b74-ad76-60a23e7105d7",
            "application": {
                "applicant": {
                    "email": "alex@example.com",
                    "name": {
                        "first_name": "Test",
                        "last_name": "Applicant One"
                    },
                    "phone": "5550100000"
                },
                "drivers": [
                    {
                        "date_of_birth": "1990-04-12",
                        "gender": "female",
                        "name": {
                            "first_name": "Test",
                            "last_name": "Applicant One"
                        }
                    }
                ],
                "garaging_address": {
                    "city": "Austin",
                    "line1": "100 Example Way",
                    "line2": None,
                    "postal_code": "78701",
                    "state": "TX"
                },
                "protection": {
                    "bodily_injury_per_accident_minor": 30000000,
                    "bodily_injury_per_person_minor": 10000000,
                    "property_damage_minor": 5000000
                },
                "vehicles": [
                    {
                        "annual_mileage": 8000,
                        "collision_deductible_minor": 100000,
                        "comprehensive_deductible_minor": 100000,
                        "make": "Toyota",
                        "model": "Camry",
                        "ownership": "owned",
                        "use": "pleasure",
                        "vin": "SYNTHVIN000000001",
                        "year": 2019
                    }
                ]
            }
        }
    }
}
headers = {
    "Accept": "application/json, text/event-stream",
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript Auto
const url = 'https://api.truvo.com/v1/mcp#start_quote_request';
const options = {
  method: 'POST',
  headers: {
    Accept: 'application/json, text/event-stream',
    Authorization: 'Bearer <token>',
    'Content-Type': 'application/json'
  },
  body: '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"start_quote_request","arguments":{"line":"personal_auto","consent_receipt_id":"consent-auto-one-owned","request_key":"63d4e0a8-40e4-4b74-ad76-60a23e7105d7","application":{"applicant":{"email":"alex@example.com","name":{"first_name":"Test","last_name":"Applicant One"},"phone":"5550100000"},"drivers":[{"date_of_birth":"1990-04-12","gender":"female","name":{"first_name":"Test","last_name":"Applicant One"}}],"garaging_address":{"city":"Austin","line1":"100 Example Way","line2":null,"postal_code":"78701","state":"TX"},"protection":{"bodily_injury_per_accident_minor":30000000,"bodily_injury_per_person_minor":10000000,"property_damage_minor":5000000},"vehicles":[{"annual_mileage":8000,"collision_deductible_minor":100000,"comprehensive_deductible_minor":100000,"make":"Toyota","model":"Camry","ownership":"owned","use":"pleasure","vin":"SYNTHVIN000000001","year":2019}]}}}}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Auto
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.truvo.com/v1/mcp#start_quote_request"

	payload := strings.NewReader("{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 1,\n  \"method\": \"tools/call\",\n  \"params\": {\n    \"name\": \"start_quote_request\",\n    \"arguments\": {\n      \"line\": \"personal_auto\",\n      \"consent_receipt_id\": \"consent-auto-one-owned\",\n      \"request_key\": \"63d4e0a8-40e4-4b74-ad76-60a23e7105d7\",\n      \"application\": {\n        \"applicant\": {\n          \"email\": \"alex@example.com\",\n          \"name\": {\n            \"first_name\": \"Test\",\n            \"last_name\": \"Applicant One\"\n          },\n          \"phone\": \"5550100000\"\n        },\n        \"drivers\": [\n          {\n            \"date_of_birth\": \"1990-04-12\",\n            \"gender\": \"female\",\n            \"name\": {\n              \"first_name\": \"Test\",\n              \"last_name\": \"Applicant One\"\n            }\n          }\n        ],\n        \"garaging_address\": {\n          \"city\": \"Austin\",\n          \"line1\": \"100 Example Way\",\n          \"line2\": null,\n          \"postal_code\": \"78701\",\n          \"state\": \"TX\"\n        },\n        \"protection\": {\n          \"bodily_injury_per_accident_minor\": 30000000,\n          \"bodily_injury_per_person_minor\": 10000000,\n          \"property_damage_minor\": 5000000\n        },\n        \"vehicles\": [\n          {\n            \"annual_mileage\": 8000,\n            \"collision_deductible_minor\": 100000,\n            \"comprehensive_deductible_minor\": 100000,\n            \"make\": \"Toyota\",\n            \"model\": \"Camry\",\n            \"ownership\": \"owned\",\n            \"use\": \"pleasure\",\n            \"vin\": \"SYNTHVIN000000001\",\n            \"year\": 2019\n          }\n        ]\n      }\n    }\n  }\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Accept", "application/json, text/event-stream")
	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Auto
require 'uri'
require 'net/http'

url = URI("https://api.truvo.com/v1/mcp#start_quote_request")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Accept"] = 'application/json, text/event-stream'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 1,\n  \"method\": \"tools/call\",\n  \"params\": {\n    \"name\": \"start_quote_request\",\n    \"arguments\": {\n      \"line\": \"personal_auto\",\n      \"consent_receipt_id\": \"consent-auto-one-owned\",\n      \"request_key\": \"63d4e0a8-40e4-4b74-ad76-60a23e7105d7\",\n      \"application\": {\n        \"applicant\": {\n          \"email\": \"alex@example.com\",\n          \"name\": {\n            \"first_name\": \"Test\",\n            \"last_name\": \"Applicant One\"\n          },\n          \"phone\": \"5550100000\"\n        },\n        \"drivers\": [\n          {\n            \"date_of_birth\": \"1990-04-12\",\n            \"gender\": \"female\",\n            \"name\": {\n              \"first_name\": \"Test\",\n              \"last_name\": \"Applicant One\"\n            }\n          }\n        ],\n        \"garaging_address\": {\n          \"city\": \"Austin\",\n          \"line1\": \"100 Example Way\",\n          \"line2\": null,\n          \"postal_code\": \"78701\",\n          \"state\": \"TX\"\n        },\n        \"protection\": {\n          \"bodily_injury_per_accident_minor\": 30000000,\n          \"bodily_injury_per_person_minor\": 10000000,\n          \"property_damage_minor\": 5000000\n        },\n        \"vehicles\": [\n          {\n            \"annual_mileage\": 8000,\n            \"collision_deductible_minor\": 100000,\n            \"comprehensive_deductible_minor\": 100000,\n            \"make\": \"Toyota\",\n            \"model\": \"Camry\",\n            \"ownership\": \"owned\",\n            \"use\": \"pleasure\",\n            \"vin\": \"SYNTHVIN000000001\",\n            \"year\": 2019\n          }\n        ]\n      }\n    }\n  }\n}"

response = http.request(request)
puts response.read_body
```

```java Auto
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.truvo.com/v1/mcp#start_quote_request")
  .header("Accept", "application/json, text/event-stream")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 1,\n  \"method\": \"tools/call\",\n  \"params\": {\n    \"name\": \"start_quote_request\",\n    \"arguments\": {\n      \"line\": \"personal_auto\",\n      \"consent_receipt_id\": \"consent-auto-one-owned\",\n      \"request_key\": \"63d4e0a8-40e4-4b74-ad76-60a23e7105d7\",\n      \"application\": {\n        \"applicant\": {\n          \"email\": \"alex@example.com\",\n          \"name\": {\n            \"first_name\": \"Test\",\n            \"last_name\": \"Applicant One\"\n          },\n          \"phone\": \"5550100000\"\n        },\n        \"drivers\": [\n          {\n            \"date_of_birth\": \"1990-04-12\",\n            \"gender\": \"female\",\n            \"name\": {\n              \"first_name\": \"Test\",\n              \"last_name\": \"Applicant One\"\n            }\n          }\n        ],\n        \"garaging_address\": {\n          \"city\": \"Austin\",\n          \"line1\": \"100 Example Way\",\n          \"line2\": null,\n          \"postal_code\": \"78701\",\n          \"state\": \"TX\"\n        },\n        \"protection\": {\n          \"bodily_injury_per_accident_minor\": 30000000,\n          \"bodily_injury_per_person_minor\": 10000000,\n          \"property_damage_minor\": 5000000\n        },\n        \"vehicles\": [\n          {\n            \"annual_mileage\": 8000,\n            \"collision_deductible_minor\": 100000,\n            \"comprehensive_deductible_minor\": 100000,\n            \"make\": \"Toyota\",\n            \"model\": \"Camry\",\n            \"ownership\": \"owned\",\n            \"use\": \"pleasure\",\n            \"vin\": \"SYNTHVIN000000001\",\n            \"year\": 2019\n          }\n        ]\n      }\n    }\n  }\n}")
  .asString();
```

```php Auto
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.truvo.com/v1/mcp#start_quote_request', [
  'body' => '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "start_quote_request",
    "arguments": {
      "line": "personal_auto",
      "consent_receipt_id": "consent-auto-one-owned",
      "request_key": "63d4e0a8-40e4-4b74-ad76-60a23e7105d7",
      "application": {
        "applicant": {
          "email": "alex@example.com",
          "name": {
            "first_name": "Test",
            "last_name": "Applicant One"
          },
          "phone": "5550100000"
        },
        "drivers": [
          {
            "date_of_birth": "1990-04-12",
            "gender": "female",
            "name": {
              "first_name": "Test",
              "last_name": "Applicant One"
            }
          }
        ],
        "garaging_address": {
          "city": "Austin",
          "line1": "100 Example Way",
          "line2": null,
          "postal_code": "78701",
          "state": "TX"
        },
        "protection": {
          "bodily_injury_per_accident_minor": 30000000,
          "bodily_injury_per_person_minor": 10000000,
          "property_damage_minor": 5000000
        },
        "vehicles": [
          {
            "annual_mileage": 8000,
            "collision_deductible_minor": 100000,
            "comprehensive_deductible_minor": 100000,
            "make": "Toyota",
            "model": "Camry",
            "ownership": "owned",
            "use": "pleasure",
            "vin": "SYNTHVIN000000001",
            "year": 2019
          }
        ]
      }
    }
  }
}',
  'headers' => [
    'Accept' => 'application/json, text/event-stream',
    'Authorization' => 'Bearer <token>',
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

```csharp Auto
using RestSharp;

var client = new RestClient("https://api.truvo.com/v1/mcp#start_quote_request");
var request = new RestRequest(Method.POST);
request.AddHeader("Accept", "application/json, text/event-stream");
request.AddHeader("Authorization", "Bearer <token>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 1,\n  \"method\": \"tools/call\",\n  \"params\": {\n    \"name\": \"start_quote_request\",\n    \"arguments\": {\n      \"line\": \"personal_auto\",\n      \"consent_receipt_id\": \"consent-auto-one-owned\",\n      \"request_key\": \"63d4e0a8-40e4-4b74-ad76-60a23e7105d7\",\n      \"application\": {\n        \"applicant\": {\n          \"email\": \"alex@example.com\",\n          \"name\": {\n            \"first_name\": \"Test\",\n            \"last_name\": \"Applicant One\"\n          },\n          \"phone\": \"5550100000\"\n        },\n        \"drivers\": [\n          {\n            \"date_of_birth\": \"1990-04-12\",\n            \"gender\": \"female\",\n            \"name\": {\n              \"first_name\": \"Test\",\n              \"last_name\": \"Applicant One\"\n            }\n          }\n        ],\n        \"garaging_address\": {\n          \"city\": \"Austin\",\n          \"line1\": \"100 Example Way\",\n          \"line2\": null,\n          \"postal_code\": \"78701\",\n          \"state\": \"TX\"\n        },\n        \"protection\": {\n          \"bodily_injury_per_accident_minor\": 30000000,\n          \"bodily_injury_per_person_minor\": 10000000,\n          \"property_damage_minor\": 5000000\n        },\n        \"vehicles\": [\n          {\n            \"annual_mileage\": 8000,\n            \"collision_deductible_minor\": 100000,\n            \"comprehensive_deductible_minor\": 100000,\n            \"make\": \"Toyota\",\n            \"model\": \"Camry\",\n            \"ownership\": \"owned\",\n            \"use\": \"pleasure\",\n            \"vin\": \"SYNTHVIN000000001\",\n            \"year\": 2019\n          }\n        ]\n      }\n    }\n  }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Auto
import Foundation

let headers = [
  "Accept": "application/json, text/event-stream",
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
]
let parameters = [
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": [
    "name": "start_quote_request",
    "arguments": [
      "line": "personal_auto",
      "consent_receipt_id": "consent-auto-one-owned",
      "request_key": "63d4e0a8-40e4-4b74-ad76-60a23e7105d7",
      "application": [
        "applicant": [
          "email": "alex@example.com",
          "name": [
            "first_name": "Test",
            "last_name": "Applicant One"
          ],
          "phone": "5550100000"
        ],
        "drivers": [
          [
            "date_of_birth": "1990-04-12",
            "gender": "female",
            "name": [
              "first_name": "Test",
              "last_name": "Applicant One"
            ]
          ]
        ],
        "garaging_address": [
          "city": "Austin",
          "line1": "100 Example Way",
          "line2": ,
          "postal_code": "78701",
          "state": "TX"
        ],
        "protection": [
          "bodily_injury_per_accident_minor": 30000000,
          "bodily_injury_per_person_minor": 10000000,
          "property_damage_minor": 5000000
        ],
        "vehicles": [
          [
            "annual_mileage": 8000,
            "collision_deductible_minor": 100000,
            "comprehensive_deductible_minor": 100000,
            "make": "Toyota",
            "model": "Camry",
            "ownership": "owned",
            "use": "pleasure",
            "vin": "SYNTHVIN000000001",
            "year": 2019
          ]
        ]
      ]
    ]
  ]
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.truvo.com/v1/mcp#start_quote_request")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Renters

**Request**

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "start_quote_request",
    "arguments": {
      "line": "renters",
      "consent_receipt_id": "consent-renters-monthly",
      "request_key": "5bb67687-d6ce-49ae-bc74-a64faa2e77d6",
      "application": {
        "applicant": {
          "date_of_birth": "1990-04-12",
          "email": "alex@example.com",
          "name": {
            "first_name": "Test",
            "last_name": "Applicant One"
          },
          "phone": "5550100000"
        },
        "billing_cycle": "monthly",
        "coverage_start_date": "2026-09-27",
        "current_insurance": {
          "insured": false
        },
        "dwelling": {
          "dwelling_type": "condo"
        },
        "facts": {
          "construction": "frame",
          "dog_breed": "none",
          "foundation": "slab",
          "garages": 2,
          "heating_fuel": "electric",
          "heating_type": "central",
          "is_lease_started_today": false,
          "is_renters_insurance_required": false,
          "number_of_past_losses": 0,
          "own_or_care_for_animal_that_has_harmed_someone": false,
          "owns_a_pet": false,
          "pool": false,
          "prior_tenure_months": 36,
          "residents": 2,
          "roof_shape": "gable",
          "roof_type": "composition",
          "square_feet": 1500,
          "year_built": 2000
        },
        "protection": {
          "deductible_minor": 50000,
          "liability_minor": 30000000,
          "personal_property_minor": 3000000
        },
        "rented_address": {
          "city": "Austin",
          "line1": "100 Example Way",
          "line2": null,
          "postal_code": "78701",
          "state": "TX"
        }
      }
    }
  }
}
```

**Response**

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "text": "Quote request qreq_e85379abd944efe0742349a53ec4117f is in_progress. Call get_quote_request with this ID, wait_seconds 20, and since_version 1 to follow it.",
        "type": "text"
      },
      {
        "text": "{\"id\":\"qreq_e85379abd944efe0742349a53ec4117f\",\"version\":1,\"line\":\"renters\",\"environment\":\"sandbox\",\"application_id\":\"app_14dbc645173c827f95e68c65e99a1de3\",\"application_version\":1,\"status\":\"in_progress\",\"status_details\":{\"reason\":\"queued\",\"message\":\"The request is waiting to start.\"},\"quotes\":[],\"market_outcomes\":[],\"requirements\":[],\"assumptions\":[{\"path\":\"contact_channels.email\",\"value\":false,\"source\":\"no_tcpa_consent\"},{\"path\":\"contact_channels.sms\",\"value\":false,\"source\":\"no_tcpa_consent\"},{\"path\":\"contact_channels.phone\",\"value\":false,\"source\":\"no_tcpa_consent\"}],\"next_actions\":[{\"type\":\"read_status\",\"resource\":\"quote_request\",\"id\":\"qreq_e85379abd944efe0742349a53ec4117f\"}],\"failure\":null}",
        "type": "text"
      }
    ],
    "structuredContent": {
      "application_id": "app_14dbc645173c827f95e68c65e99a1de3",
      "application_version": 1,
      "assumptions": [
        {
          "path": "contact_channels.email",
          "source": "no_tcpa_consent",
          "value": false
        },
        {
          "path": "contact_channels.sms",
          "source": "no_tcpa_consent",
          "value": false
        },
        {
          "path": "contact_channels.phone",
          "source": "no_tcpa_consent",
          "value": false
        }
      ],
      "environment": "sandbox",
      "failure": null,
      "id": "qreq_e85379abd944efe0742349a53ec4117f",
      "line": "renters",
      "market_outcomes": [],
      "next_actions": [
        {
          "id": "qreq_e85379abd944efe0742349a53ec4117f",
          "resource": "quote_request",
          "type": "read_status"
        }
      ],
      "quotes": [],
      "requirements": [],
      "status": "in_progress",
      "status_details": {
        "message": "The request is waiting to start.",
        "reason": "queued"
      },
      "version": 1
    }
  }
}
```

**SDK Code**

```python Renters
import requests

url = "https://api.truvo.com/v1/mcp#start_quote_request"

payload = {
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
        "name": "start_quote_request",
        "arguments": {
            "line": "renters",
            "consent_receipt_id": "consent-renters-monthly",
            "request_key": "5bb67687-d6ce-49ae-bc74-a64faa2e77d6",
            "application": {
                "applicant": {
                    "date_of_birth": "1990-04-12",
                    "email": "alex@example.com",
                    "name": {
                        "first_name": "Test",
                        "last_name": "Applicant One"
                    },
                    "phone": "5550100000"
                },
                "billing_cycle": "monthly",
                "coverage_start_date": "2026-09-27",
                "current_insurance": { "insured": False },
                "dwelling": { "dwelling_type": "condo" },
                "facts": {
                    "construction": "frame",
                    "dog_breed": "none",
                    "foundation": "slab",
                    "garages": 2,
                    "heating_fuel": "electric",
                    "heating_type": "central",
                    "is_lease_started_today": False,
                    "is_renters_insurance_required": False,
                    "number_of_past_losses": 0,
                    "own_or_care_for_animal_that_has_harmed_someone": False,
                    "owns_a_pet": False,
                    "pool": False,
                    "prior_tenure_months": 36,
                    "residents": 2,
                    "roof_shape": "gable",
                    "roof_type": "composition",
                    "square_feet": 1500,
                    "year_built": 2000
                },
                "protection": {
                    "deductible_minor": 50000,
                    "liability_minor": 30000000,
                    "personal_property_minor": 3000000
                },
                "rented_address": {
                    "city": "Austin",
                    "line1": "100 Example Way",
                    "line2": None,
                    "postal_code": "78701",
                    "state": "TX"
                }
            }
        }
    }
}
headers = {
    "Accept": "application/json, text/event-stream",
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript Renters
const url = 'https://api.truvo.com/v1/mcp#start_quote_request';
const options = {
  method: 'POST',
  headers: {
    Accept: 'application/json, text/event-stream',
    Authorization: 'Bearer <token>',
    'Content-Type': 'application/json'
  },
  body: '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"start_quote_request","arguments":{"line":"renters","consent_receipt_id":"consent-renters-monthly","request_key":"5bb67687-d6ce-49ae-bc74-a64faa2e77d6","application":{"applicant":{"date_of_birth":"1990-04-12","email":"alex@example.com","name":{"first_name":"Test","last_name":"Applicant One"},"phone":"5550100000"},"billing_cycle":"monthly","coverage_start_date":"2026-09-27","current_insurance":{"insured":false},"dwelling":{"dwelling_type":"condo"},"facts":{"construction":"frame","dog_breed":"none","foundation":"slab","garages":2,"heating_fuel":"electric","heating_type":"central","is_lease_started_today":false,"is_renters_insurance_required":false,"number_of_past_losses":0,"own_or_care_for_animal_that_has_harmed_someone":false,"owns_a_pet":false,"pool":false,"prior_tenure_months":36,"residents":2,"roof_shape":"gable","roof_type":"composition","square_feet":1500,"year_built":2000},"protection":{"deductible_minor":50000,"liability_minor":30000000,"personal_property_minor":3000000},"rented_address":{"city":"Austin","line1":"100 Example Way","line2":null,"postal_code":"78701","state":"TX"}}}}}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Renters
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.truvo.com/v1/mcp#start_quote_request"

	payload := strings.NewReader("{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 1,\n  \"method\": \"tools/call\",\n  \"params\": {\n    \"name\": \"start_quote_request\",\n    \"arguments\": {\n      \"line\": \"renters\",\n      \"consent_receipt_id\": \"consent-renters-monthly\",\n      \"request_key\": \"5bb67687-d6ce-49ae-bc74-a64faa2e77d6\",\n      \"application\": {\n        \"applicant\": {\n          \"date_of_birth\": \"1990-04-12\",\n          \"email\": \"alex@example.com\",\n          \"name\": {\n            \"first_name\": \"Test\",\n            \"last_name\": \"Applicant One\"\n          },\n          \"phone\": \"5550100000\"\n        },\n        \"billing_cycle\": \"monthly\",\n        \"coverage_start_date\": \"2026-09-27\",\n        \"current_insurance\": {\n          \"insured\": false\n        },\n        \"dwelling\": {\n          \"dwelling_type\": \"condo\"\n        },\n        \"facts\": {\n          \"construction\": \"frame\",\n          \"dog_breed\": \"none\",\n          \"foundation\": \"slab\",\n          \"garages\": 2,\n          \"heating_fuel\": \"electric\",\n          \"heating_type\": \"central\",\n          \"is_lease_started_today\": false,\n          \"is_renters_insurance_required\": false,\n          \"number_of_past_losses\": 0,\n          \"own_or_care_for_animal_that_has_harmed_someone\": false,\n          \"owns_a_pet\": false,\n          \"pool\": false,\n          \"prior_tenure_months\": 36,\n          \"residents\": 2,\n          \"roof_shape\": \"gable\",\n          \"roof_type\": \"composition\",\n          \"square_feet\": 1500,\n          \"year_built\": 2000\n        },\n        \"protection\": {\n          \"deductible_minor\": 50000,\n          \"liability_minor\": 30000000,\n          \"personal_property_minor\": 3000000\n        },\n        \"rented_address\": {\n          \"city\": \"Austin\",\n          \"line1\": \"100 Example Way\",\n          \"line2\": null,\n          \"postal_code\": \"78701\",\n          \"state\": \"TX\"\n        }\n      }\n    }\n  }\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Accept", "application/json, text/event-stream")
	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Renters
require 'uri'
require 'net/http'

url = URI("https://api.truvo.com/v1/mcp#start_quote_request")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Accept"] = 'application/json, text/event-stream'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 1,\n  \"method\": \"tools/call\",\n  \"params\": {\n    \"name\": \"start_quote_request\",\n    \"arguments\": {\n      \"line\": \"renters\",\n      \"consent_receipt_id\": \"consent-renters-monthly\",\n      \"request_key\": \"5bb67687-d6ce-49ae-bc74-a64faa2e77d6\",\n      \"application\": {\n        \"applicant\": {\n          \"date_of_birth\": \"1990-04-12\",\n          \"email\": \"alex@example.com\",\n          \"name\": {\n            \"first_name\": \"Test\",\n            \"last_name\": \"Applicant One\"\n          },\n          \"phone\": \"5550100000\"\n        },\n        \"billing_cycle\": \"monthly\",\n        \"coverage_start_date\": \"2026-09-27\",\n        \"current_insurance\": {\n          \"insured\": false\n        },\n        \"dwelling\": {\n          \"dwelling_type\": \"condo\"\n        },\n        \"facts\": {\n          \"construction\": \"frame\",\n          \"dog_breed\": \"none\",\n          \"foundation\": \"slab\",\n          \"garages\": 2,\n          \"heating_fuel\": \"electric\",\n          \"heating_type\": \"central\",\n          \"is_lease_started_today\": false,\n          \"is_renters_insurance_required\": false,\n          \"number_of_past_losses\": 0,\n          \"own_or_care_for_animal_that_has_harmed_someone\": false,\n          \"owns_a_pet\": false,\n          \"pool\": false,\n          \"prior_tenure_months\": 36,\n          \"residents\": 2,\n          \"roof_shape\": \"gable\",\n          \"roof_type\": \"composition\",\n          \"square_feet\": 1500,\n          \"year_built\": 2000\n        },\n        \"protection\": {\n          \"deductible_minor\": 50000,\n          \"liability_minor\": 30000000,\n          \"personal_property_minor\": 3000000\n        },\n        \"rented_address\": {\n          \"city\": \"Austin\",\n          \"line1\": \"100 Example Way\",\n          \"line2\": null,\n          \"postal_code\": \"78701\",\n          \"state\": \"TX\"\n        }\n      }\n    }\n  }\n}"

response = http.request(request)
puts response.read_body
```

```java Renters
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.truvo.com/v1/mcp#start_quote_request")
  .header("Accept", "application/json, text/event-stream")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 1,\n  \"method\": \"tools/call\",\n  \"params\": {\n    \"name\": \"start_quote_request\",\n    \"arguments\": {\n      \"line\": \"renters\",\n      \"consent_receipt_id\": \"consent-renters-monthly\",\n      \"request_key\": \"5bb67687-d6ce-49ae-bc74-a64faa2e77d6\",\n      \"application\": {\n        \"applicant\": {\n          \"date_of_birth\": \"1990-04-12\",\n          \"email\": \"alex@example.com\",\n          \"name\": {\n            \"first_name\": \"Test\",\n            \"last_name\": \"Applicant One\"\n          },\n          \"phone\": \"5550100000\"\n        },\n        \"billing_cycle\": \"monthly\",\n        \"coverage_start_date\": \"2026-09-27\",\n        \"current_insurance\": {\n          \"insured\": false\n        },\n        \"dwelling\": {\n          \"dwelling_type\": \"condo\"\n        },\n        \"facts\": {\n          \"construction\": \"frame\",\n          \"dog_breed\": \"none\",\n          \"foundation\": \"slab\",\n          \"garages\": 2,\n          \"heating_fuel\": \"electric\",\n          \"heating_type\": \"central\",\n          \"is_lease_started_today\": false,\n          \"is_renters_insurance_required\": false,\n          \"number_of_past_losses\": 0,\n          \"own_or_care_for_animal_that_has_harmed_someone\": false,\n          \"owns_a_pet\": false,\n          \"pool\": false,\n          \"prior_tenure_months\": 36,\n          \"residents\": 2,\n          \"roof_shape\": \"gable\",\n          \"roof_type\": \"composition\",\n          \"square_feet\": 1500,\n          \"year_built\": 2000\n        },\n        \"protection\": {\n          \"deductible_minor\": 50000,\n          \"liability_minor\": 30000000,\n          \"personal_property_minor\": 3000000\n        },\n        \"rented_address\": {\n          \"city\": \"Austin\",\n          \"line1\": \"100 Example Way\",\n          \"line2\": null,\n          \"postal_code\": \"78701\",\n          \"state\": \"TX\"\n        }\n      }\n    }\n  }\n}")
  .asString();
```

```php Renters
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.truvo.com/v1/mcp#start_quote_request', [
  'body' => '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "start_quote_request",
    "arguments": {
      "line": "renters",
      "consent_receipt_id": "consent-renters-monthly",
      "request_key": "5bb67687-d6ce-49ae-bc74-a64faa2e77d6",
      "application": {
        "applicant": {
          "date_of_birth": "1990-04-12",
          "email": "alex@example.com",
          "name": {
            "first_name": "Test",
            "last_name": "Applicant One"
          },
          "phone": "5550100000"
        },
        "billing_cycle": "monthly",
        "coverage_start_date": "2026-09-27",
        "current_insurance": {
          "insured": false
        },
        "dwelling": {
          "dwelling_type": "condo"
        },
        "facts": {
          "construction": "frame",
          "dog_breed": "none",
          "foundation": "slab",
          "garages": 2,
          "heating_fuel": "electric",
          "heating_type": "central",
          "is_lease_started_today": false,
          "is_renters_insurance_required": false,
          "number_of_past_losses": 0,
          "own_or_care_for_animal_that_has_harmed_someone": false,
          "owns_a_pet": false,
          "pool": false,
          "prior_tenure_months": 36,
          "residents": 2,
          "roof_shape": "gable",
          "roof_type": "composition",
          "square_feet": 1500,
          "year_built": 2000
        },
        "protection": {
          "deductible_minor": 50000,
          "liability_minor": 30000000,
          "personal_property_minor": 3000000
        },
        "rented_address": {
          "city": "Austin",
          "line1": "100 Example Way",
          "line2": null,
          "postal_code": "78701",
          "state": "TX"
        }
      }
    }
  }
}',
  'headers' => [
    'Accept' => 'application/json, text/event-stream',
    'Authorization' => 'Bearer <token>',
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

```csharp Renters
using RestSharp;

var client = new RestClient("https://api.truvo.com/v1/mcp#start_quote_request");
var request = new RestRequest(Method.POST);
request.AddHeader("Accept", "application/json, text/event-stream");
request.AddHeader("Authorization", "Bearer <token>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 1,\n  \"method\": \"tools/call\",\n  \"params\": {\n    \"name\": \"start_quote_request\",\n    \"arguments\": {\n      \"line\": \"renters\",\n      \"consent_receipt_id\": \"consent-renters-monthly\",\n      \"request_key\": \"5bb67687-d6ce-49ae-bc74-a64faa2e77d6\",\n      \"application\": {\n        \"applicant\": {\n          \"date_of_birth\": \"1990-04-12\",\n          \"email\": \"alex@example.com\",\n          \"name\": {\n            \"first_name\": \"Test\",\n            \"last_name\": \"Applicant One\"\n          },\n          \"phone\": \"5550100000\"\n        },\n        \"billing_cycle\": \"monthly\",\n        \"coverage_start_date\": \"2026-09-27\",\n        \"current_insurance\": {\n          \"insured\": false\n        },\n        \"dwelling\": {\n          \"dwelling_type\": \"condo\"\n        },\n        \"facts\": {\n          \"construction\": \"frame\",\n          \"dog_breed\": \"none\",\n          \"foundation\": \"slab\",\n          \"garages\": 2,\n          \"heating_fuel\": \"electric\",\n          \"heating_type\": \"central\",\n          \"is_lease_started_today\": false,\n          \"is_renters_insurance_required\": false,\n          \"number_of_past_losses\": 0,\n          \"own_or_care_for_animal_that_has_harmed_someone\": false,\n          \"owns_a_pet\": false,\n          \"pool\": false,\n          \"prior_tenure_months\": 36,\n          \"residents\": 2,\n          \"roof_shape\": \"gable\",\n          \"roof_type\": \"composition\",\n          \"square_feet\": 1500,\n          \"year_built\": 2000\n        },\n        \"protection\": {\n          \"deductible_minor\": 50000,\n          \"liability_minor\": 30000000,\n          \"personal_property_minor\": 3000000\n        },\n        \"rented_address\": {\n          \"city\": \"Austin\",\n          \"line1\": \"100 Example Way\",\n          \"line2\": null,\n          \"postal_code\": \"78701\",\n          \"state\": \"TX\"\n        }\n      }\n    }\n  }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Renters
import Foundation

let headers = [
  "Accept": "application/json, text/event-stream",
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
]
let parameters = [
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": [
    "name": "start_quote_request",
    "arguments": [
      "line": "renters",
      "consent_receipt_id": "consent-renters-monthly",
      "request_key": "5bb67687-d6ce-49ae-bc74-a64faa2e77d6",
      "application": [
        "applicant": [
          "date_of_birth": "1990-04-12",
          "email": "alex@example.com",
          "name": [
            "first_name": "Test",
            "last_name": "Applicant One"
          ],
          "phone": "5550100000"
        ],
        "billing_cycle": "monthly",
        "coverage_start_date": "2026-09-27",
        "current_insurance": ["insured": false],
        "dwelling": ["dwelling_type": "condo"],
        "facts": [
          "construction": "frame",
          "dog_breed": "none",
          "foundation": "slab",
          "garages": 2,
          "heating_fuel": "electric",
          "heating_type": "central",
          "is_lease_started_today": false,
          "is_renters_insurance_required": false,
          "number_of_past_losses": 0,
          "own_or_care_for_animal_that_has_harmed_someone": false,
          "owns_a_pet": false,
          "pool": false,
          "prior_tenure_months": 36,
          "residents": 2,
          "roof_shape": "gable",
          "roof_type": "composition",
          "square_feet": 1500,
          "year_built": 2000
        ],
        "protection": [
          "deductible_minor": 50000,
          "liability_minor": 30000000,
          "personal_property_minor": 3000000
        ],
        "rented_address": [
          "city": "Austin",
          "line1": "100 Example Way",
          "line2": ,
          "postal_code": "78701",
          "state": "TX"
        ]
      ]
    ]
  ]
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.truvo.com/v1/mcp#start_quote_request")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Pet

**Request**

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "start_quote_request",
    "arguments": {
      "line": "pet",
      "consent_receipt_id": "consent-pet-one-dog",
      "request_key": "6a894ce7-febe-4d1d-8920-d5d9e800752e",
      "application": {
        "coverage": {
          "annual_limit_minor": 500000,
          "deductible_minor": 50000,
          "reimbursement_percent": 80
        },
        "owner": {
          "email": "alex@example.com",
          "name": {
            "first_name": "Test",
            "last_name": "Applicant One"
          },
          "phone": "5550100000",
          "postal_code": "30301",
          "state": "GA"
        },
        "pets": [
          {
            "breed": "Labrador Retriever",
            "date_of_birth": "2021-04-02",
            "name": "Biscuit",
            "neutered": true,
            "sex": "female",
            "species": "dog"
          }
        ]
      }
    }
  }
}
```

**Response**

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "text": "Quote request qreq_21b900507f3d1c03d4446c36850f7341 is in_progress. Call get_quote_request with this ID, wait_seconds 20, and since_version 1 to follow it.",
        "type": "text"
      },
      {
        "text": "{\"id\":\"qreq_21b900507f3d1c03d4446c36850f7341\",\"version\":1,\"line\":\"pet\",\"environment\":\"sandbox\",\"application_id\":\"app_95339f84ff8e09868e58d4467dcdf20f\",\"application_version\":1,\"status\":\"in_progress\",\"status_details\":{\"reason\":\"queued\",\"message\":\"The request is waiting to start.\"},\"quotes\":[],\"market_outcomes\":[],\"requirements\":[],\"assumptions\":[{\"path\":\"contact_channels.email\",\"value\":false,\"source\":\"no_tcpa_consent\"},{\"path\":\"contact_channels.sms\",\"value\":false,\"source\":\"no_tcpa_consent\"},{\"path\":\"contact_channels.phone\",\"value\":false,\"source\":\"no_tcpa_consent\"}],\"next_actions\":[{\"type\":\"read_status\",\"resource\":\"quote_request\",\"id\":\"qreq_21b900507f3d1c03d4446c36850f7341\"}],\"failure\":null}",
        "type": "text"
      }
    ],
    "structuredContent": {
      "application_id": "app_95339f84ff8e09868e58d4467dcdf20f",
      "application_version": 1,
      "assumptions": [
        {
          "path": "contact_channels.email",
          "source": "no_tcpa_consent",
          "value": false
        },
        {
          "path": "contact_channels.sms",
          "source": "no_tcpa_consent",
          "value": false
        },
        {
          "path": "contact_channels.phone",
          "source": "no_tcpa_consent",
          "value": false
        }
      ],
      "environment": "sandbox",
      "failure": null,
      "id": "qreq_21b900507f3d1c03d4446c36850f7341",
      "line": "pet",
      "market_outcomes": [],
      "next_actions": [
        {
          "id": "qreq_21b900507f3d1c03d4446c36850f7341",
          "resource": "quote_request",
          "type": "read_status"
        }
      ],
      "quotes": [],
      "requirements": [],
      "status": "in_progress",
      "status_details": {
        "message": "The request is waiting to start.",
        "reason": "queued"
      },
      "version": 1
    }
  }
}
```

**SDK Code**

```python Pet
import requests

url = "https://api.truvo.com/v1/mcp#start_quote_request"

payload = {
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
        "name": "start_quote_request",
        "arguments": {
            "line": "pet",
            "consent_receipt_id": "consent-pet-one-dog",
            "request_key": "6a894ce7-febe-4d1d-8920-d5d9e800752e",
            "application": {
                "coverage": {
                    "annual_limit_minor": 500000,
                    "deductible_minor": 50000,
                    "reimbursement_percent": 80
                },
                "owner": {
                    "email": "alex@example.com",
                    "name": {
                        "first_name": "Test",
                        "last_name": "Applicant One"
                    },
                    "phone": "5550100000",
                    "postal_code": "30301",
                    "state": "GA"
                },
                "pets": [
                    {
                        "breed": "Labrador Retriever",
                        "date_of_birth": "2021-04-02",
                        "name": "Biscuit",
                        "neutered": True,
                        "sex": "female",
                        "species": "dog"
                    }
                ]
            }
        }
    }
}
headers = {
    "Accept": "application/json, text/event-stream",
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript Pet
const url = 'https://api.truvo.com/v1/mcp#start_quote_request';
const options = {
  method: 'POST',
  headers: {
    Accept: 'application/json, text/event-stream',
    Authorization: 'Bearer <token>',
    'Content-Type': 'application/json'
  },
  body: '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"start_quote_request","arguments":{"line":"pet","consent_receipt_id":"consent-pet-one-dog","request_key":"6a894ce7-febe-4d1d-8920-d5d9e800752e","application":{"coverage":{"annual_limit_minor":500000,"deductible_minor":50000,"reimbursement_percent":80},"owner":{"email":"alex@example.com","name":{"first_name":"Test","last_name":"Applicant One"},"phone":"5550100000","postal_code":"30301","state":"GA"},"pets":[{"breed":"Labrador Retriever","date_of_birth":"2021-04-02","name":"Biscuit","neutered":true,"sex":"female","species":"dog"}]}}}}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Pet
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.truvo.com/v1/mcp#start_quote_request"

	payload := strings.NewReader("{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 1,\n  \"method\": \"tools/call\",\n  \"params\": {\n    \"name\": \"start_quote_request\",\n    \"arguments\": {\n      \"line\": \"pet\",\n      \"consent_receipt_id\": \"consent-pet-one-dog\",\n      \"request_key\": \"6a894ce7-febe-4d1d-8920-d5d9e800752e\",\n      \"application\": {\n        \"coverage\": {\n          \"annual_limit_minor\": 500000,\n          \"deductible_minor\": 50000,\n          \"reimbursement_percent\": 80\n        },\n        \"owner\": {\n          \"email\": \"alex@example.com\",\n          \"name\": {\n            \"first_name\": \"Test\",\n            \"last_name\": \"Applicant One\"\n          },\n          \"phone\": \"5550100000\",\n          \"postal_code\": \"30301\",\n          \"state\": \"GA\"\n        },\n        \"pets\": [\n          {\n            \"breed\": \"Labrador Retriever\",\n            \"date_of_birth\": \"2021-04-02\",\n            \"name\": \"Biscuit\",\n            \"neutered\": true,\n            \"sex\": \"female\",\n            \"species\": \"dog\"\n          }\n        ]\n      }\n    }\n  }\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Accept", "application/json, text/event-stream")
	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Pet
require 'uri'
require 'net/http'

url = URI("https://api.truvo.com/v1/mcp#start_quote_request")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Accept"] = 'application/json, text/event-stream'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 1,\n  \"method\": \"tools/call\",\n  \"params\": {\n    \"name\": \"start_quote_request\",\n    \"arguments\": {\n      \"line\": \"pet\",\n      \"consent_receipt_id\": \"consent-pet-one-dog\",\n      \"request_key\": \"6a894ce7-febe-4d1d-8920-d5d9e800752e\",\n      \"application\": {\n        \"coverage\": {\n          \"annual_limit_minor\": 500000,\n          \"deductible_minor\": 50000,\n          \"reimbursement_percent\": 80\n        },\n        \"owner\": {\n          \"email\": \"alex@example.com\",\n          \"name\": {\n            \"first_name\": \"Test\",\n            \"last_name\": \"Applicant One\"\n          },\n          \"phone\": \"5550100000\",\n          \"postal_code\": \"30301\",\n          \"state\": \"GA\"\n        },\n        \"pets\": [\n          {\n            \"breed\": \"Labrador Retriever\",\n            \"date_of_birth\": \"2021-04-02\",\n            \"name\": \"Biscuit\",\n            \"neutered\": true,\n            \"sex\": \"female\",\n            \"species\": \"dog\"\n          }\n        ]\n      }\n    }\n  }\n}"

response = http.request(request)
puts response.read_body
```

```java Pet
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.truvo.com/v1/mcp#start_quote_request")
  .header("Accept", "application/json, text/event-stream")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 1,\n  \"method\": \"tools/call\",\n  \"params\": {\n    \"name\": \"start_quote_request\",\n    \"arguments\": {\n      \"line\": \"pet\",\n      \"consent_receipt_id\": \"consent-pet-one-dog\",\n      \"request_key\": \"6a894ce7-febe-4d1d-8920-d5d9e800752e\",\n      \"application\": {\n        \"coverage\": {\n          \"annual_limit_minor\": 500000,\n          \"deductible_minor\": 50000,\n          \"reimbursement_percent\": 80\n        },\n        \"owner\": {\n          \"email\": \"alex@example.com\",\n          \"name\": {\n            \"first_name\": \"Test\",\n            \"last_name\": \"Applicant One\"\n          },\n          \"phone\": \"5550100000\",\n          \"postal_code\": \"30301\",\n          \"state\": \"GA\"\n        },\n        \"pets\": [\n          {\n            \"breed\": \"Labrador Retriever\",\n            \"date_of_birth\": \"2021-04-02\",\n            \"name\": \"Biscuit\",\n            \"neutered\": true,\n            \"sex\": \"female\",\n            \"species\": \"dog\"\n          }\n        ]\n      }\n    }\n  }\n}")
  .asString();
```

```php Pet
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.truvo.com/v1/mcp#start_quote_request', [
  'body' => '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "start_quote_request",
    "arguments": {
      "line": "pet",
      "consent_receipt_id": "consent-pet-one-dog",
      "request_key": "6a894ce7-febe-4d1d-8920-d5d9e800752e",
      "application": {
        "coverage": {
          "annual_limit_minor": 500000,
          "deductible_minor": 50000,
          "reimbursement_percent": 80
        },
        "owner": {
          "email": "alex@example.com",
          "name": {
            "first_name": "Test",
            "last_name": "Applicant One"
          },
          "phone": "5550100000",
          "postal_code": "30301",
          "state": "GA"
        },
        "pets": [
          {
            "breed": "Labrador Retriever",
            "date_of_birth": "2021-04-02",
            "name": "Biscuit",
            "neutered": true,
            "sex": "female",
            "species": "dog"
          }
        ]
      }
    }
  }
}',
  'headers' => [
    'Accept' => 'application/json, text/event-stream',
    'Authorization' => 'Bearer <token>',
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

```csharp Pet
using RestSharp;

var client = new RestClient("https://api.truvo.com/v1/mcp#start_quote_request");
var request = new RestRequest(Method.POST);
request.AddHeader("Accept", "application/json, text/event-stream");
request.AddHeader("Authorization", "Bearer <token>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 1,\n  \"method\": \"tools/call\",\n  \"params\": {\n    \"name\": \"start_quote_request\",\n    \"arguments\": {\n      \"line\": \"pet\",\n      \"consent_receipt_id\": \"consent-pet-one-dog\",\n      \"request_key\": \"6a894ce7-febe-4d1d-8920-d5d9e800752e\",\n      \"application\": {\n        \"coverage\": {\n          \"annual_limit_minor\": 500000,\n          \"deductible_minor\": 50000,\n          \"reimbursement_percent\": 80\n        },\n        \"owner\": {\n          \"email\": \"alex@example.com\",\n          \"name\": {\n            \"first_name\": \"Test\",\n            \"last_name\": \"Applicant One\"\n          },\n          \"phone\": \"5550100000\",\n          \"postal_code\": \"30301\",\n          \"state\": \"GA\"\n        },\n        \"pets\": [\n          {\n            \"breed\": \"Labrador Retriever\",\n            \"date_of_birth\": \"2021-04-02\",\n            \"name\": \"Biscuit\",\n            \"neutered\": true,\n            \"sex\": \"female\",\n            \"species\": \"dog\"\n          }\n        ]\n      }\n    }\n  }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Pet
import Foundation

let headers = [
  "Accept": "application/json, text/event-stream",
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
]
let parameters = [
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": [
    "name": "start_quote_request",
    "arguments": [
      "line": "pet",
      "consent_receipt_id": "consent-pet-one-dog",
      "request_key": "6a894ce7-febe-4d1d-8920-d5d9e800752e",
      "application": [
        "coverage": [
          "annual_limit_minor": 500000,
          "deductible_minor": 50000,
          "reimbursement_percent": 80
        ],
        "owner": [
          "email": "alex@example.com",
          "name": [
            "first_name": "Test",
            "last_name": "Applicant One"
          ],
          "phone": "5550100000",
          "postal_code": "30301",
          "state": "GA"
        ],
        "pets": [
          [
            "breed": "Labrador Retriever",
            "date_of_birth": "2021-04-02",
            "name": "Biscuit",
            "neutered": true,
            "sex": "female",
            "species": "dog"
          ]
        ]
      ]
    ]
  ]
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.truvo.com/v1/mcp#start_quote_request")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```