Cvent Registration Attendee Activities API

Attendee activities, attendee insights (engagement scores) and attendee messages.

Operations 11

GET /attendee-insights List Engagement Scores #
GET /attendee-insights/{id} Get Engagement Score #
GET /attendee-insights/{id}/scores Get Scores #
GET /attendee-insights/{id}/stats Get Stats #
GET /attendees/activities List Activities #
POST /attendees/activities Add External Activity #
GET /attendees/activities/external/metadata List Ext. Activities Metadata #
POST /attendees/activities/external/metadata Add Ext. Activities Metadata #
DELETE /attendees/activities/external/metadata/{id} Delete Ext Activities Metadata #
PUT /attendees/activities/external/metadata/{id} Update Ext Activities Metadata #
GET /events/{eventId}/attendee-messages/members Get Messaging Members #

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-attendee-activities-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-attendee-activities-api-openapi.yml Raw ↑
openapi: 3.0.2
info:
  title: Cvent Registration Attendee Activities API
  version: ea
  description: 'Registration-surface slice of the official Cvent REST APIs OpenAPI, filtered to the ''Attendee Activities'',
    ''Attendee Insights'', ''Attendee Messages'' tag(s).

    Derived verbatim (operations, schemas, parameters and responses copied unchanged) from Cvent''s own published contract
    at https://github.com/cvent/rest-sdks/blob/main/cvent-public-spec/openapi.yaml — the spec Cvent generates its official
    TypeScript, Java and C# SDKs from.

    Full platform description, authentication, pagination, filtering, rate-limit and versioning narrative lives in openapi/_original/cvent-rest-apis-openapi.yaml.'
  contact:
    name: Cvent Development Platform
    url: https://developers.cvent.com/
servers:
- url: https://api-platform.cvent.com/ea
- url: https://api-platform-eur.cvent.com/ea
tags:
- name: Attendee Activities
  description: 'The Attendee Activities API gives valuable insight into your customer''s experience at your Cvent event.

    Now, you can get a fuller picture of your customer''s journey, including onsite activities, offsite meetings,

    breakout sessions, booth visits, and virtual seminars. You can use that data to compile a unified customer

    profile that integrates with your external systems and data.


    By gathering all this info into a single interface, the API allows you to see your customer''s engagement

    at every step of the journey, create engagement models, and integrate that data with your external tools.

    You can use this data to understand what your customers are looking for, keep them engaged, build loyalty,

    drive upsell, and increase the long-term value of your events.


    Please note that attendee activities data is retained for a maximum of 2 years and is purged thereafter.


    For more details on [attendee activities](https://developers.cvent.com/docs/rest-api/explanation/attendee-activities).

    '
- name: Attendee Insights
  description: 'The Attendee Insights feature provides valuable information about your event attendees. It assists planners,
    marketers, and exhibitors in targeting customers effectively, thereby enhancing engagement and conversion rates for marketing
    campaigns. Utilize these APIs to fetch engagement score data from your event and integrate it into your marketing systems.


    **Engagement Score** - Engagement scores are a container that track individual attendees'' engagement with your event.
    Attendees earn points by performing actions, which indicates their relative engagement with your content.


    **Actions** - These are distinct, trackable activities that attendees can perform during an event. Points are awarded
    for these actions and contribute to the engagement score.'
- name: Attendee Messages
  description: These APIs retrieve and manage attendee messages—communications exchanged between attendees within channels.
    Channels are virtual spaces created for one-on-one or group conversations, allowing attendees to communicate directly
    or in groups during an event.
paths:
  /attendee-insights:
    get:
      security:
      - OAuth2.clientCredentials:
        - attendee-insights/attendee-insights:read
      - OAuth2.authorizationCode:
        - attendee-insights/attendee-insights:read
      summary: List Engagement Scores
      description: 'Gets a paginated list of engagement scores (attendee insights) and their associated events.

        Use the returned IDs to retrieve further details using other attendee insight endpoints.

        '
      operationId: listAttendeeInsights
      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.\nThe filter adheres to the pattern filter='field' comparisonType 'value'.\n\n\nThere is one comparison\
          \ type that can be used in filter expressions:\n* equal: eq\n\nThe following fields are filterable:\n  * event.id\
          \ (eq)\n  * id (eq)\n"
        schema:
          type: string
          example: event.id eq '6f004fd8-7a06-4b25-94f2-46270d3fbc79'
      tags:
      - Attendee Insights
      responses:
        '200':
          description: Successfully retrieved a paginated list of engagement scores.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/attendee-insights-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'
  /attendee-insights/{id}:
    get:
      security:
      - OAuth2.clientCredentials:
        - attendee-insights/attendee-insights:read
      - OAuth2.authorizationCode:
        - attendee-insights/attendee-insights:read
      summary: Get Engagement Score
      description: Retrieve the details of a specific engagement score (attendee insight) using its ID.
      operationId: getAttendeeInsightsById
      parameters:
      - $ref: '#/components/parameters/attendeeInsightsId'
      tags:
      - Attendee Insights
      responses:
        '200':
          description: Successfully retrieved an engagement score's details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/attendee-insights'
        '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'
  /attendee-insights/{id}/scores:
    get:
      security:
      - OAuth2.clientCredentials:
        - attendee-insights/scores:read
      - OAuth2.authorizationCode:
        - attendee-insights/scores:read
      summary: Get Scores
      description: Retrieves a paginated list of attendees and their scores for the given engagement score (attendee insight).
      operationId: getScores
      parameters:
      - $ref: '#/components/parameters/attendeeInsightsId'
      - $ref: '#/components/parameters/token'
      - $ref: '#/components/parameters/limit'
      - name: filter
        in: query
        required: false
        description: "A filter query string narrows search results and supports the combination of logical and comparison\
          \ operators.\nThe filter adheres to the pattern filter='field' comparisonType 'value'.\n\nThere is one comparison\
          \ type that can be used in filter expressions:\n* equal: eq\n\nThe following fields are filterable:\n  * attendee.id\
          \ (eq)\n"
        schema:
          type: string
          example: attendee.id eq '6f004fd8-7a06-4b25-94f2-46270d3fbc79'
      tags:
      - Attendee Insights
      responses:
        '200':
          description: Successfully retrieved a paginated list of attendees and their scores.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scores-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'
  /attendee-insights/{id}/stats:
    get:
      security:
      - OAuth2.clientCredentials:
        - attendee-insights/stats:read
      - OAuth2.authorizationCode:
        - attendee-insights/stats:read
      summary: Get Stats
      description: Retrieves a summary of scores for the given engagement score (attendee insight).
      operationId: getStats
      parameters:
      - $ref: '#/components/parameters/attendeeInsightsId'
      tags:
      - Attendee Insights
      responses:
        '200':
          description: Successfully retrieved a summary of scores.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/attendee-insights-stats'
        '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'
  /attendees/activities:
    get:
      security:
      - OAuth2.clientCredentials:
        - event/attendee-activities:read
      - OAuth2.authorizationCode:
        - event/attendee-activities:read
      summary: List Activities
      description: Gets a paginated list of attendee activities.
      operationId: listAttendeeActivities
      parameters:
      - $ref: '#/components/parameters/after'
      - $ref: '#/components/parameters/before'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/token'
      - 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`                         |

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

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

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

          | type                 | `eq`, `ne`                         |

          | exhibitor.id         | `eq`, `ne`                         |

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

          | appointment.id       | `eq`, `ne`                         |

          | speaker.id           | `eq`, `ne`                         |

          | data.id              | `eq`, `ne`                         |

          | name                 | `eq`, `ne`                         |

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

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


          The following logical operators are supported for combining filters:

          * and

          * or

          '
        schema:
          type: string
          example: type eq 'event.registered' or type eq 'session.enrolled' and (attendee.id eq 'uuid1' or attendee.id eq
            'uuid2')
      tags:
      - Attendee Activities
      responses:
        '200':
          description: Successfully retrieved a paginated list of attendee activities and their related details.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/attendee-activities-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'
    post:
      security:
      - OAuth2.clientCredentials:
        - event/attendee-activities:write
      - OAuth2.authorizationCode:
        - event/attendee-activities:write
      summary: Add External Activity
      description: 'Create an external attendee activity.

        '
      operationId: createAttendeeActivity
      requestBody:
        description: Creates a single external attendee activity for an attendee.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/external-activity'
      tags:
      - Attendee Activities
      responses:
        '201':
          description: Successfully created an external attendee activity.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/external-activity'
        '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'
  /attendees/activities/external/metadata:
    get:
      security:
      - OAuth2.clientCredentials:
        - event/attendee-activities-metadata:read
      - OAuth2.authorizationCode:
        - event/attendee-activities-metadata:read
      summary: List Ext. Activities Metadata
      description: Gets a paginated list of external attendee activities metadata.
      operationId: listExternalAttendeeActivitiesMetadata
      parameters:
      - $ref: '#/components/parameters/after'
      - $ref: '#/components/parameters/before'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/token'
      - 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`                         |

          | name         | `eq`, `ne`                         |

          | type         | `eq`, `ne`                         |

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

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


          The following logical operators are supported for combining filters:

          * and

          * or

          '
        schema:
          type: string
          example: id eq 'd94aff58-175d-41a5-9612-64e71202f8c3' and 'type eq 'event.external' and name ne 'social.media' and
            created ge '2021-03-15T09:33:13.750Z' and lastModified le '2021-03-15T09:33:13.750Z'
      tags:
      - Attendee Activities
      responses:
        '200':
          description: Successfully retrieved a paginated list of external attendee activities metadata.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/external-activity-metadata-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'
    post:
      security:
      - OAuth2.clientCredentials:
        - event/attendee-activities-metadata:write
      - OAuth2.authorizationCode:
        - event/attendee-activities-metadata:write
      summary: Add Ext. Activities Metadata
      description: 'Creates external attendee activity metadata.

        '
      operationId: createExternalAttendeeActivityMetadata
      requestBody:
        description: Create external attendee activity metadata, where external attendee activity records can be stored.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/external-activity-metadata'
      tags:
      - Attendee Activities
      responses:
        '201':
          description: Successfully created attendee activity metadata.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/external-activity-metadata'
        '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'
  /attendees/activities/external/metadata/{id}:
    delete:
      summary: Delete Ext Activities Metadata
      description: Deletes external attendee activity metadata.
      operationId: deleteExternalAttendeeActivityMetadata
      parameters:
      - $ref: '#/components/parameters/id11'
      security:
      - OAuth2.clientCredentials:
        - event/attendee-activities-metadata:delete
      - OAuth2.authorizationCode:
        - event/attendee-activities-metadata:delete
      tags:
      - Attendee Activities
      responses:
        '204':
          description: Successfully deleted external attendee activity metadata.
          headers: {}
        '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:
      tags:
      - Attendee Activities
      operationId: updateExternalAttendeeActivityMetadata
      parameters:
      - $ref: '#/components/parameters/id11'
      security:
      - OAuth2.clientCredentials:
        - event/attendee-activities-metadata:write
      - OAuth2.authorizationCode:
        - event/attendee-activities-metadata:write
      summary: Update Ext Activities Metadata
      description: Update external attendee activity metadata.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/external-activity-metadata'
        required: true
      responses:
        '200':
          description: External Attendee Activity Metadata was successfully updated.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/external-activity-metadata'
        '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'
  /events/{eventId}/attendee-messages/members:
    get:
      operationId: getAttendeeMessagesMembers
      summary: Get Messaging Members
      description: 'When attendee initiates a chat with other attendee(s), a channel is created for attendees to communicate
        over.

        This endpoint is used to retrieve the members of these channels using channel ids to filter the results.

        The results will include all the channel members; even the ones that left the channel at some point.

        '
      tags:
      - Attendee Messages
      security:
      - OAuth2.clientCredentials:
        - event/attendee-messages:read
      - OAuth2.authorizationCode:
        - event/attendee-messages:read
      parameters:
      - $ref: '#/components/parameters/eventId5'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/token'
      - name: filter
        in: query
        required: true
        schema:
          type: string
        description: 'Filters narrow results returned based on the criteria you supply.


          Filters follow the pattern `filter=''field'' operator ''value''`.


          The following comparison operators are supported:

          - `eq`: equals to

          - `in`: match any of the values in the list


          The following fields are supported:


          | Field            | Operators                          |

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

          | channel.id       | `eq`, `in`                         |


          The following logical operators are supported for combining filters:

          - `or`


          **Examples:**


          Filter channel IDs:

          * `filter=channel.id in (''production_group_0cb93bab-32d2-4f82-b430-e1911f2348ac'', ''production_group_f6dfb98a-c734-487c-97e1-7c7a09a9125f'')`

          * `filter=channel.id eq ''production_attendee_616241fd-e97d-48c5-8c4b-4b926f50e8c3'' or channel.id eq ''production_group_616241fd-e97d-48c5-8c4b-4b926f50e8c3''`

          '
      responses:
        '200':
          description: Successfully retrieved the list of members.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/message-recipients-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'
components:
  parameters:
    after:
      name: after
      required: false
      description: Used to query records that have been added or updated after this time point. Default to the beginning of
        time of the data store.
      in: query
      schema:
        type: string
        format: date-time
        example: '2017-01-02T02:00:00Z'
    attendeeInsightsId:
      name: id
      in: path
      description: Identifier of an engagement score (attendee insight).
      required: true
      schema:
        $ref: '#/components/schemas/uuid-property'
    before:
      name: before
      required: false
      in: query
      description: Used to query records that have been added or updated before this time point.
      schema:
        type: string
        format: date-time
        example: '2017-01-02T02:00:00Z'
    eventId5:
      in: path
      name: eventId
      description: Unique ID of an event
      required: true
      schema:
        $ref: '#/components/schemas/event-id1'
    id11:
      in: path
      name: id
      required: true
      description: ID of the activity metadata.
      schema:
        type: string
        example: 9463c74e-18c6-401a-a710-ae0f485bf059
    limit:
      name: limit
      in: query
      description: The maximum number of records to return per page.
      style: form
      explode: true
      schema:
        maximum: 200
        minimum: 1
        type: integer
        default: 100
        example: 100
    token:
      name: token
      in: query
      description: 'The continuation token returned from a previous class. This must be a valid UUID v4 if provided.

        This will override any other pageable parameters provided.

        '
      style: form
      explode: true
      schema:
        type: string
        example: 0e28af57-511f-47ab-ae46-46cd1ca51a1a
  responses:
    BadRequest1:
      description: Bad request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            code: 400
            message: Bad Request
    Forbidden1:
      description: You do not have access to the resource
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            code: 403
            message: Access Forbidden
    NotFound1:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            code: 404
            message: Not found
    TooManyRequests1:
      description: Too many requests
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            code: 429
            message: Limit Exceeded
    Unauthorized1:
      description: Bad or expired token
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            code: 401
            message: Unauthorized
  schemas:
    ActivityAd:
      type: object
      title: ActivityAd
      description: The details of the advertisement.
      properties:
        id:
          type: string
          format: uuid
          description: The unique identifier of the ad.
          example: 04ca6ae2-0dc3-487b-953e-86d6abbdf7d3
        name:
          type: string
          description: The name of the ad.
          example: New Year Sale
        product:
          type: string
          description: The product for which ad is created
          example: ATTENDEE_HUB
        location:
          $ref: '#/components/schemas/AdLocation'
        attribution:
          type: object
          description: The entity to which the ad is associated.
          properties:
            id:
              type: string
              format: uuid
              description: The unique identifier of the attribution.
            type:
              type: string
              description: The type of attribution.
              example: CUSTOM
    ActivityAppointment:
      type: object
      title: ActivityAppointment
      description: An activity appointment.
      allOf:
      - $ref: '#/components/schemas/ActivityBaseAppointment'
      properties:
        start:
          type: string
          format: date-time
          description: The ISO 8601 zoned date time when an appointment starts.
          example: '2020-02-03T13:00:00.000Z'
        end:
          type: string
          format: date-time
          description: The ISO 8601 zoned date time when an appointment ends.
          example: '2020-02-03T14:00:00.000Z'
    ActivityBaseAppointment:
      type: object
      title: ActivityBaseAppointment
      description: Base entity of an activity appointment.
      properties:
        id:
          $ref: '#/components/schemas/UUIDProperty'
        name:
          type: string
          description: The name of the appointment.
          example: Meeting with Cvent
        code:
          type: string
          description: The code of an appointment.
          example: NTNHR3XMX5Z
        appointmentEvent:
          type: object
          description: ''
          properties:
            title:
              type: string
              description: The title of linked appointment event.
              example: Demo- Attendee Activity
            code:
              type: string
              description: The code of linked appointment event.
              example: VFNGZT7LH7D
    ActivityBoothStaff:
      type: object
      title: ActivityBoothStaff
      description: Booth staff for an activity.
      properties:
        id:
          type: string
          format: uuid
          description: The unique identifier of the exhibitor booth staff.
        firstName:
          type: string
          description: The first name of the booth staff that captured the lead.
          example: John
        lastName:
          type: string
          description: The last name of the booth staff that captured the lead.
          example: Doe
        email:
          type: string
          format: email
          description: The email address of the booth staff that captured the lead.
          minLength: 6
          maxLength: 80
          example: h.potterfield@test.com
    ActivityCommon:
      type: object
      title: Activity Common
      description: Common base entity for an activity.
      required:
      - attendee
      - event
      properties:
        id:
          type: string
          format: uuid
          description: The identifier of the attendee activity.
          example: 9463c74e-18c6-401a-a710-ae0f485bf059
          readOnly: true
        attendee:
          $ref: '#/components/schemas/UUID'
        event:
          $ref: '#/components/schemas/EventActivityDetail'
        time:
          type: string
          format: date-time
          description: ISO 8601 date and time when this attendee activity occurred.
          readOnly: true
          example: '2019-08-24T14:15:22Z'
        created:
          type: string
          format: date-time
          description: ISO 8601 date and time when this record was created.
          readOnly: true
          example: '2019-08-24T14:15:22Z'
    ActivityContact:
      title: ActivityContact
      description: An activity contact.
      type: object
      properties:
        firstName:
          type: string
          description: The first name of the attendee.
          maxLength: 30
          example: Henry
        lastName:
          type: string
          description: The last name of the attendee.
          maxLength: 50
          example: Potterfield
        email:
          type: string
          format: email
          description: The email address of the attendee.
          minLength: 6
          maxLength: 80
          example: h.potterfield@test.com
    ActivityData:
      title: ActivityData
      description: This is used to denote the type of the attendee activity
      readOnly: true
      anyOf:
      - title: appointment.accepted
        allOf:
        - $ref: '#/components/schemas/AppointmentActivity'
      - title: appointment.cancelled
        allOf:
        - $ref: '#/components/schemas/AppointmentActivity'
      - title: appointment.checkedIn
        allOf:
        - $ref: '#/components/schemas/AppointmentCheckedIn'
      - $ref: '#/components/schemas/AppointmentCreated'
      - title: appointment.declined
        allOf:
        - $ref: '#/components/schemas/AppointmentActivity'
      - title: appointment.denied
        allOf:
        - $ref: '#/components/schemas/AppointmentDenied'
      - title: appointment.rescheduled
        allOf:
        - $ref: '#/components/schemas/AppointmentCreated'
      - $ref: '#/components/schemas/EmailBounced'
      - $ref: '#/components/schemas/EmailClicked'
      - $ref: '#/components/schemas/EmailOpened'
      - $ref: '#/components/schemas/EmailSent'
      - $ref: '#/components/schemas/EmailUndelivered'
      - $ref: '#/components/schemas/EventAttendeeHubVisited'
      - $ref: '#/components/schemas/EventAttendeeSubstituted'
      - $ref: '#/components/schemas/EventBannerLinkClicked'
      - title: event.checkedIn
        allOf:
        - $ref: '#/compon

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