| List quotes | GET /v1/quotes | quotes.read |
| Create a quote | POST /v1/quotes | quotes.write |
| Filter facets for the quote list | GET /v1/quotes/facets | quotes.read |
| One quote with its groups, lines and decorations | GET /v1/quotes/{quoteId} | quotes.read |
| Update a quote | PATCH /v1/quotes/{quoteId} | quotes.write |
| Delete a quote | DELETE /v1/quotes/{quoteId} | quotes.write |
| Duplicate a quote | POST /v1/quotes/{quoteId}/duplicate | quotes.write |
| Email a quote to the customer | POST /v1/quotes/{quoteId}/send | quotes.write |
| Convert a quote into a job | POST /v1/quotes/{quoteId}/convert-to-job | quotes.write, jobs.write |
| Add a group to a quote | POST /v1/quotes/{quoteId}/groups | quotes.write |
| Update a quote group | PATCH /v1/quote-groups/{groupId} | quotes.write |
| Delete a quote group | DELETE /v1/quote-groups/{groupId} | quotes.write |
| Add a line to a quote group | POST /v1/quote-groups/{groupId}/lines | quotes.write |
| Update a quote line | PATCH /v1/quote-lines/{lineId} | quotes.write |
| Delete a quote line | DELETE /v1/quote-lines/{lineId} | quotes.write |
| Attach a decoration to a quote group | POST /v1/quote-groups/{groupId}/decorations | quotes.write |
| Update a quote-group decoration | PATCH /v1/quote-group-decorations/{decorationId} | quotes.write |
| Remove a decoration from a quote group | DELETE /v1/quote-group-decorations/{decorationId} | quotes.write |
| Delete every quote matching a target | POST /v1/quotes/bulk/delete | quotes.write |
| Duplicate every quote matching a target | POST /v1/quotes/bulk/duplicate | quotes.write |
| Set the status of every quote matching a target | POST /v1/quotes/bulk/status | quotes.write |
| Convert every quote matching a target into a job | POST /v1/quotes/bulk/convert-to-jobs | quotes.write, jobs.write |
| A presigned link to the quote PDF. Expires in 900 seconds | GET /v1/quotes/{quoteId}/pdf | documents.read, quotes.read |
| Every invoice raised against a quote | GET /v1/quotes/{quoteId}/invoices | invoices.read, quotes.read |
| Generate an invoice from a quote | POST /v1/quotes/{quoteId}/invoice | invoices.write, quotes.read |
| One quote and everything hanging off it, in one call | GET /v1/quotes/{quoteId}/data | quotes.read, customers.read, garments.read, decorations.read |