Listings
Retrieve one listing
GET /api/v1/listings/{id}
The same object the list serves, for one property.
Path parameters
| Parameter | In | Type | Description |
|---|---|---|---|
| id required | path | string | The listing id, from /listings. |
Response
200 { listing: Listing }
Listing fields
| Field | Type | Description |
|---|---|---|
| id | string | Opaque. The same id a reservation’s propertyId carries. |
| slug | string | |
| nickname | string | The operator’s short name for the flat. |
| active | boolean | |
| isListed | boolean | |
| propertyType | string | Apartment, House, … as the operator classified it. |
| roomType | string | Entire home/apt, Private room, … |
| address | Address | |
| accommodates | integer | How many people the flat sleeps. |
| rooms | Room[] | |
| bedrooms | integer | Derived from rooms, carried so a card does not have to reduce an array. |
| beds | integer | Derived from rooms. |
| bathrooms | number | Derived from rooms. Fractional for half bathrooms. |
| squareMeter | integer | null | |
| timezone | string | The IANA zone the listing’s dates are local to. |
| pricing | object | |
| currency | "EUR" | |
| monthlyRateCents | integer | null | Monthly rent. Integer euro-cents. |
| depositCents | integer | null | Security deposit. Integer euro-cents. |
| utilitiesCents | integer | null | Monthly utilities. Integer euro-cents. |
| furnitureCents | integer | null | Monthly furniture fee. Integer euro-cents. |
| terms | object | |
| minNights | integer | null | The shortest stay the operator accepts. |
| maxNights | integer | null | |
| amenities | string[] | Amenity keys, e.g. wifi, washer, dishwasher. |
| description | Description | |
| translations | map of Description | The same six fields per site language, keyed by language code. Fall back to description for anything missing. |
| images | Image[] | Sorted by sortOrder; the primary photo first is not guaranteed. |
| publishedAt | timestamp | When the Publish button froze this content. ISO 8601 |
Errors
Every failure is { error, message }; see Errors. A missing or expired bearer is a 401 on every endpoint
but the token exchange.
| Status | error | When |
|---|---|---|
| 404 | not_found | Unknown to your organisation, or never published. The two are indistinguishable on purpose. |