8x8

8x8 Conversations API

Provides Contact Center interaction capabilities.

Operations 17

GET /vcc/{region}/chat/v2/tenant/{tenant-id}/conversations Returns all conversations belonging to the customer. #
POST /vcc/{region}/chat/v2/tenant/{tenant-id}/conversations Creates a new conversation. #
GET /vcc/{region}/chat/v2/tenant/{tenant-id}/conversations/{conversation-id} Retrieves conversation details. #
GET /vcc/{region}/chat/v2/tenant/{tenant-id}/conversations/{conversation-id}/participants Retrieve the conversation participants. #
DELETE /vcc/{region}/chat/v2/tenant/{tenant-id}/conversations/{conversation-id}/participants/customer Customers leaves conversation. #
GET /vcc/{region}/chat/v2/tenant/{tenant-id}/conversations/{conversation-id}/messages Retrieves the conversation messages. #
POST /vcc/{region}/chat/v2/tenant/{tenant-id}/conversations/{conversation-id}/messages Send a message. #
GET /chat-gateway/v1/conversations Returns all conversations belonging to the customer. #
POST /chat-gateway/v1/conversations Creates a new conversation. #
PUT /chat-gateway/v1/conversations/{conversationId} Update a conversation details. #
PATCH /chat-gateway/v1/conversations/{conversationId} Patch a conversation details. #
GET /chat-gateway/v1/conversations/{conversationId} Retrieves conversation details. #
GET /chat-gateway/v1/conversations/{conversationId}/interactions Returns all conversations belonging to the customer. #
POST /chat-gateway/v1/conversations/{conversationId}/post-agent-assignment Creates a post agent assignment for a conversation. #
POST /chat-gateway/v1/conversations/{conversationId}/typing Creates a typing indicator for a conversation. #
POST /chat-gateway/v1/conversations/{conversationId}/thinking Sends a thinking indicator for a conversation. #
POST /chat-gateway/v1/conversations/{conversationId}/read-receipt Sends a read receipt for a conversation. #

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/8x8-conversations-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 email required.

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

OpenAPI Specification

8x8-conversations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: 8x8 Conversations API
  version: '1.0'
  description: 'Operations tagged Conversations across 3 of this provider''s published API definitions: 8x8-actions-events-8x8-contact-center-chat-api-v2.json, 8x8-actions-events-contact-center-chat-gateway-v1.yml, 8x8-contactcenter-8x8-contact-center-chat-api.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.8x8.com
tags:
- name: Conversations
  description: Provides Contact Center interaction capabilities.
paths:
  /vcc/{region}/chat/v2/tenant/{tenant-id}/conversations:
    servers:
    - url: https://api.8x8.com
    get:
      tags:
      - Conversations
      summary: Returns all conversations belonging to the customer.
      description: Returns a list of all conversations belonging to the customer that comply with the provided filters.
      operationId: getcctransactions
      security:
      - 8x8APIBearerToken:
        - vcc-chat.conversations.read
      parameters:
      - $ref: '#/components/parameters/RegionParam'
      - $ref: '#/components/parameters/TenantIdPathParam'
      - $ref: '#/components/parameters/PageSizeFilterOptional'
      - $ref: '#/components/parameters/PageIndexFilterOptional'
      - $ref: '#/components/parameters/ChannelIdFilterOptional'
      - name: status
        in: query
        required: false
        description: Transaction status
        schema:
          anyOf:
          - type: string
            x-extensible-enum:
            - all
            default: all
          - $ref: '#/components/schemas/TransactionStatus'
      - name: order
        in: query
        required: false
        description: The order results that are based on create time.
        schema:
          type: string
          enum:
          - asc
          - desc
          default: asc
      - name: userId
        in: query
        required: false
        description: Filters orders by userId.
        schema:
          type: string
          format: string
      - name: customer.email
        in: query
        required: false
        schema:
          type: string
          format: string
          default: email
      - name: customer.<anyCustomerKeyName>
        in: query
        required: false
        schema:
          type: string
          format: string
          default: customerKeyValue
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConversationListResult'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenRequestResponse'
        '404':
          $ref: '#/components/responses/ResourceNotFoundResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
        default:
          $ref: '#/components/responses/InternalServerErrorResponse'
    post:
      tags:
      - Conversations
      summary: Creates a new conversation.
      description: Creates a new transaction in the Contact Center and returns a conversation Id as an identifier that can be used later on to send messages to agent and also close the ongoing transaction.
      operationId: createcctransaction
      security:
      - 8x8APIBearerToken:
        - vcc-chat.conversations.write
      parameters:
      - $ref: '#/components/parameters/RegionParam'
      - $ref: '#/components/parameters/TenantIdPathParam'
      requestBody:
        $ref: '#/components/requestBodies/CreateTransactionRequestBody'
      responses:
        '202':
          description: Transaction accepted.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/ConversationIdentifierField'
        '400':
          $ref: '#/components/responses/RequestValidationV2Problem'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenRequestResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
        default:
          $ref: '#/components/responses/InternalServerErrorResponse'
  /vcc/{region}/chat/v2/tenant/{tenant-id}/conversations/{conversation-id}:
    servers:
    - url: https://api.8x8.com
    get:
      tags:
      - Conversations
      summary: Retrieves conversation details.
      description: Retrieves conversation details.
      operationId: getcctransaction
      security:
      - 8x8APIBearerToken:
        - vcc-chat.conversations.read
      parameters:
      - $ref: '#/components/parameters/RegionParam'
      - $ref: '#/components/parameters/TenantIdPathParam'
      - $ref: '#/components/parameters/ChatAPIConversationUrlID'
      responses:
        '200':
          description: Returns the conversation details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConversationResult'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenRequestResponse'
        '404':
          $ref: '#/components/responses/ResourceNotFoundResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
        default:
          $ref: '#/components/responses/InternalServerErrorResponse'
  /vcc/{region}/chat/v2/tenant/{tenant-id}/conversations/{conversation-id}/participants:
    servers:
    - url: https://api.8x8.com
    get:
      tags:
      - Conversations
      summary: Retrieve the conversation participants.
      description: Retrieves all the participants that joined during the lifespan of the conversation.
      operationId: getparticipantsforcctransaction
      security:
      - 8x8APIBearerToken:
        - vcc-chat.conversations.read
      parameters:
      - $ref: '#/components/parameters/RegionParam'
      - $ref: '#/components/parameters/TenantIdPathParam'
      - $ref: '#/components/parameters/ChatAPIConversationUrlID'
      responses:
        '200':
          description: Participants list
          content:
            application/json:
              schema:
                type: object
                required:
                - participants
                properties:
                  participants:
                    $ref: '#/components/schemas/ConversationParticipants'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenRequestResponse'
        '404':
          $ref: '#/components/responses/ResourceNotFoundResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
        default:
          $ref: '#/components/responses/InternalServerErrorResponse'
  /vcc/{region}/chat/v2/tenant/{tenant-id}/conversations/{conversation-id}/participants/customer:
    servers:
    - url: https://api.8x8.com
    delete:
      tags:
      - Conversations
      summary: Customers leaves conversation.
      description: When customers leave a conversation. It translates to a current interaction that is being terminated by the customer.
      operationId: customerparticipantleavecctransaction
      security:
      - 8x8APIBearerToken:
        - vcc-chat.conversations.write
      parameters:
      - $ref: '#/components/parameters/RegionParam'
      - $ref: '#/components/parameters/TenantIdPathParam'
      - $ref: '#/components/parameters/ChatAPIConversationUrlID'
      responses:
        '204':
          description: Confirms that the customer left the interaction.
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenRequestResponse'
        '404':
          $ref: '#/components/responses/ResourceNotFoundResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
        default:
          description: Confirms that the customer left the interaction.
  /vcc/{region}/chat/v2/tenant/{tenant-id}/conversations/{conversation-id}/messages:
    servers:
    - url: https://api.8x8.com
    get:
      tags:
      - Conversations
      summary: Retrieves the conversation messages.
      description: Retrieves the conversation messages that took place during the lifepan of the conversation.
      operationId: getmessagesforcctransaction
      security:
      - 8x8APIBearerToken:
        - vcc-chat.conversations.read
      parameters:
      - $ref: '#/components/parameters/RegionParam'
      - $ref: '#/components/parameters/TenantIdPathParam'
      - $ref: '#/components/parameters/ChatAPIConversationUrlID'
      - $ref: '#/components/parameters/InteractionUrlID'
      responses:
        '200':
          description: Message list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageListResult'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenRequestResponse'
        '404':
          $ref: '#/components/responses/ResourceNotFoundResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
        default:
          $ref: '#/components/responses/InternalServerErrorResponse'
    post:
      tags:
      - Conversations
      summary: Send a message.
      description: Send a message to a conversation represented by the provided ID.
      operationId: sendmessagetocctransaction
      security:
      - 8x8APIBearerToken:
        - vcc-chat.conversations.write
      parameters:
      - $ref: '#/components/parameters/RegionParam'
      - $ref: '#/components/parameters/TenantIdPathParam'
      - $ref: '#/components/parameters/ChatAPIConversationUrlID'
      requestBody:
        $ref: '#/components/requestBodies/SendMessageToConversationRequest'
      responses:
        '202':
          description: Accepted message.
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenRequestResponse'
        '404':
          $ref: '#/components/responses/ResourceNotFoundResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
        default:
          $ref: '#/components/responses/InternalServerErrorResponse'
  /chat-gateway/v1/conversations:
    servers:
    - url: https://api.8x8.com
    get:
      tags:
      - Conversations
      summary: Returns all conversations belonging to the customer.
      description: Returns a list of all conversations belonging to the customer that comply with the provided filters.
      operationId: getcctransactions-1
      security:
      - 8x8ApiKey:
        - Contact Center Chat Gateway
      parameters:
      - $ref: '#/components/parameters/PageSizeFilterOptional'
      - $ref: '#/components/parameters/PageIndexFilterOptional'
      - $ref: '#/components/parameters/SortByOptional'
      - $ref: '#/components/parameters/FilterOptional'
      - $ref: '#/components/parameters/TenantIdFilterOptional'
      responses:
        '200':
          description: OK
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/ConversationListResult_2'
        '400':
          $ref: '#/components/responses/GeneralErrorResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenRequestResponse'
        '500':
          $ref: '#/components/responses/GeneralErrorResponse'
        default:
          $ref: '#/components/responses/GeneralErrorResponse'
    post:
      tags:
      - Conversations
      summary: Creates a new conversation.
      description: Creates a new transaction in the Contact Center and returns a conversation Id as an identifier that can be used later on to send messages to agent and also close the ongoing transaction.
      operationId: createcctransaction-1
      security:
      - 8x8ApiKey:
        - Contact Center Chat Gateway
      parameters:
      - $ref: '#/components/parameters/TenantIdFilterOptional'
      requestBody:
        $ref: '#/components/requestBodies/CreateTransactionRequestBody'
      responses:
        '202':
          description: Conversation entity is created and the associated interaction is in the process of being created. The state of the conversation entity is CREATED and the first webhook event is sent with CREATED state. A webhook event stating that the conversation is ACTIVE will be sent after the interaction is also created and the state field in the conversation resource will be ACTIVE.
          content:
            application/hal+json:
              schema:
                allOf:
                - $ref: '#/components/schemas/ConversationIdentifierField_2'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenRequestResponse'
        '400':
          $ref: '#/components/responses/GeneralErrorResponse'
        '500':
          $ref: '#/components/responses/GeneralErrorResponse'
        default:
          $ref: '#/components/responses/GeneralErrorResponse'
  /chat-gateway/v1/conversations/{conversationId}:
    servers:
    - url: https://api.8x8.com
    put:
      tags:
      - Conversations
      summary: Update a conversation details.
      description: Update a conversation details.
      operationId: putcctransaction
      security:
      - 8x8ApiKey:
        - Contact Center Chat Gateway
      parameters:
      - $ref: '#/components/parameters/ChatAPIConversationUrlID_2'
      - $ref: '#/components/parameters/TenantIdFilterOptional'
      requestBody:
        $ref: '#/components/requestBodies/UpdateTransactionRequestBody'
      responses:
        '202':
          description: Transaction accepted. Assignment changes are still processing and the success of the operation will be reflected by the webhook event or by the changes to the assignment field in the conversation resource.
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/ConversationResult_2'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenRequestResponse'
        '404':
          $ref: '#/components/responses/ResourceNotFoundResponse'
        '500':
          $ref: '#/components/responses/GeneralErrorResponse'
        default:
          $ref: '#/components/responses/GeneralErrorResponse'
    patch:
      tags:
      - Conversations
      summary: Patch a conversation details.
      description: Patch a conversation details.
      operationId: patchcctransaction
      security:
      - 8x8ApiKey:
        - Contact Center Chat Gateway
      parameters:
      - $ref: '#/components/parameters/ChatAPIConversationUrlID_2'
      - $ref: '#/components/parameters/TenantIdFilterOptional'
      requestBody:
        $ref: '#/components/requestBodies/PatchTransactionRequestBody'
      responses:
        '202':
          description: Transaction accepted. Assignment changes are still processing and the success of the operation will be reflected by the webhook event or by the changes to the assignment field in the conversation resource.
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/ConversationResult_2'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenRequestResponse'
        '404':
          $ref: '#/components/responses/ResourceNotFoundResponse'
        '500':
          $ref: '#/components/responses/GeneralErrorResponse'
        default:
          $ref: '#/components/responses/GeneralErrorResponse'
    get:
      tags:
      - Conversations
      summary: Retrieves conversation details.
      description: Retrieves conversation details.
      operationId: getcctransaction-1
      security:
      - 8x8ApiKey:
        - Contact Center Chat Gateway
      parameters:
      - $ref: '#/components/parameters/ChatAPIConversationUrlID_2'
      - $ref: '#/components/parameters/TenantIdFilterOptional'
      responses:
        '200':
          description: Returns the conversation details.
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/ConversationResult_2'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenRequestResponse'
        '404':
          $ref: '#/components/responses/ResourceNotFoundResponse'
        '500':
          $ref: '#/components/responses/GeneralErrorResponse'
        default:
          $ref: '#/components/responses/GeneralErrorResponse'
  /chat-gateway/v1/conversations/{conversationId}/interactions:
    servers:
    - url: https://api.8x8.com
    get:
      tags:
      - Conversations
      summary: Returns all conversations belonging to the customer.
      description: Returns a list of all conversations belonging to the customer that comply with the provided filters.
      operationId: getccinteractions
      security:
      - 8x8ApiKey:
        - Contact Center Chat Gateway
      parameters:
      - $ref: '#/components/parameters/ChatAPIConversationUrlID_2'
      - $ref: '#/components/parameters/TenantIdFilterOptional'
      responses:
        '200':
          description: OK
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/InteractionsListResult'
        '400':
          $ref: '#/components/responses/GeneralErrorResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenRequestResponse'
        '404':
          $ref: '#/components/responses/ResourceNotFoundResponse'
        '500':
          $ref: '#/components/responses/GeneralErrorResponse'
        default:
          $ref: '#/components/responses/GeneralErrorResponse'
  /chat-gateway/v1/conversations/{conversationId}/post-agent-assignment:
    servers:
    - url: https://api.8x8.com
    post:
      tags:
      - Conversations
      summary: Creates a post agent assignment for a conversation.
      description: Creates a post-agent assignment for a conversation. This endpoint allows the conversation to be handed back to the bot after an agent finishes their interaction, to ensure seamless continuation of the customer's digital journey after agent interactions, allowing for tasks such as surveys or further automated assistance. The flexible assignment mechanism supports various post-conversation workflows and is designed to be extensible for different use cases after the agent engagement has concluded.
      operationId: createpostagentassignment
      security:
      - 8x8ApiKey:
        - Contact Center Chat Gateway
      parameters:
      - $ref: '#/components/parameters/ChatAPIConversationUrlID_2'
      requestBody:
        $ref: '#/components/requestBodies/PostAgentAssignmentRequestBody'
      responses:
        '201':
          description: CREATED
        '400':
          $ref: '#/components/responses/InvalidParameterExceptionResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenRequestResponse'
        '404':
          $ref: '#/components/responses/ResourceNotFoundExceptionResponse'
        '500':
          $ref: '#/components/responses/GeneralErrorResponse'
        default:
          $ref: '#/components/responses/GeneralErrorResponse'
  /chat-gateway/v1/conversations/{conversationId}/typing:
    servers:
    - url: https://api.8x8.com
    post:
      tags:
      - Conversations
      summary: Creates a typing indicator for a conversation.
      description: ' Sends a typing indicator to the Chalet room associated with the given conversation. Requires an authorType of either ''user'' or ''bot'' to determine the identity used when sending the indicator.'
      operationId: sendtypingindicator
      security:
      - 8x8ApiKey:
        - Contact Center Chat Gateway
      parameters:
      - $ref: '#/components/parameters/ChatAPIConversationUrlID_2'
      requestBody:
        $ref: '#/components/requestBodies/TypingRequestBody'
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/InvalidParameterExceptionResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenRequestResponse'
        '404':
          $ref: '#/components/responses/ResourceNotFoundExceptionResponse'
        '500':
          $ref: '#/components/responses/GeneralErrorResponse'
        default:
          $ref: '#/components/responses/GeneralErrorResponse'
  /chat-gateway/v1/conversations/{conversationId}/thinking:
    servers:
    - url: https://api.8x8.com
    post:
      tags:
      - Conversations
      summary: Sends a thinking indicator for a conversation.
      description: Sends a thinking indicator notification to the Chalet backplane room-update resource, signaling that the bot is processing. The request body is optional; when omitted, defaults are applied (authorType='bot', maxThinkingTimeSeconds=60).
      operationId: sendthinkingindicator
      security:
      - 8x8ApiKey:
        - Contact Center Chat Gateway
      parameters:
      - $ref: '#/components/parameters/ChatAPIConversationUrlID_2'
      requestBody:
        $ref: '#/components/requestBodies/ThinkingIndicatorRequestBody'
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/InvalidParameterExceptionResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenRequestResponse'
        '404':
          $ref: '#/components/responses/ResourceNotFoundExceptionResponse'
        '500':
          $ref: '#/components/responses/GeneralErrorResponse'
        default:
          $ref: '#/components/responses/GeneralErrorResponse'
  /chat-gateway/v1/conversations/{conversationId}/read-receipt:
    servers:
    - url: https://api.8x8.com
    post:
      tags:
      - Conversations
      summary: Sends a read receipt for a conversation.
      description: Sends a read receipt to the Chalet room associated with the given conversation, indicating that all messages up to the given timestamp have been read. Requires an authorType of either 'user' or 'bot'. The 'user' authorType is only allowed for CHAT_API channels.
      operationId: sendreadreceipt
      security:
      - 8x8ApiKey:
        - Contact Center Chat Gateway
      parameters:
      - $ref: '#/components/parameters/ChatAPIConversationUrlID_2'
      requestBody:
        $ref: '#/components/requestBodies/ReadReceiptRequestBody'
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/InvalidParameterExceptionResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenRequestResponse'
        '404':
          $ref: '#/components/responses/ResourceNotFoundExceptionResponse'
        '500':
          $ref: '#/components/responses/GeneralErrorResponse'
        default:
          $ref: '#/components/responses/GeneralErrorResponse'
components:
  schemas:
    AdditionalPropertiesPayload:
      allOf:
      - type: object
        properties:
          key:
            type: string
            format: string
            example: customKey
          value:
            type: string
            format: string
            example: customValue
        example:
          key: senderName
          value: John Doe
    ConversationResult_2:
      allOf:
      - $ref: '#/components/schemas/ChannelIdentifierField'
      - $ref: '#/components/schemas/AssignmentField'
      - $ref: '#/components/schemas/ConversationUserData'
      - type: object
        properties:
          id:
            type: string
            example: vXg39aMTRlq4xCBFaUCTlA
            description: Conversation / Transaction identifier.
          state:
            type: string
            enum:
            - created
            - active
            - idle
            example: idle
            description: Conversation state.
    ConversationListResult:
      allOf:
      - type: object
        properties:
          data:
            type: array
            items:
              $ref: '#/components/schemas/ConversationResult'
      - $ref: '#/components/schemas/PageResult'
    ConversationParticipants:
      type: object
      properties:
        id:
          type: string
          format: string
          description: Participant identifier. (AgentId, Customer, Bot)
        type:
          $ref: '#/components/schemas/AuthorType'
        language:
          $ref: '#/components/schemas/Language'
    ConversationIdentifierField:
      type: object
      properties:
        conversationId:
          type: string
          format: string
          description: Returns the conversation identifier.
          example: ID-0
        timestamp:
          type: integer
          format: integer
    CreateTransactionRequest:
      allOf:
      - $ref: '#/components/schemas/ChannelIdentifierField'
      - $ref: '#/components/schemas/ConversationCustomerData'
      - type: object
        required:
        - channelId
        - user
        properties:
          history:
            type: object
            required:
            - messages
            properties:
              messages:
                type: array
                maxLength: 200
                items:
                  $ref: '#/components/schemas/HistoryMessageV2'
    ChannelIdentifierField:
      type: object
      properties:
        channelId:
          type: string
          format: string
          description: Channel ID for which the transaction will be created.
          example: '25'
    PageResult:
      type: object
      properties:
        page:
          type: object
          properties:
            pageSize:
              type: number
              format: int32
              description: Page size of the response.
            pageIndex:
              type: number
              format: int32
              description: Page 0-based index of the response.
            elementCount:
              type: number
              format: int32
              description: Total number of items.
            pageCount:
              type: number
              format: int32
              description: Total number of pages.
    PostAgentAssignmentConfigurationRequest:
      type: object
      properties:
        configuration:
          type: object
          description: ''
          properties:
            notifyChannelWebhookIfExists:
              type: string
              format: string
              description: 'Sets the Contact Center user’s name. The Contact Center agent views this name in the chat conversation. For example: John Doe'
              example: 'false'
            maxTotalMinutes:
              type: integer
              format: int32
              description: conversation finishes when this duration passes - not mandatory
              example: 300
              minimum: 20
              maximum: 600
            userTimeoutInMinutes:
              type: integer
              format: int32
              description: conversation finishes if user doesn't reply in x minutes from bot's last message
              example: 150
              minimum: 10
              maximum: 300
    ConversationListResult_2:
      allOf:
      - type: object
        properties:
          _embedded:
            type: object
            properties:
              conversations:
                type: array
                items:
                  $ref: '#/components/schemas/ConversationResult_2'
      - $ref: '#/components/schemas/Links'
      - $ref: '#/components/schemas/PageResult_2'
    ConversationResult:
      allOf:
      - $ref: '#/components/schemas/ChannelIdentifierField'
      - $ref: '#/components/schemas/ConversationCustomerData'
      - type: object
        properties:
          id:
            type: string
            example: vXg39aMTRlq4xCBFaUCTlA
            description: Conversation / Transaction identifier.
          startTime:
            type: string
            format: date-time
          interactions:
            type: array
            items:
              $ref: '#/components/schemas/InteractionInfo'
    ResourceNotFoundExceptionPayload:
      type: object
      properties:
        message:
          type: string
          description: Error message.
          example: Resource not found
        errors:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
                description: Unique error code.
                example: resource_not_found
              message:
                type: string
                description: Free text error description.
                example: Entity of type Conversation with id aaa was not found.
    SendConversationMessagePayload:
      type: object
      required:
      - text
      properties:
        authorType:
          $ref: '#/components/schemas/ExternalAuthorType'
        text:
          type: string
          format: string
          example: Hello!
    InteractionsListResult:
      allOf:
      - type: object
        properties:
          _embedded:
            type: object
            properties:
              interactions:
                type: array
                items:
                  $ref: '#/components/schemas/InteractionInfo'
      - $ref: '#/components/schemas/Links'
      - $ref: '#/components/schemas/PageResult_2'
    MessageResult:
      type: object
      required:
      - originalText
      - type
      - senderId
      - interactionId
      properties:
        interactionId:
          type: string
          format: string
          description: The interaction Id durring which this message was written.
        originalText:
          type: string
          format: string
          description: The message written by the sender.
          example: Hello!
        translatedText:
          type: string
          format: string
          description: The message read by the receiver.
          example: Ola!
        authorType:
          $ref: '#/components/schemas/AuthorType'
        participantId:
          type: string
          format: string
          description: The Id of the user who wrote the message.
    ConversationIdentifierField_2:
      type: object
      properties:
        conversationId:
          type: string
          format: string
          description: Returns the conversation identifier.
          example: ID-0
        createdAt:
          type: string
          format: date-time
          description: Creation date and time - iso8601
          example: '2021-01-30T08:30:00Z'
    AssignmentField:
      type: object
      properties:
        assignment:
          type: object
          properties:
            type:
              type: string
              format: string
              x-extensible-enum:
              - queue
              - script
              default: queue
            id:
              type: string
              format: string
              description: Queue or Script identifier, depending of which type is being used.
              example: '100'
    GenericExceptionPayload:
      type: object
      properties:
        message:
          type: string
          description: Error message.
          example: Internal error.
        errors:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
                description: Unique error code.
                example: invalid_queue
              message:
                type: string
                description: Free text error description.
                example: Queue ID 112 is invalid.
    PatchTransactionRequest:
      anyOf:
      - $ref: '#/components/schemas/AssignmentField'
      - $ref: '#/components/sche

# --- truncated at 32 KB (51 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/8x8/refs/heads/main/openapi/8x8-conversations-api-openapi.yml