# Quotes

Group: CRM

[Open in the interactive reference](https://docs.api.lensing.ai/lensing/v1/groups/crm-quotes)

A quote is a priced offer a legal entity puts in front of a customer before a sales order exists.

A quote is read three ways. GET crm/quotes lists quote headers, GET crm/quotes/:id reads one quote in full, and POST crm/quotes/search finds quotes by criteria a query string cannot carry and returns each match in full. The full quote adds subscriptions[] and nonRecurringProducts[], the priced lines, which GET crm/quotes omits. A quote has two identifiers: id, which every endpoint takes, and quoteNumber, the business number assigned by a number range, which may be absent on a quote read right after creation. A quote is written two ways. POST crm/quotes creates one with its whole line tree, and PATCH crm/quotes/:id changes its header fields and adds, changes or removes its subscriptions, products and lines. Both save through the same process as the quote page: a new quote starts in status 'created', an edit to a quote whose approval has started sends it back for approval, and a quote that is under signing, signed or completed can no longer be changed.

## Endpoints

- [List quotes](https://docs.api.lensing.ai/reference/lensing/v1/endpoints/listQuotes.html): `GET /crm/quotes`
- [Create a quote](https://docs.api.lensing.ai/reference/lensing/v1/endpoints/createQuote.html): `POST /crm/quotes`
- [Search quotes](https://docs.api.lensing.ai/reference/lensing/v1/endpoints/searchQuotes.html): `POST /crm/quotes/search`
- [Retrieve a quote](https://docs.api.lensing.ai/reference/lensing/v1/endpoints/getQuote.html): `GET /crm/quotes/{id}`
- [Update a quote](https://docs.api.lensing.ai/reference/lensing/v1/endpoints/updateQuote.html): `PATCH /crm/quotes/{id}`
