Cvent Event Cloud Appointments API

An appointment is a meeting scheduled between two or more parties. These APIs allow you to get information about your Cvent Appointments: appointment attendees, their interests, and availabilities. * **Appointment Events** - Appointment events help planners facilitate meetings between attendees. Attendees express their interest and availability to schedule appointments. Use this API to get information about appointments and appointment attendees. * **Appointment Attendees** - Appointment attendees are meeting participants. They can be attendees of either events or appointment events. Get information about these participants or use their appointment attendee ID to get their availabilities and interests. * **Availability** - Appointment availabilities describe an appointment attendees' preference in meeting dates and times. Availability information is only available for *Planner Coordinated Appointments*. * **Interests** - Appointment interests describe appointment attendees' preferences in meeting with another organization or individual. Interest information is only available for *Planner Coordinated Appointments*. * **Available Times** - Available times lists time ranges available for appointments scheduling. * **Locations** - Locations lists details of all locations created for scheduling appointments. * **Appointment Types** - Appointment Types lists details of different appointment types created.

OpenAPI Specification

cvent-event-cloud-appointments-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Cvent REST APIs — Event Cloud Appointments API
  description: "Event Cloud scope of the Cvent REST APIs. This document is a TAG-SCOPED SUBSET of the OpenAPI specification Cvent publishes at https://github.com/cvent/rest-sdks/blob/main/cvent-public-spec/openapi.yaml (the source of truth for Cvent's official TypeScript/.NET/Java SDKs). Venue-sourcing, RFP, housing-supplier and travel-supplier tags were removed because they belong to Cvent Hospitality Cloud; every path, operation, parameter, schema and security requirement below is verbatim from Cvent's published spec.\n\n# 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: Appointments
  description: "An appointment is a meeting scheduled between two or more parties. These APIs allow you to get\n information about your Cvent Appointments: appointment attendees, their interests, and availabilities.\n\n\n* **Appointment Events** - Appointment events help planners facilitate meetings between attendees. Attendees express their interest and availability to schedule appointments. Use this API to get information about appointments and appointment attendees.\n\n* **Appointment Attendees** - Appointment attendees are meeting participants. They can be attendees of either events or appointment events. Get information about these participants or use their appointment attendee ID to get their availabilities and interests.\n\n* **Availability** - Appointment availabilities describe an appointment attendees' preference in meeting dates and times. Availability information is only available for *Planner Coordinated Appointments*.\n\n* **Interests** - Appointment interests describe appointment attendees' preferences in meeting with another organization or individual. Interest information is only available for *Planner Coordinated Appointments*.\n* **Available Times** - Available times lists time ranges available  for appointments scheduling.\n* **Locations** - Locations lists details of all locations created for  scheduling appointments.\n* **Appointment Types** - Appointment Types lists details of different  appointment types created.\n"
paths:
  /appointment-attendees:
    get:
      tags:
      - Appointments
      security:
      - OAuth2.clientCredentials:
        - appointments/appointment-attendees:read
      - OAuth2.authorizationCode:
        - appointments/appointment-attendees:read
      parameters:
      - $ref: '#/components/parameters/after'
      - $ref: '#/components/parameters/before'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/token'
      - name: filter
        in: query
        required: false
        description: 'A filter query string narrows search results and supports the combination of logical and comparison operators. The filter adheres to the pattern filter=''field'' comparisonType ''value''.


          There are six comparison types that can be used in filter expressions:

          * equal: eq

          * not equal: ne

          * greater than: gt

          * greater or equal: ge

          * less than: lt

          * less than or equal: le


          The following fields are filterable:

          * appointmentEvent.id (eq)

          * contact.id (eq)

          * deleted (eq)


          The following operators are available:

          * and'
        schema:
          type: string
          example: appointmentEvent.id eq 'd165ad63-4bec-449d-aa9e-054fc7fcbb71' and contact.id eq 'da561161-8e80-4c70-9663-750cbc2045f6' and deleted eq 'false'
      summary: List Appt Attendees
      description: Gets a paginated list of appointment attendees.
      operationId: listAppointmentAttendees
      responses:
        '200':
          description: Successfully retrieved a paginated response of appointment attendees.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/appointment-attendee-paginated-response'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
      deprecated: false
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
  /appointment-attendees/{id}:
    parameters:
    - $ref: '#/components/parameters/appointmentAttendeeId'
    get:
      tags:
      - Appointments
      security:
      - OAuth2.clientCredentials:
        - appointments/appointment-attendees:read
      - OAuth2.authorizationCode:
        - appointments/appointment-attendees:read
      summary: Get Appt Attendee
      description: Gets a single appointment attendee by their ID.
      operationId: getAppointmentAttendeeById
      responses:
        '200':
          description: Successfully retrieved an appointment attendee.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/appointment-attendee'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
      deprecated: false
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
  /appointment-availability-times:
    get:
      tags:
      - Appointments
      security:
      - OAuth2.clientCredentials:
        - appointments/appointment-attendees:read
      - OAuth2.authorizationCode:
        - appointments/appointment-attendees:read
      parameters:
      - $ref: '#/components/parameters/after'
      - $ref: '#/components/parameters/before'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/token'
      - name: filter
        in: query
        required: false
        description: 'A filter query string narrows search results and supports the combination of logical and comparison operators. The filter adheres to the pattern filter=''field'' comparisonType ''value''.


          There are six comparison types that can be used in filter expressions:

          * equal: eq

          * not equal: ne

          * greater than: gt

          * greater or equal: ge

          * less than: lt

          * less than or equal: le


          The following fields are filterable:

          * appointmentEvent.id (eq)

          * attendee.id (eq)


          No operators are available'
        schema:
          type: string
          example: appointmentEvent.id eq 'd165ad63-4bec-449d-aa9e-054fc7fcbb71'
      summary: List Availability
      description: Gets a paginated list of appointment availability times.
      operationId: listAvailability
      responses:
        '200':
          description: Successfully retrieved a paginated list of appointment availability times.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/appointment-availability-paginated-response'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
      deprecated: false
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
  /appointment-availability-times/{id}:
    parameters:
    - $ref: '#/components/parameters/appointmentAvailabilityTimeId'
    get:
      tags:
      - Appointments
      security:
      - OAuth2.clientCredentials:
        - appointments/appointment-attendees:read
      - OAuth2.authorizationCode:
        - appointments/appointment-attendees:read
      summary: Get Availability
      description: Get a single appointment availability time by its ID.
      operationId: getAvailabilityById
      responses:
        '200':
          description: Successfully retrieved an appointment availability time.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/appointment-availability'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          description: Response 429 is required for public operations with rate limiting
      deprecated: false
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
  /appointment-events:
    get:
      tags:
      - Appointments
      security:
      - OAuth2.clientCredentials:
        - appointments/appointment-events:read
      - OAuth2.authorizationCode:
        - appointments/appointment-events:read
      parameters:
      - $ref: '#/components/parameters/after'
      - $ref: '#/components/parameters/before'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/token'
      - name: filter
        in: query
        required: false
        description: 'A filter query string narrows search results and supports the combination of logical and comparison operators. The filter adheres to the pattern filter=''field'' comparisonType ''value''.


          There are six comparison types that can be used in filter expressions:

          * equal: eq

          * not equal: ne

          * greater than: gt

          * greater or equal: ge

          * less than: lt

          * less than or equal: le


          The following fields are filterable:

          * event.id (eq)


          No operators are available'
        schema:
          type: string
          example: event.id eq 'd165ad63-4bec-449d-aa9e-054fc7fcbb71'
      summary: List Appt Events
      description: Gets a paginated list of appointment events.
      operationId: listAppointmentEvents
      responses:
        '200':
          description: Successfully retrieved a paginated list of appointment events.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/appointment-event-paginated-response'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
      deprecated: false
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
  /appointment-events/{id}:
    parameters:
    - $ref: '#/components/parameters/appointmentEventId'
    get:
      tags:
      - Appointments
      security:
      - OAuth2.clientCredentials:
        - appointments/appointment-events:read
      - OAuth2.authorizationCode:
        - appointments/appointment-events:read
      summary: Get Appt Event
      description: Gets a single appointment event by its ID.
      operationId: getAppointmentEventById
      responses:
        '200':
          description: Successfully retrieved an appointment event.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/appointment-event'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
      deprecated: false
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
  /appointment-events/{id}/appointment-available-times:
    get:
      parameters:
      - $ref: '#/components/parameters/appointmentEventId'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/token'
      - name: filter
        in: query
        required: false
        description: 'A filter query string narrows search results and supports the combination of logical and comparison operators. The filter adheres to the pattern filter=''field'' comparisonType ''value''.


          There are six comparison types that can be used in filter expressions:

          * equal: eq

          * not equal: ne

          * greater than: gt

          * greater or equal: ge

          * less than: lt

          * less than or equal: le


          The following fields are filterable:

          * appointmentType.id (eq)

          * location.id (eq)


          No operators are available'
        schema:
          type: string
          example: appointmentType.id eq '2925dd1c-7b02-4e34-8881-18f2360b50a7'
      tags:
      - Appointments
      security:
      - OAuth2.clientCredentials:
        - appointments/available-times:read
      - OAuth2.authorizationCode:
        - appointments/available-times:read
      summary: List Available Times
      description: Gets a paginated list of times and locations available for scheduling appointments in a particular appointment event.
      operationId: listAvailableTimes
      responses:
        '200':
          description: Successfully retrieved a paginated list of times and locations available to schedule appointments in a particular appointment event.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/available-times-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'
      deprecated: false
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
  /appointment-events/{id}/appointment-types:
    get:
      parameters:
      - $ref: '#/components/parameters/appointmentEventId'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/token'
      tags:
      - Appointments
      security:
      - OAuth2.clientCredentials:
        - appointments/appointment-types:read
      - OAuth2.authorizationCode:
        - appointments/appointment-types:read
      summary: List Appointment Types
      description: Gets a paginated list of appointment types for an appointment event.
      operationId: listAppointmentTypes
      responses:
        '200':
          description: Successfully retrieved a paginated list of appointment types.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/appointment-types-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'
      deprecated: false
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
  /appointment-events/{id}/appointments:
    post:
      parameters:
      - $ref: '#/components/parameters/appointmentEventId'
      - $ref: '#/components/parameters/suppressNotifications'
      tags:
      - Appointments
      security:
      - OAuth2.clientCredentials:
        - appointments/appointments:write
      - OAuth2.authorizationCode:
        - appointments/appointments:write
      summary: Create Appointment
      description: Creates an appointment in a given appointment event.
      operationId: createAppointment
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/create-appointment-request'
      responses:
        '201':
          description: Successfully created an appointment.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/appointment-with-questions'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '422':
          $ref: '#/components/responses/UnprocessableEntity1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
      deprecated: false
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
  /appointment-events/{id}/appointments/{apptId}:
    put:
      parameters:
      - $ref: '#/components/parameters/appointmentEventId'
      - $ref: '#/components/parameters/apptId'
      - $ref: '#/components/parameters/suppressNotifications'
      tags:
      - Appointments
      security:
      - OAuth2.clientCredentials:
        - appointments/appointments:write
      - OAuth2.authorizationCode:
        - appointments/appointments:write
      summary: Update Appointments
      description: Updates an appointment based on the given ID.
      operationId: updateAppointment
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/update-appointment-request'
      responses:
        '200':
          description: Successfully updated an appointment.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/appointment-with-questions'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '422':
          $ref: '#/components/responses/UnprocessableEntity1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
      deprecated: false
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
    delete:
      parameters:
      - $ref: '#/components/parameters/appointmentEventId'
      - $ref: '#/components/parameters/apptId'
      - $ref: '#/components/parameters/suppressNotifications'
      tags:
      - Appointments
      security:
      - OAuth2.clientCredentials:
        - appointments/appointments:write
      - OAuth2.authorizationCode:
        - appointments/appointments:write
      summary: Cancel Appointment
      description: Cancels an appointment with the given appointment ID.
      operationId: cancelAppointment
      responses:
        '204':
          description: Successfully cancelled an appointment.
        '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'
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
  /appointment-events/{id}/locations:
    get:
      parameters:
      - $ref: '#/components/parameters/appointmentEventId'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/token'
      tags:
      - Appointments
      security:
      - OAuth2.clientCredentials:
        - appointments/locations:read
      - OAuth2.authorizationCode:
        - appointments/locations:read
      summary: List Locations
      description: Gets a paginated list of appointment locations in a particular appointment event.
      operationId: listLocations
      responses:
        '200':
          description: Successfully retrieved a paginated list of appointment locations for a particular appointment event.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/locations-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'
      deprecated: false
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
  /appointment-meeting-interests:
    get:
      tags:
      - Appointments
      security:
      - OAuth2.clientCredentials:
        - appointments/appointment-attendees:read
      - OAuth2.authorizationCode:
        - appointments/appointment-attendees:read
      parameters:
      - $ref: '#/components/parameters/after'
      - $ref: '#/components/parameters/before'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/token'
      - name: filter
        in: query
        required: false
        description: 'A filter query string narrows search results and supports the combination of logical and comparison operators. The filter adheres to the pattern filter=''field'' comparisonType ''value''.


          There are six comparison types that can be used in filter expressions:

          * equal: eq

          * not equal: ne

          * greater than: gt

          * greater or equal: ge

          * less than: lt

          * less than or equal: le


          The following fields are filterable:

          * appointmentEvent.id (eq)

          * attendee.id (eq)


          No operators are available'
        schema:
          type: string
          example: appointmentEvent.id eq '

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