Genesys WebMessaging API

Web messaging

OpenAPI Specification

genesys-webmessaging-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  description: With the PureCloud Platform API, you can control all aspects of your PureCloud environment. With the APIs you can access the system configuration, manage conversations and more.
  version: v2
  title: PureCloud Platform Agent Assistants WebMessaging API
  termsOfService: https://help.genesys.cloud/articles/terms-and-conditions/
  contact:
    name: PureCloud Developer Evangelists
    url: https://developer.genesys.cloud/
    email: DeveloperEvangelists@genesys.com
  license:
    name: UNLICENSED
    url: https://help.genesys.cloud/articles/terms-and-conditions/
host: api.mypurecloud.com
schemes:
- https
consumes:
- application/json
produces:
- application/json
tags:
- name: WebMessaging
  description: Web messaging
  externalDocs:
    description: Web Messaging Documentation
    url: https://developer.genesys.cloud/commdigital/digital/webmessaging/webmessaging-apis
paths:
  /api/v2/webmessaging/deployments/{deploymentId}/pushdevices/{tokenId}:
    post:
      tags:
      - WebMessaging
      summary: Add a new device information
      description: ''
      operationId: postWebmessagingDeploymentPushdevice
      produces:
      - application/json
      parameters:
      - name: deploymentId
        in: path
        description: WebMessaging deployment id
        required: true
        type: string
      - name: tokenId
        in: path
        description: Device token id or cookie id
        required: true
        type: string
      - in: body
        name: body
        description: Request body
        required: true
        schema:
          $ref: '#/definitions/PushDeviceInsertRequest'
      responses:
        '204':
          description: Device created successfully
        '400':
          description: The request could not be understood by the server due to malformed syntax.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            bad.request: The request could not be understood by the server due to malformed syntax.
            response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable
            invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ'
            invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s'
            client.failed.request: The client did not produce a request with valid end of stream signaling. This can be caused by poor network connection and/or client behavior.
            invalid.path.parameter: Wrong path parameter(s) passed in the URL path.
            invalid.property: Value [%s] is not a valid property for object [%s]
            required.fields.missing: Missing required field(s).
            request.body.empty: Request Body is Empty.
            field.value.invalid: Invalid values present in the field(s).
            constraint.validation: '%s'
            invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s'
        '401':
          description: No authentication bearer token specified in authorization header.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            authentication.required: No authentication bearer token specified in authorization header.
            ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]'
            bad.credentials: Invalid login credentials.
        '403':
          description: You are not authorized to perform the requested action.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            feature.toggle.disabled: Feature Toggle is not enabled for the organization.
            missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s).
            app.not.authorized.for.scope: App not authorized to use scope %s
            missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s'
            not.authorized: You are not authorized to perform the requested action.
            missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s'
            authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]'
            missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s'
        '404':
          description: The requested resource was not found.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            deployment.not.found: No deployment found.
            not.found: The requested resource was not found.
        '408':
          description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
        '409':
          description: The request conflicts with the current state of the target resource.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            request.conflict: The request conflicts with the current state of the target resource.
            device.already.registered: Device already registered
        '413':
          description: 'The request is over the size limit. Maximum bytes: %s'
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s'
        '415':
          description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
        '429':
          description: Rate limit exceeded the maximum. Retry the request in [%s] seconds
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds
            too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds
        '500':
          description: The server encountered an unexpected condition which prevented it from fulfilling the request.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            contacts.stitching.error: Error occured while stiching the contact.
            device.registration.failure: Failed to register device.
            internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request.
        '503':
          description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
        '504':
          description: The request timed out.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            authentication.request.timeout: Authentication request timeout.
            request.timeout: The request timed out.
      x-purecloud-method-name: postWebmessagingDeploymentPushdevice
    delete:
      tags:
      - WebMessaging
      summary: Delete device information
      description: ''
      operationId: deleteWebmessagingDeploymentPushdevice
      produces:
      - application/json
      parameters:
      - name: deploymentId
        in: path
        description: WebMessaging deployment id
        required: true
        type: string
      - name: tokenId
        in: path
        description: Device token id or cookie id
        required: true
        type: string
      responses:
        '204':
          description: Device deleted successfully
        '400':
          description: The request could not be understood by the server due to malformed syntax.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            bad.request: The request could not be understood by the server due to malformed syntax.
            response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable
            invalid.path.parameter: Wrong path parameter(s) passed in the URL path.
        '401':
          description: No authentication bearer token specified in authorization header.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            authentication.required: No authentication bearer token specified in authorization header.
            ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]'
            bad.credentials: Invalid login credentials.
        '403':
          description: You are not authorized to perform the requested action.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            feature.toggle.disabled: Feature Toggle is not enabled for the organization.
            missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s).
            app.not.authorized.for.scope: App not authorized to use scope %s
            missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s'
            not.authorized: You are not authorized to perform the requested action.
            missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s'
            authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]'
            missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s'
        '404':
          description: The requested resource was not found.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            deployment.not.found: No deployment found.
            not.found: The requested resource was not found.
            device.not.found: No device found.
        '408':
          description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
        '409':
          description: The request conflicts with the current state of the target resource.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            request.conflict: The request conflicts with the current state of the target resource.
        '413':
          description: 'The request is over the size limit. Maximum bytes: %s'
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s'
        '415':
          description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
        '429':
          description: Rate limit exceeded the maximum. Retry the request in [%s] seconds
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds
            too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds
        '500':
          description: The server encountered an unexpected condition which prevented it from fulfilling the request.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            device.delete.failure: Failed to delete device.
            internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request.
        '503':
          description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
        '504':
          description: The request timed out.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            authentication.request.timeout: Authentication request timeout.
            request.timeout: The request timed out.
      x-purecloud-method-name: deleteWebmessagingDeploymentPushdevice
    patch:
      tags:
      - WebMessaging
      summary: Edit device information
      description: ''
      operationId: patchWebmessagingDeploymentPushdevice
      produces:
      - application/json
      parameters:
      - name: deploymentId
        in: path
        description: WebMessaging deployment id
        required: true
        type: string
      - name: tokenId
        in: path
        description: Device token id or cookie id
        required: true
        type: string
      - in: body
        name: body
        description: Request body
        required: true
        schema:
          $ref: '#/definitions/PushDeviceUpdateRequest'
      responses:
        '204':
          description: Device updated successfully
        '400':
          description: The request could not be understood by the server due to malformed syntax.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            bad.request: The request could not be understood by the server due to malformed syntax.
            response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable
            invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ'
            invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s'
            client.failed.request: The client did not produce a request with valid end of stream signaling. This can be caused by poor network connection and/or client behavior.
            invalid.path.parameter: Wrong path parameter(s) passed in the URL path.
            invalid.property: Value [%s] is not a valid property for object [%s]
            request.body.empty: Request Body is Empty.
            update.fields.missing: Missing field(s).
            constraint.validation: '%s'
            invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s'
        '401':
          description: No authentication bearer token specified in authorization header.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            authentication.required: No authentication bearer token specified in authorization header.
            ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]'
            bad.credentials: Invalid login credentials.
        '403':
          description: You are not authorized to perform the requested action.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            feature.toggle.disabled: Feature Toggle is not enabled for the organization.
            missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s).
            app.not.authorized.for.scope: App not authorized to use scope %s
            missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s'
            not.authorized: You are not authorized to perform the requested action.
            missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s'
            authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]'
            missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s'
        '404':
          description: The requested resource was not found.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            deployment.not.found: No deployment found.
            not.found: The requested resource was not found.
            device.not.found: No device found.
        '408':
          description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
        '409':
          description: The request conflicts with the current state of the target resource.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            request.conflict: The request conflicts with the current state of the target resource.
        '413':
          description: 'The request is over the size limit. Maximum bytes: %s'
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s'
        '415':
          description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
        '429':
          description: Rate limit exceeded the maximum. Retry the request in [%s] seconds
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds
            too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds
        '500':
          description: The server encountered an unexpected condition which prevented it from fulfilling the request.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            device.update.failure: Failed to update device.
            internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request.
        '503':
          description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
        '504':
          description: The request timed out.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            authentication.request.timeout: Authentication request timeout.
            request.timeout: The request timed out.
      x-purecloud-method-name: patchWebmessagingDeploymentPushdevice
  /api/v2/webmessaging/messages:
    get:
      tags:
      - WebMessaging
      summary: Get the messages for a web messaging session.
      description: ''
      operationId: getWebmessagingMessages
      produces:
      - application/json
      parameters:
      - name: pageSize
        in: query
        description: Page size
        required: false
        type: integer
        default: 25
        format: int32
      - name: pageNumber
        in: query
        description: Page number
        required: false
        type: integer
        default: 1
        format: int32
      responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/WebMessagingMessageEntityList'
        '400':
          description: The request could not be understood by the server due to malformed syntax.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            bad.request: The request could not be understood by the server due to malformed syntax.
            response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable
            invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ'
            invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s'
            invalid.property: Value [%s] is not a valid property for object [%s]
            parameters.missing: Parameters are missing
            constraint.validation: '%s'
            invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s'
        '401':
          description: No authentication bearer token specified in authorization header.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            authentication.required: No authentication bearer token specified in authorization header.
            ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]'
            bad.credentials: Invalid login credentials.
        '403':
          description: You are not authorized to perform the requested action.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s).
            app.not.authorized.for.scope: App not authorized to use scope %s
            missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s'
            not.authorized: You are not authorized to perform the requested action.
            missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s'
            authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]'
            missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s'
        '404':
          description: The requested resource was not found.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            session.expired: The session has expired.
            session.not.found: Session was not found.
            not.found: The requested resource was not found.
        '408':
          description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
        '409':
          description: The request conflicts with the current state of the target resource.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            request.conflict: The request conflicts with the current state of the target resource.
        '413':
          description: 'The request is over the size limit. Maximum bytes: %s'
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s'
        '415':
          description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
        '429':
          description: Rate limit exceeded the maximum. Retry the request in [%s] seconds
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds
            too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds
        '500':
          description: The server encountered an unexpected condition which prevented it from fulfilling the request.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request.
        '503':
          description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
        '504':
          description: The request timed out.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            authentication.request.timeout: Authentication request timeout.
            request.timeout: The request timed out.
      security:
      - Webmessaging JWT: []
      x-purecloud-method-name: getWebmessagingMessages
definitions:
  WebMessagingButtonResponse:
    type: object
    required:
    - originatingMessageId
    - payload
    - text
    properties:
      id:
        type: string
        description: An ID assigned to the button response (Deprecated).
      type:
        type: string
        description: Describes the button that resulted in the Button Response.
        enum:
        - Button
        - QuickReply
        - DatePicker
        - ListPicker
        - Form
      text:
        type: string
        description: The response text from the button click.
      payload:
        type: string
        description: The response payload associated with the clicked button.
      originatingMessageId:
        type: string
        description: Id of original structured message that this message responds to.
    description: Button response object representing the click of a structured message button, such as a quick reply.
  ConversationFormPage:
    type: object
    required:
    - subtitle
    - title
    properties:
      title:
        type: string
        description: Text to show in the title.
      subtitle:
        type: string
        description: Text to show in the subtitle.
      pageComponents:
        type: array
        description: Page components in this form page.
        items:
          $ref: '#/definitions/ConversationFormPageComponent'
    description: Form page object.
  WebMessagingRecipient:
    type: object
    properties:
      firstName:
        type: string
        description: First name of the recipient.
        readOnly: true
      lastName:
        type: string
        description: Last name of the recipient.
        readOnly: true
      nickname:
        type: string
        description: Nickname or display name of the recipient.
        readOnly: true
      image:
        type: string
        description: URL of an image that represents the recipient.
        readOnly: true
      additionalIds:
        type: array
        description: List of recipient additional identifiers
        readOnly: true
        items:
          $ref: '#/definitions/RecipientAdditionalIdentifier'
    description: Information about the recipient the message is sent to or received from.
  ContentCard:
    type: object
    required:
    - actions
    - title
    properties:
      title:
        type: string
        description: Text to show in the title.
      description:
        type: string
        description: Text to show in the description.
      image:
        type: string
        description: URL of an image.
      video:
        type: string
        description: URL of a video.
      defaultAction:
        description: The default button action.
        $ref: '#/definitions/ContentCardAction'
      actions:
        type: array
        description: An array of action objects.
        items:
          $ref: '#/definitions/ContentCardAction'
    description: Card content object.
  WebMessagingContent:
    type: object
    properties:
      contentType:
        type: string
        description: Type of this content element. If contentType = "Attachment" only one item is allowed.
        readOnly: true
        enum:
        - Attachment
        - QuickReply
        - ButtonResponse
        - GenericTemplate
        - Card
        - Carousel
        - DatePicker
        - ListPicker
        - Form
      attachment:
        description: Attachment content.
        readOnly: true
        $ref: '#/definitions/WebMessagingAttachment'
      quickReply:
        description: Quick reply content.
        $ref: '#/definitions/WebMessagingQuickReply'
      buttonResponse:
        description: Button response content.
        $ref: '#/definitions/WebMessagingButtonResponse'
      generic:
        description: Generic content (Deprecated).
        $ref: '#/definitions/WebMessagingGeneric'
      card:
        description: Card content
        $ref: '#/definitions/ContentCard'
      carousel:
        description: Carousel content
        $ref: '#/definitions/ContentCarousel'
      datePicker:
        description: DatePicker content
        $ref: '#/definitions/ContentDatePicker'
      listPicker:
        description: ListPicker content
        $ref: '#/definitions/ConversationContentListPicker'
      form:
        description: Form content
        $ref: '#/definitions/ConversationContentForm'
    description: Message content element.
  ConversationContentLocation:
    type: object
    properties:
      url:
        type: string
        description: URL of the Location.
      address:
        type: string
        description: Location postal address.
      text:
        type: string
        description: Location name.
      latitude:
        type: number
        format: double
        description: Latitude of the location.
      longitude:
        type: number
        format: double
        description: Longitude of the location.
    description: Location object.
  Reason:
    type: object
    required:

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