OnSeasonChannel API

API reference

Base URLs, authentication, conventions, and the endpoint list.

The Channel API is REST over HTTPS. Request and response bodies are JSON.

Base URLs

EnvironmentBase URL
Staginghttps://zepl-staging.calry.app
ProductionIssued by OnSeason after certification

All paths in this reference are relative to the base URL.

Authentication

Send your API key in the x-calry-api-key header on every request. Requests with a body also need Content-Type: application/json.

curl "https://zepl-staging.calry.app/api/v1/listing?limit=1" \
  --header "x-calry-api-key: <API_KEY>"

A missing or invalid key returns 401. A valid key on an endpoint it can't use returns 403. Keys are secret: call the API from your servers only.

Endpoints

EndpointPurpose
GET /api/v1/listingList the listings enabled for your channel
GET /api/v1/listing/{listingID}Get one listing
GET /api/v1/listing/{listingID}/unitsList a listing's units
GET /api/v1/searchSearch by location, dates, party, and filters
POST /api/v1/search/idsSearch a set of listing IDs
GET /api/v1/availability/{listingID}Get day-level availability
POST /api/v1/quotePrice a stay and get a quoteToken
POST /api/v1/reservationBook a quoted stay
GET /api/v1/reservation/{id}Get a reservation
DELETE /api/v1/reservation/{id}Cancel a reservation

Conventions

TopicRule
DatesYYYY-MM-DD, for example 2026-08-10. Check-out is after check-in.
Date-timesISO 8601 in UTC, for example 2026-08-10T00:00:00.000Z.
Stay nightsThe checkout date is the departure day and is not charged. Availability's endDate is the exception: it is the last night.
CurrenciesThree-letter ISO 4217 codes, such as EUR, USD, or GBP.
AmountsNormal currency units, not cents. Amounts can have decimals and always come with a currency.
IDsListing, unit, and reservation IDs are UUIDs. Treat PMS IDs such as providerID as opaque strings.
Optional request fieldsLeave them out when they don't apply. Don't send undocumented top-level fields.
Unknown response fieldsNew fields can appear at any time. Ignore the ones you don't use.
PaginationPaged endpoints take page and limit and return a meta object. See below.

Pagination metadata

FieldTypeDescription
totalintegerTotal number of matching items.
limitintegerPage size used.
totalPagesintegerTotal number of pages.
currentintegerCurrent page number.
previousintegerPrevious page number. Absent on the first page.
nextintegerNext page number. Absent on the last page.

On this page