Cvent Event Cloud Attendees API

Event registrations and attendees

Operations 12

GET /attendance-durations List Attendance Duration #
POST /attendees Add Attendees #
GET /attendees List Attendees #
POST /attendees/filter List Attendees #
GET /attendees/{id} Get Attendee #
PUT /attendees/{id} Update Attendee #
PUT /attendees/{id}/email-subscriptions Update Email Subscription #
PUT /attendees/{id}/internal-information-questions Update Internal Information #
POST /events/{id}/badges Create Badge #
GET /events/{id}/badges Get Badge #
POST /events/{id}/badges/filter Get Badges #
PUT /events/{id}/badges/{badgeId} Update Badge #

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-attendees-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-attendees-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Cvent Event Cloud Attendees API
  version: ea
  contact:
    name: Cvent Development Platform
    url: https://developers.cvent.com/
  description: 'Operations tagged Attendees across 2 of this provider''s published API definitions: cvent-event-cloud-rest-openapi.yml, cvent-rest-apis-openapi.yaml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api-platform.cvent.com/ea
- url: https://api-platform-eur.cvent.com/ea
tags:
- name: Attendees
  description: The Attendee entity primarily refers to the person throughout the lifecycle of an event including registration, enrollment into sessions, and participation. Once contacts are added to events, an Attendee entity is created. This API allows you to read attendee data and add new attendees to your Cvent events.
paths:
  /attendance-durations:
    get:
      summary: List Attendance Duration
      operationId: listDurations
      description: Gets a paginated list of durations attendees were engaged (in person or virtually) in a session, appointment or watching a video.
      tags:
      - Attendees
      security:
      - OAuth2.clientCredentials:
        - event/attendance-durations:read
      - OAuth2.authorizationCode:
        - event/attendance-durations:read
      parameters:
      - $ref: '#/components/parameters/after'
      - $ref: '#/components/parameters/before'
      - $ref: '#/components/parameters/limit1'
      - $ref: '#/components/parameters/token'
      - $ref: '#/components/parameters/sort5'
      - name: filter
        in: query
        required: false
        description: 'Use filter query parameters to limit results

          to data that matches your criteria. See

          [Filters](https://developers.cvent.com/docs/rest-api/reference/filters) for details.


          Supported fields and operators are listed below:


          | Field       | Operators                          |

          |-------------|------------------------------------|

          | id          | `eq`, `ne`                         |

          | event.id    | `eq`, `ne`, `in`                   |

          | session.id  | `eq`, `ne`, `in`                   |

          | attendee.id | `eq`, `ne`, `in`                   |

          | type        | `contains`, `eq`, `ne`, `in`       |

          | deleted     | `eq`, `ne`                         |

          | firstSeen   | `eq`, `ne`, `lt`, `le`, `gt`, `ge` |

          | lastSeen    | `eq`, `ne`, `lt`, `le`, `gt`, `ge` |

          | duration    | `eq`, `ne`, `lt`, `le`, `gt`, `ge` |

          | created     | `eq`, `ne`, `lt`, `le`, `gt`, `ge` |


          The following logical operators are supported for combining filters:

          * and

          * or

          '
        schema:
          type: string
          example: firstSeen gt '2020-02-07T12:00:00.000Z' and session.id =  '0e2f583e-62ae-40d8-9b5c-b8e67a6ba1ab'
      responses:
        '200':
          description: Successfully retrieved a Paginated list of Durations.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/duration-paginated-response'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
    servers:
    - url: https://api-platform.cvent.com/ea
    - url: https://api-platform-eur.cvent.com/ea
  /attendees:
    post:
      tags:
      - Attendees
      operationId: createAttendee
      security:
      - OAuth2.clientCredentials:
        - event/attendees:write
      - OAuth2.authorizationCode:
        - event/attendees:write
      summary: Add Attendees
      description: Adds given contacts to an event as attendees, either inviting them or registering them directly.
      requestBody:
        description: 'This endpoint supports both the invite and the ability to push registered attendees into Cvent.

          There are some slight differences in how you use each path.


          **Invite**


          Fields supported for invite:

          * event.id *(required)*

          * contact.id *(required)*

          * invitationList.id


          **Note:** Up to 100 attendees can be invited per call. Sending a *status* of `No Response` will invite the attendee.


          **Register**


          * All fields are supported for register.

          * admissionItem.id *(required)*


          **Note:** When sending registration, one attendee per call is supported. Sending a status of `Accepted` will register the attendee.

          '
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/attendee-add-bulk'
        required: true
      responses:
        '207':
          description: Attendee(s) were successfully added to the event.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/attendee-add-bulk-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'
    get:
      security:
      - OAuth2.clientCredentials:
        - event/attendees:read
      - OAuth2.authorizationCode:
        - event/attendees:read
      summary: List Attendees
      description: Gets a paginated list of attendees in your account.
      operationId: listAttendees
      parameters:
      - $ref: '#/components/parameters/after'
      - $ref: '#/components/parameters/before'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/token'
      - $ref: '#/components/parameters/expand'
      - $ref: '#/components/parameters/sort7'
      - $ref: '#/components/parameters/includeDeletedGuests'
      - name: filter
        in: query
        required: false
        description: 'Use filter query parameters to limit results

          to data that matches your criteria. See

          [Filters](https://developers.cvent.com/docs/rest-api/reference/filters) for details.


          Supported fields and operators are listed below:


          | Field            | Operators                          | Notes                                    |

          |------------------|-------------------------------------|------------------------------------------|

          | event.id         | `eq`, `ne`                          |                                          |

          | id               | `eq`, `ne`                          |                                          |

          | confirmationNumber | `eq`, `ne`                          |                                          |

          | checkedIn        | `eq`, `ne`                          |                                          |

          | checkIn          | `eq`, `ne`, `lt`, `le`, `gt`, `ge`  |                                          |

          | checkOut         | `eq`, `ne`, `lt`, `le`, `gt`, `ge`  |                                          |

          | registrationPath.id | `eq`, `ne`                          |                                          |

          | invitationList.id | `eq`, `ne`                          |                                          |

          | registrationType.id | `eq`, `ne`, `is null`, `is not null`, `is empty`, `is not empty` |                                          |

          | referenceId      | `eq`, `ne`                          |                                          |

          | externalReference.type | `eq`                                |                                          |

          | externalReference.id | `eq`                                |                                          |

          | externalReference.referenceId | `eq`                                |                                          |

          | note             | `eq`, `ne`                          |                                          |

          | guest            | `eq`, `ne`                          |                                          |

          | group.leader     | `eq`, `ne`                          |                                          |

          | group.id         | `eq`, `ne`                          |                                          |

          | unsubscribed     | `eq`, `ne`                          | Read-only. To update an attendee''s subscription status, use [PUT /attendees/{id}/email-subscriptions](#operation/updateAttendeeSubscriptionStatus) |

          | registeredAt     | `eq`, `ne`, `lt`, `le`, `gt`, `ge`  |                                          |

          | registrationLastModified | `eq`, `ne`, `lt`, `le`, `gt`, `ge`  |                                          |

          | invitedBy        | `eq`, `ne`                          |                                          |

          | responseMethod   | `eq`, `ne`                          |                                          |

          | status           | `eq`, `ne`                          |                                          |

          | lastModified     | `eq`, `ne`, `lt`, `le`, `gt`, `ge`  | Will be updated when any field in the response has changed. Used by the ''before'' and ''after'' filters. |

          | created          | `eq`, `ne`, `lt`, `le`, `gt`, `ge`  |                                          |

          | contact.id       | `eq`, `ne`                          |                                          |

          | visibility       | `eq`, `ne`                          |                                          |

          | contact.title    | `eq`, `ne`, `sw`                    |                                          |

          | contact.company  | `eq`, `ne`, `sw`                    |                                          |

          | contact.firstName | `eq`, `ne`, `sw`                    |                                          |

          | contact.lastName | `eq`, `ne`, `sw`                    |                                          |

          | answers.question.{question id} | `eq`, `ne`                          |                                          |

          | contact.email    | `eq`, `ne`, `sw`                    |                                          |

          | attendeeLastModified | `eq`, `ne`, `lt`, `le`, `gt`, `ge`  | Will be updated only when some field other than contact.* has changed. Not used by the ''before'' and ''after'' filters. |

          | appointmentGroup.id | `eq`, `ne`                          |                                          |

          | contact.deleted  | `eq`, `ne`                          |                                          |

          | primaryId        | `eq`, `ne`                          |                                          |

          | deletedGuest     | `eq`, `ne`                          | Filter returns guests marked as deleted. This filter works only when the query parameter `includeDeletedGuests` is `true`. |

          '
        schema:
          type: string
          example: contact.id eq '04ca6ae2-0dc3-487b-953e-86d6abbdf7d3' or checkedIn eq 'true'
      tags:
      - Attendees
      responses:
        '200':
          description: Successfully retrieved a paginated list of attendees.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/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'
    servers:
    - url: https://api-platform.cvent.com/ea
    - url: https://api-platform-eur.cvent.com/ea
  /attendees/filter:
    post:
      security:
      - OAuth2.clientCredentials:
        - event/attendees:read
      - OAuth2.authorizationCode:
        - event/attendees:read
      summary: List Attendees
      description: 'Gets a paginated list of attendees by sending a filter in the body of the request. This method will return the same data as  [GET List Attendees](#operation/listAttendees) but allows for longer filters.

        '
      operationId: listAttendeesPostFilter
      requestBody:
        description: 'The request body accepts filters to refine the data returned.  Refer to available filter details in [GET List Attendees](#operation/listAttendees).

          '
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/filter'
      parameters:
      - $ref: '#/components/parameters/after'
      - $ref: '#/components/parameters/before'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/token'
      - $ref: '#/components/parameters/expand'
      - $ref: '#/components/parameters/sort7'
      - $ref: '#/components/parameters/includeDeletedGuests'
      tags:
      - Attendees
      responses:
        '200':
          description: Successfully retrieved a paginated list of attendees.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/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'
    servers:
    - url: https://api-platform.cvent.com/ea
    - url: https://api-platform-eur.cvent.com/ea
  /attendees/{id}:
    parameters:
    - $ref: '#/components/parameters/attendeeId2'
    get:
      summary: Get Attendee
      description: Gets a single attendee based on their ID.
      operationId: getAttendeeById
      security:
      - OAuth2.clientCredentials:
        - event/attendees:read
      - OAuth2.authorizationCode:
        - event/attendees:read
      tags:
      - Attendees
      parameters:
      - $ref: '#/components/parameters/expand'
      responses:
        '200':
          description: Successfully retrieved an attendee object.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/attendee'
        '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'
    put:
      summary: Update Attendee
      description: Updates a single attendee based on their ID.
      operationId: updateAttendee
      security:
      - OAuth2.clientCredentials:
        - event/attendees:write
      - OAuth2.authorizationCode:
        - event/attendees:write
      tags:
      - Attendees
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/attendee-update'
        required: true
      responses:
        '200':
          description: Successfully updated the attendee.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/attendee'
        '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'
    servers:
    - url: https://api-platform.cvent.com/ea
    - url: https://api-platform-eur.cvent.com/ea
  /attendees/{id}/email-subscriptions:
    put:
      summary: Update Email Subscription
      description: Updates an attendee's email subscription status for a specific event.
      operationId: updateAttendeeSubscriptionStatus
      security:
      - OAuth2.clientCredentials:
        - event/attendees:write
      - OAuth2.authorizationCode:
        - event/attendees:write
      tags:
      - Attendees
      parameters:
      - $ref: '#/components/parameters/attendeeId2'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/attendee-subscription-request'
      responses:
        '200':
          description: Successfully updated the attendee's subscription status.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/attendee-subscription-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'
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
    servers:
    - url: https://api-platform.cvent.com/ea
    - url: https://api-platform-eur.cvent.com/ea
  /attendees/{id}/internal-information-questions:
    parameters:
    - $ref: '#/components/parameters/attendeeId2'
    put:
      operationId: updateInternalInfoAnswers
      security:
      - OAuth2.clientCredentials:
        - event/attendees:write
      - OAuth2.authorizationCode:
        - event/attendees:write
      summary: Update Internal Information
      description: Update internal information answers for an attendee. Use either question code or id to identify which question's answers are being updated.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/attendee-internal-info'
      tags:
      - Attendees
      responses:
        '200':
          description: Successfully updated attendee internal information.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/attendee-internal-info'
        '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'
    servers:
    - url: https://api-platform.cvent.com/ea
    - url: https://api-platform-eur.cvent.com/ea
  /events/{id}/badges:
    post:
      summary: Create Badge
      description: Create a badge for an attendee associated with an event.
      operationId: postBadge
      tags:
      - Attendees
      security:
      - OAuth2.clientCredentials:
        - exhibitor/badges:write
      - OAuth2.authorizationCode:
        - exhibitor/badges:write
      parameters:
      - $ref: '#/components/parameters/id6'
      requestBody:
        description: Badge details
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/badge'
      responses:
        '200':
          description: Successfully created a badge.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badge'
        '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'
    get:
      summary: Get Badge
      description: Retrieves a list of third-party badge associations for attendees within the event.
      operationId: getBadge
      tags:
      - Attendees
      security:
      - OAuth2.clientCredentials:
        - exhibitor/badges:read
      - OAuth2.authorizationCode:
        - exhibitor/badges:read
      parameters:
      - $ref: '#/components/parameters/id6'
      - $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''.


          These are the comparison types that can be used in filter expressions:

          * equal: eq


          The following fields are filterable:

          * id (eq)

          * attendee.id (eq)

          '
        schema:
          type: string
          example: id eq '{string}' and attendee.id eq '{UUID}'
      responses:
        '200':
          description: Successfully get badges.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badge-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'
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
    servers:
    - url: https://api-platform.cvent.com/ea
    - url: https://api-platform-eur.cvent.com/ea
  /events/{id}/badges/filter:
    post:
      summary: Get Badges
      description: Gets a paginated list of Badges by sending a filter in the body of the request. This method will return the same data as the getBadge but allows for longer filters.
      operationId: getBadgesPostFilters
      tags:
      - Attendees
      security:
      - OAuth2.clientCredentials:
        - exhibitor/badges:read
      - OAuth2.authorizationCode:
        - exhibitor/badges:read
      parameters:
      - $ref: '#/components/parameters/id6'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/token'
      requestBody:
        description: See the filter query parameter of <a href="#operation/getBadge">Get Badges</a> for full filtering information
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/filter'
            example:
              filter: id eq '04ca6ae2-0dc3-487b-953e-86d6abbdf7d3' AND attendee.id eq 'edf40757-3bc3-4a66-8180-93bff15b890b'
      responses:
        '200':
          description: Successfully get badges.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badge-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'
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
    servers:
    - url: https://api-platform.cvent.com/ea
    - url: https://api-platform-eur.cvent.com/ea
  /events/{id}/badges/{badgeId}:
    put:
      summary: Update Badge
      description: Update a badge for an attendee associated with an event.
      operationId: updateBadge
      tags:
      - Attendees
      security:
      - OAuth2.clientCredentials:
        - exhibitor/badges:write
      - OAuth2.authorizationCode:
        - exhibitor/badges:write
      parameters:
      - $ref: '#/components/parameters/id6'
      - $ref: '#/components/parameters/badgeId'
      requestBody:
        description: Badge details
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/badge'
      responses:
        '200':
          description: Successfully updated the badge.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badge'
        '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'
    servers:
    - url: https://api-platform.cvent.com/ea
    - url: https://api-platform-eur.cvent.com/ea
components:
  schemas:
    AttendeeWebLinks:
      title: AttendeeWebLinks
      description: Web links for an attendee.
      type: object
      properties:
        acceptRegistration:
          type: string
          format: uri
          description: This shortened URL, when used, allows you to accept the registration.
          example: https://example.com/123ABC?i=abcdefghijklmnopqrstuv
        declineRegistration:
          type: string
          format: uri
          description: This shortened URL, when used, allows you to decline the registration.
          example: https://example.com/123ABC?i=abcdefghijklmnopqrstuv
    attendee-add-bulk-response:
      title: AttendeeInvitesBulkResponse
      description: List of attendee invitations.
      type: array
      items:
        $ref: '#/components/schemas/AttendeeInvitesBulkResponseItem'
    UUID:
      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/UUIDProperty'
    ExternalReference:
      title: ExternalReference
      description: An external reference.
      type: object
      properties:
        type:
          $ref: '#/components/schemas/ExternalReferenceType'
        id:
          type: string
          description: The identifier of the external system.
          example: 0000X123sfjhooks
        referenceId:
          type: string
          description: The identifier of an attendee in the external system.
          example: 000X123jhooks
    Gender:
      title: Gender
      enum:
      - Male
      - Female
      - Non-binary
      - Rather not say
      type: string
      description: The gender of the contact.
      example: Male
    attendee-internal-info:
      title: AttendeeInternalInfo
      description: Model representing internal information answers for an attendee to be added or updated.
      type: object
      required:
      - question
      - value
      properties:
        question:
          type: object
          properties:
            id:
              description: The question ID.
              type: string
              format: uuid
              example: adcc4376-4560-4fb3-8594-2fdbb637c07c
            code:
              type: string
              example: DIETARY
              description: The planner configured internal information question code.
          description: The registration question. Use either question ID or code to identify the question. If both are provided, they must match the same question.
        value:
          type: array
          items:
            type: string
            example: '1234'
          description: The set of answers to a question.
    duration:
      title: Duration
      description: The amount of time that the attendee was engaged (in person or virtually) in a session or watching a video.
      required:
      - event
      - session
      - attendee
      - firstSeen
      - lastSeen
      - duration
      type: object
      allOf:
      - 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 the user that created this record.
            readOnly: true
            example: hporter
          lastModified:
            type: string
            format: date-time
            description: The ISO 8601 zoned date time when this record was updated.
            readOnly: true
            example: '2019-02-12T03:00:00Z'
          lastModifiedBy:
            type: string
            description: The identifier of the user that last updated this record.
            readOnly: true
            example: hporter
      properties:
        event:
          $ref: '#/components/schemas/uuid.json'
        session:
          $ref: '#/components/schemas/uuid.json'
        attendee:
          $ref: '#/components/schemas/uuid.json'
        firstSeen:
          type: string
          format: date-time
          description: The earliest date and time when the attendee was seen, in ISO 8601 format.
          example: '2020-02-03T13:00:00.000Z'
        lastSeen:
          type: string
          format: date-time
          description: The latest date and time when the attendee was seen, in ISO 8601 format.
          example: '2020-02-03T13:00:00.000Z'
        deleted:
          type: boolean
          description: A duration record is deleted if marked as recanted by the algorithm after determining the initial information has changed
          example: false
          readOnly: true
        type:
          enum:
          - RFID
          - OA
          - EDIT
          - LIVE
          - ON_DEMAND
          - API
          - MANUAL
          - IMPORT
          - EVENTAPP
          type: string
          description: Describes how the duration was obtained.
          example: API
          readOnly: true
        durationType:
          enum:
          - session
          - appointment
          - exhibitor
          type: string
          description: The target entity for which the duration was collected.
          example: session
          readOnly: true
        duration:
          type: integer
          description: 'The amount of time (in milliseconds) than the attendee was engaged (in person o

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