Skip to content
Quarters Developers
esc
  • Type an endpoint, an object or a word from a guide.

Listings

Retrieve one listing

GET /api/v1/listings/{id}

The same object the list serves, for one property.

Path parameters

ParameterInTypeDescription
id requiredpathstringThe listing id, from /listings.

Response

200 { listing: Listing }

Listing fields
FieldTypeDescription
id stringOpaque. The same id a reservation’s propertyId carries.
slug string
nickname stringThe operator’s short name for the flat.
active boolean
isListed boolean
propertyType stringApartment, House, … as the operator classified it.
roomType stringEntire home/apt, Private room, …
address Address
accommodates integerHow many people the flat sleeps.
rooms Room[]
bedrooms integerDerived from rooms, carried so a card does not have to reduce an array.
beds integerDerived from rooms.
bathrooms numberDerived from rooms. Fractional for half bathrooms.
squareMeter integer | null
timezone stringThe IANA zone the listing’s dates are local to.
pricing object
currency "EUR"
monthlyRateCents integer | nullMonthly rent. Integer euro-cents.
depositCents integer | nullSecurity deposit. Integer euro-cents.
utilitiesCents integer | nullMonthly utilities. Integer euro-cents.
furnitureCents integer | nullMonthly furniture fee. Integer euro-cents.
terms object
minNights integer | nullThe shortest stay the operator accepts.
maxNights integer | null
amenities string[]Amenity keys, e.g. wifi, washer, dishwasher.
description Description
translations map of DescriptionThe 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 timestampWhen 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.

StatuserrorWhen
404not_foundUnknown to your organisation, or never published. The two are indistinguishable on purpose.

Request

curl "https://go.quarters.live/api/v1/listings/0d6e1c2a-…" \
  -H "Authorization: Bearer $ACCESS_TOKEN"

Response · 200

{
  "listing": {
    "id": "0d6e1c2a-…",
    "slug": "jordaan-canal-loft",
    "nickname": "JOR-1A",
    "active": true,
    "isListed": true,
    "propertyType": "Apartment",
    "roomType": "Entire home/apt",
    "address": {
      "street": "Prinsengracht 123",
      "postalCode": "1015 DX",
      "city": "Amsterdam",
      "country": "NL",
      "area": "Jordaan",
      "latitude": 52.3731,
      "longitude": 4.8837
    },
    "accommodates": 2,
    "rooms": [
      {
        "kind": "bedroom",
        "name": "",
        "beds": [
          {
            "type": "queen",
            "count": 1
          }
        ]
      },
      {
        "kind": "full_bathroom",
        "name": "",
        "beds": []
      }
    ],
    "bedrooms": 1,
    "beds": 1,
    "bathrooms": 1,
    "squareMeter": 58,
    "timezone": "Europe/Amsterdam",
    "pricing": {
      "currency": "EUR",
      "monthlyRateCents": 240000,
      "depositCents": 240000,
      "utilitiesCents": 15000,
      "furnitureCents": null
    },
    "terms": {
      "minNights": 30,
      "maxNights": 365
    },
    "amenities": [
      "wifi",
      "washer",
      "dishwasher"
    ],
    "description": {
      "title": "Canal loft in the Jordaan",
      "summary": "<p>…</p>",
      "space": "<p>…</p>",
      "neighborhood": "<p>…</p>",
      "access": null,
      "notes": null
    },
    "translations": {
      "nl": {
        "title": "…",
        "summary": "<p>…</p>",
        "space": null,
        "neighborhood": null,
        "access": null,
        "notes": null
      }
    },
    "images": [
      {
        "id": "4b7a…",
        "isPrimary": true,
        "caption": null,
        "sortOrder": 0,
        "width": 2400,
        "height": 1600,
        "bytes": 481221,
        "thumbnail": "https://…",
        "regular": "https://…",
        "large": "https://…",
        "original": "https://…"
      }
    ],
    "publishedAt": "2026-08-28T09:12:44.000Z"
  }
}