swagger: '2.0'
host: orgId.via.aspect-cloud.net
schemes:
  - https
consumes:
  - application/json
produces:
  - application/json
info:
  version: 2.0.0
  title: Alvaria Cloud Engagement Center REST API
  contact:
    name: Alvaria
    url: 'http://www.alvaria.com'
  license:
    name: 'License: Creative Commons Attribution 4.0 International Public License'
    url: 'https://creativecommons.org/licenses/by/4.0/legalcode'
  description: |-
    ## Overview

    The Alvaria&trade; Cloud Engagement Center REST API is used as the access point for controlling an agent within the Alvaria&trade; Cloud system.  The list of end points represents requests sent to the back end to control the state of the agent and its interactions.  This API is tightly coupled with the Alvaria&trade; Cloud Streaming Client REST API.  This API retrieves unsolicited events for the agent that are generated by system actions or by requests from this API.  The other API of note is the Alvaria&trade; Cloud Messaging (Chat/SMS) REST API, which is used to send text and URLs across a Chat or SMS session controlled by some of these requests.  Please note that the group of scopes most likely needed when you create a custom agent interface are engagementcenterapi, provisioningapi, messagingapi, outreachapi and streamingapi.  
paths:
  '/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/accept':
    post:
      tags:
        - Interactions
      operationId: postAccept
      summary: Sends a request to accept an interaction
      description: This endpoint will send an accept request to the Alvaria&trade; Cloud system.  This will be the indication that the interaction has been accepted by the agent.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: interactionId
          in: path
          description: Alvaria-generated unique ID for an interaction instance
          required: true
          type: string
        - name: acceptParms
          in: body
          description: Accept information
          required: true
          schema:
            $ref: '#/definitions/AcceptParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/activate':
    post:
      tags:
        - Interactions
      operationId: postActivate
      summary: Sends an interaction activation
      description: This sends an activate(ActivateCall) request to the Alvaria&trade; Cloud system.  This signals to the back end that the focus of the agent has moved to a different interaction.  This will have implications for reporting.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: interactionId
          in: path
          description: Alvaria-generated unique ID for an interaction instance
          required: true
          type: string
        - name: activateParms
          in: body
          description: Activate information
          required: true
          schema:
            $ref: '#/definitions/ActivateParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/cancel':
    post:
      tags:
        - Users
      operationId: postCancel
      summary: Sends a cancel request to cancel a pending disconnect or Not ready request
      description: This endpoint will send a cancel request to the Alvaria&trade; Cloud system.  This will be the indication that an outstanding disconnect request or not ready request should be canceled.  There will be no cancel related event sent to indicate that the original request has been canceled.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: userId
          in: path
          description: 'Alvaria-generated unique identifier for a user instance that can be retrieved prior to use from the provisioning rest API.  The url is /via/v2/organizations/{orgId}/provisioning/users.'
          required: true
          type: string
        - name: cancelParms
          in: body
          description: Cancel information
          required: true
          schema:
            $ref: '#/definitions/CancelParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/callback':
    post:
      tags:
        - Interactions
      operationId: postCallback
      summary: Schedule a Callback
      description: Schedules a callback for an interaction. This callback won't be persisted by the system to the database until after its interaction is dispositioned.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: interactionId
          in: path
          description: Alvaria-generated unique ID for an interaction instance
          required: true
          type: string
        - name: callbackParms
          in: body
          description: Callback information
          required: true
          schema:
            $ref: '#/definitions/CallbackParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/conference':
    post:
      tags:
        - Interactions
      operationId: postConference
      summary: Sends a conference request
      description: This endpoint will send a conference request to the Alvaria&trade; Cloud system.  This will be the indication that a conference should be established for an existing interaction.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: interactionId
          in: path
          description: Alvaria-generated unique ID for an interaction instance
          required: true
          type: string
        - name: conferenceParms
          in: body
          description: Conference information
          required: true
          schema:
            $ref: '#/definitions/ConferenceParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/connect':
    post:
      tags:
        - Users
      operationId: postConnect
      summary: Sends a connection request
      description: This connects an agent to the Alvaria&trade; Cloud system.  There are two types of connect.  One is a login to the Alvaria&trade; Cloud system and the other is an attachment to an existing Alvaria&trade; Cloud system connection for an individual user.  Set the attach parameter to false for login and true for attach.  If the attach parameter is set to true, all other body parameters are ignored. When the /connect with attach=true request is received, a subscription to the specified agent's events is created, enabling the attached client to retrieve those events from its queue through the streaming API endpoint. The attached subscription is created with a time to live (TTL) of 30 minutes, hence the attached client is expected to periodically send an equal /connect with attach=true request to renew the subscription. If the subscription is not renewed before its TTL elapses then it will be removed. The periodic /connect with attach=true requests must have the same via-client-sessionid and userId parameters as the initial request to behave as a keep-alive and renew the existing subscription. If the subscription has expired then upon receiving the periodic request the subscription will be re-created. The recommendation is that the /connect with attach=true be sent every 25 minutes for each attached subscription.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: userId
          in: path
          description: 'Alvaria-generated unique identifier for a user instance that can be retrieved prior to use from the provisioning rest API.  The url is /via/v2/organizations/{orgId}/provisioning/users.'
          required: true
          type: string
        - name: connectParms
          in: body
          description: Connect information
          required: true
          schema:
            $ref: '#/definitions/ConnectParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi
  '/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/keepAlive':
    post:
      tags:
        - Users
      operationId: postKeepAlive
      summary: Sends a keep alive request
      description: This endpoint will send a keepAlive request to the Alvaria&trade; Cloud system.  This is an optional request that will signal the cloud system that the agent session is active.  If the keepAlive request is sent once it will need to be sent every minute after or the agent session will be forcibly disconnected.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: userId
          in: path
          description: 'Alvaria-generated unique identifier for a user instance that can be retrieved prior to use from the provisioning rest API.  The url is /via/v2/organizations/{orgId}/provisioning/users.'
          required: true
          type: string
        - in: body
          name: keepAliveParms
          description: Keep Alive information
          required: true
          schema:
            $ref: '#/definitions/KeepAliveParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
          - engagementcenterapi
        - oauthWithoutConnect:
          - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/consult':
    post:
      tags:
        - Interactions
      operationId: postConsult
      summary: Sends a consult request
      description: This endpoint will send a consult request to the Alvaria&trade; Cloud system.  This will allow the user to consult with another user, work type or external number.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: interactionId
          in: path
          description: Alvaria-generated unique ID for an interaction instance
          required: true
          type: string
        - name: consultParms
          in: body
          description: Consult information
          required: true
          schema:
            $ref: '#/definitions/ConsultParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/dial':
    post:
      tags:
        - Interactions
      operationId: postDial
      summary: Sends a request to dial
      description: This endpoint will send a dial request to the Alvaria&trade; Cloud system.  This will allow a user to dial a user, external number or preview interaction.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: interactionId
          in: path
          description: Alvaria-generated unique ID for an interaction instance
          required: true
          type: string
        - name: dialParms
          in: body
          description: Dial information
          required: true
          schema:
            $ref: '#/definitions/DialParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/digits':
    post:
      tags:
        - Interactions
      operationId: postDigits
      summary: Sends a request to play digits on the telephony connection
      description: This endpoint will send a digits request to the Alvaria&trade; Cloud system.  This request will send the digits to the audio connection.  If multiple digits are required it is best to send them as a string of digits rather than as individual digit requests.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: interactionId
          in: path
          description: Alvaria-generated unique ID for an interaction instance
          required: true
          type: string
        - name: digitsParms
          in: body
          description: Digits information
          required: true
          schema:
            $ref: '#/definitions/DigitsParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/disconnect':
    post:
      tags:
        - Users
      operationId: postDisconnect
      summary: Disconnects a user
      description: This endpoint will send a disconnect request to the Alvaria&trade; Cloud system.  If the user is not currently in an interaction they will be disconnected from the system.  If they are in an interaction then the disconnect will be pending until all interactions are complete.  At any point during the pending state the disconnect can be canceled.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: userId
          in: path
          description: 'Alvaria-generated unique identifier for a user instance that can be retrieved prior to use from the provisioning rest API.  The url is /via/v2/organizations/{orgId}/provisioning/users.'
          required: true
          type: string
        - name: disconnectParms
          in: body
          description: Disconnect information
          required: true
          schema:
            $ref: '#/definitions/DisconnectParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/dispose':
    post:
      tags:
        - Interactions
      operationId: postDispose
      summary: Sends a disposition request for an interaction
      description: This endpoint will send a dispose request to the Alvaria&trade; Cloud system.  The dispose will indicate to the system that interaction is fully complete.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: interactionId
          in: path
          description: Alvaria-generated unique ID for an interaction instance
          required: true
          type: string
        - name: disposeParms
          in: body
          description: Dispose information
          required: true
          schema:
            $ref: '#/definitions/DisposeParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/forceDisconnect':
    post:
      tags:
        - Users
      operationId: postForceDisconnect
      summary: Forces a disconnect of a user.  Any interaction will be ended immediately.
      description: This endpoint will send a forceDisconnect request to the Alvaria&trade; Cloud system.  This will cause an immediate end to the user session.  Any interaction will be ended and disposed with a default disposition without going to pending state.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity. This is the ehubSessionId of the session making the request and is optional as this request is supported while not connected.'
          required: false
          type: string
        - name: userId
          in: path
          description: 'Alvaria-generated unique identifier for a user instance that can be retrieved prior to use from the provisioning rest API.  The url is /via/v2/organizations/{orgId}/provisioning/users.  This userId identifies the user executing the forced disconnect.  The userId in the body identifies the user who will be disconnected.'
          required: true
          type: string
        - name: forceDisconnectParms
          in: body
          description: Force disconnect information
          required: true
          schema:
            $ref: '#/definitions/ForceDisconnectParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/hold':
    post:
      tags:
        - Interactions
      operationId: postHold
      summary: Sends a request to hold an interaction
      description: This endpoint will send a hold request to the Alvaria&trade; Cloud system.  This will cause the audio path of an interaction to be placed on hold.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: interactionId
          in: path
          description: Alvaria-generated unique ID for an interaction instance
          required: true
          type: string
        - name: holdParms
          in: body
          description: Hold information
          required: true
          schema:
            $ref: '#/definitions/HoldParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/messageActive':
    post:
      tags:
        - Interactions
      operationId: postMessageActive
      summary: Sends a notification that a chat/SMS session has been activated with an agent
      description: This endpoint will send a messageActive request to the Alvaria&trade; Cloud system.  This will indicate to the system that the user/agent is ready to start the Chat/SMS session. An agent must send this request upon receiving the Active event for the Chat/SMS interaction. A supervisor monitoring a Chat/SMS session must send this request upon receiving the MonitorState event with monitoringState=6. In response to this request, the system will send the EntityAdded and EntitySendText events with the session participants and session transcript with which to initialize your Chat/SMS conversation.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: interactionId
          in: path
          description: Alvaria-generated unique ID for an interaction instance
          required: true
          type: string
        - name: messageParms
          in: body
          description: MessageActive information
          required: true
          schema:
            $ref: '#/definitions/MessageActiveParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/monitor':
    post:
      tags:
        - Users
      operationId: postMonitor
      summary: Sends a monitor request
      description: This endpoint will send a monitor request to the Alvaria&trade; Cloud system.  The monitor request can be made to start, stop, and switch between silent, coach, and barge-in monitoring.  Voice and Chat/SMS interactions can be monitored.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: userId
          in: path
          description: 'Alvaria-generated unique identifier for a user instance that can be retrieved prior to use from the provisioning rest API.  The url is /via/v2/organizations/{orgId}/provisioning/users.'
          required: true
          type: string
        - name: monitorParms
          in: body
          description: Monitor information
          required: true
          schema:
            $ref: '#/definitions/MonitorParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/multitasking':
    post:
      tags:
        - Users
      operationId: postMultitasking
      summary: Sends a request to change the multitasking state
      description: This endpoint will send a multitasking request to the Alvaria&trade; Cloud system.  This request can be made to either disable or enable multitasking. If enabled, the system may send the user multiple interactions at a time. If disabled, the system will send the user only one interaction at a time.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: userId
          in: path
          description: 'Alvaria-generated unique identifier for a user instance that can be retrieved prior to use from the provisioning rest API.  The url is /via/v2/organizations/{orgId}/provisioning/users.'
          required: true
          type: string
        - name: multitaskingParms
          in: body
          description: Multitasking information
          required: true
          schema:
            $ref: '#/definitions/MultitaskingParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/notReady':
    post:
      tags:
        - Users
      operationId: postNotReady
      summary: Sends a not ready request
      description: This sends a request to the Alvaria&trade; Cloud system to send the user to the Not Ready or Not Ready Park state.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: userId
          in: path
          description: 'Alvaria-generated unique identifier for a user instance that can be retrieved prior to use from the provisioning rest API.  The url is /via/v2/organizations/{orgId}/provisioning/users.'
          required: true
          type: string
        - name: notReadyParms
          in: body
          description: Not ready information
          required: true
          schema:
            $ref: '#/definitions/NotReadyParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/ready':
    post:
      tags:
        - Users
      operationId: postReady
      summary: Sends a ready request to move the user to the Idle state
      description: This endpoint will send a ready request to the Alvaria&trade; Cloud system.  This will return the user to the Idle state making them available to receive interactions.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: userId
          in: path
          description: 'Alvaria-generated unique identifier for a user instance that can be retrieved prior to use from the provisioning rest API.  The url is /via/v2/organizations/{orgId}/provisioning/users.'
          required: true
          type: string
        - name: readyParms
          in: body
          description: Ready information
          required: true
          schema:
            $ref: '#/definitions/ReadyParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/reassignEmail':
    post:
      tags:
        - Email
      operationId: postReassignEmail
      summary: Reassign a queued email
      description: Requests to reassign a queued email to another work type or user.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: userId
          in: path
          description: 'Alvaria-generated unique identifier for a user instance that can be retrieved prior to use from the provisioning rest API.  The url is /via/v2/organizations/{orgId}/provisioning/users.'
          required: true
          type: string
        - name: reassignEmailParms
          in: body
          description: Reassign email information
          required: true
          schema:
            $ref: '#/definitions/ReassignEmailParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/reject':
    post:
      tags:
        - Interactions
      operationId: postReject
      summary: Sends a reject for a presented interaction
      description: This endpoint will send a reject request to the Alvaria&trade; Cloud system.  This will indicate to the system that the user has rejected the delivery of a presented interaction.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: interactionId
          in: path
          description: Alvaria-generated unique ID for an interaction instance
          required: true
          type: string
        - name: rejectParms
          in: body
          description: Reject information
          required: true
          schema:
            $ref: '#/definitions/RejectParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/retrieve':
    post:
      tags:
        - Interactions
      operationId: postRetrieve
      summary: Sends a request to retrieve a held interaction
      description: This endpoint will send a retrieve request to the Alvaria&trade; Cloud system.  This will cause the audio path of an interaction that has been set to held to be retrieved and become active again.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: interactionId
          in: path
          description: Alvaria-generated unique ID for an interaction instance
          required: true
          type: string
        - name: retrieveParms
          in: body
          description: Retrieve information
          required: true
          schema:
            $ref: '#/definitions/RetrieveParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/terminate':
    post:
      tags:
        - Interactions
      operationId: postTerminate
      summary: Sends a request to terminate an interaction
      description: This endpoint will send a terminate request to the Alvaria&trade; Cloud system.  This instructs the system to hang up a Voice Interaction or end a Chat/SMS/Email interaction. In response to this request, the system will send an InteractionClear event. If the interaction is a work type interaction for which Wrap is required, the system will move the interaction to the Wrap state and follow with a Wrap event. If the interaction is an internal consultation or dial, the system will move the interaction to the Disposed state and follow with a Dispose event.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: interactionId
          in: path
          description: Alvaria-generated unique ID for an interaction instance
          required: true
          type: string
        - name: terminateParms
          in: body
          description: Terminate information
          required: true
          schema:
            $ref: '#/definitions/TerminateParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/transfer':
    post:
      tags:
        - Interactions
      operationId: postTransfer
      summary: Sends a transfer request for an interaction
      description: This endpoint will send a transfer request to the Alvaria&trade; Cloud system.  This will allow the user to transfer an interaction to another user, external number, work type, or third-party currently being consulted.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: interactionId
          in: path
          description: Alvaria-generated unique ID for an interaction instance
          required: true
          type: string
        - name: transferParms
          in: body
          description: Transfer information
          required: true
          schema:
            $ref: '#/definitions/TransferParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/warning':
    post:
      tags:
        - Interactions
      operationId: postWarning
      summary: Notifies the system of a Wrap or Park warning
      description: This endpoint will send a warning request to the Alvaria&trade; Cloud system.  This request notifies the system that the user has been in the Wrap state longer than the configured Wrap Warning threshold, or that the user has been in the Park state longer than the configured Park Warning threshold.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: interactionId
          in: path
          description: Alvaria-generated unique ID for an interaction instance
          required: true
          type: string
        - name: warningParms
          in: body
          description: Warning information
          required: true
          schema:
            $ref: '#/definitions/WarningParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/voicemailForwarded':
    post:
      tags:
        - Users
      operationId: postVoicemailForwarded
      summary: Notify Voicemail Forwarded
      description: This request notifies the VIA system that voicemail has been forwarded to another mailbox.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: userId
          in: path
          description: 'Alvaria-generated unique identifier for a user instance that can be retrieved prior to use from the provisioning rest API.  The url is /via/v2/organizations/{orgId}/provisioning/users.'
          required: true
          type: string
        - name: voicemailForwardedParms
          in: body
          description: Voicemail Forwarded information
          required: true
          schema:
            $ref: '#/definitions/VoicemailForwardedParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/voicemailUpdated':
    post:
      tags:
        - Users
      operationId: postVoicemailUpdated
      summary: Notify Voicemail Updated
      description: This request notifies the VIA system that the status of voicemail from the specified work type has been updated.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: userId
          in: path
          description: 'Alvaria-generated unique identifier for a user instance that can be retrieved prior to use from the provisioning rest API.  The url is /via/v2/organizations/{orgId}/provisioning/users.'
          required: true
          type: string
        - name: voicemailUpdatedParms
          in: body
          description: Voicemail Updated information
          required: true
          schema:
            $ref: '#/definitions/VoicemailUpdatedParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/playMessage':
    post:
      tags:
        - Interactions
      operationId: postPlayMessage
      summary: Play a message
      description: Requests to start playback of a message on the agent's phone line.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: interactionId
          in: path
          description: Alvaria-generated unique ID for an interaction instance
          required: true
          type: string
        - name: playMessageParms
          in: body
          description: PlayMessage information
          required: true
          schema:
            $ref: '#/definitions/PlayMessageParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi            
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/pauseMessage':
    post:
      tags:
        - Interactions
      operationId: postPauseMessage
      summary: Pause a message
      description: Requests to pause playback of a message on the agent's phone line.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: interactionId
          in: path
          description: Alvaria-generated unique ID for an interaction instance
          required: true
          type: string
        - name: pauseMessageParms
          in: body
          description: PauseMessage information
          required: true
          schema:
            $ref: '#/definitions/PauseMessageParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi         
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/resumeMessage':
    post:
      tags:
        - Interactions
      operationId: postResumeMessage
      summary: Resume a message
      description: Requests to resume playback of a message on the agent's phone line.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: interactionId
          in: path
          description: Alvaria-generated unique ID for an interaction instance
          required: true
          type: string
        - name: resumeMessageParms
          in: body
          description: ResumeMessage information
          required: true
          schema:
            $ref: '#/definitions/ResumeMessageParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi       
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/stopMessage':
    post:
      tags:
        - Interactions
      operationId: postStopMessage
      summary: Stop a message
      description: Requests to stop playback of a message on the agent's phone line.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: interactionId
          in: path
          description: Alvaria-generated unique ID for an interaction instance
          required: true
          type: string
        - name: stopMessageParms
          in: body
          description: StopMessage information
          required: true
          schema:
            $ref: '#/definitions/StopMessageParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi            
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/closeEmail':
    post:
      tags:
        - Email
      operationId: postCloseEmail
      summary: Close an email
      description: Requests to close the email interaction (i.e., to dismiss it without replying to it or saving it).
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: interactionId
          in: path
          description: Alvaria-generated unique ID for an interaction instance
          required: true
          type: string
        - name: closeEmailParms
          in: body
          description: CloseEmail information
          required: true
          schema:
            $ref: '#/definitions/CloseEmailParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi                                                
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/emailActive':
    post:
      tags:
        - Email
      operationId: postEmailActive
      summary: Notify that the retrieval of an email message succeeded
      description: Notifies that the retrieval from storage of the email message associated with the interaction succeeded. Upon receiving this notification, the VIA system transitions the interaction to the Active state.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: interactionId
          in: path
          description: Alvaria-generated unique ID for an interaction instance
          required: true
          type: string
        - name: emailActiveParms
          in: body
          description: EmailActive information
          required: true
          schema:
            $ref: '#/definitions/EmailActiveParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi                  
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/emailError':
    post:
      tags:
        - Email
      operationId: postEmailError
      summary: Notify that the retrieval of an email message failed
      description: Notifies that the retrieval from storage of the email message associated with the interaction failed. Upon receiving this notification, the VIA system terminates the interaction. If the provided errorCode is 404 (Resource Not Found), then the VIA system also purges the associated email record from its database.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: interactionId
          in: path
          description: Alvaria-generated unique ID for an interaction instance
          required: true
          type: string
        - name: emailErrorParms
          in: body
          description: EmailError information
          required: true
          schema:
            $ref: '#/definitions/EmailErrorParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi               
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/forwardEmail':
    post:
      tags:
        - Email
      operationId: postForwardEmail
      summary: Forward an email
      description: Requests to forward the email to the specified email address(es).
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: interactionId
          in: path
          description: Alvaria-generated unique ID for an interaction instance
          required: true
          type: string
        - name: forwardEmailParms
          in: body
          description: ForwardEmail information
          required: true
          schema:
            $ref: '#/definitions/ForwardEmailParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi       
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/saveEmail':
    post:
      tags:
        - Email
      operationId: postSaveEmail
      summary: Save an email
      description: Requests to save the email as a draft in the current user's personal email queue.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: interactionId
          in: path
          description: Alvaria-generated unique ID for an interaction instance
          required: true
          type: string
        - name: saveEmailParms
          in: body
          description: SaveEmail information
          required: true
          schema:
            $ref: '#/definitions/SaveEmailParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi           
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/sendEmail':
    post:
      tags:
        - Email
      operationId: postSendEmail
      summary: Send an email
      description: Requests to send the email. The email may be a reply or an agent-initiated, composed email.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: interactionId
          in: path
          description: Alvaria-generated unique ID for an interaction instance
          required: true
          type: string
        - name: sendEmailParms
          in: body
          description: SendEmail information
          required: true
          schema:
            $ref: '#/definitions/SendEmailParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi                 
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/transferEmailToUser':
    post:
      tags:
        - Email
      operationId: postTransferEmailToUser
      summary: Transfer an email to another user
      description: Requests to transfer the email to another user.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: interactionId
          in: path
          description: Alvaria-generated unique ID for an interaction instance
          required: true
          type: string
        - name: transferEmailToUserParms
          in: body
          description: TransferEmailToUser information
          required: true
          schema:
            $ref: '#/definitions/TransferEmailToUserParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi                                                            
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/transferEmailToWorkType':
    post:
      tags:
        - Email
      operationId: postTransferEmailToWorkType
      summary: Transfer an email to a work type
      description: Requests to transfer the email to a given work type.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: interactionId
          in: path
          description: Alvaria-generated unique ID for an interaction instance
          required: true
          type: string
        - name: transferEmailToWorkTypeParms
          in: body
          description: TransferEmailToWorkType information
          required: true
          schema:
            $ref: '#/definitions/TransferEmailToWorkTypeParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi           
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/composeEmail':
    post:
      tags:
        - Email
      operationId: postComposeEmail
      summary: Compose a new email
      description: Requests to compose a new email.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: userId
          in: path
          description: 'Alvaria-generated unique identifier for a user instance that can be retrieved prior to use from the provisioning rest API.  The url is /via/v2/organizations/{orgId}/provisioning/users.'
          required: true
          type: string
        - name: composeEmailParms
          in: body
          description: ComposeEmail information
          required: true
          schema:
            $ref: '#/definitions/ComposeEmailParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi                  
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/removeEmail':
    post:
      tags:
        - Email
      operationId: postRemoveEmail
      summary: Remove a queued email
      description: Requests to remove an email from the personal or work type queue (e.g., because the corresponding message could no longer be found in cloud storage)
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: userId
          in: path
          description: 'Alvaria-generated unique identifier for a user instance that can be retrieved prior to use from the provisioning rest API.  The url is /via/v2/organizations/{orgId}/provisioning/users.'
          required: true
          type: string
        - name: removeEmailParms
          in: body
          description: RemoveEmail information
          required: true
          schema:
            $ref: '#/definitions/RemoveEmailParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi                                                                             
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/reviewEmail':
    post:
      tags:
        - Email
      operationId: postReviewEmail
      summary: Activate a queued email
      description: Requests to activate a queued email for review.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: userId
          in: path
          description: 'Alvaria-generated unique identifier for a user instance that can be retrieved prior to use from the provisioning rest API.  The url is /via/v2/organizations/{orgId}/provisioning/users.'
          required: true
          type: string
        - name: reviewEmailParms
          in: body
          description: ReviewEmail information
          required: true
          schema:
            $ref: '#/definitions/ReviewEmailParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi                 
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/playPersonalGreeting':
    post:
      tags:
        - Users
      operationId: postPlayPersonalGreeting
      summary: Play a personal greeting
      description: Requests to play a personal greeting.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: userId
          in: path
          description: 'Alvaria-generated unique identifier for a user instance that can be retrieved prior to use from the provisioning rest API.  The url is /via/v2/organizations/{orgId}/provisioning/users.'
          required: true
          type: string
        - name: playPersonalGreetingParms
          in: body
          description: PlayPersonalGreeting information
          required: true
          schema:
            $ref: '#/definitions/PlayPersonalGreetingParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/stopPlayPersonalGreeting':
    post:
      tags:
        - Users
      operationId: postStopPlayPersonalGreeting
      summary: Stop playing a personal greeting
      description: Requests to stop the playback of a personal greeting.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: userId
          in: path
          description: 'Alvaria-generated unique identifier for a user instance that can be retrieved prior to use from the provisioning rest API.  The url is /via/v2/organizations/{orgId}/provisioning/users.'
          required: true
          type: string
        - name: stopPlayPersonalGreetingParms
          in: body
          description: StopPlayPersonalGreeting information
          required: true
          schema:
            $ref: '#/definitions/StopPlayPersonalGreetingParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/pausePlayPersonalGreeting':
    post:
      tags:
        - Users
      operationId: postPausePlayPersonalGreeting
      summary: Pause a personal greeting
      description: Requests to pause the playback of a personal greeting.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: userId
          in: path
          description: 'Alvaria-generated unique identifier for a user instance that can be retrieved prior to use from the provisioning rest API.  The url is /via/v2/organizations/{orgId}/provisioning/users.'
          required: true
          type: string
        - name: pausePlayPersonalGreetingParms
          in: body
          description: PausePlayPersonalGreeting information
          required: true
          schema:
            $ref: '#/definitions/PausePlayPersonalGreetingParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/recordPersonalGreeting':
    post:
      tags:
        - Users
      operationId: postRecordPersonalGreeting
      summary: Start recording a personal greeting
      description: Requests to start recording a personal greeting.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: userId
          in: path
          description: 'Alvaria-generated unique identifier for a user instance that can be retrieved prior to use from the provisioning rest API.  The url is /via/v2/organizations/{orgId}/provisioning/users.'
          required: true
          type: string
        - name: recordPersonalGreetingParms
          in: body
          description: RecordPersonalGreeting information
          required: true
          schema:
            $ref: '#/definitions/RecordPersonalGreetingParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/stopRecordPersonalGreeting':
    post:
      tags:
        - Users
      operationId: postStopRecordPersonalGreeting
      summary: Stop recording a personal greeting
      description: Requests to stop recording a personal greeting.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: userId
          in: path
          description: 'Alvaria-generated unique identifier for a user instance that can be retrieved prior to use from the provisioning rest API.  The url is /via/v2/organizations/{orgId}/provisioning/users.'
          required: true
          type: string
        - name: stopRecordPersonalGreetingParms
          in: body
          description: StopRecordPersonalGreeting information
          required: true
          schema:
            $ref: '#/definitions/StopRecordPersonalGreetingParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi 
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/deletePersonalGreeting':
    post:
      tags:
        - Users
      operationId: postDeletePersonalGreeting
      summary: Delete a personal greeting
      description: Requests to delete a personal greeting recording.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: userId
          in: path
          description: 'Alvaria-generated unique identifier for a user instance that can be retrieved prior to use from the provisioning rest API.  The url is /via/v2/organizations/{orgId}/provisioning/users.'
          required: true
          type: string
        - name: deletePersonalGreetingParms
          in: body
          description: DeletePersonalGreeting information
          required: true
          schema:
            $ref: '#/definitions/DeletePersonalGreetingParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi 
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/personalGreetingUpdated':
    post:
      tags:
        - Users
      operationId: postPersonalGreetingUpdated
      summary: Notify system of a personal greeting update
      description: Notifies the system that the personal greeting has been updated.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: userId
          in: path
          description: 'Alvaria-generated unique identifier for a user instance that can be retrieved prior to use from the provisioning rest API.  The url is /via/v2/organizations/{orgId}/provisioning/users.'
          required: true
          type: string
        - name: personalGreetingUpdatedParms
          in: body
          description: PersonalGreetingUpdated information
          required: true
          schema:
            $ref: '#/definitions/PersonalGreetingUpdatedParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
  '/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/agentStatistics':
    post:
      tags:
        - Users
      operationId: postAgentStatistics
      summary: Request Agent Statistics
      description: Requests the current user's agent statistics. The system responds to this request with an AgentStatistics event.
      consumes:
        - application/json
      produces:
        - application/json
      schemes:
        - https
      parameters:
        - name: orgId
          in: path
          description: Name of a customer organization
          required: true
          type: string
        - name: Authorization
          in: header
          description: 'Authentication token with the value: ''Bearer {accessToken}'', where {accessToken} was returned from a call to the authorization endpoint.'
          required: true
          type: string
        - name: x-api-key
          in: header
          required: true
          type: string
          description: Alvaria-provided value used to track API endpoint usage
        - name: via-client-sessionid
          in: header
          description: 'Identifier representing a long-lived HTTP interchange between Alvaria&trade; Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity.'
          required: true
          type: string
        - name: userId
          in: path
          description: 'Alvaria-generated unique identifier for a user instance that can be retrieved prior to use from the provisioning rest API. The url is /via/v2/organizations/{orgId}/provisioning/users.'
          required: true
          type: string
        - name: agentStatisticsParms
          in: body
          description: Request Agent Statistics information
          required: true
          schema:
            $ref: '#/definitions/AgentStatisticsParmsSchema'
      responses:
        '202':
          description: Successful response
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
        '410':
          description: Gone
          schema:
            $ref: '#/definitions/ErrorResponse'
        '422':
          description: Cannot Process Entity
          schema:
            $ref: '#/definitions/ErrorResponse'
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/ErrorResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorResponse'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ErrorResponse'
      security:
        - oauth:
            - engagementcenterapi
        - oauthWithoutConnect:
            - engagementcenterapi.withoutconnect
securityDefinitions:
  oauth:
    type: oauth2
    authorizationUrl: 'https://auth.{region}.id.aspect-cloud.net/oauth2/access_token?realm={orgId}'
    flow: implicit
    scopes:
      engagementcenterapi: manage access to engagement center
  oauthWithoutConnect:
    type: oauth2
    authorizationUrl: 'https://auth.{region}.id.aspect-cloud.net/oauth2/access_token?realm={orgId}'
    flow: implicit
    scopes:
      engagementcenterapi.withoutconnect: manage access to engagement center without access to the connect endpoint
definitions:
  AcceptParmsSchema:
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '4875'
    required:
      - ehubSessionId
  ActivateParmsSchema:
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '4875'
    required:
      - ehubSessionId
  CallbackParmsSchema:
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '4875'
      workTypeId:
        type: string
        description: 'Alvaria-generated unique identifier for the Outreach work type for the callback. The work type can be retrieved from url /via/v2/organizations/{orgId}/provisioning/workTypes?channelType=voice&direction=outreach.'
        example: '114'
      timeZoneName:
        type: string
        description: 'The Olson (a.k.a. IANA) Time Zone Name for the specified dateTime (see https://www.iana.org/time-zones for more information). This property only applies when dateTime is specified. The value can be retrieved prior to use from the Alvaria&trade; Cloud Campaign REST API. The url is /via/v3/organizations/{orgId}/campaign/timeZones.'
        example: 'America/New_York'
      phoneNumber:
        type: string
        description: 'The phone number to call back.'
        example: '9785551212'
      dateTime:
        type: string
        description: 'An absolute date and time for the callback. This property is mutually exclusive with snoozeTime. If both dateTime and snoozeTime are specified then snoozeTime takes precedence.'
        example: '2020-05-07 14:50:08'
      memo:
        type: string
        description: 'A memo to be presented to the agent who receives the callback'
        example: 'The customer requested a return call'
      toSameAgent:
        type: boolean
        description: 'Whether the callback should be routed to the same agent who scheduled it. If false then the callback is routed to any available agent in the specified Outreach work type.'
        example: true
      snoozeTime:
        type: integer
        description: 'A relative time for the callback. The number of minutes since being scheduled when the callback should be executed. This property is mutually exclusive with dateTime. If both dateTime and snoozeTime are specified then snoozeTime takes precedence.'
        example: 10
    required:
      - ehubSessionId
      - workTypeId
      - phoneNumber
      - toSameAgent
      - dateTime
      - snoozeTime
  CancelParmsSchema:
    type: object
    properties:
      cancelType:
        type: string
        description: Type of pending command that you want to cancel
        example: Disconnect
        enum:
          - Disconnect
          - NotReady
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '7548'
    required:
      - cancelType
      - ehubSessionId
  ConferenceParmsSchema:
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '7548'
      consultationInteractionId:
        type: string
        description: Alvaria-generated unique identifier for the interaction of the consult call for which you want to conference with the customer
        example: '2653'
    required:
      - ehubSessionId
      - consultationInteractionId
  ConnectParmsSchema:
    type: object
    properties:
      initialState:
        type: string
        description: 'State that the agent is put into when connected, this property is not required when setting ''attach'' to True.'
        example: Idle
        enum:
          - Idle
          - NotReady
          - Park
      station:
        type: string
        description: 'Phone number the system uses as the endpoint for agent audio, this property is not required when setting ''attach'' to True.'
        example: '9785551212'
      workgroupId:
        type: string
        description: 'Deprecated. Not used.  This property is being deprecated.  Alvaria-generated unique identifier for the work group, this property is not required when setting ''attach'' to True.'
        example: '8659'
      routeaccessId:
        type: string
        description: 'Alvaria-generated unique identifier for the route access, this property is not required when setting ''attach'' to True.'
        example: '1542'
      emailAddress:
        type: string
        description: 'Email address, this property is not required when setting ''attach'' to True.'
        example: agent@aspect.com
      attach:
        type: boolean
        description: Whether this session should connect to an existing internal session ID
        example: false
    required:
      - attach
  KeepAliveParmsSchema:
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '4875'
      sessionTimeout:
        type: number
        description: 'Duration in seconds since the last keepAlive request after which the agent will be logged out of Engagement Center. If this property is not specified, it will be set to the organization''s default value.'
        example: 600
      requestTimestamp:
        type: string
        format: date-time
        description: 'An absolute date and time for the keep alive request. This optional parameter can be used to track the time of the round trip and it will be passed back in the subsequent keep alive event.'
        example: '2021-06-30T20:15:07.134Z'
    required:
      - ehubSessionId
  ConsultParmsSchema:
    type: object
    properties:
      consultType:
        type: string
        description: Type of consult
        example: User
        enum:
          - User
          - External
          - Worktype
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '7548'
      externalRouteId:
        type: string
        description: Alvaria-generated unique identifier for the external route ID
        example: '5689'
      workTypeId:
        type: string
        description: Alvaria-generated unique identifier for the work type
        example: '452'
      phoneNumber:
        type: string
        description: Phone number that you want to dial if the request requires it
        example: '9785551212'
      userId:
        type: string
        description: 'Alvaria-generated unique identifier for the user instance that can be retrieved prior to use from the provisioning rest API.  The url is /via/v2/organizations/{orgId}/provisioning/users.'
        example: 999d97b0c00d99
      entity:
        type: string
        description: 'JSON string of the Via Entity retrieved from Alvaria&trade; Cloud Provisioning REST API. Expected entities: UsersFragment, workTypeTerse, SystemExternalFragment (ViaProvisioningExternalSwagger); '
        example: '{"active":true,"kind":"via#user","id":"user1","user":"user1@orgname.com","firstName":"aspect","lastName":"user","preferredName":{"locale":"en-US","value":"aspect user"}}'
      interactionDataCollection:
        type: array
        description: This is a collection of up to 20 user fields.
        example: ' '
        items:
          type: object
          properties:
            key:
              description: This is the key of the key value pair.
              example: UserField1
              type: string
            value:
              description: This is the value of the key value pair.
              example: example data
              type: string
            isMasked:
              description: This shows whether a field should be masked in the UI.
              example: false
              type: boolean
    required:
      - consultType
      - ehubSessionId
      - worktypeId
      - userId
  DialParmsSchema:
    type: object
    properties:
      dialType:
        type: string
        description: Type of dial
        example: User
        enum:
          - User
          - External
          - Preview
          - WorkType
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '7548'
      externalRouteId:
        type: string
        description: Alvaria-generated unique identifier for the external route
        example: '2653'
      workTypeId:
        type: string
        description: Alvaria-generated unique identifier for the work type
        example: '12345'
      phoneNumber:
        type: string
        description: Phone number that you want to dial if the request requires it
        example: '9785551212'
      userId:
        type: string
        description: 'Alvaria-generated unique identifier for the user instance that can be retrieved prior to use from the provisioning rest API.  The url is /via/v2/organizations/{orgId}/provisioning/users.'
        example: 999d97b0c00d99
      requireWrap:
        type: boolean
        description: 'This optional parameter will cause the Alvaria&trade; Cloud internal system to send a wrap state, which means that the client will need to dispose the interaction.'
        example: false
      entity:
        type: string
        description: 'JSON string of the Via Entity retrieved from Alvaria&trade; Cloud Provisioning REST API. Expected entities: UsersFragment, workTypeTerse, SystemExternalFragment (ViaProvisioningExternalSwagger); '
        example: '{"active":true,"kind":"via#user","id":"user1","user":"user1@orgname.com","firstName":"aspect","lastName":"user","preferredName":{"locale":"en-US","value":"aspect user"}}'
    required:
      - dialType
      - ehubSessionId
      - workTypeId
      - userId
  DigitsParmsSchema:
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '7548'
      digits:
        type: string
        description: List of digits to play.
        example: '123456789*#'
    required:
      - ehubSessionId
      - digits
  DisconnectParmsSchema:
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.  If a malformed string is sent an HTTP return code 400 ''Bad Request'' will be sent in return.  In that case, the disconnect will need to be resent with the valid ehubSessionId.'
        example: '4875'
      reasonId:
        type: string
        description: Alvaria-generated unique identifier for the status reason. Status reasons are defined in Configuration Manager.  A reasonId set to -1 would cause a forced disconnect to be executed.  This would cause a user to be disconnected without taking into account the current state of the user.
        example: '548'
    required:
      - ehubSessionId
      - reasonId
  DisposeParmsSchema:
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '4875'
      dispositionId:
        type: string
        description: Alvaria-generated unique identifier for the disposition
        example: '2653'
      wrapRequired:
        type: boolean
        description: Whether wrap is required for this interaction
        example: true
      salesFlag:
        type: boolean
        description: Whether the interaction is identified as a sales interaction
        example: true
      callbackFlag:
        type: boolean
        description: Whether the interaction is identified for a callback
        example: false
      interactionDataCollection:
        type: array
        description: This is a collection of up to 20 user fields.
        example: ' '
        items:
          type: object
          properties:
            key:
              description: This is the key of the key value pair.
              example: UserField1
              type: string
            value:
              description: This is the value of the key value pair.
              example: example data
              type: string
            isMasked:
              description: This shows whether a field should be masked in the UI.
              example: false
              type: boolean
    required:
      - ehubSessionId
      - dispositionId
      - wrapRequired
      - salesFlag
      - callbackFlag
      - interactionDataCollection
  ForceDisconnectParmsSchema:
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.  This is the ehubSessionId of the session making the request and is optional as this request is supported while not connected.'
        example: ''
      userId:
        type: string
        description: 'Alvaria-generated unique identifier for the user to be disconnected.  It can be retrieved from provisioning API url /via/v2/organizations/{orgId}/provisioning/users'
        example: 999d97b0c00d99
    required:
      - userId
  HoldParmsSchema:
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '12345'
    required:
      - ehubSessionId
  MessageActiveParmsSchema:
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '4875'
      userId:
        type: string
        description: 'Alvaria-generated unique identifier for the user instance that can be retrieved prior to use from the provisioning rest API.  The url is /via/v2/organizations/{orgId}/provisioning/users.'
        example: 999d97b0c00d99
      entityType:
        type: string
        description: Type of entity
        example: Agent
        enum:
          - Agent
          - Monitor
          - System
      firstName:
        type: string
        description: First name
        example: James
      lastName:
        type: string
        description: Last name
        example: Jones
      workTypeId:
        type: string
        description: Alvaria-generated unique identifier for the work type.
        example: '263'
    required:
      - userId
      - ehubSessionId
      - entityType
      - firstName
      - lastName
      - workTypeId
  MonitorParmsSchema:
    type: object
    properties:
      monitorType:
        type: string
        description: Monitor type that specifies which type of monitoring that you want to use
        example: StartSilent
        enum:
          - StartSilent
          - StartBargeIn
          - StartCoach
          - SwitchToSilent
          - SwitchToBargeIn
          - SwitchToCoach
          - StopSilent
          - StopBargeIn
          - StopCoach
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '4875'
      station:
        type: string
        description: Station number
        example: '9785551212'
      monitoringStationId:
        type: string
        description: Alvaria-generated unique identifier for the station number that you want to monitor
        example: '9785552121'
      monitoringId:
        type: string
        description: Alvaria-generated unique identifier for the established monitor session
        example: '4857'
    required:
      - monitorType
      - ehubSessionId
      - station
      - monitoringStationId
      - monitoringId
  MultitaskingParmsSchema:
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '4875'
      enabled:
        type: boolean
        description: Enable / Disable
        example: true
    required:
      - ehubSessionId
      - enabled
  NotReadyParmsSchema:
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '4875'
      reasonId:
        type: string
        description: Alvaria-generated unique identifier for the reason code for the Not Ready. Reason codes are configured in Configuration Manager.
        example: '12'
      notReadyType:
        type: string
        description: 'Type of not ready type, which is Park or Not Ready'
        example: NotReady
        enum:
          - NotReady
          - Park
    required:
      - ehubSessionId
      - reasonId
      - notReadyType
  ReadyParmsSchema:
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '4875'
    required:
      - ehubSessionId
  ReassignEmailParmsSchema:
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '4875'
      emailObjectId:
        type: string
        description: Alvaria-generated unique identifier for the path in cloud storage to the corresponding email message.
        example: string
      destinationWorkTypeId:
        type: string
        description: Alvaria-generated unique identifier for the destination Email work type. The work type can be retrieved from url /via/v2/organizations/{orgId}/provisioning/workTypes?channelType=email. If reassigning to a user, set destinationWorkTypeId to an empty string. If both destinationWorkTypeId and destinationUserId are set, the destinationWorkTypeId will take precedence.
        example: '263'
      destinationUserId:
        type: string
        description: Alvaria-generated unique identifier for the destination user. The user can be retrieved from url /via/v2/organizations/{orgId}/provisioning/users. If reassigning to a workType, set destinationUserId to an empty string. If both destinationWorkTypeId and destinationUserId are set, the destinationWorkTypeId will take precedence.
        example: '999d97b0c00d99'
    required:
      - ehubSessionId
      - emailObjectId
      - destinationWorkTypeId
      - destinationUserId
  RejectParmsSchema:
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '4875'
      reason:
        type: string
        description: Reason code for the rejection. Reason codes are configured in Configuration Manager.
        example: '12'
    required:
      - ehubSessionId
      - reason
  RetrieveParmsSchema:
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '4875'
    required:
      - ehubSessionId
  TerminateParmsSchema:
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '4875'
    required:
      - ehubSessionId
  TransferParmsSchema:
    type: object
    properties:
      transferType:
        type: string
        description: 'Type of transfer, which can be Consulted Party, User, External, or Work type'
        example: ConsultedParty
        enum:
          - ConsultedParty
          - User
          - External
          - ExternalBlind
          - WorkType
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '4875'
      callType:
        type: string
        description: Type of call
        example: '17'
      conferenceInteractionId:
        type: string
        description: Alvaria-generated unique identifier for the conference
        example: '4320'
      consultationInteractionId:
        type: string
        description: Alvaria-generated unique identifier for the consultation leg of interaction
        example: '4321'
      workTypeId:
        type: string
        description: Alvaria-generated unique identifier for the work type. This should contain the work type identifier associated with the Interaction.
        example: '321'
      phoneNumber:
        type: string
        description: Phone number. This should contain the phone number if an external transfer is requested.
        example: '9785551212'
      externalRouteId:
        type: string
        description: Alvaria-generated unique identifier for the external route. This optionally contains the external route ID if one is needed.
        example: '54321'
      interactionType:
        type: string
        description: 'Type of interaction, which can be Voice or ChatSms'
        example: Voice
        enum:
          - Voice
          - ChatSms
      userId:
        type: string
        description: 'Alvaria-generated unique identifier for the user instance that can be retrieved prior to use from the provisioning rest API.  The url is /via/v2/organizations/{orgId}/provisioning/users.'
        example: 999d97b0c00d99
      entity:
        type: string
        description: 'JSON string of the Via Entity used to initiate the interaction. Expected entities: UsersFragment, workTypeTerse, SystemExternalFragment (ViaProvisioningExternalSwagger); '
        example: '{"active":true,"kind":"via#user","id":"user1","user":"user1@orgname.com","firstName":"user","lastName":"user","preferredName":{"locale":"en-US","value":"orgname user"}}'
      interactionDataCollection:
        type: array
        description: This is a collection of up to 20 user fields.
        example: ' '
        items:
          type: object
          properties:
            key:
              description: This is the key of the key value pair.
              example: UserField1
              type: string
            value:
              description: This is the value of the key value pair.
              example: example data
              type: string
            isMasked:
              description: This shows whether a field should be masked in the UI.
              example: false
              type: boolean
    required:
      - transferType
      - ehubSessionId
      - workTypeId
  WarningParmsSchema:
    type: object
    properties:
      warningType:
        type: string
        description: Type of warning
        example: Wrap
        enum:
          - Wrap
          - NotReady
          - Park
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '4875'
    required:
      - warningType
      - ehubSessionId
  VoicemailUpdatedParmsSchema:
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '4875'
      workTypeId:
        type: string
        description: Alvaria-generated unique identifier for the work type.
        example: '263'
    required:
      - ehubSessionId
      - workTypeId
  VoicemailForwardedParmsSchema:
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '4875'
      sourceMailboxId:
        type: string
        description: Alvaria-generated unique identifier for the source mailbox.
        example: '263'
      destinationMailboxId:
        type: string
        description: Alvaria-generated unique identifier for the destination mailbox.
        example: '264'
    required:
      - ehubSessionId
      - sourceMailboxId
      - destinationMailboxId
  PlayMessageParmsSchema:      
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '4875'
      audioMessageId:
        type: string
        description: 'Alvaria-generated unique identifier for the audio message. The audio messages can be retrieved from url /via/v2/organizations/{orgId}/provisioning/workTypes/{workTypeId}/audioMessages.'
        example: '53'
      language:
        type: string
        description: The IETF Language for the audio message.
        example: 'en-US'
        enum:
          - en-US
          - es-ES
          - de-DE
          - pt-BR
          - en-GB
          - fr-CA
    required:
      - ehubSessionId
      - audioMessageId
      - language
  PauseMessageParmsSchema:      
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '4875'
    required:
      - ehubSessionId
  ResumeMessageParmsSchema:      
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '4875'
    required:
      - ehubSessionId
  StopMessageParmsSchema:      
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '4875'
    required:
      - ehubSessionId
  SaveEmailParmsSchema:
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '4875'
      replyEmailObjectId:
        type: string
        description: Alvaria-generated unique identifier for the path in cloud storage to the associated reply email message or agent-initiated, composed email message created by the client.
        example: 'email/4b05-20161125-063840/40009-0'
      subject:
        type: string
        description: The subject of the email message. Required only if the email is an agent-initiated, composed email and not a reply to an existing customer email.
        example: 'Regarding your recent inquiry'
      to:
        type: string
        description: The semicolon-delimited string containing the destination email addresses of the email message. Required only if the email is an agent-initiated, composed email and not a reply to an existing customer email.
        example: 'janedoe@example.org;johndoe@example.org'
      interactionDataCollection:
        type: array
        description: This is a collection of up to 20 user fields.
        example: [{key: 'Name', value: 'XYZ', isMasked: false}, {key: 'Account', value: '******6789', isMasked: true}]
        items:
          type: object
          properties:
            key:
              description: The caption/label of the field.
              example: UserField1
              type: string
            value:
              description: The value of the field.
              example: example data
              type: string
            isMasked:
              description: Whether the field is masked.
              example: false
              type: boolean
    required:
      - ehubSessionId
      - replyEmailObjectId
      - interactionDataCollection      
  SendEmailParmsSchema:
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '4875'
      replyEmailObjectId:
        type: string
        description: Alvaria-generated unique identifier for the path in cloud storage to the associated reply email message or agent-initiated, composed email message created by the client.
        example: 'email/4b05-20161125-063840/40009-0'
      to:
        type: string
        description: The semicolon-delimited string containing the destination email addresses of the email message. Required only if the email is an agent-initiated, composed email and not a reply to an existing customer email.
        example: 'janedoe@example.org;johndoe@example.org'
      interactionDataCollection:
        type: array
        description: This is a collection of up to 20 user fields.
        example: [{key: 'Name', value: 'XYZ', isMasked: false}, {key: 'Account', value: '******6789', isMasked: true}]
        items:
          type: object
          properties:
            key:
              description: The caption/label of the field.
              example: UserField1
              type: string
            value:
              description: The value of the field.
              example: example data
              type: string
            isMasked:
              description: Whether the field is masked.
              example: false
              type: boolean
    required:
      - ehubSessionId
      - replyEmailObjectId
      - interactionDataCollection            
  CloseEmailParmsSchema:
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '4875'
      to:
        type: string
        description: The semicolon-delimited string containing the destination email addresses of the email message. Required only if the email is an agent-initiated, composed email and not a reply to an existing customer email.
        example: 'janedoe@example.org;johndoe@example.org'
      interactionDataCollection:
        type: array
        description: This is a collection of up to 20 user fields.
        example: [{key: 'Name', value: 'XYZ', isMasked: false}, {key: 'Account', value: '******6789', isMasked: true}]
        items:
          type: object
          properties:
            key:
              description: The caption/label of the field.
              example: UserField1
              type: string
            value:
              description: The value of the field.
              example: example data
              type: string
            isMasked:
              description: Whether the field is masked.
              example: false
              type: boolean
    required:
      - ehubSessionId
      - interactionDataCollection                  
  EmailActiveParmsSchema:
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '4875'
    required:
      - ehubSessionId
  EmailErrorParmsSchema:
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '4875'
      errorCode:
        type: number
        description: 'The http error status code received by the client from its failed request to retrieve from storage the email message associated with the specified interation.'
        example: 404  
    required:
      - ehubSessionId      
      - errorCode
  TransferEmailToUserParmsSchema:
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '4875'
      replyEmailObjectId:
        type: string
        description: Alvaria-generated unique identifier for the path in cloud storage to the associated reply email message or agent-initiated, composed email message created by the client.
        example: 'email/4b05-20161125-063840/40009-0'
      userId:
        type: string
        description: 'Alvaria-generated unique identifier for the destination user. The user can be retrieved from url /via/v2/organizations/{orgId}/provisioning/users.'
        example: '999d97b0c00d99'
      interactionDataCollection:
        type: array
        description: This is a collection of up to 20 user fields.
        example: [{key: 'Name', value: 'XYZ', isMasked: false}, {key: 'Account', value: '******6789', isMasked: true}]
        items:
          type: object
          properties:
            key:
              description: The caption/label of the field.
              example: UserField1
              type: string
            value:
              description: The value of the field.
              example: example data
              type: string
            isMasked:
              description: Whether the field is masked.
              example: false
              type: boolean
    required:
      - ehubSessionId
      - replyEmailObjectId
      - userId
      - interactionDataCollection                  
  TransferEmailToWorkTypeParmsSchema:
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '4875'
      replyEmailObjectId:
        type: string
        description: Alvaria-generated unique identifier for the path in cloud storage to the associated reply email message or agent-initiated, composed email message created by the client.
        example: 'email/4b05-20161125-063840/40009-0'
      workTypeId:
        type: string
        description: 'Alvaria-generated unique identifier for the destination Email work type. The work type can be retrieved from url /via/v2/organizations/{orgId}/provisioning/workTypes?channelType=email'
        example: '114'
      interactionDataCollection:
        type: array
        description: This is a collection of up to 20 user fields.
        example: [{key: 'Name', value: 'XYZ', isMasked: false}, {key: 'Account', value: '******6789', isMasked: true}]
        items:
          type: object
          properties:
            key:
              description: The caption/label of the field.
              example: UserField1
              type: string
            value:
              description: The value of the field.
              example: example data
              type: string
            isMasked:
              description: Whether the field is masked.
              example: false
              type: boolean
    required:
      - ehubSessionId
      - replyEmailObjectId
      - workTypeId
      - interactionDataCollection                  
  ForwardEmailParmsSchema:
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '4875'
      replyEmailObjectId:
        type: string
        description: Alvaria-generated unique identifier for the path in cloud storage to the associated reply email message or agent-initiated, composed email message created by the client.
        example: 'email/4b05-20161125-063840/40009-0'
      to:
        type: string
        description: The semicolon-delimited string containing the destination email addresses of the email message.
        example: 'janedoe@example.org;johndoe@example.org'        
      interactionDataCollection:
        type: array
        description: This is a collection of up to 20 user fields.
        example: [{key: 'Name', value: 'XYZ', isMasked: false}, {key: 'Account', value: '******6789', isMasked: true}]
        items:
          type: object
          properties:
            key:
              description: The caption/label of the field.
              example: UserField1
              type: string
            value:
              description: The value of the field.
              example: example data
              type: string
            isMasked:
              description: Whether the field is masked.
              example: false
              type: boolean
    required:
      - ehubSessionId
      - replyEmailObjectId
      - to
      - interactionDataCollection                        
  ComposeEmailParmsSchema:
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '4875'
      workTypeId:
        type: string
        description: 'Alvaria-generated unique identifier for the Email work type to associate with the new email. The Email work type should be one to which the user is assigned (i.e., received by the user in an engagementCenter.NewWorkType event from the Streaming API during login) and should have its "canInitiateNewOutboundEmail" setting set to true. The work type settings can be retrieved from url /via/v2/organizations/{orgId}/provisioning/workTypes/{workTypeId}/workHandlerRules'
        example: '114'
    required:
      - ehubSessionId
      - workTypeId
  ReviewEmailParmsSchema:
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '4875'
      emailObjectId:
        type: string
        description: Alvaria-generated unique identifier for the path in cloud storage to the corresponding email message
        example: 'email/4b05-20161125-063840/40009-0'
      queueType:
        type: string
        description: Type of Email Queue
        example: Personal
        enum:
          - Personal
          - WorkType
    required:
      - ehubSessionId
      - emailObjectId
      - queueType
  RemoveEmailParmsSchema:
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '4875'
      emailObjectId:
        type: string
        description: Alvaria-generated unique identifier for the path in cloud storage to the corresponding email message
        example: 'email/4b05-20161125-063840/40009-0'
    required:
      - ehubSessionId
      - emailObjectId
  PlayPersonalGreetingParmsSchema:
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '4875'
      station:
        type: string
        description: 'The phone number provided as the agent''s station when connecting to the system (e.g, through the /connect endpoint). It is used as the endpoint for agent audio.'
        example: '9785551212'
      fileName:
        type: string
        description: 'The file name of the personal greeting recording, provided by the recording event upon creating a new recording.'
        example: '254138.vox'
    required:
      - ehubSessionId
      - station
      - fileName
  StopPlayPersonalGreetingParmsSchema:
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '4875'
      station:
        type: string
        description: 'The phone number provided as the agent''s station when connecting to the system (e.g, through the /connect endpoint). It is used as the endpoint for agent audio.'
        example: '9785551212'
    required:
      - ehubSessionId
      - station
  PausePlayPersonalGreetingParmsSchema:
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '4875'
      station:
        type: string
        description: 'The phone number provided as the agent''s station when connecting to the system (e.g, through the /connect endpoint). It is used as the endpoint for agent audio.'
        example: '9785551212'
    required:
      - ehubSessionId
      - station
  RecordPersonalGreetingParmsSchema:
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '4875'
      station:
        type: string
        description: 'The phone number provided as the agent''s station when connecting to the system (e.g, through the /connect endpoint). It is used as the endpoint for agent audio.'
        example: '9785551212'
    required:
      - ehubSessionId
      - station
  StopRecordPersonalGreetingParmsSchema:
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '4875'
      station:
        type: string
        description: 'The phone number provided as the agent''s station when connecting to the system (e.g, through the /connect endpoint). It is used as the endpoint for agent audio.'
        example: '9785551212'
      fileName:
        type: string
        description: 'The file name of the personal greeting recording, provided by the recording event upon creating a new recording.'
        example: '254138.vox'
      recordingIndex: 
        type: string
        description: 'The recording index of the personal greeting recording provided in the associated recording event'
        example: '826'
    required:
      - ehubSessionId
      - station
      - fileName
      - recordingIndex
  DeletePersonalGreetingParmsSchema:
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '4875'
      station:
        type: string
        description: 'The phone number provided as the agent''s station when connecting to the system (e.g, through the /connect endpoint). It is used as the endpoint for agent audio.'
        example: '9785551212'
    required:
      - ehubSessionId
      - station
  PersonalGreetingUpdatedParmsSchema:
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '4875'
      recordingId:
        type: string
        description: 'Alvaria-generated unique identifier for the personal greeting recording.'
        example: '254138'
      personalGreetingId:
        type: string
        description: 'Alvaria-generated unique identifier for the personal greeting entity.'
        example: '0'
    required:
      - ehubSessionId
      - recordingId
      - personalGreetingId
  AgentStatisticsParmsSchema:
    type: object
    properties:
      ehubSessionId:
        type: string
        description: 'Alvaria-generated unique identifier for the session with the Alvaria&trade; Cloud system, which is unique per connect.'
        example: '4875'
    required:
      - ehubSessionId
  ErrorResponse:
    type: object
    properties:
      code:
        type: integer
        description: HTTP error status
        example: 404
      message:
        type: string
        example: not found
      errors:
        type: array
        items:
          $ref: '#/definitions/Error'
  Error:
    type: object
    properties:
      scope:
        type: string
        example: scope
      reason:
        type: string
        example: reason
      message:
        type: string
        example: message
tags: []
