Developers
Property sources
Registered property snapshots, source status, lifecycle, completeness and supported territory.
Register the source before connecting it
Source onboarding is a managed operator process. Agree the property domain, geography, rights, mapping, source identity, exact HTTPS snapshot/status endpoints and freshness/capacity policy. Source credentials are confidential and separate from the customer's backend runtime key. Visitors cannot submit an arbitrary feed URL or register a new source.
External property v1
The admitted external-property-v1 adapter reads a property-source-snapshot-v1 document and a property-source-status-v1 status document from one registered origin. Snapshot records preserve stable identities, current/withdrawn lifecycle, source timestamps, coordinates and domain facts.
{
"schemaVersion": "property-source-snapshot-v1",
"sourceId": "your-registered-source",
"sourceRevision": "revision-1",
"generatedAt": "2026-10-03T09:00:00.000Z",
"completeness": {
"status": "complete",
"scopeId": "agreed-property-scope",
"totalInScope": 1
},
"items": [
{
"id": "sample-home",
"lifecycle": "active",
"sourceUpdatedAt": "2026-10-03T09:00:00.000Z",
"record": {
"title": "Example property",
"locality": "Manchester",
"description": "Illustrative source record, not a customer listing.",
"listingUrl": "https://your-agency.example/properties/sample-home",
"location": {
"point": {
"type": "Point",
"coordinates": [
-2.2429,
53.4812
]
},
"quality": "listing_point",
"source": "agency-coordinate"
},
"domain": {
"listingType": "purchase",
"price": {
"amountMinor": 25000000,
"currency": "GBP"
},
"bedrooms": 2
}
}
}
]
}The name, listing URL and source ID above are explicit placeholders. Replace them with your agreed source and current timestamps. Coordinates use GeoJSON longitude, then latitude. A listing point is not a surveyed entrance.
Completeness and freshness matter
complete describes the agreed source scope, not all properties in a city. A subset must say subset. Status revision and snapshot revision must agree; unavailable or stale input cannot become a current listing merely because it was cached. Withdrawn items retain identity without an active record.
Capacity is agreed, not unlimited
The standard contract bounds active and retained identities and payload size. Larger admitted capacity profiles are explicit managed configurations, not arbitrary uploads. Unsupported fields, invalid coordinates, contradictory completeness or a mismatched source identity are rejected.
We support the registered adapter and reviewed operator import routes. This is not a generic connector for every CRM, arbitrary CSV/XML feed or inbound webhook. Start with your source and integration requirements; keep existing listing actions available during an outage.
Use your own approved configuration.
Ask about the source, scope and delivery mode you need. Documentation does not activate an account or a provider allowance.
Request access