Interactive API Reference
/api/v1/crm/propertiesTry with PostmanLists properties owned by the authenticated CRM connection with pagination and filters.
| Purpose | List properties |
|---|---|
| HTTP Method | GET |
| URL | /api/v1/crm/properties |
| Required Headers | X-CRM-Key, X-CRM-Timestamp, X-CRM-Nonce, X-CRM-Signature, Content-Type: application/json |
| Required Fields | Create/upsert requires property.external_ref, property.department and property.display_address. Live listings also require publish-ready price/address data. |
| Optional Fields | All optional canonical fields from the Canonical Schema page are accepted when present. |
| Permissions | Authenticated CRM connection with property write permission. |
| Rate Limits | Tracked by API key/application. Use the Rate Limits page and console usage screens to inspect current counters. |
Headers
X-CRM-Key: crm_key_xxx X-CRM-Timestamp: 1782907200 X-CRM-Nonce: unique-request-id X-CRM-Signature: hmac_sha256
Response
{
"success": true,
"external_ref": "CRM-001",
"status": "updated"
}Error Response
{
"success": false,
"error": {
"code": "validation_failed",
"message": "property.department is required.",
"field": "property.department",
"retryable": false
}
}/api/v1/crm/properties/{external_ref}Try with PostmanReturns the canonical property document for an external reference.
| Purpose | Read a property |
|---|---|
| HTTP Method | GET |
| URL | /api/v1/crm/properties/{external_ref} |
| Required Headers | X-CRM-Key, X-CRM-Timestamp, X-CRM-Nonce, X-CRM-Signature, Content-Type: application/json |
| Required Fields | Create/upsert requires property.external_ref, property.department and property.display_address. Live listings also require publish-ready price/address data. |
| Optional Fields | All optional canonical fields from the Canonical Schema page are accepted when present. |
| Permissions | Authenticated CRM connection with property write permission. |
| Rate Limits | Tracked by API key/application. Use the Rate Limits page and console usage screens to inspect current counters. |
Headers
X-CRM-Key: crm_key_xxx X-CRM-Timestamp: 1782907200 X-CRM-Nonce: unique-request-id X-CRM-Signature: hmac_sha256
Response
{
"success": true,
"external_ref": "CRM-001",
"status": "updated"
}Error Response
{
"success": false,
"error": {
"code": "validation_failed",
"message": "property.department is required.",
"field": "property.department",
"retryable": false
}
}/api/v1/crm/properties/lookup?id_type=external_ref&value={external_ref}Try with PostmanLooks up by explicit identifier type such as external_ref or property_uid.
| Purpose | Lookup a property |
|---|---|
| HTTP Method | GET |
| URL | /api/v1/crm/properties/lookup?id_type=external_ref&value={external_ref} |
| Required Headers | X-CRM-Key, X-CRM-Timestamp, X-CRM-Nonce, X-CRM-Signature, Content-Type: application/json |
| Required Fields | Create/upsert requires property.external_ref, property.department and property.display_address. Live listings also require publish-ready price/address data. |
| Optional Fields | All optional canonical fields from the Canonical Schema page are accepted when present. |
| Permissions | Authenticated CRM connection with property write permission. |
| Rate Limits | Tracked by API key/application. Use the Rate Limits page and console usage screens to inspect current counters. |
Headers
X-CRM-Key: crm_key_xxx X-CRM-Timestamp: 1782907200 X-CRM-Nonce: unique-request-id X-CRM-Signature: hmac_sha256
Response
{
"success": true,
"external_ref": "CRM-001",
"status": "updated"
}Error Response
{
"success": false,
"error": {
"code": "validation_failed",
"message": "property.department is required.",
"field": "property.department",
"retryable": false
}
}/api/v1/crm/propertiesTry with PostmanCreates or updates a listing by canonical payload.
| Purpose | Create or upsert a property |
|---|---|
| HTTP Method | POST |
| URL | /api/v1/crm/properties |
| Required Headers | X-CRM-Key, X-CRM-Timestamp, X-CRM-Nonce, X-CRM-Signature, Content-Type: application/json |
| Required Fields | Create/upsert requires property.external_ref, property.department and property.display_address. Live listings also require publish-ready price/address data. |
| Optional Fields | All optional canonical fields from the Canonical Schema page are accepted when present. |
| Permissions | Authenticated CRM connection with property write permission. |
| Rate Limits | Tracked by API key/application. Use the Rate Limits page and console usage screens to inspect current counters. |
Headers
X-CRM-Key: crm_key_xxx X-CRM-Timestamp: 1782907200 X-CRM-Nonce: unique-request-id X-CRM-Signature: hmac_sha256
Response
{
"success": true,
"external_ref": "CRM-001",
"status": "updated"
}Error Response
{
"success": false,
"error": {
"code": "validation_failed",
"message": "property.department is required.",
"field": "property.department",
"retryable": false
}
}/api/v1/crm/properties/{external_ref}Try with PostmanReplaces the canonical property document for an external reference.
| Purpose | Replace a property |
|---|---|
| HTTP Method | PUT |
| URL | /api/v1/crm/properties/{external_ref} |
| Required Headers | X-CRM-Key, X-CRM-Timestamp, X-CRM-Nonce, X-CRM-Signature, Content-Type: application/json |
| Required Fields | Create/upsert requires property.external_ref, property.department and property.display_address. Live listings also require publish-ready price/address data. |
| Optional Fields | All optional canonical fields from the Canonical Schema page are accepted when present. |
| Permissions | Authenticated CRM connection with property write permission. |
| Rate Limits | Tracked by API key/application. Use the Rate Limits page and console usage screens to inspect current counters. |
Headers
X-CRM-Key: crm_key_xxx X-CRM-Timestamp: 1782907200 X-CRM-Nonce: unique-request-id X-CRM-Signature: hmac_sha256
Response
{
"success": true,
"external_ref": "CRM-001",
"status": "updated"
}Error Response
{
"success": false,
"error": {
"code": "validation_failed",
"message": "property.department is required.",
"field": "property.department",
"retryable": false
}
}/api/v1/crm/properties/{external_ref}Try with PostmanUpdates supplied fields while preserving the rest of the record.
| Purpose | Partially update a property |
|---|---|
| HTTP Method | PATCH |
| URL | /api/v1/crm/properties/{external_ref} |
| Required Headers | X-CRM-Key, X-CRM-Timestamp, X-CRM-Nonce, X-CRM-Signature, Content-Type: application/json |
| Required Fields | Create/upsert requires property.external_ref, property.department and property.display_address. Live listings also require publish-ready price/address data. |
| Optional Fields | All optional canonical fields from the Canonical Schema page are accepted when present. |
| Permissions | Authenticated CRM connection with property write permission. |
| Rate Limits | Tracked by API key/application. Use the Rate Limits page and console usage screens to inspect current counters. |
Headers
X-CRM-Key: crm_key_xxx X-CRM-Timestamp: 1782907200 X-CRM-Nonce: unique-request-id X-CRM-Signature: hmac_sha256
Response
{
"success": true,
"external_ref": "CRM-001",
"status": "updated"
}Error Response
{
"success": false,
"error": {
"code": "validation_failed",
"message": "property.department is required.",
"field": "property.department",
"retryable": false
}
}/api/v1/crm/properties/{external_ref}Try with PostmanDeletes, withdraws, or inactivates depending on connection policy.
| Purpose | Delete or inactivate |
|---|---|
| HTTP Method | DELETE |
| URL | /api/v1/crm/properties/{external_ref} |
| Required Headers | X-CRM-Key, X-CRM-Timestamp, X-CRM-Nonce, X-CRM-Signature, Content-Type: application/json |
| Required Fields | Create/upsert requires property.external_ref, property.department and property.display_address. Live listings also require publish-ready price/address data. |
| Optional Fields | All optional canonical fields from the Canonical Schema page are accepted when present. |
| Permissions | Authenticated CRM connection with property write permission. |
| Rate Limits | Tracked by API key/application. Use the Rate Limits page and console usage screens to inspect current counters. |
Headers
X-CRM-Key: crm_key_xxx X-CRM-Timestamp: 1782907200 X-CRM-Nonce: unique-request-id X-CRM-Signature: hmac_sha256
Response
{
"success": true,
"external_ref": "CRM-001",
"status": "updated"
}Error Response
{
"success": false,
"error": {
"code": "validation_failed",
"message": "property.department is required.",
"field": "property.department",
"retryable": false
}
}/api/v1/crm/properties/{external_ref}/withdrawTry with PostmanMarks a property withdrawn.
| Purpose | Withdraw |
|---|---|
| HTTP Method | POST |
| URL | /api/v1/crm/properties/{external_ref}/withdraw |
| Required Headers | X-CRM-Key, X-CRM-Timestamp, X-CRM-Nonce, X-CRM-Signature, Content-Type: application/json |
| Required Fields | Create/upsert requires property.external_ref, property.department and property.display_address. Live listings also require publish-ready price/address data. |
| Optional Fields | All optional canonical fields from the Canonical Schema page are accepted when present. |
| Permissions | Authenticated CRM connection with property write permission. |
| Rate Limits | Tracked by API key/application. Use the Rate Limits page and console usage screens to inspect current counters. |
Headers
X-CRM-Key: crm_key_xxx X-CRM-Timestamp: 1782907200 X-CRM-Nonce: unique-request-id X-CRM-Signature: hmac_sha256
Response
{
"success": true,
"external_ref": "CRM-001",
"status": "updated"
}Error Response
{
"success": false,
"error": {
"code": "validation_failed",
"message": "property.department is required.",
"field": "property.department",
"retryable": false
}
}/api/v1/crm/properties/{external_ref}/archiveTry with PostmanArchives a property.
| Purpose | Archive |
|---|---|
| HTTP Method | POST |
| URL | /api/v1/crm/properties/{external_ref}/archive |
| Required Headers | X-CRM-Key, X-CRM-Timestamp, X-CRM-Nonce, X-CRM-Signature, Content-Type: application/json |
| Required Fields | Create/upsert requires property.external_ref, property.department and property.display_address. Live listings also require publish-ready price/address data. |
| Optional Fields | All optional canonical fields from the Canonical Schema page are accepted when present. |
| Permissions | Authenticated CRM connection with property write permission. |
| Rate Limits | Tracked by API key/application. Use the Rate Limits page and console usage screens to inspect current counters. |
Headers
X-CRM-Key: crm_key_xxx X-CRM-Timestamp: 1782907200 X-CRM-Nonce: unique-request-id X-CRM-Signature: hmac_sha256
Response
{
"success": true,
"external_ref": "CRM-001",
"status": "updated"
}Error Response
{
"success": false,
"error": {
"code": "validation_failed",
"message": "property.department is required.",
"field": "property.department",
"retryable": false
}
}/api/v1/crm/properties/{external_ref}/restoreTry with PostmanRestores an archived property.
| Purpose | Restore |
|---|---|
| HTTP Method | POST |
| URL | /api/v1/crm/properties/{external_ref}/restore |
| Required Headers | X-CRM-Key, X-CRM-Timestamp, X-CRM-Nonce, X-CRM-Signature, Content-Type: application/json |
| Required Fields | Create/upsert requires property.external_ref, property.department and property.display_address. Live listings also require publish-ready price/address data. |
| Optional Fields | All optional canonical fields from the Canonical Schema page are accepted when present. |
| Permissions | Authenticated CRM connection with property write permission. |
| Rate Limits | Tracked by API key/application. Use the Rate Limits page and console usage screens to inspect current counters. |
Headers
X-CRM-Key: crm_key_xxx X-CRM-Timestamp: 1782907200 X-CRM-Nonce: unique-request-id X-CRM-Signature: hmac_sha256
Response
{
"success": true,
"external_ref": "CRM-001",
"status": "updated"
}Error Response
{
"success": false,
"error": {
"code": "validation_failed",
"message": "property.department is required.",
"field": "property.department",
"retryable": false
}
}/api/v1/crm/properties/{external_ref}/reactivateTry with PostmanReactivates a previously inactive property.
| Purpose | Reactivate |
|---|---|
| HTTP Method | POST |
| URL | /api/v1/crm/properties/{external_ref}/reactivate |
| Required Headers | X-CRM-Key, X-CRM-Timestamp, X-CRM-Nonce, X-CRM-Signature, Content-Type: application/json |
| Required Fields | Create/upsert requires property.external_ref, property.department and property.display_address. Live listings also require publish-ready price/address data. |
| Optional Fields | All optional canonical fields from the Canonical Schema page are accepted when present. |
| Permissions | Authenticated CRM connection with property write permission. |
| Rate Limits | Tracked by API key/application. Use the Rate Limits page and console usage screens to inspect current counters. |
Headers
X-CRM-Key: crm_key_xxx X-CRM-Timestamp: 1782907200 X-CRM-Nonce: unique-request-id X-CRM-Signature: hmac_sha256
Response
{
"success": true,
"external_ref": "CRM-001",
"status": "updated"
}Error Response
{
"success": false,
"error": {
"code": "validation_failed",
"message": "property.department is required.",
"field": "property.department",
"retryable": false
}
}