Updates an existing property (partial update using PATCH semantics).
- Type: stringidrequired
Property ID
- Type: stringIf
- Match ETag value for optimistic concurrency control
Fields to update
Partial update body for PATCH /api/v1/properties/{id}. Send only
the fields you want to change; omitted fields are left untouched. Where
a nullable field accepts null, sending null explicitly
clears the stored value.
- Type: null | numberFormat: decimalavg
Contract Length Years - Type: array object[] ·categories
Category data for property creation.
- Type: null | booleanclear
Coordinates - Type: null | stringdescription
- Type: array object[] · …10external
Refs External references for CRM integration. Replaces all existing external refs. Set to empty array to remove all external refs.
Represents an external system reference (e.g., Salesforce, HubSpot, Pipedrive). Supports multiple CRM systems simultaneously.
- Type: object · nullablelocation
Partial update body for the location block on a property PATCH. Include only the coordinates and address parts you want to change; omitted fields are left untouched. Where a nullable field accepts
null, sendingnullexplicitly clears the stored value. - Type: null | stringname
- Type: object · nullableoperating
Costs Price as a single
value, with currency and scale. - Type: object · nullableparcel
Area Area measurement with value and unit.
- Type: object · nullableprice
Price as a single
value, with currency and scale. - Type: array string[]
- Type: null | stringtenure
Partial update body for PATCH /api/v1/properties/{id}. Send only
the fields you want to change; omitted fields are left untouched. Where
a nullable field accepts null, sending null explicitly
clears the stored value.
- application/json
- application/problem+json
- application/problem+json
- application/problem+json
- application/problem+json
- application/problem+json
- application/problem+json
curl 'https://app.propstreet.com/api/v1/properties/{id}' \
--request PATCH \
--header 'If-Match: ' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--data '{
"name": null,
"description": null,
"location": {
"latitude": null,
"longitude": null,
"country": null,
"locality": null
},
"categories": [
{
"type": "",
"locationClass": null,
"yieldPercent": "",
"rentalIncome": {
"value": 0,
"currency": "",
"scale": ""
},
"rentedArea": {
"value": "",
"unit": ""
},
"vacantArea": {
"value": "",
"unit": ""
},
"conversions": [
""
]
}
],
"price": {
"value": 0,
"currency": "",
"scale": ""
},
"operatingCosts": {
"value": 0,
"currency": "",
"scale": ""
},
"avgContractLengthYears": null,
"yearBuilt": null,
"parcelArea": {
"value": "",
"unit": ""
},
"zoning": {
"gfa": {
"value": "",
"unit": ""
},
"categories": [
""
]
},
"tenure": null,
"tags": [
""
],
"clearCoordinates": null,
"externalRefs": [
{
"namespace": "",
"id": ""
}
]
}'
{
"id": "string",
"uri": null,
"name": "string",
"description": null,
"location": {
"latitude": "string",
"longitude": "string",
"country": null,
"locality": null
},
"categories": [
{
"type": "string",
"locationClass": null,
"yieldPercent": "string",
"rentalIncome": {
"value": 0,
"currency": "string",
"scale": "string"
},
"rentedArea": {
"value": "string",
"unit": "string"
},
"vacantArea": {
"value": "string",
"unit": "string"
},
"conversions": [
"string"
]
}
],
"price": {
"value": 0,
"currency": "string",
"scale": "string"
},
"operatingCosts": {
"value": 0,
"currency": "string",
"scale": "string"
},
"avgContractLengthYears": "string",
"yearBuilt": "string",
"parcelArea": {
"value": "string",
"unit": "string"
},
"zoning": {
"gfa": {
"value": "string",
"unit": "string"
},
"categories": [
"string"
]
},
"tenure": null,
"tags": [
"string"
],
"projects": [
{
"id": "string",
"uri": null,
"name": "string"
}
],
"externalRefs": [
{
"namespace": "string",
"id": "string"
}
],
"createdUtc": "2026-05-18T20:22:36.959Z",
"updatedUtc": "2026-05-18T20:22:36.959Z",
"deletedUtc": null,
"etag": "string",
"distance_meters": "string",
"changeType": null,
"changeOrigin": null
}