Get hotels whose content changed since an instant
POST/content/hotels/v1/hotels/changed-since
Incremental content feed. Returns the same merged payload as by-base-codes, restricted to
hotels whose content actually changed after since, plus a marker of what changed
(hotel, media, descriptions, rooms).
What "changed" means here. The feed reads a per-hotel content fingerprint, not a row timestamp. Every ingestion run rewrites the hotel rows whether or not a field moved, so a feed keyed on the row timestamp would return the whole catalogue after each sync. Only a hotel whose fingerprint differs appears here.
How to follow it. Call with since set to the last checkpoint you stored. While the
response carries a cursor, call again passing it back to get the next page; the last page
has no cursor. Store checkpointAt as the next since. Changes are ordered oldest first,
so an interrupted run resumes without gaps.
Hotels that changed but have no base code yet are skipped and reported in warnings
(WARN_UNMAPPED_SKIPPED); they arrive in a later page once mapping catches up.
Removals. Properties a supplier stopped sending are soft-deleted (hotels.deleted_at)
and appear in deleted[], paged independently with deletedCursor. Omit parts to receive
both live changes and removals; pass parts: ["deleted"] for removals only.
First call per provider. Fingerprints are computed while loading, so a provider that has not been synced since the feed was enabled has none stored yet. Its first sync after that reports its whole catalogue once, and every later one reports only real changes. Plan the first run as a full read; a provider synced fortnightly reaches steady state after at most one cycle.
Request
Responses
- 200
- 400
- 500
Successful response
Bad request (missing or malformed since, unknown part, invalid cursor)
Internal server error