The TPX Property API allows authorized systems to create and synchronize property records with the TPX MLS & Syndication Server.
It provides the connection between an originating property system and the canonical property record maintained within TPX.
The same synchronization process can be used when a property is first introduced to TPX and whenever its information changes later.
Property records are submitted to TPX using the property synchronization endpoint.
POST /api/v1/properties/sync
The request must be authenticated using the API client credentials associated with the originating organization.
X-TPX-Client-ID: YOUR_CLIENT_ID X-TPX-Secret: YOUR_CLIENT_SECRET Accept: application/json Content-Type: application/json
Every property submitted to TPX should include a persistent external identifier.
This identifier represents the property within the originating system and allows TPX to recognize the same property during subsequent synchronization requests.
TPX combines the external identifier with the authenticated source organization.
SOURCE ORGANIZATION
+
EXTERNAL PROPERTY ID
↓
CANONICAL TPX PROPERTY
For a Houzez integration, the external identifier may correspond to the WordPress property post ID or another stable identifier maintained by the TPX Houzez Connector.
When TPX receives a property from an authorized source that has not previously been synchronized, a new canonical property record can be created.
A simplified request may look like this:
{
"external_id": "PROPERTY-1001",
"title": "Modern Sea View Villa",
"status": "for-sale",
"sale_price": 6250000,
"exchange_available": true
}
If successful, TPX creates the canonical property and associates it with the authenticated source organization.
When the same property is synchronized again using the same originating source and external identifier, TPX updates the existing canonical record rather than creating another property.
FIRST REQUEST Agency Property PROPERTY-1001 ↓ TPX Property #4831 CREATED SECOND REQUEST Agency Property PROPERTY-1001 ↓ TPX Property #4831 UPDATED
This behavior is fundamental to TPX because it allows connected property systems to continually synchronize the same property throughout its lifecycle.
Property payloads can contain the information required to represent the originating listing within TPX.
The exact fields available may depend on the TPX deployment and integration, but the property model is designed to accommodate core real estate information such as:
| Field | Purpose |
|---|---|
external_id |
Persistent identifier used by the originating property system. |
title |
Property title or listing headline. |
description |
Main property description. |
status |
Identifies the property's listing status or transaction type. |
sale_price |
Sale price when the property is offered for sale. |
rental_price |
Rental price when applicable. |
bedrooms |
Number of bedrooms. |
bathrooms |
Number of bathrooms. |
latitude |
Property latitude used for mapping and location-based functionality. |
longitude |
Property longitude used for mapping and location-based functionality. |
exchange_available |
Controls whether the property is available for syndication within the private TPX network. |
TPX property records can distinguish between properties offered for sale and properties offered for rent.
Where a property is offered for sale, the relevant sale price should be supplied.
{
"status": "for-sale",
"sale_price": 6250000
}
Rental listings should provide the appropriate rental information required by the integration.
TPX validates property information before accepting the synchronization request, so transaction and pricing information should remain internally consistent.
Location coordinates can be stored with the canonical property and are particularly important for map-based searches, proximity searches and location intelligence.
{
"latitude": 12.5684,
"longitude": 99.9577
}
Coordinates should represent the actual property location whenever they are available from the originating system.
A property can exist within TPX without automatically being available to other network participants.
The property owner controls whether the listing can be syndicated through the private TPX network.
To make a property available:
{
"exchange_available": true
}
To withdraw it from network availability:
{
"exchange_available": false
}
Withdrawing a property from network availability does not require the canonical property itself to be deleted.
The property remains associated with its originating organization while its network availability is changed.
When a property is made available to the network, authorized TPX members can syndicate that property according to the rules of the private network.
If the originating organization later withdraws the property from network availability, TPX can revoke active syndication records associated with that property.
SOURCE PROPERTY
↓
AVAILABLE TO TPX NETWORK
↓
SYNDICATED BY MEMBERS
↓
SOURCE WITHDRAWS PROPERTY
↓
ACTIVE SYNDICATIONS REVOKED
The source property itself remains under the control of its originating organization.
Syndication does not transfer ownership of the canonical property record.
The organization that originally supplied the property remains associated with the authoritative TPX record.
SOURCE AGENCY
↓
TPX PROPERTY #4831
↓
CANONICAL PROPERTY RECORD
↓
┌──────────┼──────────┐
↓ ↓ ↓
AGENCY B AGENCY C AGENCY D
SYNDICATED SYNDICATED SYNDICATED
Receiving agencies syndicate the property rather than becoming the source of a new canonical TPX property.
A TPX integration should never upload a syndicated receiving copy as though it were a newly originating property.
The external property ID and originating organization allow TPX to distinguish the canonical source property from syndicated copies.
This prevents synchronization loops and duplicate canonical records.
After processing the request, TPX returns a JSON response indicating the result of the synchronization.
An update response may look like:
{
"status": "success",
"action": "updated",
"property": {
"id": 4831
}
}
When a new property is created, the response can indicate that a new record was created rather than updated.
Connected systems should retain the TPX property identifier returned by the server whenever it is relevant to the integration.
The following example demonstrates a typical synchronization request containing several property values.
{
"external_id": "HH-VILLA-2048",
"title": "Luxury Pool Villa",
"description": "Modern villa with private pool.",
"status": "for-sale",
"sale_price": 8900000,
"bedrooms": 4,
"bathrooms": 3,
"latitude": 12.5684,
"longitude": 99.9577,
"exchange_available": true
}
This is an illustrative payload. Integrations should submit only fields supported by their TPX API deployment and follow the validation requirements documented in the API Reference.
TPX validates incoming property data before updating the canonical record.
A synchronization request may fail because of:
Applications should always inspect the HTTP status code and JSON response.
{
"status": "error",
"message": "Property validation failed"
}
A TPX property can pass through several stages while retaining the same canonical identity.
PROPERTY CREATED
↓
SYNCHRONIZED WITH TPX
↓
AVAILABLE TO NETWORK
↓
SYNDICATED
↓
PROPERTY UPDATED
↓
SYNDICATED COPIES SYNCHRONIZED
↓
PROPERTY WITHDRAWN
↓
NETWORK SYNDICATION ENDS
Throughout this process, the canonical TPX property remains associated with the originating organization.
A property integration should follow a predictable synchronization process.
CREATE / EDIT PROPERTY
↓
ASSIGN STABLE EXTERNAL ID
↓
SEND TO TPX API
↓
STORE TPX PROPERTY ID
↓
PROCESS RESPONSE
↓
SYNC FUTURE CHANGES
↓
CONTROL NETWORK AVAILABILITY
Maintaining stable identifiers and processing API responses correctly are the two most important requirements for reliable long-term property synchronization.
Now that you understand how TPX creates and synchronizes canonical property records, continue to the Integrations documentation.
The Integrations section explains how Houzez websites, REST API applications, XML property feeds and other external systems connect with the TPX platform.
Continue to Integrations →
Real estate technology for Houzez. We build private MLS and property syndication infrastructure, synchronization technology, AI tools and purpose-built plugins for agencies and property networks.
TPX product updates, new features and private MLS insights delivered to your inbox.
Hua Hin, Prachuap Khiri Khan, 77110, Thailand
Copyright © 2026 TPX – Real Estate Technology for Houzez. All rights reserved.