The TPX API Reference provides the technical details for the currently available endpoints within the TPX MLS & Syndication Server.
This section documents authentication, request formats, property synchronization, response structures and common error conditions.
Only endpoints currently implemented by the TPX server are documented here. Future endpoints and webhook functionality will be added as they become available.
TPX API endpoints are accessed through the TPX server using standard HTTPS requests.
Protected endpoints require valid TPX API client credentials to be included in the request headers.
X-TPX-Client-ID: YOUR_CLIENT_ID X-TPX-Secret: YOUR_CLIENT_SECRET Accept: application/json Content-Type: application/json
TPX API clients authenticate using two request headers.
| Header | Required | Description |
|---|---|---|
X-TPX-Client-ID |
Yes | Identifies the API client making the request. |
X-TPX-Secret |
Yes | Authenticates the client secret associated with the API client. |
Accept |
Recommended | Should normally be set to application/json. |
Content-Type |
Required for JSON requests | Should be set to application/json when sending JSON data. |
The TPX server validates the API client, verifies that it is active, checks that the associated agency or organization is active and then authorizes the request.
The health endpoint can be used to confirm that the TPX API server is responding.
/api/health
Available
This endpoint is intended as a simple system availability check.
GET /api/health
It can be used by administrators, monitoring tools or deployment checks to confirm that the TPX API application is running.
The authentication test endpoint verifies that the supplied TPX API credentials are accepted by the server.
/api/auth-test
Available
This endpoint should be used when configuring a new integration before attempting to synchronize property data.
X-TPX-Client-ID: YOUR_CLIENT_ID X-TPX-Secret: YOUR_CLIENT_SECRET Accept: application/json
GET /api/auth-test
A successful response confirms that the client credentials are valid and that the associated organization is authorized to access TPX.
The property synchronization endpoint creates or updates a canonical TPX property record for the authenticated source.
/api/v1/properties/sync
Available
The same endpoint is used for both new property creation and subsequent updates.
TPX identifies the source property using the authenticated organization together with the external property identifier.
A basic property synchronization request may contain:
{
"external_id": "PROPERTY-1001",
"title": "Modern Sea View Villa",
"status": "for-sale",
"sale_price": 6250000,
"exchange_available": true
}
| Field | Type | Description |
|---|---|---|
external_id |
String | Stable identifier for the property within the originating external system. |
title |
String | Property title or listing headline. |
description |
String | Main property description where supported by the request payload. |
status |
String | Identifies the transaction or listing status used by the property record. |
sale_price |
Number | Sale price where the property is offered for sale. |
rental_price |
Number | Rental price where applicable. |
bedrooms |
Integer | Number of bedrooms where supplied. |
bathrooms |
Integer / Number | Number of bathrooms where supplied. |
latitude |
Number | Property latitude. |
longitude |
Number | Property longitude. |
exchange_available |
Boolean | Controls whether the property is available for syndication within the TPX network. |
If TPX cannot find an existing source relationship for the authenticated organization and external property identifier, a new canonical property record may be created.
SOURCE AGENCY
+
EXTERNAL ID PROPERTY-1001
↓
NO EXISTING MATCH
↓
CREATE TPX PROPERTY
The new property is associated with the authenticated source organization.
When the same source submits the same external identifier again, TPX updates the existing canonical property record.
SOURCE AGENCY
+
EXTERNAL ID PROPERTY-1001
↓
EXISTING SOURCE FOUND
↓
UPDATE EXISTING TPX PROPERTY
This prevents duplicate canonical records from being created during routine property synchronization.
A successful property synchronization response identifies whether the property was created or updated.
{
"status": "success",
"action": "updated",
"property": {
"id": 4831
}
}
For a newly created record, the action may indicate that the property was created rather than updated.
Connected systems should retain the TPX property ID where useful for future synchronization and local property tracking.
The exchange_available field controls whether the property is available for syndication within the private TPX network.
To make the property available:
{
"exchange_available": true
}
To remove the property from network availability:
{
"exchange_available": false
}
Changing the value from true to false can also cause active, non-revoked syndication records associated with the property to be revoked by the server.
TPX protects canonical ownership by ensuring that one authenticated organization cannot overwrite another organization's property.
AGENCY A PROPERTY
↓
CAN ONLY BE UPDATED
BY AUTHORIZED SOURCE
AGENCY A
A property associated with another source organization should not be modified by an unrelated API client.
The external_id should remain stable for the lifetime of the property within the originating system.
AGENCY 12 + EXTERNAL ID: PROPERTY-1001 = TPX PROPERTY #4831
If the external ID changes unnecessarily, TPX may no longer be able to identify the existing source relationship correctly.
Integrations should inspect both the HTTP status code and the returned JSON response.
| Status | Meaning |
|---|---|
200 |
The request was processed successfully, typically for an update. |
201 |
A new property record was successfully created. |
4xx |
The request was rejected because of authentication, authorization, validation or request data issues. |
5xx |
The server encountered an unexpected error while processing the request. |
Property requests are validated before the canonical record is created or updated.
A request may fail because of:
{
"status": "error",
"message": "Property validation failed"
}
Protected endpoints reject requests that do not contain valid API credentials.
Possible causes include:
X-TPX-Client-IDX-TPX-Secret{
"status": "error",
"message": "Authentication failed"
}
TPX API credentials should always be treated as confidential server-side credentials.
Each integration should normally use its own API client credentials so that access can be managed independently.
| Method | Endpoint | Purpose | Status |
|---|---|---|---|
| GET | /api/health |
Checks that the TPX API application is responding. | Available |
| GET | /api/auth-test |
Tests API client authentication and authorization. | Available |
| POST | /api/v1/properties/sync |
Creates or updates a canonical TPX property. | Available |
Additional endpoints will be documented as the TPX platform develops.
Future capabilities may include:
Future event-driven integration may include events such as:
property.created property.updated property.withdrawn property.sold syndication.revoked
Webhook delivery is not yet part of the currently documented public API.
Applications integrating with TPX should follow several basic reliability rules.
SEND API REQUEST
↓
CHECK HTTP STATUS
↓
READ JSON RESPONSE
↓
STORE TPX PROPERTY ID
↓
MARK LOCAL SYNC STATUS
↓
RETRY TEMPORARY FAILURES
A failed API request should not automatically be treated as a permanent failure. Network and server errors may require retry handling within the integration.
Versioned API routes allow TPX to introduce future changes without unnecessarily breaking existing integrations.
The current property synchronization route uses:
/api/v1/properties/sync
Future API versions may be introduced when changes require different request or response behavior.
If you are building a Houzez connector, custom property application or another system that needs to communicate with TPX, verify your authentication and property synchronization workflow before introducing live inventory.
The TPX API documentation should always be used together with the validation rules implemented on the active TPX server.
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.