Sync Protocol
Contract for the two REST endpoints your CRM must expose to integrate with Spot2.
Properties endpoint
Main endpoint that returns your active properties.
GET https://your-crm.com/api/v1/spot2/properties
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
updated_since | ISO 8601 | Yes (except first cycle) | Returns only properties modified since this date. Spot2 omits it on the first cycle, and your API must return the full catalog. Your API may use an equivalent name — Spot2 adapts. |
limit | integer | No | Page size. Default: 200. |
| Pagination | — | Yes | offset-based (see below). |
Behavior
- Spot2 sends
updated_sincewith the date of the last successful cycle. Your API filters and returns only items withupdated_at > updated_since. - If your API cannot filter by date, it cannot integrate with this contract.
- On the first cycle (no previous timestamp), Spot2 does not send
updated_since. Your API must return the full catalog of active properties.
Authentication
Choose one of these methods. We configure the credentials on our side.
| Method | Implementation |
|---|---|
| API Key (header) | Header x-api-key: <your-key>. Simple, recommended. |
| API Key (query param) | Query parameter ?api_key=<your-key>. |
| Bearer Token | Header Authorization: Bearer <your-token>. |
| Custom header | Any other header you define. |
Credential requirements:
- Must not auto-expire. If you need to rotate it, notify us in advance.
- Must have read-only scope over properties.
- We recommend a dedicated key exclusively for Spot2 integration.
Pagination
Your API must support offset-based pagination.
GET /properties?offset=0&limit=200
The response must include:
meta.next: full URL for the next page, ornullif it's the last.meta.total_count: total number of properties in the feed.
We stop when meta.next is null. Recommended page size: 100–200.
Response format
The response is a JSON object with two sections:
- Property list in an array under the
datafield. - Pagination metadata in a separate
metaobject.
Each property must follow the schema defined in Property Schema.
HTTP codes
| Status | Meaning |
|---|---|
| 200 | Success. Feed received correctly. |
| 204 | Empty feed (no properties modified since updated_since). Not an error. |
| 400 | Missing updated_since (except first cycle). |
| 400 | Malformed updated_since (must be ISO 8601). |
| 503 | Maintenance. Include Retry-After. |
Rate limits
Our default limit is 60 requests per minute. We respect Retry-After.
Timeout
Default timeout: 30 seconds per request.
Sync frequency
- Scheduled cycles: typically every 1 hour (configurable between 5 minutes and 24 hours).
- On-demand cycles: we can run a manual cycle if you need to force a sync.
Deletion endpoint
Endpoint to report delistings. Mandatory.
GET https://your-crm.com/api/v1/spot2/properties/deleted
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
since | ISO 8601 | Yes (except first cycle) | Returns IDs deleted since this date. Spot2 omits it on the first cycle, and your API must return all deleted IDs it knows about. |
Response format
{
"deleted_ids": ["prop-001", "prop-002", "prop-005"],
"since": "2026-06-29T14:30:00Z",
"generated_at": "2026-06-30T10:00:00Z"
}
| Field | Type | Description |
|---|---|---|
deleted_ids | string[] | external_id of properties deleted since since. |
since | ISO 8601 | Echo of the received parameter. |
generated_at | ISO 8601 | Timestamp when this response was generated. |
Behavior
- Spot2 sends
sincewith the date of the last successful cycle. - Your API returns all
external_ids deleted after that date. - If
sinceis older than your retention, return all available IDs. - Minimum deletion history retention: 30 days.
- If you return an empty array (
"deleted_ids": []), there are no delistings this cycle.
Authentication and rate limits
Same as the main endpoint. Timeout: 30 seconds.
What NOT to do
- Don't change item order between paginated requests.
- Don't use infinite pagination without an end indicator.
- Don't compress the response with non-standard algorithms.
Next steps
- Property Schema: complete field reference.
- Deletion Protocol: retention and flow details.
- Security: authentication, HMAC, TLS.