Get a customer, contacts, and properties
GET/api/v1/customers/{id}
- 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
getCustomer.
Parameters
In the address
idstring (uuid)required
Responses
200Customer details, contacts, and properties.
dataobjectrequiredFields(20)
lock_versionintegerAt least 0.
created_atstring (date-time)requiredupdated_atstring (date-time)requiredidstring (uuid)requiredaccount_idstring (uuid)requirednamestringrequiredcompany_namestring or nullemailstring (email) or nullphonestring or nullpayment_terms_daysintegerrequiredAt least 0.
notesstring or nullautomatic_emailsbooleanDeprecated: use `invoice_reminders`, `quote_follow_ups` and `visit_reminders`, which it stands for. It reads false only when all three are `off`. Writing false sets all three to `off`; writing true sets all three to `default` when they were all `off`, and otherwise changes nothing. Sent with any of the three, it is ignored. It changes nothing about emails a person sends.
Default: true. Deprecated.
invoice_remindersstringWhether this customer is reminded by email about their overdue invoices.
One of: default, on, off. Default: "default".
quote_follow_upsstringWhether this customer's quotes awaiting an answer are followed up by email.
One of: default, on, off. Default: "default".
visit_remindersstringWhether this customer is reminded by email of their visits the day before.
One of: default, on, off. Default: "default".
billing_addressobject or nullFields(6)
address_line_1stringrequiredaddress_line_2string or nullcitystringrequiredregionstring or nullpostal_codestringrequiredcountry_codestringrequiredAt least 2 characters. Up to 2 characters.
portal_urlstring (uri) or nullThe customer's sign-in link to their customer portal. It signs them in without a password, so it is null for technicians, for AI assistants and for an archived customer. Replace it with rotateCustomerPortalKey.
Read only.
archived_atstring (date-time) or nullcontactsarray of objectrequiredEach item(12)
lock_versionintegerAt least 0.
created_atstring (date-time)requiredupdated_atstring (date-time)requiredidstring (uuid)requiredaccount_idstring (uuid)requiredcustomer_idstring (uuid)requirednamestringrequiredjob_titlestring or nullemailstring (email) or nullphonestring or nullnotesstring or nullarchived_atstring (date-time) or null
propertiesarray of objectrequiredEach item(20)
lock_versionintegerAt least 0.
created_atstring (date-time)requiredupdated_atstring (date-time)requiredidstring (uuid)requiredaccount_idstring (uuid)requiredcustomer_idstring (uuid)requirednamestring or nulladdress_line_1stringrequiredaddress_line_2string or nullcitystringrequiredregionstring or nullpostal_codestringrequiredcountry_codestringrequiredaccess_notesstring or nulllawn_area_m2string or nullThe lawn at the property in square metres, with up to two decimal places, or null when it has not been measured. Use it as the quantity of lawn work priced per square metre, such as turfing. A patio or decking is priced the same way and is some other size.
Matches ^\d{1,8}(\.\d{1,2})?$.
latitudenumber (double) or nullWhere the property is, to the middle of its postcode. Looked up shortly after the property is saved, and null until then. Stays null when the postcode is unknown, in Northern Ireland or outside the United Kingdom.
At least -90. At most 90. Read only.
longitudenumber (double) or nullAt least -180. At most 180. Read only.
billing_namestring or nullbilling_addressobject or nullFields(6)
address_line_1stringrequiredaddress_line_2string or nullcitystringrequiredregionstring or nullpostal_codestringrequiredcountry_codestringrequiredAt least 2 characters. Up to 2 characters.
archived_atstring (date-time) or null
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/customers/372a8e62-6d44-552f-9c0e-c1229b6478be" \ -H "Authorization: Bearer $TRADESENDER_KEY"