Cvent Registration Sessions API

Agenda sessions

Operations 29

GET /events/{id}/session-locations List Session Locations #
POST /events/{id}/session-locations Add Session Location #
POST /program-items Create Program Item #
GET /program-items List Program Items #
POST /program-items/docs/filter Filter Program Item Documents #
POST /program-items/filter List Program Items #
PUT /program-items/{programItemId} Update Program Item #
DELETE /program-items/{programItemId} Delete Session Program Item #
GET /program-items/{programItemId}/docs Get Program Item Documents #
PUT /program-items/{programItemId}/docs/{fileId} Add Program Item Document #
GET /program-items/{programItemId}/docs/{fileId} Get Program Item Document #
DELETE /program-items/{programItemId}/docs/{fileId} Delete Program Item Document #
GET /session-categories List Session Categories #
POST /session-categories Create Session Categories #
GET /session-segments Get Session Segments #
GET /sessions List Sessions #
POST /sessions Create Session #
POST /sessions/filter List Sessions #
GET /sessions/{id} Get Session #
PUT /sessions/{id} Update Session #
DELETE /sessions/{id} Delete Session #
PUT /sessions/{id}/custom-fields/{customFieldId}/answers Update Custom Field Answers #
GET /sessions/{id}/docs List Session Documents #
GET /sessions/{id}/docs/{fileId} Get Session Document #
PUT /sessions/{id}/docs/{fileId} Add Document To Session #
DELETE /sessions/{id}/docs/{fileId} Delete Document from Session #
GET /sessions/{id}/speakers List Session's Speakers #
PUT /sessions/{id}/speakers/{speakerId} Assign Speaker to Session #
DELETE /sessions/{id}/speakers/{speakerId} Delete Speaker From Session #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cvent-registration-sessions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

cvent-registration-sessions-api-openapi.yml Raw ↑
openapi: 3.0.2
info:
  title: Cvent Registration Sessions API
  version: ea
  description: 'Registration-surface slice of the official Cvent REST APIs OpenAPI, filtered to the ''Sessions'' tag(s).

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

    Full platform description, authentication, pagination, filtering, rate-limit and versioning narrative lives in openapi/_original/cvent-rest-apis-openapi.yaml.'
  contact:
    name: Cvent Development Platform
    url: https://developers.cvent.com/
servers:
- url: https://api-platform.cvent.com/ea
- url: https://api-platform-eur.cvent.com/ea
tags:
- name: Sessions
  description: A session is a presentation, discussion, or activity. Use these APIs to get information about your sessions
    and use the session ID to get further data within the event.
paths:
  /events/{id}/session-locations:
    get:
      security:
      - OAuth2.clientCredentials:
        - event/sessions:read
      - OAuth2.authorizationCode:
        - event/sessions:read
      summary: List Session Locations
      description: Gets a paginated list of session locations.
      operationId: getSessionLocation
      tags:
      - Sessions
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/token'
      responses:
        '200':
          description: Successfully retrieved paginated list of session locations.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/session-locations-paginated-response'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
    post:
      security:
      - OAuth2.clientCredentials:
        - event/sessions:write
      - OAuth2.authorizationCode:
        - event/sessions:write
      summary: Add Session Location
      description: Add a session location to the specified event.
      operationId: addSessionLocation
      tags:
      - Sessions
      requestBody:
        description: Details of the session location you're creating.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/session-location'
      responses:
        '201':
          description: Successfully created a session location
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/session-location'
        '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'
    parameters:
    - $ref: '#/components/parameters/eventId1'
  /program-items:
    post:
      security:
      - OAuth2.clientCredentials:
        - event/program-items:write
      - OAuth2.authorizationCode:
        - event/program-items:write
      summary: Create Program Item
      description: Create a session program item based on the details provided in the body of the request. A session program
        item is a specific part of a session's schedule, like a talk, workshop, or panel discussion. Max 25 program items
        per session.
      operationId: createProgramItem
      tags:
      - Sessions
      requestBody:
        description: Session program item to be created.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/program-item'
      responses:
        '201':
          description: Successfully created the session program item.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/program-item'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
    get:
      security:
      - OAuth2.clientCredentials:
        - event/program-items:read
      - OAuth2.authorizationCode:
        - event/program-items:read
      summary: List Program Items
      description: Gets a paginated list of session program items.
      operationId: listProgramItems
      tags:
      - Sessions
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/token'
      - name: filter
        in: query
        required: false
        description: 'Use filter query parameters to limit results

          to data that matches your criteria. See

          [Filters](https://developers.cvent.com/docs/rest-api/reference/filters) for details.


          Supported fields and operators are listed below:


          | Field      | Operators  |

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

          | id         | `eq`, `in` |

          | session.id | `eq`, `in` |

          | event.id   | `eq`       |


          The following logical operators are supported for combining filters:

          * and

          * or

          '
        schema:
          type: string
          example: session.id in ('04ca6ae2-0dc3-487b-953e-86d6abbdf7d3', '34ca65e2-1dc3-487b-589e-839d8bbdf7d3')
      responses:
        '200':
          description: Successfully retrieved a paginated list of session program items.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/program-item-paginated-response'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
  /program-items/docs/filter:
    post:
      security:
      - OAuth2.clientCredentials:
        - event/program-items:read
      - OAuth2.authorizationCode:
        - event/program-items:read
      summary: Filter Program Item Documents
      description: Gets a paginated list of session program item documents using a filter in the body of the request.
      operationId: filterProgramItemDocuments
      tags:
      - Sessions
      requestBody:
        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  * document.id (eq|in)\n  * programItem.id (eq|in)\n  * session.id (eq|in)\n  * event.id (eq)\n\
          \nThe following operators are available:\n  * and\n  * or\n"
        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'
      responses:
        '200':
          description: Successfully retrieved a paginated list of session program item documents.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/program-item-document-paginated-response'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
  /program-items/filter:
    post:
      security:
      - OAuth2.clientCredentials:
        - event/program-items:read
      - OAuth2.authorizationCode:
        - event/program-items:read
      summary: List Program Items
      description: Gets a paginated list of session program items by sending a filter in the body of the request. This method
        will return the same data as <a href="#operation/listProgramItems">GET List Program Items</a> but allows for longer
        filters.
      operationId: listProgramItemsPostFilters
      tags:
      - Sessions
      requestBody:
        description: See the filter description of <a href="#operation/listProgramItems">GET List Program Items</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 items.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/program-item-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}:
    put:
      security:
      - OAuth2.clientCredentials:
        - event/program-items:write
      - OAuth2.authorizationCode:
        - event/program-items:write
      summary: Update Program Item
      description: Updates the given session program item based on the details provided in the body of the request.
      operationId: updateProgramItem
      tags:
      - Sessions
      requestBody:
        description: Session program item to be updated.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/program-item-update-request'
      responses:
        '200':
          description: Successfully updated the session program item.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/program-item'
        '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'
    delete:
      security:
      - OAuth2.clientCredentials:
        - event/program-items:delete
      - OAuth2.authorizationCode:
        - event/program-items:delete
      summary: Delete Session Program Item
      description: Delete the given session program item.
      operationId: deleteProgramItem
      tags:
      - Sessions
      responses:
        '204':
          description: Successfully deleted the given session program item.
          headers: {}
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
    parameters:
    - $ref: '#/components/parameters/programItemId1'
  /program-items/{programItemId}/docs:
    get:
      security:
      - OAuth2.clientCredentials:
        - event/program-items:read
      - OAuth2.authorizationCode:
        - event/program-items:read
      summary: Get Program Item Documents
      description: 'Returns a list of session documents for the specified program item ID.

        **Note:** This endpoint is deprecated. use <a href="#operation/filterProgramItemDocuments">Filter Program Item Documents</a>'
      operationId: getProgramItemDocuments
      tags:
      - Sessions
      responses:
        '200':
          description: Successfully retrieved a list of program item to session document relationships for the specified program
            item ID.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/program-item-session-documents'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
      deprecated: true
    parameters:
    - $ref: '#/components/parameters/programItemId1'
  /program-items/{programItemId}/docs/{fileId}:
    put:
      security:
      - OAuth2.clientCredentials:
        - event/program-items:write
      - OAuth2.authorizationCode:
        - event/program-items:write
      summary: Add Program Item Document
      description: Creates a relationship between a session program item and a session document. Limit 10 session documents
        per session program item.
      operationId: relateProgramItemToSessionDocument
      tags:
      - Sessions
      responses:
        '200':
          description: Successfully created the relationship between the session program item and the session document.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/program-item-session-document'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '409':
          description: Program item session document 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 Program Item Document
      description: Returns a single program item to session document relationship for the provided IDs.
      operationId: getProgramItemSessionDocument
      tags:
      - Sessions
      responses:
        '200':
          description: Successfully retrieved a program item to session document relationship for the provided IDs.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/program-item-session-document'
        '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 Program Item Document
      description: Deletes session program item to session document relationship based on the provided IDs.
      operationId: deleteProgramItemSessionDocument
      tags:
      - Sessions
      responses:
        '204':
          description: Successfully deleted session program item to session document relationship.
          headers: {}
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
    parameters:
    - $ref: '#/components/parameters/programItemId1'
    - $ref: '#/components/parameters/fileId'
  /session-categories:
    get:
      security:
      - OAuth2.clientCredentials:
        - event/session-categories:read
      - OAuth2.authorizationCode:
        - event/session-categories:read
      summary: List Session Categories
      description: Gets a paginated list of session categories.
      operationId: listSessionsCategories
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/token'
      - name: sort
        in: query
        required: false
        style: form
        explode: false
        description: "The sort order passed as a parameter, used to control the order of the\nsearch results as a priority\
          \ ordered list of sorts\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:ASC
      - name: filter
        in: query
        required: false
        description: "Use filter query parameters to limit results\nto data that matches your criteria. See\n[Filters](https://developers.cvent.com/docs/rest-api/reference/filters)\
          \ for details.\n\nSupported fields and operators are listed below:\n\n| Field            | Operators           \
          \                |\n|------------------|-------------------------------------|\n| id               | `eq`, `ne`,\
          \ `in`                    |\n| name             | `eq`, `ne`, `contains`              |\n\nThe following operators\
          \ are available:\n  * and\n  * or\n"
        schema:
          type: string
          example: name contains 'general'
      tags:
      - Sessions
      responses:
        '200':
          description: Successfully retrieved a paginated list of sessions categories.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/session-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/session-categories:write
      - OAuth2.authorizationCode:
        - event/session-categories:write
      summary: Create Session Categories
      description: Create a session category.
      operationId: createSessionCategory
      tags:
      - Sessions
      requestBody:
        description: Contains the details of the session category you're creating.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/session-category'
      responses:
        '201':
          description: Successfully created a session category.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/session-category'
        '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'
  /session-segments:
    get:
      security:
      - OAuth2.clientCredentials:
        - event/session-segments:read
      - OAuth2.authorizationCode:
        - event/session-segments:read
      summary: Get Session Segments
      description: Return a list of session and audience segment associations.
      operationId: GetSessionSegments
      tags:
      - Sessions
      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\nThere are two comparison\
          \ types that can be used in filter expressions:\n  * equal: eq\n  * includes value(s): in\n\nThe following field\
          \ is filterable:\n  * segment.id (eq|in)\n  * session.id (eq|in)\n\nThe following operators are available:\n  *\
          \ and\n  * or\n"
        schema:
          type: string
          example: segment.id in ('04ca6ae2-0dc3-487b-953e-86d6abbdf7d3', '34ca65e2-1dc3-487b-589e-839d8bbdf7d3')
      responses:
        '200':
          description: Successfully retrieved a paginated list of session and audience segment associations.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/session-segment-paginated-response'
        '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'
  /sessions:
    get:
      security:
      - OAuth2.clientCredentials:
        - event/sessions:read
      - OAuth2.authorizationCode:
        - event/sessions:read
      summary: List Sessions
      description: Gets a paginated list of sessions.
      operationId: listSessions
      parameters:
      - $ref: '#/components/parameters/after'
      - $ref: '#/components/parameters/before'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/token'
      - $ref: '#/components/parameters/sort6'
      - $ref: '#/components/parameters/locale1'
      - name: filter
        in: query
        required: false
        description: 'Use filter query parameters to limit results

          to data that matches your criteria. See

          [Filters](https://developers.cvent.com/docs/rest-api/reference/filters) for details.


          Supported fields and operators are listed below:


          | Field                              | Operators                                    |

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

          | id                                 | `eq`, `ne`, `in`                             |

          | status                             | `eq`, `ne`                                   |

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

          | title                              | `eq`, `ne`, `contains`, `match`              |

          | code                               | `eq`, `ne`                                   |

          | category.id                        | `eq`, `ne`                                   |

          | category.name                      | `eq`, `ne`, `contains`                       |

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

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

          | description                        | `eq`, `ne`, `contains`                       |

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

          | location.id                        | `eq`, `ne`                                   |

          | location.name                      | `eq`, `ne`, `contains`                       |

          | location.code                      | `eq`, `ne`                                   |

          | includedSession                    | `eq`, `ne`                                   |

          | enableWaitlist                     | `eq`, `ne`                                   |

          | featured                           | `eq`, `ne`                                   |

          | openForRegistration                | `eq`, `ne`                                   |

          | openForAttendeeHub                 | `eq`, `ne`                                   |

          | virtual                            | `eq`, `ne`                                   |

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

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

          | registrationTypes                  | `contains`, `in`, `is empty`, `is not empty` |

          | customField.{uuid of custom field} | `eq`, `ne`, `lt`, `le`, `gt`, `ge`, `sw`, `contains`, `in` |

          | group.id                           | `eq`, `ne`                                   |

          | admissionItems                     | `contains`, `is empty`, `is not empty`       |

          | segments                           | `contains`, `in`, `is empty`, `is not empty` |


          **Note:** If the "match" filter is passed, the endpoint will return a relevance score for each session in the list
          and, by default, sort results by relevance. Higher scores represent a higher relevance to the filter string.


          The following logical operators are supported for combining filters:

          * and

          * or

          '
        schema:
          type: string
          example: status eq 'active' or status eq 'closed' or event.id eq 'abc' or customField.{uuid of custom field} in
            ('abc','def')
      tags:
      - Sessions
      responses:
        '200':
          description: Successfully retrieved a paginated list of sessions.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/sessions-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/sessions:write
      - OAuth2.authorizationCode:
        - event/sessions:write
      summary: Create Session
      description: Creates a single session based on the values provided in the request body.
      operationId: createSession
      tags:
      - Sessions
      requestBody:
        description: Details of the session you're creating.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/session'
      responses:
        '201':
          description: Successfully created a session with the provided details.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/session'
        '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'
  /sessions/filter:
    post:
      security:
      - OAuth2.clientCredentials:
        - event/sessions:read
      - OAuth2.authorizationCode:
        - event/sessions:read
      summary: List Sessions
      description: 'Gets a paginated list of sessions by sending a filter in the request''s body. This method returns the
        same data as <a href="#operation/listSessions">GET List Sessions</a> but allows longer filters.

        '
      operationId: listSessionsPostFilters
      requestBody:
        description: 'Contains filters for the request. See the filter description of

          <a href="#operation/listSessions">GET List Sessions</a> for complete

          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'
      tags:
      - Sessions
      responses:
        '200':
          description: Successfully retrieved a paginated list of sessions.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/sessions-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'
  /sessions/{id}:
    get:
      summary: Get Session
      description: Gets a single session based on the provided session ID.
      operationId: getSessionById
      security:
      - OAuth2.clientCredentials:
        - event/sessions:read
      - OAuth2.authorizationCode:
        - event/sessions:read
      tags:
      - Sessions
      responses:
        '200':
          description: Successfully retrieved a session.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/session'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
      deprecated: false
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
    put:
      security:
      - OAuth2.clientCredentials:
        - event/sessions:write
      - OAuth2.authorizationCode:
        - event/sessions:write
      summary: Update Session
      description: Updates the given session with the values provided in the request body.
      operationId: updateSession
      tags:
      - Sessions
      requestBody:
        description: 'Contains values that you''ll update the session with.

          Passing a null value in a field renders the field blank.

          Omitting a field from the request body renders the field blank

          on the session record.

          '
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/session-update'
      responses:
        '200

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