---
title: "List rooms in a property"
method: GET
path: "/properties/{property_id}/rooms"
tags: ["Stays"]
---

# List rooms in a property

`GET /properties/{property_id}/rooms`

## Request

- Base URL: `https://api.aisle.wedding/v1`
- URL: `https://api.aisle.wedding/v1/properties/{property_id}/rooms`
- Auth: HTTP bearer

Rates, due dates, booking URLs, and stay details include values inherited from the property through Aisle’s canonical stay models.

## Path parameters

- `property_id` string, required

## Query parameters

- `limit` integer
- `cursor` string

## Response `200`

The requested data.

- RoomList
  - `data` PublicRoom[], required
    - `id` string, required
    - `property_id` string, nullable, required
    - `name` string, required
    - `type` string, nullable, required
    - `description` string, nullable, required
    - `capacity` integer, required
    - `capacity_max` integer, nullable, required
    - `bed_config` string, nullable, required
    - `images` string[], required
    - `status` 'available' | 'unavailable', required
    - `booking_url` string, nullable, required
    - `booked_by_party_id` string, nullable, required
    - `stay` PublicStay, required
      - `check_in_date` string, date, nullable, required
      - `check_out_date` string, date, nullable, required
      - `check_in_time` string, nullable, required
      - `check_out_time` string, nullable, required
      - `check_in_notes` string, nullable, required
    - `rate` object, required
      - `requires_payment` boolean, required
      - `unit` 'room' | 'night' | 'party' | 'head', required
      - `amount` string, nullable, required
    - `payment_schedule` PublicPaymentSchedule, required
      - `deposit_unit` 'percent' | 'amount', nullable, required
      - `deposit_amount` string, nullable, required
      - `deposit_due_date` string, date, nullable, required
      - `balance_due_date` string, date, nullable, required
    - `created_at` string, date-time, required: An RFC 3339 UTC timestamp with milliseconds.
    - `updated_at` string, date-time, required: An RFC 3339 UTC timestamp with milliseconds.
  - `has_more` boolean, required
  - `next_cursor` string, nullable, required

## Other responses

- `400`: The request itself could not be read, such as a body that is not a JSON object. A field we refuse is validation_failed instead.
- `401`: The API key is missing, malformed, or no longer valid.
- `402`: The operation requires an active Aisle membership for this wedding.
- `403`: The key is valid but not permitted to do this.
- `404`: No such resource inside the key's wedding.
- `405`: That HTTP method is not supported here. See the Allow header.
- `409`: The request collided with the current state of the resource.
- `415`: A request body must be sent as application/json.
- `422`: The request was well-formed but a field was not acceptable. Every field at fault is named in error.details.
- `429`: Too many requests. Retry after the time given in Retry-After.
- `500`: Something went wrong on our side.

---

[API](https://skmtc.dev/aisle/apis/aisle-api.md) · [All operations](https://skmtc.dev/aisle/apis/aisle-api/llms.txt) · [OpenAPI document](https://skmtc.dev/aisle/apis/aisle-api/revisions/689a2f2420cc?raw)
