Cvent Speakers API

Speakers are individuals presenting at your event's session(s). Use Speaker APIs to read existing speaker data, create new speakers or update existing speakers in your events.

Operations 19

GET /program-items/speakers Get Session Program Speakers #
POST /program-items/speakers/filter List Session Program Speakers #
PUT /program-items/{programItemId}/speakers/{id} Add Session Program Speaker #
GET /program-items/{programItemId}/speakers/{id} Get Session Program Speaker #
DELETE /program-items/{programItemId}/speakers/{id} Delete Session Program Speaker #
GET /speaker-categories List Speakers Categories #
POST /speaker-categories Create Speaker Category #
GET /speakers List Speakers #
POST /speakers Create Speaker #
POST /speakers/filter List Speakers #
PUT /speakers/{id} Update Speaker #
DELETE /speakers/{id} Delete Speaker #
GET /speakers/{id}/docs List Speaker's Documents #
GET /speakers/{id}/docs/{fileId} Get a document for a speaker #
PUT /speakers/{id}/docs/{fileId} Add Document To Speaker #
DELETE /speakers/{id}/docs/{fileId} Delete Document From Speaker #
DELETE /speakers/{id}/profile-images Delete Speaker Profile Picture #
PUT /speakers/{id}/profile-images Assign Speaker Profile Picture #
GET /speakers/{id}/sessions List Speaker's Sessions #

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-speakers-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-speakers-api-openapi.yml Raw ↑
openapi: 3.0.2
info:
  title: Cvent REST APIs — Speakers
  version: ea
  description: Speakers are individuals presenting at your event's session(s). Use Speaker APIs to read existing speaker data,
    create new speakers or update existing speakers in your events.
  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: Speakers
  description: Speakers are individuals presenting at your event's session(s). Use Speaker APIs to read existing speaker data,
    create new speakers or update existing speakers in your events.
paths:
  /program-items/speakers:
    get:
      security:
      - OAuth2.clientCredentials:
        - event/program-items:read
      - OAuth2.authorizationCode:
        - event/program-items:read
      summary: Get Session Program Speakers
      description: Returns a paginated list of session program item and speaker associations.
      operationId: getSessionProgramSpeakers
      tags:
      - Speakers
      parameters:
      - $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  * includes value(s): in\n\nThe following fields\
          \ are filterable:\n  * programItem.id (eq|in)\n  * session.id (eq|in)\n\nThe following operators are available:\n\
          \  * and\n  * or\n"
        schema:
          type: string
          example: session.id in ('04ca6ae2-0dc3-487b-953e-86d6abbdf7d3', '34ca65e2-1dc3-487b-589e-839d8bbdf7d3')
      responses:
        '200':
          description: Successfully retrieved a list of session program item and speaker associations.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/program-item-speaker-paginated-response'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
  /program-items/speakers/filter:
    post:
      security:
      - OAuth2.clientCredentials:
        - event/program-items:read
      - OAuth2.authorizationCode:
        - event/program-items:read
      summary: List Session Program Speakers
      description: Gets a paginated list of session program speaker by providing filters in the body of the request. This
        method returns the same data as <a href="#operation/getSessionProgramSpeakers">GET Session Program Speakers</a> but
        allows for longer filters.
      operationId: listSessionProgramSpeakersPostFilters
      tags:
      - Speakers
      requestBody:
        description: See the filter description of <a href="#operation/getSessionProgramSpeakers">GET Session Program Speakers</a>
          for full filtering information.
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/filter'
      parameters:
      - $ref: '#/components/parameters/after'
      - $ref: '#/components/parameters/before'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/token'
      - $ref: '#/components/parameters/locale2'
      responses:
        '200':
          description: Successfully retrieved a paginated list of session program item and speaker associations.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/program-item-speaker-paginated-response'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
  /program-items/{programItemId}/speakers/{id}:
    parameters:
    - $ref: '#/components/parameters/programItemId'
    - $ref: '#/components/parameters/speakerId'
    put:
      security:
      - OAuth2.clientCredentials:
        - event/program-items:write
      - OAuth2.authorizationCode:
        - event/program-items:write
      summary: Add Session Program Speaker
      description: Creates a relationship between a session program item and a speaker. Limit 10 speakers per session program
        item.
      operationId: createSessionProgramSpeaker
      tags:
      - Speakers
      responses:
        '200':
          description: Successfully created the relationship between the session program item and the speaker.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/speaker-program-item'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '409':
          description: Session program speaker limit reached.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/baseErrorResponse'
              example:
                code: 409
                message: Conflict
        '429':
          $ref: '#/components/responses/TooManyRequests1'
    get:
      security:
      - OAuth2.clientCredentials:
        - event/program-items:read
      - OAuth2.authorizationCode:
        - event/program-items:read
      summary: Get Session Program Speaker
      description: Returns a session program speaker relationship.
      operationId: getSessionProgramSpeaker
      tags:
      - Speakers
      responses:
        '200':
          description: Successfully retrieved a session program item and speaker relationship.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/speaker-program-item'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
    delete:
      security:
      - OAuth2.clientCredentials:
        - event/program-items:delete
      - OAuth2.authorizationCode:
        - event/program-items:delete
      summary: Delete Session Program Speaker
      description: Deletes session program item to speaker relationship.
      operationId: deleteSessionProgramSpeaker
      tags:
      - Speakers
      responses:
        '204':
          description: Successfully deleted session program item to speaker relationship.
          headers: {}
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
  /speaker-categories:
    get:
      security:
      - OAuth2.clientCredentials:
        - event/speaker-categories:read
      - OAuth2.authorizationCode:
        - event/speaker-categories:read
      summary: List Speakers Categories
      description: Gets a paginated list of speakers categories.
      operationId: listSpeakersCategories
      parameters:
      - $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\nThe following can be used\
          \ in filter expressions:\n  * equal: eq\n  * not equal: ne\n  * contains a value: contains\n\nThe following fields\
          \ are filterable:\n  * active (eq|ne)\n  * id (eq|ne)\n  * name (eq|ne|contains)\n"
        schema:
          type: string
          example: active eq 'true'
      - name: sort
        in: query
        required: false
        description: "Sorts the returned speaker categories in ascending or descending order by its name.\n\nThere are two\
          \ orders:\n  * ascending: ASC\n  * descending: DESC\n\nThe following fields are sortable:\n  * name\n"
        schema:
          type: string
          example: name:DESC
      tags:
      - Speakers
      responses:
        '200':
          description: Successfully retrieved a paginated list of speakers categories.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/speaker-category-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/speaker-categories:write
      - OAuth2.authorizationCode:
        - event/speaker-categories:write
      summary: Create Speaker Category
      description: Create a new speaker category
      operationId: addSpeakerCategory
      requestBody:
        description: Create a speaker category.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/speaker-category'
      tags:
      - Speakers
      responses:
        '201':
          description: Successfully created speaker category.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/existing-speaker-category'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
  /speakers:
    get:
      security:
      - OAuth2.clientCredentials:
        - event/speakers:read
      - OAuth2.authorizationCode:
        - event/speakers:read
      summary: List Speakers
      description: Gets a paginated list of speakers.
      operationId: listSpeakers
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/token'
      - $ref: '#/components/parameters/sort4'
      - $ref: '#/components/parameters/locale2'
      - 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'. If the \"match\" filter is\
          \ passed,\nthe endpoint will return a relevance score for each attendee in the list. Higher scores represent a higher\n\
          relevance to the filter string.\n\nThese are the comparison types that can be used in filter expressions:\n  * equal:\
          \ eq\n  * not equal: ne\n  * greater than: gt\n  * greater or equal: ge\n  * less than: lt\n  * less than or equal:\
          \ le\n  * starts with: sw\n  * contains a value: contains\n  * match a term: match\n  * includes value(s): in\n\n\
          The following fields are filterable:\n  * category.id (eq|ne)\n  * category.name (eq|ne|sw|contains)\n  * code (eq|ne|sw|contains)\n\
          \  * company (eq|ne|sw|contains)\n  * contact.id (eq|ne)\n  * email (eq|ne|sw|contains|match)\n  * event.id (eq|ne)\n\
          \  * featured (eq|ne)\n  * firstName (eq|ne|sw|contains|match)\n  * id (eq|ne|in)\n  * lastModified (eq|ne|gt|ge|lt|le)\n\
          \  * lastName (eq|ne|sw|contains|match)\n  * title (eq|ne|sw|contains)\n  * visibility (eq|ne)\n\nThe following\
          \ operators are available:\n  * and\n  * or\n"
        schema:
          type: string
          example: event.id eq '04ca6ae2-0dc3-487b-953e-86d6abbdf7d3'
      tags:
      - Speakers
      responses:
        '200':
          description: Successfully retrieved a paginated list of speakers.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/speaker-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/speakers:write
      - OAuth2.authorizationCode:
        - event/speakers:write
      summary: Create Speaker
      description: Create a single speaker based on the values provided.
      operationId: createSpeaker
      tags:
      - Speakers
      requestBody:
        description: Speaker to be created
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/speaker'
      responses:
        '201':
          description: Successfully created a speaker.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/existing-speaker'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
  /speakers/filter:
    post:
      security:
      - OAuth2.clientCredentials:
        - event/speakers:read
      - OAuth2.authorizationCode:
        - event/speakers:read
      summary: List Speakers
      description: 'Get a paginated list of speakers by sending a filter in the body of the request. This method will return
        the same data as GET List Speakers but allows for longer filters.

        '
      operationId: listSpeakersPostFilter
      requestBody:
        description: 'See the filter parameter of <a href="#operation/listSpeakers">List Speakers</a> for full filtering information

          '
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/filter'
            example:
              filter: id eq '1ffa56d9-9f60-4b8c-8b3b-3451de21293c'
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/token'
      - $ref: '#/components/parameters/sort4'
      - $ref: '#/components/parameters/locale2'
      tags:
      - Speakers
      responses:
        '200':
          description: Successfully retrieved a paginated list of speakers.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/speaker-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'
  /speakers/{id}:
    parameters:
    - $ref: '#/components/parameters/speakerId'
    put:
      security:
      - OAuth2.clientCredentials:
        - event/speakers:write
      - OAuth2.authorizationCode:
        - event/speakers:write
      summary: Update Speaker
      description: Updates a particular speaker based on the given speaker ID.
      operationId: updateSpeaker
      tags:
      - Speakers
      requestBody:
        description: Speaker to be updated
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/existing-speaker'
      responses:
        '200':
          description: Successfully updated the speaker.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/existing-speaker'
        '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'
    delete:
      security:
      - OAuth2.clientCredentials:
        - event/speakers:delete
      - OAuth2.authorizationCode:
        - event/speakers:delete
      summary: Delete Speaker
      description: Deletes a particular speaker based on the given speaker ID.
      operationId: deleteSpeaker
      tags:
      - Speakers
      responses:
        '204':
          description: Successfully deleted a speaker.
          headers: {}
        '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'
  /speakers/{id}/docs:
    parameters:
    - $ref: '#/components/parameters/speakerId'
    get:
      security:
      - OAuth2.clientCredentials:
        - event/speakers:read
      - OAuth2.authorizationCode:
        - event/speakers:read
      summary: List Speaker's Documents
      description: Gets a paginated list of document URLs for a single speaker.
      operationId: listSpeakerDocs
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/token'
      - name: filter
        in: query
        required: false
        description: "A filter string passed in the query parameter of the request.\n\nThere are two comparison types that\
          \ can be used in filter expressions:\n  * equal: eq\n  * not equal: ne\n\nThe following field is filterable:\n \
          \ * file.id (eq|ne)\n\nThe following operators are available:\n  * and\n  * or\n"
        schema:
          type: string
          example: file.id eq '04ca6ae2-0dc3-487b-953e-86d6abbdf7d3'
      tags:
      - Speakers
      responses:
        '200':
          description: Successfully retrieved a list of documents.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/speaker-document-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'
  /speakers/{id}/docs/{fileId}:
    parameters:
    - $ref: '#/components/parameters/speakerId'
    - $ref: '#/components/parameters/fileId'
    get:
      security:
      - OAuth2.clientCredentials:
        - event/speakers:read
      - OAuth2.authorizationCode:
        - event/speakers:read
      summary: Get a document for a speaker
      description: Get a specific document that is assigned to a specific speaker.
      operationId: getSpeakerDoc
      tags:
      - Speakers
      responses:
        '200':
          description: Successfully retrieved document.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/speaker-file'
        '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'
    put:
      security:
      - OAuth2.clientCredentials:
        - event/speakers:write
      - OAuth2.authorizationCode:
        - event/speakers:write
      summary: Add Document To Speaker
      description: Add a single document to a speaker with a UUID provided by <a href="#operation/uploadFile">file upload</a>.
      operationId: addSpeakerDoc
      tags:
      - Speakers
      responses:
        '200':
          description: Successfully added document to speaker.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/speaker-file'
        '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'
    delete:
      security:
      - OAuth2.clientCredentials:
        - event/speakers:write
      - OAuth2.authorizationCode:
        - event/speakers:write
      summary: Delete Document From Speaker
      description: Use to delete a document from a speaker with a UUID provided by <a href="#operation/uploadFile">file upload</a>.
      operationId: deleteSpeakerDocument
      tags:
      - Speakers
      responses:
        '204':
          description: Successfully deleted speaker's document.
          headers: {}
        '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'
  /speakers/{id}/profile-images:
    parameters:
    - $ref: '#/components/parameters/speakerId'
    delete:
      security:
      - OAuth2.clientCredentials:
        - event/speakers:write
      - OAuth2.authorizationCode:
        - event/speakers:write
      summary: Delete Speaker Profile Picture
      description: Deletes the profile picture of the given speaker.
      operationId: deleteSpeakerProfileImage
      tags:
      - Speakers
      responses:
        '204':
          description: Successfully deleted the profile picture to the speaker.
          headers: {}
        '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'
    put:
      security:
      - OAuth2.clientCredentials:
        - event/speakers:write
      - OAuth2.authorizationCode:
        - event/speakers:write
      summary: Assign Speaker Profile Picture
      description: Assign a profile picture to a speaker with a file UUID from <a href="#operation/uploadFile">file upload</a>
        endpoint. This will replace the current profile picture if one is assigned.
      operationId: assignSpeakerProfileImage
      requestBody:
        description: 'The file id provided by the <a href="#operation/uploadFile">file upload</a> endpoint.

          '
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/speaker-file'
      tags:
      - Speakers
      responses:
        '200':
          description: Successfully added the profile picture to the speaker.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/speaker-file'
        '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'
  /speakers/{id}/sessions:
    parameters:
    - $ref: '#/components/parameters/speakerIdById'
    get:
      security:
      - OAuth2.clientCredentials:
        - event/sessions:read
      - OAuth2.authorizationCode:
        - event/sessions:read
      summary: List Speaker's Sessions
      description: Gets a paginated list of sessions assigned to a speaker.
      operationId: listSpeakerSessions
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/token'
      tags:
      - Speakers
      responses:
        '200':
          description: Successfully retrieved a paginated list of sessions assigned to the speaker.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/speaker-session-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'
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
    EventId:
      title: EventId
      description: The unique identifier for an event.
      type: string
      format: uuid
      example: 2ef03846-fced-4ce3-a077-d64ca891a4b1
    ProgramItemId:
      title: ProgramItemId
      description: The unique identifier for a program item.
      type: string
      format: uuid
      example: 221984b2-9e3e-4c1c-8ef4-306b1b75fa3e
    ProgramItemLite:
      required:
      - id
      type: object
      title: ProgramItemLite
      description: The unique identifier of a program item.
      properties:
        id:
          $ref: '#/components/schemas/ProgramItemId'
    speaker-file:
      title: SpeakerFile
      description: A file reference related to a speaker.
      required:
      - file
      - href
      properties:
        file:
          properties:
            id:
              $ref: '#/components/schemas/uuid-property'
        href:
          format: uri
          type: string
          description: URL of the speaker's image.
          readOnly: true
          example: https://custom.cvent.com/a5154f85f71a4cf2464e037feb75b308/00000000000000000000000000000000/files/universal-file/tmp/e209d73d845746b7a6deda4da9d91b2c.png
        friendlyName:
          type: string
          description: Friendly name of the file
          example: Important Document
          readOnly: true
        type:
          type: string
          description: Mime type of the file
          example: image/png
          readOnly: true
        size:
          type: integer
          description: Size of the file in bytes
          example: 150
          readOnly: true
        displayEnabled:
          type: boolean
          description: Display this file to the public
          example: true
          readOnly: true
    uuid-property:
      title: UUID Property
      description: A string that has to be a format matching the industry standard uuid
      type: string
      format: uuid
      example: 04ca6ae2-0dc3-487b-953e-86d6abbdf7d3
    SessionId:
      title: SessionId
      description: The unique identifier for a session.
      type: string
      format: uuid
      example: 832cb481-74c5-4859-ba21-bbb5be8b86e0
    speaker-paginated-response:
      title: SpeakerPaginatedResponse
      description: The response from a request to get the list of speakers.  This includes the paging object as well as the
        collection of speakers.
      required:
      - paging
      - data
      type: object
      properties:
        paging:
          $ref: '#/components/schemas/Paging'
        data:
          type: array
          items:
            $ref: '#/components/schemas/existing-speaker'
          description: Collection of speakers.
    SessionLite:
      required:
      - id
      type: object
      title: SessionLite
      description: The unique identifier of a session.
      properties:
        id:
          $ref: '#/components/schemas/SessionId'
    SpeakerId:
      title: SpeakerId
      description: The unique identifier for a speaker.
      type: string
      format: uuid
      example: 6077a9f1-a230-40cd-9e32-b493a84aaa80
    filter:
      title: A filter sent in the body of a request
      description: A filter which is sent through the body of the request.
      type: object
      properties:
        filter:
          type: string
          example: property eq 'value'
          description: Filter included in the request.
    existing-speaker-category:
      title: SpeakerCategory
      description: An existing speaker category.
      type: object
      allOf:
      - $ref: '#/components/schemas/speaker-category'
      required:
      - id
      properties:
        id:
          $ref: '#/components/schemas/uuid-property'
        active:
          type: boolean
          description: The speaker category is active or not active
          readOnly: true
    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
    EventLite:
      required:
      - id
      type: object
      

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