Search by IDs
Price and check a set of listings you already know.
POST/api/v1/search/ids
Checks a set of OnSeason listing IDs for one stay, party, and currency in a single request. The response is the same as Search.
Request body
| Field | Required | Type | Description |
|---|---|---|---|
listingIDs | Yes | UUID array | Listing IDs to check. IDs that are unavailable or not enabled for your channel are left out of the result. |
checkInDate | No | date | Check-in date, YYYY-MM-DD. Send with checkOutDate. |
checkOutDate | No | date | Check-out date, YYYY-MM-DD. Send with checkInDate. |
guests | No | integer or object | Party size as a number, or { "adults": number, "children": number }. OnSeason adds the object's values for the occupancy check. |
displayCurrency | No | string | ISO 4217 currency for every price. |
page | No | integer | Page number. Default 1. |
limit | No | integer | Results per page. Default 50, maximum 100. |
Example
curl --request POST "https://zepl-staging.calry.app/api/v1/search/ids" \
--header "x-calry-api-key: <API_KEY>" \
--header "Content-Type: application/json" \
--data '{
"listingIDs": [
"80e0e6d4-48cf-4ca7-8c85-6e8d7e9d969a",
"1ef1ea80-e845-442d-9650-15f87afbaa63"
],
"checkInDate": "2026-12-02",
"checkOutDate": "2026-12-05",
"guests": { "adults": 3, "children": 1 },
"displayCurrency": "EUR"
}'listings holds only the requested listings that are available for the stay and fit the party. An empty listings array is a successful response.
Status codes
| Status | Meaning |
|---|---|
200 | Search completed. |
400 | The body is invalid, for example a malformed ID, date, party, or currency. |
401 | The API key is missing or invalid. |