Cvent Event Cloud Attendee Messages API

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.

OpenAPI Specification

cvent-event-cloud-attendee-messages-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Cvent REST APIs — Event Cloud Attendee Messages API
  description: "Event Cloud scope of the Cvent REST APIs. This document is a TAG-SCOPED SUBSET of the OpenAPI specification Cvent publishes at https://github.com/cvent/rest-sdks/blob/main/cvent-public-spec/openapi.yaml (the source of truth for Cvent's official TypeScript/.NET/Java SDKs). Venue-sourcing, RFP, housing-supplier and travel-supplier tags were removed because they belong to Cvent Hospitality Cloud; every path, operation, parameter, schema and security requirement below is verbatim from Cvent's published spec.\n\n# Introduction\nThe Cvent API Platform is built around REST. We aim to provide intuitive endpoints that can be easily\ndiscovered to help leverage the Cvent platform for your event needs. The RESTful APIs outlined here\nuse JSON-encoded request and response format, along with HTTP codes, to convey processing status of\nrequests received. The Cvent resources are protected using OAuth2.\n\n# Getting Started\n\nIf you're new to the Cvent API Platform, start by reading our\n[Developer Quickstart](https://developers.cvent.com/docs/rest-api/tutorials/developer-quickstart) guide. This will\ngive you an overview of how to authenticate and make requests using our APIs.\n\n## Authentication\n\nThe Cvent REST API uses [OAuth2](https://oauth.net/2/) to authorize requests to the platform. The client\ncredentials authorization flow is supported.\n\n<a name=\"oauth2-auth-code-planner-admin\"></a>\n\nAuthorization code flow is only supported for planner users with the administrator role in Cvent. Developer users\ncannot use authorization code flow.\n\n<!-- ReDoc-Inject: <security-definitions> -->\n\nHere's an example of using client credential flow to authorize. You'll supply your application's id and secret to\nmake a [Token](#operation/oauth2Token) request.\n\n```bash\ncurl --location --request POST '{hostName}/{version}/oauth2/token' \\\n--header 'Content-Type: application/x-www-form-urlencoded' \\\n--header 'Authorization: Basic {api_credentials}' \\\n--data-urlencode 'grant_type=client_credentials' \\\n--data-urlencode 'client_id={client_id}'\n```\n\n| Key               | Description                                          | Value                                                                                                        |\n| :---------------- | :--------------------------------------------------- | :----------------------------------------------------------------------------------------------------------- |\n| {hostName}        | https://api-platform.cvent.com                       | Location if your account is in the North American datacenter.                                                |\n|                   | https://api-platform-eur.cvent.com                   | Location if your account is in the European data center.                                                     |\n| {version}         | ea                                                   | The version of the API you're using. Only `ea` is currently supported.                                       |\n| {api_credentials} | {client_id}:{client_secret} in base64 encoded format | Supply your client id & client credentials in a base 64 encoded format.                                      |\n| {client_id}       | Retrieved from your application                      | Your application's client id.                                                                                |\n| {client_secret}   | Retrieved from your application                      | Your application's client secret.                                                                            |\n\nOn a successful call, you'll receive the following response:\n\n```json\n{\n  \"access_token\": \"{accessToken}\",\n  \"expires_in\": 3600,\n  \"token_type\": \"Bearer\"\n}\n```\n\nThis bearer token is valid for 3600 seconds (60 minutes) and must be used in subsequent calls.\n\n## Endpoints\n\nEndpoints start with `hostName` and `version`.\n\nThe `hostname` will depend on the region that your Cvent account is hosted in. Please see the table\nbelow to identify which hostname you should be using.\n\n| Region        |\tHostname                           |\n|:--------------|:-----------------------------------|\n| North America\t| https://api-platform.cvent.com     |\n| Europe        | https://api-platform-eur.cvent.com |\n\nThe current `version` of the Cvent API is `ea`.\n\n## Rate Limits\n\nCvent APIs enforce rate limits to ensure platform stability. Your limits depend on your tier: Free,\nStandard, or Premium.\n\n<br />\n\n### Usage Tiers\n\n| Tier     | Daily Calls | Calls per Second | Max Burst |\n| -------- | ----------- | ---------------- | --------- |\n| Free     | 1,000       | 2                | 1         |\n| Standard | 15,000      | 10               | 10        |\n| Premium  | 500,000     | 25               | 25        |\n\n- **Daily calls** define how many requests you can make in a 24-hour period. Quota\n  resets at 12 midnight (+0 GMT).\n- **Calls per second** define how many requests you can make in a 1-second window.\n- **Max Burst** defines how many requests you can make at once.\n\nIf you are unsure what usage tier applies to your account, you can check via\n[Get Current Usage Tier](#operation/getUsageTier).\n\nPlease note that these limits may change as the Cvent API Platform evolves.\n\n<br />\n\n### Handling Rate Limits\n\nSometimes, you may exceed your rate limits. When this happens, the API will return a `429 Too Many Requests`. See\n[handling rate limits](https://developers.cvent.com/docs/rest-api/guides/handling-rate-limits) for best practices on how to handle this.\n\n## Pagination\n\nSome APIs use pagination to manage records. Each page of records has a token associated to identify it.\n\nIf an API uses pagination, you’ll find up to three tokens in the response:\n- **currentToken**: Describes the token of the current page.\n- **nextToken**: Provides a token for the next page of records, if one exists.\n- **previousToken**: Provides a token for the previous page of records, if one exists. Not all APIs will return\n  this token.\n\nYou specify which page of records to view via the `token` parameter in your API call. To navigate through pages,\ntake the `nextToken` or `previousToken` value and pass it to your next call’s `token` parameter to get the\nrespective page of records. For example, if you made this request:\n\n```bash\ncurl -X GET {hostname}/{version}/contacts?limit=100 \\\n-H 'Accept: application/json' \\\n-H 'Authorization: Bearer {accessToken}'\n```\n\nThe response contains a paging array where you'll find the token information.\n\n```json\n{\n  \"paging\": {\n    \"currentToken\": \"90c5f062-76ad-4ea4-aa53-00eb698d9262\",\n    \"nextToken\": \"3b2359a7-4583-40ed-8afd-67e5f15373d3\",\n    \"limit\": 100,\n    \"totalCount\": 102,\n    \"_links\": {...}\n  },\n  \"data\": [...]\n}\n```\n\nTake the `nextToken` and use it in the `token` parameter on your subsequent call.\n\n```bash\ncurl -X GET {hostname}/{version}/contacts?limit=100&token=3b2359a7-4583-40ed-8afd-67e5f15373d3 \\\n-H 'Accept: application/json' \\\n-H 'Authorization: Bearer {accessToken}'\n```\n\nWhen the response doesn’t contain a `nextToken` field, you’ve reached the last page. Occasionally, you might\nencounter an empty page at the end of results. This typically happens when the results were evenly divisible.\nEnsure your client code handles the possibility of receiving an empty data array when using the `nextToken`.\n\n## Filtering\n\nUse filters to narrow down results. The filter follows the pattern\n`filter='field' comparisonType 'value'`. The value can be enclosed with single\nquotes (') or double quotes (\").\n\n```bash\nGET {hostName}/{version}/contacts?filter=lastName eq 'Smith'\n````\n\nTo correctly pass a single quote in the filter's value, use double quotes around\nthe string.\n\n```bash\nGET {hostName}/{version}/contacts?filter=lastName eq \"O'Keenan\"\n```\n\nTo correctly pass a double quote in the filter's value, use double quotes around\nthe string and add an escape character `\\` to each quote that is part of the\nstring.\n\n```bash\nGET {hostName}/{version}/events?filter=eventName eq \"\\\"Yearly\\\" Conference\"\n```\n\n## Versioning\n\nChange is inevitable in API development. Planning for it is crucial. We track\nboth backward-compatible and backward-incompatible changes.\n\n<br />\n\n### Backward Compatible Changes\n\nBackward compatible changes will be made often and are intended to avoid\nany adverse impact on our customers. It is highly advisable that when reading\nJSON payloads from Cvent, you are able to handle \"unknown\" attributes that\ncan be added over time. We consider the following changes backward-compatible:\n\n- Adding new resources\n- Adding new optional request parameters to existing operations\n- Adding new attributes to requests or responses\n- Changing the length or format (not type) of resource identifiers. For example, an ID can change from\n  \"1234/1234\" to \"1234::1234\".\n- Increasing the length of string fields\n\n<br />\n\n### Backward Incompatible Changes\n\nBackward-incompatible changes are made infrequently, however, they can be\ndisruptive to consumers. Due to this, our APIs are versioned to avoid\ndisruptions to customers. We leverage a URI-based versioning scheme,\nwhich means that a version value is included in the Cvent API URL.\nWhen breaking changes occur, a new version of the API is made available\nwhile the existing version is deprecated but remains available for a\nlimited period of time. We consider the following backward-incompatible changes:\n\n- Adding a new required parameter (query string param or payload attribute)\n- Deleting API resources\n- Deleting any attribute from API responses\n- Changing the data type on any parameter or attribute\n\n## Standards\nAs you begin working with our APIs, it's essential to be aware of standards around\ncountry codes, time formats, and other important details that ensure smooth integration.\nLearn more about our [API Standards](https://developers.cvent.com/docs/rest-api/reference/api-standards)\n"
  contact:
    name: Cvent Development Platform
    url: https://developers.cvent.com/
  version: ea
servers:
- url: https://api-platform.cvent.com/ea
- url: https://api-platform-eur.cvent.com/ea
tags:
- name: 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:
  /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:
  schemas:
    message-recipients-paginated-response:
      title: Paginated Channel Members Response
      description: The response matching the filter criteria for the list of channel members.
      required:
      - paging
      - data
      type: object
      properties:
        paging:
          $ref: '#/components/schemas/Paging'
        data:
          type: array
          items:
            $ref: '#/components/schemas/MessageRecipientResponse'
          description: Collection of channel members.
    PaginationLinks:
      title: PaginationLinks
      type: object
      description: Represents pagination links for navigating between pages of data.
      properties:
        next:
          $ref: '#/components/schemas/Link'
        self:
          $ref: '#/components/schemas/Link'
        prev:
          $ref: '#/components/schemas/Link'
    event-id1:
      title: Event ID
      description: The UUID identifier for an Event.
      type: string
      format: uuid
      example: eeeeb4b4-d132-4db4-aaa7-5ec58efd65c8
    Paging:
      title: Paging
      required:
      - _links
      type: object
      description: Represents pagination information for a collection of resources.
      properties:
        previousToken:
          type: string
          description: The pagination token for the previous page, if one exists. You can use this token to navigate to the previous page of data.
          example: 1a2b3c4d5e6f7g8h9i10j11k
        nextToken:
          type: string
          description: The pagination token for the next page. If this value is present in the response, there is another page of data you can fetch.
          example: 1a2b3c4d5e6f7g8h9i10j11k
        currentToken:
          type: string
          description: The pagination token for the current page.
          example: 1a2b3c4d5e6f7g8h9i10j11k
        limit:
          type: integer
          description: The number of records to return on the page. Not to exceed 200.
          example: 100
        totalCount:
          type: integer
          description: The total number of records available. This field may return blank, even if there are more records. To confirm if there are more records, check the `nextToken` field.
          example: 2
        _links:
          $ref: '#/components/schemas/PaginationLinks'
    MessageRecipientResponse:
      title: Message Recipient Response
      description: Members of the channel who received a message.
      type: object
      required:
      - attendee
      - channel
      properties:
        attendee:
          type: object
          description: The attendee object
          required:
          - id
          - active
          properties:
            id:
              type: string
              description: Unique identifier for the attendee.
              example: 0a459133-1f5e-43b2-8694-7da9541b3f58
            active:
              type: boolean
              description: True indicates the recipient is active in the channel.
              example: false
            leftChannelAt:
              type:
              - string
              - 'null'
              format: date-time
              description: ISO 8601 formatted timestamp when the attendee left the channel, if applicable.
              example: '2025-03-13T18:00:00.000Z'
        channel:
          type: object
          description: The channel object
          required:
          - id
          properties:
            id:
              type: string
              description: Identifier for the channel.
              example: production_group_0cb93bab-32d2-4f82-b430-e1911f2348ac
    Link:
      title: Link
      required:
      - href
      type: object
      description: Represents a link to a related resource.
      properties:
        href:
          type: string
          description: A url provided that can be followed for linking
          example: ?token=90c5f062-76ad-4ea4-aa53-00eb698d9262
    ErrorResponseBase:
      title: ErrorResponseBase
      type: object
      description: Represents an error response with no additional details.
      required:
      - code
      - message
      properties:
        code:
          type: integer
          description: The HTTP status code representing the error.
          example: 400
        message:
          type: string
          description: A brief description of the error.
          example: Bad Request
        target:
          type: string
          description: The target resource of the error.
          example: example target
    ErrorResponse:
      title: ErrorResponse
      description: Represents an error response with additional details of cascading error messages.
      allOf:
      - $ref: '#/components/schemas/ErrorResponseBase'
      type: object
      required:
      - code
      - message
      properties:
        details:
          type: array
          items:
            $ref: '#/components/schemas/ErrorResponseBase'
          description: Additional details of cascading error messages.
  parameters:
    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
    eventId5:
      in: path
      name: eventId
      description: Unique ID of an event
      required: true
      schema:
        $ref: '#/components/schemas/event-id1'
    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
  responses:
    Forbidden1:
      description: You do not have access to the resource
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            code: 403
            message: Access Forbidden
    TooManyRequests1:
      description: Too many requests
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            code: 429
            message: Limit Exceeded
    BadRequest1:
      description: Bad request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            code: 400
            message: Bad Request
    NotFound1:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            code: 404
            message: Not found
    Unauthorized1:
      description: Bad or expired token
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            code: 401
            message: Unauthorized
  securitySchemes:
    OAuth2.authorizationCode:
      type: oauth2
      description: OAuth2 Authorization Code Flow.
      flows:
        authorizationCode:
          authorizationUrl: https://api-platform.cvent.com/ea/oauth2/authorize
          tokenUrl: https://api-platform.cvent.com/ea/oauth2/token
          scopes:
            account/hooks:delete: Allows the deletion of hooks.
            account/hooks:read: Allows the reading of hooks.
            account/hooks:write: Allows the creation/updation of hooks.
            account/user-groups:delete: Allows deletion for user groups
            account/user-groups:read: Allows the reading of user groups
            account/user-groups:write: Allows the writing of user groups
            account/users:delete: Allows the deletion of User
            account/users:read: Allows the reading of User, User Group
            account/users:write: Allows the creation/updating of User
            appointments/appointment-attendees:read: Allows the reading of appointment attendees and their related entities.
            appointments/appointment-events:read: Allows the reading of appointment events and their related entities.
            appointments/appointment-types:read: Allows the reading of appointment types and their related entities.
            appointments/appointments:read: Allows the reading of appointment and their related entities.
            appointments/appointments:write: Allows the writing of appointments and their related entities.
            appointments/available-times:read: Allows the reading of available times.
            appointments/locations:read: Allows the reading of appointment locations and their related entities.
            attendee-insights/attendee-insights:read: Allows the reading of engagement scores (attendee insights).
            attendee-insights/scores:read: Allows the reading of scores.
            attendee-insights/stats:read: Allows the reading of engagement score (attendee insight) stats.
            budget/budget-items:delete: Allows the deletion of budget items
            budget/budget-items:read: Allows the reading of all budget items
            budget/budget-items:write: Allows creation/updation of budget item
            budget/budget-totals:read: Allows the reading of all event budget totals
            budget/budget-vendors:read: Allows reading of account-level budget vendors.
            budget/cards:read: Allows the reading of cards
            budget/currency-conversion-rate:delete: Allows deletion of currency conversion rate for currency.
            budget/currency-conversion-rate:read: Allows reading of currency conversion rate for currency.
            budget/currency-conversion-rate:write: Allows creation/update of currency conversion rate for currency.
            budget/payments:delete: Allows deletion of payments.
            budget/payments:read: Allows reading of payment for budget item.
            budget/payments:write: Allows creation of payment in a budget item.
            budget/transactions:delete: Allows delete card transactions.
            budget/transactions:read: Allows the reading of all card's transactions
            budget/transactions:write: Allows creation of card transactions.
            business-transient/bids:read: Allows the reading of BT Bid data
            business-transient/proposals:read: Allows the reading of BT Proposal data
            business-travel/bids:read: Allows the reading of BT Bid data
            business-travel/proposals:read: Allows the reading of BT Proposal data
            compliance/communications:read: Allows the reading of communication compliance
            compliance/communications:write: Allows the writing of communication compliance
            email/bounces:read: Allow the reading of email bounces.
            email/email-status:read: Allows the reading of email statuses.
            email/emails:read: Allows the reading of emails.
            eMarketing/campaigns:read: Allows the reading of campaigns.
            emarketing/emarketing-email-status:read: Allows the reading of eMarketing email statuses.
            eMarketing/eMarketing-email-templates:read: Allows the reading of email-templates.
            eMarketing/eMarketing-send-emails:write: Allows the writing of eMarketing emails.
            event/admission-items:read: Allows the reading of admission items
            event/air-request:read: Allow reading the air request or air actual detail for attendees.
            event/alternate-travel:read: Allow reading the alternate travel answers for attendees.
            event/attendance-durations:read: Allows the read of Duration records
            event/attendee-activities-metadata:delete: Allows the deletion of attendees activities metadata.
            event/attendee-activities-metadata:read: Allows the reading of attendee activities metadata.
            event/attendee-activities-metadata:write: Allows the creation/updating of attendees activities metadata.
            event/attendee-activities:read: Allows the reading of attendee activities.
            event/attendee-activities:write: Allows the writing of attendee activities.
            event/attendee-credits:read: Allows the reading of attendee credits.
            event/attendee-links:delete: Allows the deletion of attendee links
            event/attendee-links:read: Allows the reading of attendee links
            event/attendee-links:write: Allows the creation of attendee links
            event/attendee-messages:read: Allows the reading of attendee messages
            event/attendees:read: Allows the reading of attendees.
            event/attendees:write: Allows the creation of an attendee in an event.
            event/audience-segments:read: Allows the reading of audience segments.
            event/audience-segments:write: Allows the creation/updating/deletion of audience segments.
            event/contact-groups:read: Allows the reading of contact groups.
            event/contact-groups:write: Allows the creation/updating of contact groups.
            event/contact-types:read: Allows the reading of contact types.
            event/contacts:delete: Allows the deletion of contacts.
            event/contacts:read: Allows the reading of contacts.
            event/contacts:write: Allows the creation/updating of contacts.
            event/contacts:write-sensitive: Allows the creation/updating of sensitive data related to contacts.
            event/custom-fields:read: Allows the reading of custom fields
            event/custom-fields:write: Allows the writing of custom fields
            event/discounts:write: Allows the writing of discounts
            event/donation-items:read: Allows the reading of donation items.
            event/event-discounts:read: Allows the reading of event discounts.
            event/event-discounts:write: Allows the writing of event discounts.
            event/event-email-status:read: Allows the reading of event email statuses.
            event/event-emails:read: Allows the reading of event emails
            event/event-emails:write: Allows to send event emails.
            event/event-features:read: Allows the reading of events-features
            event/event-features:write: Allows updating the event-features
            event/event-user-groups:read: Allows the reading of user groups
            event/event-user-groups:write: Allows associating/disassociating user groups to event
            event/events:read: Allows the reading of events
            event/events:write: Allows the creation/updating of events
            event/fee-items:read: Allows the reading of fee items.
            event/hotel-request:read: Allow reading the hotel request or housing reservation request detail for attendees.
            event/invitation-lists:read: Allows the reading of the invitation lists for an event
            event/meeting-request-forms:read: Allows the reading of meeting request forms.
            event/meeting-requests:read: Allows the reading of meeting requests.
            event/meeting-requests:write: Allows the creation/updating of meeting requests.
            event/membership-items:read: Allows reading of membership items.
            event/orders:read: Allows the reading of orders
            event/planning-documents:read: Allows the reading of event planning documents
            event/players:read: Allows the reading of players
            event/process-form-submissions:read: Allows the reading of process form submissions.
            event/program-items:delete: Allows deletion of session program items
            event/program-items:read: Allows reading of session program items
            event/program-items:write: Allows writing of session program items
            event/quantity-items:read: Allows the reading of quantity items.
            event/quantity-items:write: Allows the writing of quantity items
            event/registration-paths:read: Allows the reading of registration paths
            event/registration-types:read: Allows the reading of registration types
            event/registration-types:write: Allows the writing of registration types
            event/role-assignments:read: Allows the reading of event role assignment.
            event/session-attendance:read: Allows the reading of sessions attendance
            event/session-attendance:write: Allows the creation/updating of sessions attendance
            event/session-categories:read: Allows reading of session categories
            event/session-categories:write: Allows writing of session categories
            event/session-enrollment:delete: Allows the deletion of session registrations
            event/session-enrollment:read: Allows the reading of sessions registrations
            event/session-enrollment:write: Allows the writing of sessions registrations
            event/session-segments:read: Allows reading of session segments
            event/sessions:delete: Allows the deletion of a session in an event
            event/sessions:read: Allows the reading of sessions
            event/sessions:write: Allows the creation of a session in an event
            event/speaker-categories:read: Allows reading of speaker categories
            event/speaker-categories:write: Allows writing of speaker categories
            event/speakers:delete: Allows the deletion of a speaker in an event
            event/speakers:read: Allows the reading of speakers
            event/speakers:write: Allows the creation of a speaker in an event
            event/taxes:read: Allows the reading of taxes.
            event/transactions:read: Allows the reading of transactions
            event/transactions:write: Allows the writing of transactions
            event/video-views:read: Allows reading of video views.
            event/videos:read: Allows the reading of video data.
            event/videos:write: Allows the creation/updating of video data.
            event/vouchers:read: Allows reading of event vouchers and their associated attendees.
            event/webcasts:delete: Allows the deletion of webcast
            event/webcasts:read: Allows the reading of webcasts
            event/webcasts:write: Allows the creation of webcast
            event/weblinks:read: Allows the reading of event weblinks
            events-plus/hubs:read: Allows the reading of Events+ hub data.
            exhibitor/badges:read: Allows reading badges
            exhibitor/badges:write: Allows creating/updating badges
            exhibitor/booth-staff:delete: Allows deleting booth staff
            exhibitor/booth-staff:read: Allows reading booth staff
            exhibitor/booth-staff:write: Allows creating booth staff
            exhibitor/eliterature-requests:read: Allows reading eliterature document request data
            exhibitor/exhibitor-admins:read: Allows reading exhibitor admins
            exhibitor/exhibitor-admins:write: Allows creating/updating exhibitor admins
            exhibitor/exhibitor-answers:read: Allows reading exhibitor answers
            exhibitor

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