Cvent Event Cloud 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-event-cloud-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-event-cloud-speakers-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Cvent Event Cloud Speakers API
  version: ea
  contact:
    name: Cvent Development Platform
    url: https://developers.cvent.com/
  description: 'Operations tagged Speakers across 2 of this provider''s published API definitions: cvent-event-cloud-rest-openapi.yml, cvent-rest-apis-openapi.yaml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api-platform.cvent.com/ea
- url: https://api-platform-eur.cvent.com/ea
tags:
- name: 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'
    servers:
    - url: https://api-platform.cvent.com/ea
    - url: https://api-platform-eur.cvent.com/ea
  /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/locale1'
      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'
    servers:
    - url: https://api-platform.cvent.com/ea
    - url: https://api-platform-eur.cvent.com/ea
  /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'
    servers:
    - url: https://api-platform.cvent.com/ea
    - url: https://api-platform-eur.cvent.com/ea
  /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'
    servers:
    - url: https://api-platform.cvent.com/ea
    - url: https://api-platform-eur.cvent.com/ea
  /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/locale1'
      - 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\nrelevance 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\nThe 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'
    servers:
    - url: https://api-platform.cvent.com/ea
    - url: https://api-platform-eur.cvent.com/ea
  /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/locale1'
      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'
    servers:
    - url: https://api-platform.cvent.com/ea
    - url: https://api-platform-eur.cvent.com/ea
  /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'
    servers:
    - url: https://api-platform.cvent.com/ea
    - url: https://api-platform-eur.cvent.com/ea
  /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'
    servers:
    - url: https://api-platform.cvent.com/ea
    - url: https://api-platform-eur.cvent.com/ea
  /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'
    servers:
    - url: https://api-platform.cvent.com/ea
    - url: https://api-platform-eur.cvent.com/ea
  /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'
    servers:
    - url: https://api-platform.cvent.com/ea
    - url: https://api-platform-eur.cvent.com/ea
  /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'
    servers:
    - url: https://api-platform.cvent.com/ea
    - url: https://api-platform-eur.cvent.com/ea
components:
  schemas:
    Relevance:
      title: Relevance
      description: Returned when the `match` filter is applied. Indicates how relevant the `match` filter term is to the search result. Larger numbers represent higher relevance with respect to other search results in the request. Null if no `match` filter is provided.
      type: number
      example: 2.3
      exclusiveMinimum: 0
    SpeakerSession:
      title: SpeakerSession
      type: object
      description: A speaker to session relationship.
      properties:
        id:
          $ref: '#/components/schemas/uuid-property'
        speaker:
          $ref: '#/components/schemas/SpeakerLite1'
        category:
          $ref: '#/components/schemas/NamedObject'
    program-item-speaker-paginated-response:
      title: ProgramItemSpeakerPaginatedResponse
      description: The response from a request to get the list of program item speakers.
      required:
      - paging
      - data
      type: object
      properties:
        paging:
          $ref: '#/components/schemas/Paging'
        data:
          type: array
          items:
            $ref: '#/components/schemas/speaker-program-item'
          description: Collection of program item speakers.
          maxItems: 200
    speaker-document-paginated-response:
      title: SpeakerDocumentPaginatedResponse
      description: The response from a request to get the list of documents for a single speaker.  This includes the paging object as well as the collection of documents.
      required:
      - paging
      - data
      type: object
      properties:
        paging:
          $ref: '#/components/schemas/Paging'
        data:
          type: array
          items:
            $ref: '#/components/schemas/speaker-file'
          description: Collection of a speaker's documents.
    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
    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.
    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
    SessionLite:
      required:
      - id
      type: object
      title: SessionLite
      description: The unique identifier of a session.
      properties:
        id:
          $ref: '#/components/schemas/SessionId'
    speaker-category:
      title: SpeakerCategory
      description: A speaker category.
      type: object
      propertie

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