Cvent Housing API

RegLink APIs allow you to exchange data with Cvent Passkey events and hotel reservation-booking engines.

Operations 21

POST /connections Create Connection #
GET /housing-events/summaries Get Housing Events Summaries #
GET /housing-events/{housingEventId} Get Housing Event Info #
GET /housing-events/{housingEventId}/hotels Get Housing Event Hotels #
GET /housing-events/{housingEventId}/hotels/{hotelId} Get Housing Event Hotel #
GET /housing-events/{housingEventId}/hotels/{hotelId}/available-nights Get Event Hotel Availability #
GET /housing-events/{housingEventId}/hotels/{hotelId}/room-types Get Housing Event Room Types #
GET /housing-events/{housingEventId}/hotels/{hotelId}/room-types/{roomTypeId} Get Room Type Details #
GET /housing-events/{housingEventId}/hotels/{hotelId}/room-types/{roomTypeId}/inventory Get Room Type Inventory #
GET /housing-events/{housingEventId}/inventory Get Housing Event Inventory #
GET /housing-events/{housingEventId}/reservations Get Housing Event Reservations #
POST /reservation-requests Create Reservation Request #
GET /reservation-requests/{reservationRequestsId} Get Reservation Request #
PUT /reservation-requests/{reservationRequestsId} Update Reservation Request #
DELETE /reservation-requests/{reservationRequestsId} Cancel Reservation Request #
POST /reservation-requests/{reservationRequestsId}/reservations/{reservationId} Link Reservation #
DELETE /reservation-requests/{reservationRequestsId}/reservations/{reservationId} Unlink Reservation #
POST /reservations Create Reservation #
GET /reservations/{reservationId} Get Reservation #
DELETE /reservations/{reservationId} Cancel Reservation #
PUT /reservations/{reservationId} Update Reservation #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cvent-housing-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

cvent-housing-api-openapi.yml Raw ↑
openapi: 3.0.2
info:
  title: Cvent REST APIs — Housing
  version: ea
  description: "RegLink APIs allow you to exchange data with Cvent Passkey events and hotel reservation-booking engines.\n\
    Generally, there are four primary categories of functionality that RegLink APIs support:\n  * **Sync Registrants.** Allow\
    \ individual registrant information to be sent to Cvent Passkey, streamlining the hotel reservation process for attendees.\
    \ Attendees can then be directed to Passkey post-registration and reserve a hotel room without re-entering their data\
    \ again. This is done with the reservation request endpoint.\n  * **Fetch Rooms.** The ability for an external system\
    \ to fetch Passkey event details and hotel room availability based on various criteria.\n  * **Fetch Reservations.** The\
    \ ability for an external system to fetch detailed reservation information for individual registrants. This is done with\
    \ the Reservation endpoint and the Callback system.\n  * **Manage Reservations.** The ability for an external system to\
    \ create, modify or cancel a registrant's hotel reservation directly or indirectly.\n\nIf you need authentication credentials\
    \ or have any questions regarding the RegLink APIs, contact the [Cvent Passkey Integrations Team](https://web.cvent.com/survey/c6a60a30-d981-4ae8-af28-686af0eeb9b7/welcome).\n\
    \n* **Passkey.** A software solution allowing your invitees to book room reservations directly with hotels.\n* **Housing\
    \ Event.** An Passkey event where invitees will be able to register and book rooms.\n* **Reservation Request.** Represents\
    \ a request to book rooms in the housing event.\n* **RegLink.** A feature that links Passkey events to your registration\
    \ events, enabling you to sync data between the two events.\n* **Callback.** [Passkey's callback system](/docs/passkey/REST/callbacks)\
    \ allows for a push notification to be sent to your system when a reservation is created, modified or cancelled.\n"
  contact:
    name: Cvent Development Platform
    url: https://developers.cvent.com/
externalDocs:
  description: Cvent REST API documentation
  url: https://developers.cvent.com/documentation
servers:
- url: https://api-platform.cvent.com/ea
- url: https://api-platform-eur.cvent.com/ea
tags:
- name: Housing
  description: "RegLink APIs allow you to exchange data with Cvent Passkey events and hotel reservation-booking engines.\n\
    Generally, there are four primary categories of functionality that RegLink APIs support:\n  * **Sync Registrants.** Allow\
    \ individual registrant information to be sent to Cvent Passkey, streamlining the hotel reservation process for attendees.\
    \ Attendees can then be directed to Passkey post-registration and reserve a hotel room without re-entering their data\
    \ again. This is done with the reservation request endpoint.\n  * **Fetch Rooms.** The ability for an external system\
    \ to fetch Passkey event details and hotel room availability based on various criteria.\n  * **Fetch Reservations.** The\
    \ ability for an external system to fetch detailed reservation information for individual registrants. This is done with\
    \ the Reservation endpoint and the Callback system.\n  * **Manage Reservations.** The ability for an external system to\
    \ create, modify or cancel a registrant's hotel reservation directly or indirectly.\n\nIf you need authentication credentials\
    \ or have any questions regarding the RegLink APIs, contact the [Cvent Passkey Integrations Team](https://web.cvent.com/survey/c6a60a30-d981-4ae8-af28-686af0eeb9b7/welcome).\n\
    \n* **Passkey.** A software solution allowing your invitees to book room reservations directly with hotels.\n* **Housing\
    \ Event.** An Passkey event where invitees will be able to register and book rooms.\n* **Reservation Request.** Represents\
    \ a request to book rooms in the housing event.\n* **RegLink.** A feature that links Passkey events to your registration\
    \ events, enabling you to sync data between the two events.\n* **Callback.** [Passkey's callback system](/docs/passkey/REST/callbacks)\
    \ allows for a push notification to be sent to your system when a reservation is created, modified or cancelled.\n"
paths:
  /connections:
    post:
      tags:
      - Housing
      summary: Create Connection
      description: 'Create a connection between an integration partner and an event using an access code provided by the Passkey

        event owner. This connection is required to authorize all other API calls for the event. Only one active

        connection is supported per access code at a time.

        '
      operationId: createConnection
      security:
      - OAuth2.clientCredentials:
        - housing/connections:write
      parameters:
      - $ref: '#/components/parameters/accessCode'
      responses:
        '200':
          description: Successfully connected.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connection-response'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
      deprecated: false
  /housing-events/summaries:
    get:
      tags:
      - Housing
      summary: Get Housing Events Summaries
      description: 'Gets a paginated list of summary information for your individual housing events. Use this endpoint to
        discover

        which events your integration has access to and to retrieve housing event IDs for use in other endpoints.

        '
      operationId: getHousingEventsSummaries
      security:
      - OAuth2.clientCredentials:
        - housing/housing-events:read
      parameters:
      - $ref: '#/components/parameters/limitParam'
      - $ref: '#/components/parameters/paginationParam'
      - $ref: '#/components/parameters/housingEventsSummariesFilter'
      responses:
        '200':
          description: Successfully retrieved a paginated list of summary information for your individual housing events.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/housing-event-summary-list'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
  /housing-events/{housingEventId}:
    get:
      tags:
      - Housing
      summary: Get Housing Event Info
      description: 'Retrieves housing event details based on the given housing event ID. Use this endpoint to get event-level

        information such as event name, dates, attendee types, and related configuration. Get the housing event ID

        from the [Get Housing Events Summaries](#operation/getHousingEventsSummaries) endpoint, from the

        [Create Connection](#operation/createConnection) response, or directly from the Passkey event owner.

        '
      operationId: getHousingEventInfo
      security:
      - OAuth2.clientCredentials:
        - housing/housing-events:read
      parameters:
      - $ref: '#/components/parameters/housingEventId'
      responses:
        '200':
          description: Successfully retrieved the housing events details.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/housing-event'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
  /housing-events/{housingEventId}/hotels:
    get:
      tags:
      - Housing
      summary: Get Housing Event Hotels
      description: 'Get a list of hotels for the given housing event. Returns a paginated list of all hotels in the housing
        event''s

        room block, including hotel names, addresses, and IDs. Use the hotel IDs from this response to query

        [room types](#operation/getHousingEventRoomTypes), [availability](#operation/getHousingEventHotelAvailability), and
        [inventory](#operation/getRoomTypeInventory).

        '
      operationId: getHousingEventHotels
      security:
      - OAuth2.clientCredentials:
        - housing/housing-event-hotels:read
      parameters:
      - $ref: '#/components/parameters/housingEventId'
      - $ref: '#/components/parameters/limitParam'
      - $ref: '#/components/parameters/paginationParam'
      - $ref: '#/components/parameters/locale2'
      responses:
        '200':
          description: Successfully retrieved a paginated list of hotels for the housing event, and their related details.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/housing-event-hotels-list'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
  /housing-events/{housingEventId}/hotels/{hotelId}:
    get:
      tags:
      - Housing
      summary: Get Housing Event Hotel
      description: 'Gets a single hotel''s details in a housing event. Returns detailed information about a specific hotel,

        including address and localized content. Use this endpoint when you need full details for

        a single hotel rather than the [summary list](#operation/getHousingEventHotels).

        '
      operationId: getHousingEventHotel
      security:
      - OAuth2.clientCredentials:
        - housing/housing-event-hotels:read
      parameters:
      - $ref: '#/components/parameters/housingEventId'
      - $ref: '#/components/parameters/hotelId1'
      - $ref: '#/components/parameters/locale2'
      responses:
        '200':
          description: Successfully retrieved a hotel's details.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/housing-event-hotel'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
  /housing-events/{housingEventId}/hotels/{hotelId}/available-nights:
    get:
      tags:
      - Housing
      summary: Get Event Hotel Availability
      description: 'Get a filterable list of available room nights for a particular hotel and housing event. Returns availability

        by date, showing which nights have rooms remaining.


        Filter by attendee type and date range to narrow results.

        '
      operationId: getHousingEventHotelAvailability
      security:
      - OAuth2.clientCredentials:
        - housing/housing-event-available-nights:read
      parameters:
      - $ref: '#/components/parameters/housingEventId'
      - $ref: '#/components/parameters/hotelId1'
      - $ref: '#/components/parameters/availableNightsFilter'
      - $ref: '#/components/parameters/availabilityLimit'
      - $ref: '#/components/parameters/paginationParam'
      responses:
        '200':
          description: Successfully retrieved a paginated list of room nights.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/available-nights'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
  /housing-events/{housingEventId}/hotels/{hotelId}/room-types:
    get:
      tags:
      - Housing
      summary: Get Housing Event Room Types
      description: 'Get a filterable list of room types for a given hotel in a housing event. Room types represent categories
        of

        rooms (for example, Standard King or Double Queen) available at the hotel for this event. Use the returned

        room type IDs to query [room details](#operation/getRoomTypeDetails) and [inventory](#operation/getRoomTypeInventory).


        Filter by attendee type to retrieve only the room types available to a specific attendee segment.

        '
      operationId: getHousingEventRoomTypes
      security:
      - OAuth2.clientCredentials:
        - housing/housing-event-room-types:read
      parameters:
      - $ref: '#/components/parameters/housingEventId'
      - $ref: '#/components/parameters/hotelId1'
      - $ref: '#/components/parameters/limitParam'
      - $ref: '#/components/parameters/paginationParam'
      - $ref: '#/components/parameters/roomTypesFilter'
      - $ref: '#/components/parameters/locale2'
      responses:
        '200':
          description: Successfully retrieved a paginated list of room types.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/housing-event-room-types-list'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
  /housing-events/{housingEventId}/hotels/{hotelId}/room-types/{roomTypeId}:
    get:
      tags:
      - Housing
      summary: Get Room Type Details
      description: 'Get a room type''s details for the given housing event, hotel, and room type. Returns detailed information
        about

        a specific room type, including room description and available images.

        '
      operationId: getRoomTypeDetails
      security:
      - OAuth2.clientCredentials:
        - housing/housing-event-room-types:read
      parameters:
      - $ref: '#/components/parameters/housingEventId'
      - $ref: '#/components/parameters/hotelId1'
      - $ref: '#/components/parameters/roomTypeId'
      - $ref: '#/components/parameters/locale2'
      responses:
        '200':
          description: Successfully retrieved room details.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/room-type-details'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
  /housing-events/{housingEventId}/hotels/{hotelId}/room-types/{roomTypeId}/inventory:
    get:
      tags:
      - Housing
      summary: Get Room Type Inventory
      description: 'Gets a list of room type inventory details (by date) for the given housing event, hotel, and room type.
        Returns

        date-by-date inventory counts (total rooms, rooms picked up, and rooms remaining) for a specific room type.


        Filter by date range to retrieve inventory for specific nights.

        '
      operationId: getRoomTypeInventory
      security:
      - OAuth2.clientCredentials:
        - housing/housing-event-inventory:read
      parameters:
      - $ref: '#/components/parameters/housingEventId'
      - $ref: '#/components/parameters/hotelId1'
      - $ref: '#/components/parameters/roomTypeId'
      - $ref: '#/components/parameters/limitParam'
      - $ref: '#/components/parameters/paginationParam'
      - $ref: '#/components/parameters/inventoryFilter'
      responses:
        '200':
          description: Successfully retrieved a paginated list of room type inventory details.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inventory-details-list'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
  /housing-events/{housingEventId}/inventory:
    get:
      tags:
      - Housing
      summary: Get Housing Event Inventory
      description: 'Gets a list (sorted by date) of housing event inventory details for the given housing event. Returns aggregated

        inventory across all hotels and room types in the event. This provides a high-level view of total event capacity

        and pickup.


        For per-hotel or per-room-type breakdowns, use [Get Room Type Inventory](#operation/getRoomTypeInventory) instead.

        '
      operationId: getHousingEventInventory
      security:
      - OAuth2.clientCredentials:
        - housing/housing-event-inventory:read
      parameters:
      - $ref: '#/components/parameters/housingEventId'
      - $ref: '#/components/parameters/limitParam'
      - $ref: '#/components/parameters/paginationParam'
      - $ref: '#/components/parameters/inventoryFilter'
      responses:
        '200':
          description: Successfully retrieved a paginated list of housing event inventory details.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inventory-details-list'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
  /housing-events/{housingEventId}/reservations:
    get:
      tags:
      - Housing
      summary: Get Housing Event Reservations
      description: 'Get a list of reservation details for the given housing event. Returns a paginated list of all reservations
        in

        the event, including guest details, stay dates, hotel, room type, and reservation status. Use the `before`

        and `after` parameters to filter by when a reservation was added or last updated, which is useful for incremental
        syncing.


        Returns an empty list when no reservations match the criteria.

        '
      operationId: getHousingEventReservations
      security:
      - OAuth2.clientCredentials:
        - housing/reservations:read
      parameters:
      - $ref: '#/components/parameters/housingEventId'
      - $ref: '#/components/parameters/after'
      - $ref: '#/components/parameters/before'
      - $ref: '#/components/parameters/limitParam'
      - $ref: '#/components/parameters/paginationParam'
      - $ref: '#/components/parameters/housingReservationsFilter'
      responses:
        '200':
          description: Successfully returned reservations details.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/reservations-paginated-response'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
  /reservation-requests:
    post:
      tags:
      - Housing
      summary: Create Reservation Request
      description: 'Creates a reservation request from guest details.


        A reservation request represents a registration and stores guest details such as name, email, and preferences.

        The response includes a guest-specific `bookingSite` URL. When the guest books through that URL, Passkey

        pre-populates their details and links the new reservation to the reservation request for tracking.

        '
      operationId: createReservationRequest
      security:
      - OAuth2.clientCredentials:
        - housing/reservation-requests:write
      requestBody:
        description: Reservation request information.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/reservation-request'
      responses:
        '200':
          description: Successfully created reservation request.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/existing-reservation-request'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
  /reservation-requests/{reservationRequestsId}:
    get:
      tags:
      - Housing
      summary: Get Reservation Request
      description: 'Returns reservation request details for a given reservation request ID. The response includes guest details,

        the `bookingSite` URL, and a linked Reservation ID/ack number if present.

        '
      operationId: getReservationRequest
      security:
      - OAuth2.clientCredentials:
        - housing/reservation-requests:read
      parameters:
      - $ref: '#/components/parameters/reservationRequestsId'
      responses:
        '200':
          description: Successfully returned response with reservation request information.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/existing-reservation-request'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
    put:
      tags:
      - Housing
      summary: Update Reservation Request
      description: 'Update a reservation request using the given reservation request ID. Use this endpoint to update guest
        details

        (name, email, preferences) on the reservation request. The request body overwrites the current version entirely.


        If a reservation has already been booked through this request, changes to the reservation request do not affect

        the linked reservation. To update the hotel booking itself, use [Update Reservation](#operation/updateReservationSync)
        instead.


        You cannot update a cancelled reservation request.

        '
      operationId: updateReservationRequest
      security:
      - OAuth2.clientCredentials:
        - housing/reservation-requests:write
      requestBody:
        description: Reservation request details. This data will overwrite the current version of the reservation request
          for the given ID.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/existing-reservation-request'
      parameters:
      - $ref: '#/components/parameters/reservationRequestsId'
      responses:
        '200':
          description: Successfully returned response with updated reservation request information.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/existing-reservation-request'
        '400':
          description: Reservation request was cancelled and cannot be modified.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error-response'
              example:
                code: 400
                message: The reservation request is cancelled and cannot be modified.
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
    delete:
      tags:
      - Housing
      summary: Cancel Reservation Request
      description: 'Update the status of a reservation request to cancelled. If a reservation has already been booked through
        this

        request, cancelling the request does not cancel the linked reservation. To cancel the hotel booking itself,

        use [Cancel Reservation](#operation/cancelReservation).


        You cannot cancel a reservation request that already has a linked reservation. [Unlink the reservation](#operation/unlinkReservation)
        first,

        then cancel the request.

        '
      operationId: cancelReservationRequest
      security:
      - OAuth2.clientCredentials:
        - housing/reservation-requests:delete
      parameters:
      - $ref: '#/components/parameters/reservationRequestsId'
      responses:
        '204':
          description: Successfully cancelled reservation request.
        '400':
          description: Reservation already exists for given reservation request, so we cannot cancel it.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error-response'
              example:
                code: 400
                message: Reservation record already present.
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
  /reservation-requests/{reservationRequestsId}/reservations/{reservationId}:
    post:
      tags:
      - Housing
      summary: Link Reservation
      description: 'Link an existing reservation to a reservation request. Commonly used when a reservation was created outside
        the

        normal booking flow, such as when a guest calls the hotel directly or when staff books through the Passkey

        Call Center. Linking associates the reservation with the registration represented by the reservation request,

        enabling tracking and callback reporting.

        '
      operationId: linkReservation
      security:
      - OAuth2.clientCredentials:
        - housing/reservations-link:write
      parameters:
      - $ref: '#/components/parameters/reservationRequestsId'
      - $ref: '#/components/parameters/reservationId'
      responses:
        '204':
          description: Successfully linked reservation to reservation request.
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
    delete:
      tags:
      - Housing
      summary: Unlink Reservation
      description: 'Unlink a reservation from a reservation request. Commonly used when a linked reservation has been cancelled
        and

        you need to free up the reservation request so a new reservation can be linked in its place.

        Unlinking does not cancel or change the reservation itself.


        After unlinking, you can [link a new reservation](#operation/linkReservation) or allow the guest to book again using
        the reservation

        request''s `bookingSite` URL.

        '
      operationId: unlinkReservation
      security:
      - OAuth2.clientCredentials:
        - housing/reservations-link:delete
      parameters:
      - $ref: '#/components/parameters/reservationRequestsId'
      - $ref: '#/components/parameters/reservationId'
      responses:
        '204':
          description: Successfully removed link between reservation request and reservation.
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
  /reservations:
    post:
      tags:
      - Housing
      summary: Create Reservation
      description: 'Create a hotel reservation in a housing event based on the details provided in the request body. This
        endpoint

        directly creates a hotel booking on behalf of a guest. Requires a valid hotel ID, room type ID, and guest

        details (including arrival and departure dates).


        To generate a booking URL that guests complete themselves, use [Create Reservation Request](#operation/createReservationRequest)
        instead.

        '
      operationId: createReservation
      security:
      - OAuth2.clientCredentials:
        - housing/reservations:write
      requestBody:
        description: Reservation you are creating.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/new-reservation'
      responses:
        '200':
          description: Successfully created the reservation.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/existing-reservation'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
  /reservations/{reservationId}:
    get:
      tags:
      - Housing
      summary: Get Reservation
      description: 'Get reservation details for the given reservation ID. Commonly used in response to

        [Passkey callbacks](/docs/passkey/REST/callbacks), where a callback payload includes the reservation ID.

        Call this endpoint to retrieve the full reservation details after receiving a callback notification.

        '
      operationId: getReservation
      security:
      - OAuth2.clientCredentials:
        - housing/reservations:read
      parameters:
      - $ref: '#/components/parameters/reservationId'
      responses:
        '200':
          description: Successfully returned reservation details.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/existing-reservation'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
    delete:
      tags:
      - Housing
      summary: Cancel Reservation
      description: 'Cancel a reservation for the given reservation ID. Cancelling a reservation does not cancel the linked

        reservation request. If you need to also [cancel the reservation request](#operation/cancelReservationRequest), do
        so separately. After cancellation,

        [unlink the reservation](#operation/unlinkReservation) from its reservation request so you can link a new one.

        '
      operationId: cancelReservation
      security:
      - OAuth2.clientCredentials:
        - housing/reservations:delete
      parameters:
      - $ref: '#/components/parameters/reservationId'
      responses:
        '204':
          description: Successfully cancelled reservation.
        '401':
          $ref: '#/components/responses/Unauthorized1'

# --- truncated at 32 KB (119 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cvent/refs/heads/main/openapi/cvent-housing-api-openapi.yml