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

# Why did a request finish with no quotes?

A quote request with no quotes ends in one of two ways:

* **It completes with the reason `no_quotes`.** Carriers made a decision about this applicant. At least one carrier declined or answered `missing_information`, or the run returned no offers. In that last case, `market_outcomes` can be empty, as in the `auto-no-offers` sandbox scenario.
* **It fails.** Nothing was decided. No carrier answered with a quote, a decline, or missing information before the run ended, or Truvo couldn't start the run. The reason and `failure.code` say which: `no_quotes_by_deadline` or `quote_run_not_started`. Send the request again later with a new `Idempotency-Key`.

A request still completes with `no_quotes` when one carrier declined and every other carrier reads `no_answer` or `failed`. Those carriers made no decision, and a new request later can still get quotes from them, so check `market_outcomes` for `no_answer` and `failed`.

If the request leaves out a required fact, Truvo doesn't start it at all. `POST /v1/quote-requests` answers `422` with the code `needs_information`, and `field_errors` lists each missing fact. See [What facts does each line need?](/guides/what-facts-does-each-line-need).

## How carriers answered

`market_outcomes` shows how carriers answered, with each carrier's name in `source`. A carrier without a quote has one of these outcomes:

| Outcome               | What it means                                                                                                                                        | What to do                                                                  |
| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
| `decline`             | The carrier answered without a quote for this applicant.                                                                                             | Show the quotes from the other carriers.                                    |
| `missing_information` | The carrier needs a fact that the request didn't give.                                                                                               | Ask the person for more of the line's facts, then send a new quote request. |
| `failed`              | The carrier was unavailable or returned an error.                                                                                                    | Send a new quote request later, with a new `Idempotency-Key`.               |
| `no_answer`           | The carrier gave no answer before the run ended. The run ends at the collection deadline, currently 60 seconds, or earlier, for example on an error. | Send a new quote request later, with a new `Idempotency-Key`.               |

While the request is still running, a carrier that hasn't answered yet reads `unknown`. When the request finishes, that carrier reads `no_answer`.

## Test it in the sandbox

Each line has scenarios for these results, such as `auto-decline`, `auto-no-offers`, and `auto-no-answer`. See [Sandbox scenarios](/guides/sandbox-scenarios).