Changelog

Notable changes to the Stay22 Direct Travel API.

1.3.0 — August 11, 2026

Added

  • New hotelsearch parameter on GET /v2/accommodations filters results by hotel name. It returns traditional hotels only, ordered by distance from the search location, and takes exactly one location method — address, or lat/lng. It cannot be combined with hotelids, a bounding box, or clustering.

1.2.0 — August 10, 2026

Fixed

  • hotelids lookups now return all matching accommodations consistently.

Added

  • hotelids accepts supplier-prefixed IDs such as expedia:18225 to avoid collisions between supplier ID spaces. Accepted prefixes are booking, expedia, hotelscom and vrbo.
  • meta.unresolved lists requested IDs absent from the response.

Changed

  • hotelids accepts up to 100 IDs and returns all matches in one response.

1.1.3 — August 5, 2026

Added

  • Every documented response for GET /v2/accommodations now ships a realistic example body, captured from live responses. The 200 example shows a real multi-supplier result — the suppliers.<name> map with per-supplier ids, deeplinks, brand assets and quotes — and each error response shows the body you actually receive. Previously the reference invented placeholder keys such as property1 for the free-form maps (results[].suppliers, error details) and showed "string" or 0 for every field.

Changed

  • The documented error codes for GET /v2/accommodations now list only the ones this endpoint can return: 400 is LOCATION_REQUIRED, INVALID_DATE_FORMAT or VALIDATION_ERROR, and 401 is INVALID_API_KEY. INVALID_PROVIDER, INVALID_COORDINATES and MISSING_API_KEY were listed but unreachable here — an unknown provider value fails as VALIDATION_ERROR, and the endpoint is open to keyless demo traffic so a missing key is never an error. The codes documented for /v1/accommodations and the reporting endpoints are unchanged.

Fixed

  • The description of results[].type no longer implies a fixed set of values. These are free-form provider display strings (Hotel, Apartment, Bed & breakfast, …) falling back to a generic Accommodation; the lower_snake_case vocabulary belongs to the ?type= filter, not to this field.
  • The quickstart showed _links.next as a bare URL string. Like every other entry in _links, it is an object with an href property.

Removed

  • 503 Service Unavailable is no longer documented for GET /v2/accommodations. This endpoint does not return it. Retry guidance for transient upstream failures is under the documented 502 and 504 responses.
  • meta.message is no longer part of the /v2/accommodations response schema. It was never populated.

1.1.2 — July 15, 2026

Changed

  • Default rate limit for authenticated API keys raised from 120 to 150 requests per minute. Demo (keyless) requests are unchanged at 5 per minute.

Fixed

  • Accommodation results in cluster=top mode are now spread across the whole requested bounding box. Previously, in dense areas where inventory exceeded the search budget, results could all cluster on one side of the viewport.

1.1.1 — July 13, 2026

Changed

  • Default rate limit for authenticated API keys raised from 100 to 120 requests per minute.

Fixed

  • Dated accommodation searches no longer return an empty or misleading page during supplier pricing outages. Results are kept, and suppliers.<name>.price is explicitly null for suppliers that could not be reached — treat null as availability unknown, not sold out and not $0.
  • Requests to GET /v2/accommodations that fail validation now consistently return a single 400 response; previously certain validation failures could destabilize the service.

1.1.0 — July 8, 2026

Added

  • Rating filters for accommodation search (GET /v2/accommodations).
  • cluster=top mode returning the top stays per cluster, and H3 clustering across resolutions r0–r15.
  • Multi-provider filtering via a CSV providers parameter.
  • Conditional GET support: responses include an ETag, and requests with If-None-Match return 304 Not Modified when unchanged.

Changed

  • Rate limiting now applies per endpoint bucket for fairer quota usage.

1.0.0 — May 12, 2026

Added

  • Initial public release of the Direct Travel API: accommodation search (GET /v2/accommodations), partner transaction reporting (GET /v1/reporting/transactions), API-key authentication, and rate limiting.

On this page