List units
List the bookable units or room types of a listing.
GET/api/v1/listing/{listingID}/units
Returns the units of a listing. A SINGLE_UNIT listing returns one auto-generated unit. MULTI_UNIT and COMPLEX listings can return several units or room types.
Path parameters
| Parameter | Type | Description |
|---|---|---|
listingID | UUID | OnSeason listing ID. |
Example
curl "https://zepl-staging.calry.app/api/v1/listing/80e0e6d4-48cf-4ca7-8c85-6e8d7e9d969a/units" \
--header "x-calry-api-key: <API_KEY>"[
{
"id": "70978a5b-c0d4-4f8c-8187-c695cac9d64e",
"providerUnitID": "staging-unit-101",
"name": "Entire apartment",
"description": "Two-bedroom apartment",
"inventoryCount": 1,
"maxOccupancy": 4,
"bedroomCount": 2,
"bathroomCount": 1,
"basePrice": 120,
"currency": "EUR",
"isAutoGenerated": true,
"status": "ACTIVE",
"roomType": null,
"amenities": [],
"pictures": [],
"createdAt": "2026-07-01T09:00:00.000Z",
"updatedAt": "2026-07-15T09:00:00.000Z"
}
]Response
An array of units.
| Field | Description |
|---|---|
id | OnSeason unit ID. Send it as unitID in a quote. |
providerUnitID | Unit ID in the source PMS. Opaque. |
name, description | Unit title and description. |
inventoryCount | Number of identical units of this kind. |
maxOccupancy, bedroomCount, bathroomCount | Unit layout. |
basePrice, currency | Display price from the content feed. Not a bookable price. |
isAutoGenerated | true for the single unit that OnSeason creates for a SINGLE_UNIT listing. |
status | ACTIVE or INACTIVE. |
roomType | Room-type label from the PMS, or null. Send it as roomType in a quote to let OnSeason pick a free unit of this type. |
amenities, pictures | Unit amenities and images, when available. |
createdAt, updatedAt | When OnSeason created and last changed the unit. |
Status codes
| Status | Meaning |
|---|---|
200 | Units returned. |
401 | The API key is missing or invalid. |
404 | No listing with this ID is enabled for your channel. |