Cvent Bulk API

The Bulk API provides a simple interface to upload large amounts of data into Cvent. The API processes the uploaded data asynchronously making API calls on behalf of the caller.

Operations 6

POST /bulk-jobs Create Bulk Job #
GET /bulk-jobs/{id} Get Bulk Job #
POST /bulk-jobs/{id}/cancel Cancel Bulk Job #
POST /bulk-jobs/{id}/data Upload Bulk Job Data #
GET /bulk-jobs/{id}/results List Bulk Job Result #
POST /bulk-jobs/{id}/run Run Bulk Job #

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-bulk-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-bulk-api-openapi.yml Raw ↑
openapi: 3.0.2
info:
  title: Cvent REST APIs — Bulk
  version: ea
  description: 'The Bulk API provides a simple interface to upload large amounts of data into Cvent.  The API processes the
    uploaded data asynchronously making API calls on behalf of the caller.


    Consumers of the bulk API will do the following:

    * [Create a bulk job](#operation/createBulkJob) with or without data

    * *(Optional)* If a bulk job was created without data, then [upload bulk job data](#operation/uploadBulkJobData) as many
    times as needed

    * *(Optional)* [Run bulk job](#operation/runBulkJob)

    * Use [get bulk job](#operation/getBulkJobById) to track status

    * Use [list bulk job results](#operation/listBulkJobResult) to get details of items uploaded


    For more details, see the [Bulk Job User Guide](/docs/rest-api/guides/bulk-api-user-guide).


    **Note:** These bulk jobs have a TTL and will expire once they are complete or never ran. Bulk jobs will expire

    1 week after creation, and this one week is refreshed when data is uploaded and the job is run. The Bulk Job

    will be available for 1 week after completion to get results. Right now we do NOT support bulk GET requests.

    '
  contact:
    name: Cvent Development Platform
    url: https://developers.cvent.com/
externalDocs:
  description: Cvent REST API documentation
  url: https://developers.cvent.com/documentation
servers:
- url: https://api-platform.cvent.com/ea
- url: https://api-platform-eur.cvent.com/ea
tags:
- name: Bulk
  description: 'The Bulk API provides a simple interface to upload large amounts of data into Cvent.  The API processes the
    uploaded data asynchronously making API calls on behalf of the caller.


    Consumers of the bulk API will do the following:

    * [Create a bulk job](#operation/createBulkJob) with or without data

    * *(Optional)* If a bulk job was created without data, then [upload bulk job data](#operation/uploadBulkJobData) as many
    times as needed

    * *(Optional)* [Run bulk job](#operation/runBulkJob)

    * Use [get bulk job](#operation/getBulkJobById) to track status

    * Use [list bulk job results](#operation/listBulkJobResult) to get details of items uploaded


    For more details, see the [Bulk Job User Guide](/docs/rest-api/guides/bulk-api-user-guide).


    **Note:** These bulk jobs have a TTL and will expire once they are complete or never ran. Bulk jobs will expire

    1 week after creation, and this one week is refreshed when data is uploaded and the job is run. The Bulk Job

    will be available for 1 week after completion to get results. Right now we do NOT support bulk GET requests.

    '
paths:
  /bulk-jobs:
    post:
      summary: Create Bulk Job
      description: 'Creates a bulk job.


        **Note:** When creating a bulk job you can optionally include the data in the create request.

        If data is supplied the job will be started and there is no need to call the [run bulk job](#operation/runBulkJob)
        endpoint.

        If data is NOT supplied then the [upload bulk job data](#operation/uploadBulkJobData) endpoint can be called

        to upload data and then using [run bulk job](#operation/runBulkJob).

        In addition, if data is supplied and your account has reached its limit for concurrently running bulk jobs,

        the job will not be created.

        '
      operationId: createBulkJob
      tags:
      - Bulk
      security:
      - OAuth2.clientCredentials:
        - bulk/bulk-jobs:write
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/bulk-job-with-data'
      responses:
        '201':
          description: The bulk job has been created.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/bulk-job-with-data'
        '400':
          $ref: '#/components/responses/BadRequest27'
        '401':
          $ref: '#/components/responses/Unauthorized27'
        '403':
          $ref: '#/components/responses/Forbidden27'
        '409':
          $ref: '#/components/responses/JobLimitExceeded'
        '429':
          $ref: '#/components/responses/TooManyRequests26'
      deprecated: false
  /bulk-jobs/{id}:
    parameters:
    - $ref: '#/components/parameters/uuid1'
    get:
      summary: Get Bulk Job
      description: Gets a bulk job by its identifier.
      operationId: getBulkJobById
      tags:
      - Bulk
      security:
      - OAuth2.clientCredentials:
        - bulk/bulk-jobs:read
      responses:
        '200':
          description: Successfully retrieved a bulk job.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/bulk-job'
        '400':
          $ref: '#/components/responses/BadRequest27'
        '401':
          $ref: '#/components/responses/Unauthorized27'
        '403':
          $ref: '#/components/responses/Forbidden27'
        '404':
          $ref: '#/components/responses/NotFound27'
        '429':
          $ref: '#/components/responses/TooManyRequests26'
  /bulk-jobs/{id}/cancel:
    parameters:
    - $ref: '#/components/parameters/uuid1'
    post:
      summary: Cancel Bulk Job
      description: Cancels the bulk job. The job will stop processing after it finishes processing its current batch, if any.
      operationId: cancelBulkJob
      tags:
      - Bulk
      security:
      - OAuth2.clientCredentials:
        - bulk/bulk-jobs:write
      responses:
        '200':
          description: Bulk job details with status that shows the job has been canceled.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/bulk-job'
        '400':
          $ref: '#/components/responses/BadRequest27'
        '401':
          $ref: '#/components/responses/Unauthorized27'
        '403':
          $ref: '#/components/responses/Forbidden27'
        '404':
          $ref: '#/components/responses/NotFound27'
        '429':
          $ref: '#/components/responses/TooManyRequests26'
  /bulk-jobs/{id}/data:
    parameters:
    - $ref: '#/components/parameters/uuid1'
    post:
      summary: Upload Bulk Job Data
      description: 'This will upload data to be processed by a bulk job. There is a limit on the number of records that

        can be uploaded per call and this endpoint can be called multiple times before starting a job run.


        Note: there is a maximum _total_ number of 50,000 records that can be uploaded for a job.

        If you have a need for a greater limit, this can be increased for your account (up to a hard limit of 150,000)

        by contacting Cvent support.

        '
      operationId: uploadBulkJobData
      tags:
      - Bulk
      security:
      - OAuth2.clientCredentials:
        - bulk/bulk-jobs:write
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/bulk-data'
        required: true
      responses:
        '200':
          description: Information regarding the uploaded data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/bulk-data-upload-response'
        '400':
          $ref: '#/components/responses/BadRequest27'
        '401':
          $ref: '#/components/responses/Unauthorized27'
        '403':
          $ref: '#/components/responses/Forbidden27'
        '404':
          $ref: '#/components/responses/NotFound27'
        '409':
          $ref: '#/components/responses/DataLimitExceeded'
        '429':
          $ref: '#/components/responses/TooManyRequests26'
  /bulk-jobs/{id}/results:
    parameters:
    - $ref: '#/components/parameters/uuid1'
    get:
      summary: List Bulk Job Result
      description: 'Used to list the results of a bulk job.


        **Note:** A bulk job is designed to wrap individual, non-batch API operations. When a target operation

        is itself batch in nature and returns a `207 Multi-Status` response, the `failed` flag on each result record

        reflects only whether the target operation returned an HTTP error — it does not capture partial item-level

        failures within the multi-status response body. For these operations, inspect each result record''s `data` field

        to determine which items succeeded or failed.

        '
      operationId: listBulkJobResult
      tags:
      - Bulk
      security:
      - OAuth2.clientCredentials:
        - bulk/bulk-jobs:read
      parameters:
      - $ref: '#/components/parameters/after'
      - $ref: '#/components/parameters/before'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/token'
      - name: filter
        in: query
        required: false
        description: "A filter query string narrows search results and supports the combination of logical and comparison\
          \ operators.\nThe filter adheres to the pattern filter='field' comparisonType 'value'.\n\nThese are the comparison\
          \ types that can be used in filter expressions:\n* equal: eq\n* not equal: ne\n\nThe following fields are filterable:\n\
          * failed (eq|ne)\n\n  **Note:** this filters for the top-level HTTP status of the target operation.\n  For operations\
          \ that return 207 (Multi-Status), filter results may not capture all failed records.\n  Inspect individual record\
          \ statuses in the `data` field for a complete picture.\n"
        schema:
          type: string
          example: failed eq "true"
      responses:
        '200':
          description: Retrieved a paginated list of bulk responses.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/bulk-results-paginated-response'
        '400':
          $ref: '#/components/responses/BadRequest27'
        '401':
          $ref: '#/components/responses/Unauthorized27'
        '403':
          $ref: '#/components/responses/Forbidden27'
        '404':
          $ref: '#/components/responses/NotFound27'
        '429':
          $ref: '#/components/responses/TooManyRequests26'
  /bulk-jobs/{id}/run:
    parameters:
    - $ref: '#/components/parameters/uuid1'
    post:
      summary: Run Bulk Job
      description: "Begins the processing of data uploaded in a bulk job.\n\n **Note**: You can have a maximum of two bulk\
        \ jobs running concurrently."
      operationId: runBulkJob
      tags:
      - Bulk
      security:
      - OAuth2.clientCredentials:
        - bulk/bulk-jobs:write
      responses:
        '200':
          description: Bulk job details with status that shows the job has begun processing.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/bulk-job'
        '400':
          $ref: '#/components/responses/BadRequest27'
        '401':
          $ref: '#/components/responses/Unauthorized27'
        '403':
          $ref: '#/components/responses/Forbidden27'
        '404':
          $ref: '#/components/responses/NotFound27'
        '409':
          $ref: '#/components/responses/JobLimitExceeded'
        '429':
          $ref: '#/components/responses/TooManyRequests26'
components:
  schemas:
    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
    BulkDataLimitedList:
      title: BulkDataLimitedList
      description: Collection of objects to be processed
      type: array
      maxItems: 1000
      items:
        $ref: '#/components/schemas/BulkDataProperty'
    bulk-job-with-data:
      title: BulkJobWithData
      description: The model representing a bulk job that can load data asynchronously including the data
      required:
      - url
      - operation
      type: object
      allOf:
      - $ref: '#/components/schemas/bulk-job'
      properties:
        data:
          $ref: '#/components/schemas/BulkDataLimitedList'
    BulkDataRecord:
      title: BulkDataRecord
      type: object
      description: Arbitrary container to hold a JSON payload. The payload is the data you're sending, or the reply received
        when fetching results. For the request, this data must be structured in the way the API you're running a bulk job
        for accepts. For example, to bulk create sessions, you structure each of the `dataRecord` entries based on the format
        of the Create Session endpoint.
      additionalProperties:
        type: object
      example:
        event:
          id: 04ca6ae2-0dc3-487b-953e-86d6abbdf7d3
        title: Day 1 Keynote Session
        start: '2020-02-03T13:00:00.000Z'
        end: '2020-02-07T17:00:00.000Z'
        status: Active
    ErrorResponseBase1:
      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
    bulk-data-upload-response:
      title: BulkDataUploadResponse
      description: The model representing the results of a bulk data upload
      properties:
        data:
          $ref: '#/components/schemas/BulkDataLimitedList'
        count:
          type: integer
          description: The number of successfully uploaded data records
          example: 100
    UUIDProperty:
      title: UUID Property
      description: A string that has to be a format matching the industry standard uuid
      type: string
      format: uuid
      example: 04ca6ae2-0dc3-487b-953e-86d6abbdf7d3
    bulk-job:
      title: BulkJob
      description: The model representing a bulk job that can load data asynchronously.
      required:
      - url
      - operation
      type: object
      allOf:
      - $ref: '#/components/schemas/Audit'
      properties:
        id:
          type: string
          format: uuid
          description: Bulk job identifier
          example: 766d1986-9aaa-454f-86f5-d605c45b3131
          readOnly: true
        description:
          type: string
          description: Description of the bulk job.
          example: Q1 Contact Import
        url:
          type: string
          description: URL of the destination public API being called. This can be the full path or the relative path to the
            entity. Variables in the URL should remain generic so that you can specify their value in each record with the
            `pathParams` field.
          example: /contacts/{id}
        operation:
          enum:
          - PUT
          - POST
          - PATCH
          - DELETE
          type: string
          description: Operation to be performed in the destination API.
          example: PUT
        headers:
          type: object
          description: Headers to be passed on the destination API. Values must NOT be null.
          additionalProperties:
            type: string
          example:
            header1: header1Value
            header2: header2Value
        queryParams:
          type: object
          description: Query Params to be passed on to the destination API. Values must NOT be null.
          additionalProperties:
            type: string
          example:
            param1: param1Value
            param2: param2Value
        started:
          type: string
          format: date-time
          description: The ISO 8601 zoned date time when the job started.
          readOnly: true
          example: '2017-01-02T02:00:00Z'
        completed:
          type: string
          format: date-time
          description: The ISO 8601 zoned date time when the job completed.
          readOnly: true
          example: '2017-01-02T02:30:00Z'
        status:
          enum:
          - PENDING
          - READY
          - RUNNING
          - CANCELED
          - COMPLETED
          - FAILED
          type: string
          description: The current status of the bulk job.
          example: COMPLETED
          readOnly: true
        totalRecords:
          type: integer
          description: Total number of records uploaded for the bulk job.
          example: 5000
          readOnly: true
        successful:
          type: integer
          description: Total number of records that were successfully processed by the bulk job.
          example: 4950
          readOnly: true
        failed:
          type: integer
          description: Total number of records that were unsuccessfully processed by the bulk job.
          example: 50
          readOnly: true
    BulkResponseItem:
      title: BulkResponseItem
      description: Represents a single item that is returned as part of a Bulk request call.
      type: object
      required:
      - status
      - data
      properties:
        data:
          type: object
          description: The data returned for a single item in the bulk request call.
          example:
            event_id: 1234
            attendee_count: 50
          additionalProperties: true
        status:
          type: integer
          description: http status code representing processing status of a single item
          example: 400
        message:
          type: string
          description: Quick description of what happened with processing
          example: Example error message.
        request:
          type: object
          description: The processed request tied to this response. This field is only sent when processing fails.
          example:
            operation: PUT
            headers:
              header1: header1Value
              header2: header2Value
            queryParams:
              param1: param1Value
              param2: param2Value
          additionalProperties: true
      additionalProperties: false
    bulk-results-paginated-response:
      title: BulkResultsPaginationResponse
      description: 'The response from a request to get the list of results from a Bulk Job run.  This includes the paging
        object as well

        as the collection of bulk results.'
      required:
      - data
      type: object
      properties:
        paging:
          $ref: '#/components/schemas/Paging'
        data:
          type: array
          items:
            $ref: '#/components/schemas/BulkResult'
          description: Collection of bulk result objects.
    BulkDataProperty:
      title: BulkDataProperty
      description: Data Record envelope
      type: object
      required:
      - dataRecord
      properties:
        pathParams:
          description: Key-value pairs where a key identifies a labeled placeholders in the url (e.g. "/endpoint/{entityId}")
            and a value represents the value to substitute. Necessary if the target endpoint has path parameters. Values must
            NOT be null.
          type: object
          additionalProperties:
            type: string
          example:
            id: 11111111-0dc3-487b-953e-86d6abbdf7d3
        queryParams:
          description: Query params specific to this data record to pass to the target endpoint. Entries merge with, and overlaps
            override, job-level queryParams. Values must NOT be null.
          type: object
          additionalProperties:
            type: string
          example:
            param1: param1Value
            param2: param2Value
        headers:
          type: object
          description: Headers specific to this data record to pass to the target endpoint. Entries merge with, and overlaps
            override, job-level headers. Values must NOT be null.
          additionalProperties:
            type: string
          example:
            header1: header1Value
            header2: header2Value
        dataRecord:
          $ref: '#/components/schemas/BulkDataRecord'
    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'
    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'
    BulkResult:
      title: BulkResult
      description: This entity is used to represent a single item that is returned as part of a Bulk Job Result call.
      allOf:
      - $ref: '#/components/schemas/BulkResponseItem'
      properties:
        id:
          type: integer
          description: The bulk result identifier.
          example: 1234
          readOnly: true
        job:
          type: object
          properties:
            id:
              $ref: '#/components/schemas/UUIDProperty'
          description: Unique identifier of the bulk job linked to this result.
          example:
            id: 766d1986-9aaa-454f-86f5-d605c45b3131
          readOnly: true
        failed:
          type: boolean
          description: 'A `true` value indicates the target operation returned an HTTP error status code.


            **Caution:** When the target operation returns a `207 Multi-Status` response, this flag will be `false` even when
            individual items within the response body indicate failure. For such operations, inspect the `data` field to determine
            which items succeeded or failed.'
          example: true
        data:
          type: object
          description: The response data for the bulk operation.
          allOf:
          - $ref: '#/components/schemas/BulkDataProperty'
    bulk-data:
      title: BulkData
      description: The model representing an arbitrary list of JSON data loaded to bulk job.
      properties:
        data:
          $ref: '#/components/schemas/BulkDataLimitedList'
    Audit:
      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
    ErrorResponse-12:
      title: ErrorResponse
      description: Represents an error response with additional details of cascading error messages.
      allOf:
      - $ref: '#/components/schemas/ErrorResponseBase1'
      type: object
      required:
      - code
      - message
      properties:
        details:
          type: array
          items:
            $ref: '#/components/schemas/ErrorResponseBase1'
          description: Additional details of cascading error messages.
  responses:
    BadRequest27:
      description: Bad request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse-12'
    TooManyRequests26:
      description: Too many requests
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse-12'
    JobLimitExceeded:
      description: Exceeded limit for number of concurrently running bulk jobs
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse-12'
          example:
            code: 409
            message: Conflict
    NotFound27:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse-12'
    Unauthorized27:
      description: Bad or expired token
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse-12'
    DataLimitExceeded:
      description: Exceeded limit for number of job data records
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse-12'
          example:
            code: 409
            message: Conflict
    Forbidden27:
      description: You do not have access to the resource
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse-12'
  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'
    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'
    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
    uuid1:
      description: A uuid path parameter.
      schema:
        $ref: '#/components/schemas/UUIDProperty'
      name: id
      in: path
      required: true
    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
  securitySchemes:
    OAuth2.clientCredentials:
      type: oauth2
      description: OAuth2 Client Credentials Flow.
      flows:
        clientCredentials:
          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 availability 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.
            bulk/bulk-jobs:read: Allows the reading of bulk job related entities
            bulk/bulk-jobs:write: Allows the creation, update and deletion of bulk job related entities
            business-transient/bids:read: Allows the reading of Business Transient Bid data
            business-transient/proposals:read: Allows the reading of Business Transient Proposal data
            business-transient/supplier-brands:read: Allows the reading of a supplier brand or a list of travel supplier brands.
            business-transient/supplier-chains:read: Allows the reading of a travel supplier chain or a list of travel supplier
              chains.
            business-transient/supplier-properties:read: Allows the reading of a travel supplier property or a list of travel
              supplier properties.
            business-transient/supplier-property-rooms:read: Allows the reading of a list of travel supplier property rooms.
            business-transient/travel-accounts:read: Allows the reading of business transient travel account data.
            business-transient/travel-program-questions:read: Allows the reading of business transient travel program question
              data.
            business-transient/travel-programs:read: Allows the reading of business transient travel program data.
            business-transient/travel-supplier-accounts:read: Allows the reading of business transient travel supplier account
              data.
            business-travel/bids:read: Allows the reading of Business Travel Bid data

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