Cvent Event Cloud Housing API

RegLink APIs allow you to exchange data with Cvent Passkey events and hotel reservation-booking engines. Generally, there are four primary categories of functionality that RegLink APIs support: * **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. * **Fetch Rooms.** The ability for an external system to fetch Passkey event details and hotel room availability based on various criteria. * **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. * **Manage Reservations.** The ability for an external system to create, modify or cancel a registrant's hotel reservation directly or indirectly. If 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). * **Passkey.** A software solution allowing your invitees to book room reservations directly with hotels. * **Housing Event.** An Passkey event where invitees will be able to register and book rooms. * **Reservation Request.** Represents a request to book rooms in the housing event. * **RegLink.** A feature that links Passkey events to your registration events, enabling you to sync data between the two events. * **Callback.** [Passkey's callback system](https://developers.cvent.com/docs/passkey/REST/callbacks) allows for a push notification to be sent to your system when a reservation is created, modified or cancelled.

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-event-cloud-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-event-cloud-housing-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Cvent REST Housing API
  description: "# Introduction\nThe Cvent API Platform is built around REST. We aim to provide intuitive endpoints that can be easily\ndiscovered to help leverage the Cvent platform for your event needs. The RESTful APIs outlined here\nuse JSON-encoded request and response format, along with HTTP codes, to convey processing status of\nrequests received. The Cvent resources are protected using OAuth2.\n\n# Getting Started\n\nIf you're new to the Cvent API Platform, start by reading our\n[Developer Quickstart](https://developers.cvent.com/docs/rest-api/tutorials/developer-quickstart) guide. This will\ngive you an overview of how to authenticate and make requests using our APIs.\n\n## Authentication\n\nThe Cvent REST API uses [OAuth2](https://oauth.net/2/) to authorize requests to the platform. The client\ncredentials authorization flow is supported.\n\n<a name=\"oauth2-auth-code-planner-admin\"></a>\n\nAuthorization code flow is only supported for planner users with the administrator role in Cvent. Developer users\ncannot use authorization code flow.\n\n<!-- ReDoc-Inject: <security-definitions> -->\n\nHere's an example of using client credential flow to authorize. You'll supply your application's id and secret to\nmake a [Token](#operation/oauth2Token) request.\n\n```bash\ncurl --location --request POST '{hostName}/{version}/oauth2/token' \\\n--header 'Content-Type: application/x-www-form-urlencoded' \\\n--header 'Authorization: Basic {api_credentials}' \\\n--data-urlencode 'grant_type=client_credentials' \\\n--data-urlencode 'client_id={client_id}'\n```\n\n| Key               | Description                                          | Value                                                                                                        |\n| :---------------- | :--------------------------------------------------- | :----------------------------------------------------------------------------------------------------------- |\n| {hostName}        | https://api-platform.cvent.com                       | Location if your account is in the North American datacenter.                                                |\n|                   | https://api-platform-eur.cvent.com                   | Location if your account is in the European data center.                                                     |\n| {version}         | ea                                                   | The version of the API you're using. Only `ea` is currently supported.                                       |\n| {api_credentials} | {client_id}:{client_secret} in base64 encoded format | Supply your client id & client credentials in a base 64 encoded format.                                      |\n| {client_id}       | Retrieved from your application                      | Your application's client id.                                                                                |\n| {client_secret}   | Retrieved from your application                      | Your application's client secret.                                                                            |\n\nOn a successful call, you'll receive the following response:\n\n```json\n{\n  \"access_token\": \"{accessToken}\",\n  \"expires_in\": 3600,\n  \"token_type\": \"Bearer\"\n}\n```\n\nThis bearer token is valid for 3600 seconds (60 minutes) and must be used in subsequent calls.\n\n## Endpoints\n\nEndpoints start with `hostName` and `version`.\n\nThe `hostname` will depend on the region that your Cvent account is hosted in. Please see the table\nbelow to identify which hostname you should be using.\n\n| Region        |\tHostname                           |\n|:--------------|:-----------------------------------|\n| North America\t| https://api-platform.cvent.com     |\n| Europe        | https://api-platform-eur.cvent.com |\n\nThe current `version` of the Cvent API is `ea`.\n\n## Rate Limits\n\nCvent APIs enforce rate limits to ensure platform stability. Your limits depend on your tier: Free,\nStandard, or Premium.\n\n<br />\n\n### Usage Tiers\n\n| Tier     | Daily Calls | Calls per Second | Max Burst |\n| -------- | ----------- | ---------------- | --------- |\n| Free     | 1,000       | 2                | 1         |\n| Standard | 15,000      | 10               | 10        |\n| Premium  | 500,000     | 25               | 25        |\n\n- **Daily calls** define how many requests you can make in a 24-hour period. Quota\n  resets at 12 midnight (+0 GMT).\n- **Calls per second** define how many requests you can make in a 1-second window.\n- **Max Burst** defines how many requests you can make at once.\n\nIf you are unsure what usage tier applies to your account, you can check via\n[Get Current Usage Tier](#operation/getUsageTier).\n\nPlease note that these limits may change as the Cvent API Platform evolves.\n\n<br />\n\n### Handling Rate Limits\n\nSometimes, you may exceed your rate limits. When this happens, the API will return a `429 Too Many Requests`. See\n[handling rate limits](https://developers.cvent.com/docs/rest-api/guides/handling-rate-limits) for best practices on how to handle this.\n\n## Pagination\n\nSome APIs use pagination to manage records. Each page of records has a token associated to identify it.\n\nIf an API uses pagination, you’ll find up to three tokens in the response:\n- **currentToken**: Describes the token of the current page.\n- **nextToken**: Provides a token for the next page of records, if one exists.\n- **previousToken**: Provides a token for the previous page of records, if one exists. Not all APIs will return\n  this token.\n\nYou specify which page of records to view via the `token` parameter in your API call. To navigate through pages,\ntake the `nextToken` or `previousToken` value and pass it to your next call’s `token` parameter to get the\nrespective page of records. For example, if you made this request:\n\n```bash\ncurl -X GET {hostname}/{version}/contacts?limit=100 \\\n-H 'Accept: application/json' \\\n-H 'Authorization: Bearer {accessToken}'\n```\n\nThe response contains a paging array where you'll find the token information.\n\n```json\n{\n  \"paging\": {\n    \"currentToken\": \"90c5f062-76ad-4ea4-aa53-00eb698d9262\",\n    \"nextToken\": \"3b2359a7-4583-40ed-8afd-67e5f15373d3\",\n    \"limit\": 100,\n    \"totalCount\": 102,\n    \"_links\": {...}\n  },\n  \"data\": [...]\n}\n```\n\nTake the `nextToken` and use it in the `token` parameter on your subsequent call.\n\n```bash\ncurl -X GET {hostname}/{version}/contacts?limit=100&token=3b2359a7-4583-40ed-8afd-67e5f15373d3 \\\n-H 'Accept: application/json' \\\n-H 'Authorization: Bearer {accessToken}'\n```\n\nWhen the response doesn’t contain a `nextToken` field, you’ve reached the last page. Occasionally, you might\nencounter an empty page at the end of results. This typically happens when the results were evenly divisible.\nEnsure your client code handles the possibility of receiving an empty data array when using the `nextToken`.\n\n## Filtering\n\nUse filters to narrow down results. The filter follows the pattern\n`filter='field' comparisonType 'value'`. The value can be enclosed with single\nquotes (') or double quotes (\").\n\n```bash\nGET {hostName}/{version}/contacts?filter=lastName eq 'Smith'\n````\n\nTo correctly pass a single quote in the filter's value, use double quotes around\nthe string.\n\n```bash\nGET {hostName}/{version}/contacts?filter=lastName eq \"O'Keenan\"\n```\n\nTo correctly pass a double quote in the filter's value, use double quotes around\nthe string and add an escape character `\\` to each quote that is part of the\nstring.\n\n```bash\nGET {hostName}/{version}/events?filter=eventName eq \"\\\"Yearly\\\" Conference\"\n```\n\n## Versioning\n\nChange is inevitable in API development. Planning for it is crucial. We track\nboth backward-compatible and backward-incompatible changes.\n\n<br />\n\n### Backward Compatible Changes\n\nBackward compatible changes will be made often and are intended to avoid\nany adverse impact on our customers. It is highly advisable that when reading\nJSON payloads from Cvent, you are able to handle \"unknown\" attributes that\ncan be added over time. We consider the following changes backward-compatible:\n\n- Adding new resources\n- Adding new optional request parameters to existing operations\n- Adding new attributes to requests or responses\n- Changing the length or format (not type) of resource identifiers. For example, an ID can change from\n  \"1234/1234\" to \"1234::1234\".\n- Increasing the length of string fields\n\n<br />\n\n### Backward Incompatible Changes\n\nBackward-incompatible changes are made infrequently, however, they can be\ndisruptive to consumers. Due to this, our APIs are versioned to avoid\ndisruptions to customers. We leverage a URI-based versioning scheme,\nwhich means that a version value is included in the Cvent API URL.\nWhen breaking changes occur, a new version of the API is made available\nwhile the existing version is deprecated but remains available for a\nlimited period of time. We consider the following backward-incompatible changes:\n\n- Adding a new required parameter (query string param or payload attribute)\n- Deleting API resources\n- Deleting any attribute from API responses\n- Changing the data type on any parameter or attribute\n\n## Standards\nAs you begin working with our APIs, it's essential to be aware of standards around\ncountry codes, time formats, and other important details that ensure smooth integration.\nLearn more about our [API Standards](https://developers.cvent.com/docs/rest-api/reference/api-standards)\n"
  contact:
    name: Cvent Development Platform
    url: https://developers.cvent.com/
  version: ea
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.\nGenerally, 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](https://developers.cvent.com/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 (manually or using this API) is required to authorize ANY other API calls for the event.
      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.
      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.
      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 list of hotels for the given housing event.
      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/locale1'
      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.
      operationId: getHousingEventHotel
      security:
      - OAuth2.clientCredentials:
        - housing/housing-event-hotels:read
      parameters:
      - $ref: '#/components/parameters/housingEventId'
      - $ref: '#/components/parameters/hotelId1'
      - $ref: '#/components/parameters/locale1'
      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.
      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.
      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/locale1'
      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.
      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/locale1'
      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.
      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.
      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 list of reservation details for the given housing event.
      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. Reservations booked with the guest-specific “bookingSite” URL in the response will pre-populate guest data and link 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 ID.
      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 ID. If the reservation has been booked, changes to the reservation request do not affect the linked reservation.
      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 the reservation has already been booked, any changes made to the reservation request will not affect the linked reservation.
      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 associating a reservation created outside the normal booking flow (such as a guest calling the hotel).
      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 reservation from reservation request. Commonly used for removing a cancelled reservation from a reservation request so that a new reservation can be linked in its place.
      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.
      operationId: createReservation
      security:
      - OAuth2.clientCredentials:
        - housing/reservations:write
      requestBody:
        descripti

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