List quotes
GET/api/v1/quotes
- Needs an API key, and runs with the access of the member who made the key.
- A connected AI assistant can use it too, as
listQuotes.
Parameters
In the query string
pageintegerDefault: 1. At least 1.
per_pageintegerDefault: 50. At least 1. At most 100.
statusstringOne of: draft, sent, accepted, declined.
customer_idstring (uuid)
Responses
200Paginated quotes.
dataarray of objectrequiredEach item(31)
lock_versionintegerrequiredAt least 0.
created_atstring (date-time)requiredupdated_atstring (date-time)requiredidstring (uuid)requiredsource_visit_idstring (uuid) or nullAssessment which produced this quote; retained when archived or converted to a job.
account_idstring (uuid)requiredcustomer_idstring (uuid)requiredproperty_idstring (uuid) or nullnumberstringrequiredtitlestringrequireddescriptionstring or nullstatusstringrequiredOne of: draft, sent, accepted, declined.
expiredbooleanrequiredcurrencystringrequiredsubtotal_centsinteger (int64)requiredInteger minor currency units, such as pence.
At least 0.
discount_centsinteger (int64)requiredInteger minor currency units, such as pence.
At least 0.
tax_centsinteger (int64)requiredInteger minor currency units, such as pence.
At least 0.
total_centsinteger (int64)requiredInteger minor currency units, such as pence.
At least 0.
deposit_centsinteger (int64)The deposit asked for when the quote is accepted, tax included; 0 when none is. Accepting the quote issues an invoice of `kind` `deposit` for it, which carries this quote's `quote_id`.
At least 0.
valid_untilstring (date) or nullsent_atstring (date-time) or nullsent_to_emailstring (email) or nullWhere the quote was last emailed.
email_messagestringThe note the quote is emailed with unless the sender edits it, from the account's template. [Link] and any placeholder without a value yet are filled in on sending.
public_urlstring (uri) or nullThe customer's link. Null while the quote is a draft or archived.
accepted_atstring (date-time) or nullaccepted_by_namestring or nullaccepted_by_emailstring (email) or nulldeclined_atstring (date-time) or nulltermsstring or nullnotesstring or nullitemsarray of objectrequiredEach item(12)
idstring (uuid)requiredservice_idstring (uuid) or nullpositionintegerrequireddescriptionstringrequiredquantitystringrequiredMatches ^\d{1,9}(\.\d{1,3})?$.
unit_namestring or nullunit_price_centsinteger (int64)requiredInteger minor currency units, such as pence.
At least 0.
tax_rate_basis_pointsintegerrequiredAt least 0. At most 10000.
tax_inclusivebooleanrequiredsubtotal_centsinteger (int64)requiredInteger minor currency units, such as pence.
At least 0.
tax_centsinteger (int64)requiredInteger minor currency units, such as pence.
At least 0.
total_centsinteger (int64)requiredInteger minor currency units, such as pence.
At least 0.
metaobjectrequiredFields(4)
pageintegerrequiredAt least 1.
per_pageintegerrequiredAt least 1. At most 100.
totalintegerrequiredAt least 0.
total_pagesintegerrequiredAt least 0.
A refusal answers in the one error shape every operation shares.
Example
A request our own tests send. The ids are made up: put your own in their place.
curl "https://app.tradesender.co.uk/api/v1/quotes?page=1&per_page=50&customer_id=372a8e62-6d44-552f-9c0e-c1229b6478be" \ -H "Authorization: Bearer $TRADESENDER_KEY"