Cvent Registration 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.

Operations 16

GET /appointment-attendees List Appt Attendees #
GET /appointment-attendees/{id} Get Appt Attendee #
GET /appointment-availability-times List Availability #
GET /appointment-availability-times/{id} Get Availability #
GET /appointment-events List Appt Events #
GET /appointment-events/{id} Get Appt Event #
GET /appointment-events/{id}/appointment-available-times List Available Times #
GET /appointment-events/{id}/appointment-types List Appointment Types #
POST /appointment-events/{id}/appointments Create Appointment #
PUT /appointment-events/{id}/appointments/{apptId} Update Appointments #
DELETE /appointment-events/{id}/appointments/{apptId} Cancel Appointment #
GET /appointment-events/{id}/locations List Locations #
GET /appointment-meeting-interests List Interests #
GET /appointment-meeting-interests/{id} Get Interest #
GET /appointments List Appointments #
GET /appointments/{id} Get Appointment #

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-registration-appointments-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-registration-appointments-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Cvent REST Appointments API
  description: '# Introduction

    The Cvent API Platform is built around REST.'
  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.
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 'd165ad63-4bec-449d-aa9e-054fc7fcbb71'
      summary: List Interests
      description: Gets a paginated list of appointment meeting interests.
      operationId: listMeetingInterests
      responses:
        '200':
          description: Successfully retrieved a paginated list of appointment meeting interests.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/attendee-appointment-meeting-interests-paginated-response'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '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-meeting-interests/{id}:
    parameters:
    - $ref: '#/components/parameters/appointmentMeetingInterestId'
    get:
      tags:
      - Appointments
      security:
      - OAuth2.clientCredentials:
        - appointments/appointment-attendees:read
      - OAuth2.authorizationCode:
        - appointments/appointment-attendees:read
      summary: Get Interest
      description: Gets a single attendee's meeting interests in a particular appointment event by their interest ID.
      operationId: getMeetingInterestById
      responses:
        '200':
          description: Successfully retrieved an attendees appointment meeting interests in the given event.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/attendee-appointment-meeting-interest'
        '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'
  /appointments:
    get:
      tags:
      - Appointments
      security:
      - OAuth2.clientCredentials:
        - appointments/appointments:read
      - OAuth2.authorizationCode:
        - appointments/appointments: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)

          * participants.attendee.contact.id (eq)

          * code (eq)


          No operators are available'
        schema:
          type: string
          example: appointmentEvent.id eq 'ad0ea301-1203-4fee-a7d2-54165ba14e2d'
      summary: List Appointments
      description: Gets a paginated list of appointments.
      operationId: listAppointments
      responses:
        '200':
          description: Successfully retrieved a paginated list of appointments.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/appointment-paginated-response'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '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'
  /appointments/{id}:
    parameters:
    - $ref: '#/components/parameters/appointmentId'
    get:
      tags:
      - Appointments
      security:
      - OAuth2.clientCredentials:
        - appointments/appointments:read
      - OAuth2.authorizationCode:
        - appointments/appointments:read
      summary: Get Appointment
      description: Gets a single appointment by its ID.
      operationId: getAppointmentById
      responses:
        '200':
          description: Successfully retrieved an appointment.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/appointment-with-questions'
        '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'
components:
  schemas:
    uuid-property:
      title: UUID Property
      description: A string that has to be a format matching the industry standard uuid
      type: string
      format: uuid
      example: 04ca6ae2-0dc3-487b-953e-86d6abbdf7d3
    appointment-status.json:
      title: AppointmentStatus
      enum:
      - ACTIVE
      - CONFIRMED
      - CANCELLED
      - PENDING_APPROVAL
      - DENIED
      - PENDING
      - PENDING_ASSIGNMENT
      - PENDING_HOST_ASSIGNMENT
      - PENDING_APPROVAL_AND_ASSIGNMENT
      - TENTATIVE
      type: string
      description: Denotes the status of an appointment.
      example: CONFIRMED
    uuid.json:
      title: UUID
      description: The reference to the related entity. Contains only the ID of the related entity.
      required:
      - id
      type: object
      properties:
        id:
          $ref: '#/components/schemas/uuid-property'
    appointment-meeting-interest.json:
      title: AppointmentMeetingInterest
      type: object
      description: An individual meeting interest.
      properties:
        name:
          type: string
          description: The name of the exhibitor in which interest is expressed.
          example: Cvent
        exhibitor:
          $ref: '#/components/schemas/uuid.json'
        ranking:
          type: string
          description: The strength of the interest.
          example: '5'
        meetingType:
          type: string
          description: The meeting type of interest.
          example: Group Meeting
        comment:
          type: string
          description: A comment about this interest.
          example: A 1:1 or group meeting works.
    locations-paginated-response:
      title: Locations Paginated Response
      type: object
      description: The response for a request of locations for scheduling appointments.
      properties:
        paging:
          $ref: '#/components/schemas/paging.json'
        data:
          type: array
          items:
            $ref: '#/components/schemas/location.json'
          description: Collection of appointment locations and their associated details.
    create-appointment-request:
      title: Create Appointment Request
      description: A request to create an appointment
      type: object
      required:
      - subject
      - startTime
      - endTime
      - hosts
      - appointmentTypeId
      allOf:
      - title: Base Appointment Request
        description: A base request to create/update appointment.
        type: object
        properties:
          subject:
            type: string
            description: Name of the appointment.
            example: Meeting with Cvent
          description:
            type: string
            description: Description for the appointment.
            example: A private meeting to discuss sales opportunities.
          startTime:
            type: string
            format: date-time
            description: The ISO 8601 formatted start date/time of the appointment in UTC.
            example: '2017-01-01T15:20:00Z'
          endTime:
            type: string
            format: date-time
            description: The ISO 8601 formatted end date/time of the appointment in UTC.
            example: '2030-01-01T15:30:00Z'
          location:
            type: string
            format: uuid
            description: Unique identifier of the location to be used for the appointment. Not supported for "SIMPLE" event types.
            example: fa896667-5998-46dc-ac06-6be8e053ef4e
          customLocationName:
            type: string
            description: Name of the location created by the meeting host. Created ad-hoc for a FLEXIBLE type meeting.
            example: Coffee Shop
          hosts:
            type: array
            items:
              $ref: '#/components/schemas/uuid.json'
            description: Contact ids of the appointment hosts.
          attendees:
            type: array
            items:
              $ref: '#/components/schemas/uuid.json'
            description: Contact ids of the appointment attendees.
          enforceScheduleRule:
            type: boolean
            example: true
            default: true
            description: Flag to indicate if schedule rule needs to be enforced.
      properties:
        code:
          type: string
          description: The unique appointment code in Cvent or unique reference id of an appointment in the external systems.
          minLength: 1
          maxLength: 36
          example: APPT-0001
          pattern: ^[a-zA-Z0-9-.%]+$
        appointmentTypeId:
          type: string
          format: uuid
          description: Unique identifier of the Appointment type.
          example: b53dc938-8121-4af1-a5e2-d9f3f4fcd574
        autoAccept:
          type: boolean
          example: true
          description: Flag to indicate if the attendees should be auto accepted.
    time-range-type.json:
      title: Time Range Type
      enum:
      - DEFINED
      - FLEXIBLE
      type: string
      description: 'DEFINED: Appointments of this type can be created at time intervals and locations created by the planner. FLEXIBLE: Appointments of this type can be created any time on the schedule in a custom location of the host''s choosing or within time intervals and locations created by the planner.'
      example: DEFINED
    audit.json:
      title: Audit
      description: Audit information
      type: object
      properties:
        created:
          type: string
          format: date-time
          description: The ISO 8601 zoned date time when this record was created.
          readOnly: true
          example: '2017-01-02T02:00:00Z'
        createdBy:
          type: string
          description: The identifier of t

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