Update a customer property
PATCH/api/v1/customers/{customer_id}/properties/{id}
- Needs an API key, and runs with the access of the member who made the key.
- Send an
Idempotency-Key. The same key with the same request within 24 hours gives the first answer again and changes nothing. - A connected AI assistant can use it too, as
updateCustomerProperty.
Parameters
In the address
customer_idstring (uuid)requiredidstring (uuid)required
Headers
Idempotency-KeystringrequiredUnique user-scoped key for safely retrying this mutation for 24 hours.
At least 1 character. Up to 200 characters.
Request body
Sent as application/json.
propertyobjectrequiredFields(12)
lock_versionintegerAt least 0.
namestring or nulladdress_line_1stringaddress_line_2string or nullcitystringregionstring or nullpostal_codestringcountry_codestringAt least 2 characters. Up to 2 characters.
access_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})?$.
billing_namestring or nullWho quotes and invoices for work here are addressed to, such as a letting agent. Defaults to the customer.
billing_addressobject or nullWhere quotes and invoices for work here are sent, before the customer's billing address. Omit to keep, null to clear.
Fields(6)
address_line_1stringrequiredaddress_line_2string or nullcitystringrequiredregionstring or nullpostal_codestringrequiredcountry_codestringrequiredAt least 2 characters. Up to 2 characters.
Responses
200Property details.
dataobjectrequiredFields(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 -X PATCH "https://app.tradesender.co.uk/api/v1/customers/372a8e62-6d44-552f-9c0e-c1229b6478be/properties/20e51c3e-939a-59cd-998f-b3650207b9d5" \
-H "Authorization: Bearer $TRADESENDER_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"property": {
"access_notes": "Use the side entrance."
}
}'