---
title: "List reservations for a contact"
method: GET
path: "/v1/contacts/{id}/reservations"
tags: ["reservations"]
---

# List reservations for a contact

`GET /v1/contacts/{id}/reservations`

Returns reservations associated with a single contact via the contact's reservation allocations. Airbnb reservations include `airbnb_payment` when normalized Airbnb payout, fee, and tax amounts are available. Use `sort_by` to order by `arrival` (default), `departure`, or `created`. `order` defaults to `desc`.

## Path parameters

- `id` string, required — Contact id.

## Query parameters

- `workspace_id` string — Optional workspace override. If omitted, Conduit resolves the contact's workspace automatically.
- `limit` integer — Page size. Defaults to 20. Max 100.
- `cursor` string
- `order` 'asc' | 'desc' — Sort direction. Defaults to `desc`.
- `sort_by` 'arrival' | 'departure' | 'created' — Primary sort field. `arrival` sorts by check-in date, `departure` by check-out date, `created` by booking creation time. Defaults to `arrival`.
- `status` string — Filter by reservation status. Values are PMS-normalized and vary by integration (common examples: `confirmed`, `cancelled`, `inquiry`, `new`).

## Response `200`

Contact reservations

- object — Cursor-paginated reservations response.
  - `data` object[], required
    - `id` string, required
    - `workspace_id` string, required
    - `contact_id` string, nullable, required
    - `listing_id` string, nullable, required
    - `pms_platform` string, required
    - `external_id` string, required
    - `channel_name` string, nullable, required
    - `channel_reservation_id` string, nullable, required
    - `confirmation_code` string, nullable, required
    - `status` string, nullable, required
    - `source` string, nullable, required
    - `arrival_date` string, required
    - `arrival_at` string, nullable, required
    - `departure_date` string, required
    - `departure_at` string, nullable, required
    - `num_nights` number, nullable, required
    - `number_of_guests` number, nullable, required
    - `number_of_adults` number, nullable, required
    - `number_of_children` number, nullable, required
    - `number_of_infants` number, nullable, required
    - `number_of_pets` number, nullable, required
    - `guest` object, required
      - `name` string, nullable, required
      - `first_name` string, nullable, required
      - `last_name` string, nullable, required
      - `email` string, nullable, required
      - `phone` string, nullable, required
      - `country` string, nullable, required
      - `city` string, nullable, required
      - `locale` string, nullable, required
      - `external_account_id` string, nullable, required
    - `payment` object, nullable, required
      - `is_paid` boolean, required
      - `total_price` number, required — Total reservation price in major units (e.g. dollars, euros) of `currency`, as reported by the PMS. Not minor units (cents).
      - `currency` string, required — ISO 4217 currency code reported by the PMS.
      - `outstanding_balance` number, nullable, required — Balance owed in major units of `currency`, when reported. `null` if the PMS does not provide it.
    - `airbnb_payment` object, nullable, required — Airbnb-specific normalized payout, fee, and tax amounts. `null` for non-Airbnb reservations or when Airbnb did not provide payout amounts.
      - `currency` string, nullable, required — ISO 4217 currency code for the Airbnb payout amounts, when reported.
      - `expected_payout_amount` number, nullable, required — Airbnb expected host payout in major units of the reservation currency.
      - `expected_payout_amount_before_taxes` number, nullable, required — Airbnb expected host payout before taxes, in major units of the reservation currency.
      - `listing_base_price` number, nullable, required
      - `listing_cancellation_payout` number, nullable, required
      - `listing_cancellation_host_fee` number, nullable, required
      - `total_paid_amount` number, nullable, required — Total amount paid by the guest, when Airbnb reports it.
      - `transient_occupancy_tax_paid_amount` number, nullable, required
      - `airbnb_collected_tax_amount` number, nullable, required
      - `pass_through_tax_amount_paid_to_host` number, nullable, required
      - `pass_through_tax_expected_amount` number, nullable, required
      - `host_fee_base` number, nullable, required
      - `host_fee_vat` number, nullable, required
      - `guest_fee_base` number, nullable, required
      - `guest_fee_vat` number, nullable, required
      - `tax_withholding_amount` number, nullable, required
    - `door_code` string, nullable, required
    - `key_code` string, nullable, required
    - `guest_note` string, nullable, required
    - `ai_paused` boolean, nullable, required
    - `created_at` string, required
    - `updated_at` string, nullable, required
  - `next_cursor` string, nullable, required
  - `has_more` boolean, required

## Other responses

- `400` — Invalid request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not found
- `429` — Rate limit exceeded

---

[API](https://skmtc.dev/conduit/apis/conduit-api.md) · [All operations](https://skmtc.dev/conduit/apis/conduit-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/conduit/conduit-api/revisions/3ad7e17f96ad/schema)
