NAV Navigation
Shell Node.js HTTP

Alvaria Cloud Engagement Center REST API v2.0.0

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

Overview

The Alvaria™ Cloud Engagement Center REST API is used as the access point for controlling an agent within the Alvaria™ 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™ 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™ 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.

Base URLs:

License: License: Creative Commons Attribution 4.0 International Public License

Authentication

Scope Scope Description
engagementcenterapi manage access to engagement center
Scope Scope Description
engagementcenterapi.withoutconnect manage access to engagement center without access to the connect endpoint

Interactions

Sends a request to accept an interaction

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/accept \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "4875"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/accept',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/accept HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/accept

This endpoint will send an accept request to the Alvaria™ Cloud system. This will be the indication that the interaction has been accepted by the agent.

Body parameter

{
  "ehubSessionId": "4875"
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
interactionId path string true Alvaria-generated unique ID for an interaction instance
body body AcceptParmsSchema true Accept information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Sends an interaction activation

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/activate \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "4875"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/activate',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/activate HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/activate

This sends an activate(ActivateCall) request to the Alvaria™ 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.

Body parameter

{
  "ehubSessionId": "4875"
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
interactionId path string true Alvaria-generated unique ID for an interaction instance
body body ActivateParmsSchema true Activate information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Schedule a Callback

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/callback \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "4875",
  "workTypeId": "114",
  "timeZoneName": "America/New_York",
  "phoneNumber": "9785551212",
  "dateTime": "2020-05-07 14:50:08",
  "memo": "The customer requested a return call",
  "toSameAgent": true,
  "snoozeTime": 10
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/callback',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/callback HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/callback

Schedules a callback for an interaction. This callback won't be persisted by the system to the database until after its interaction is dispositioned.

Body parameter

{
  "ehubSessionId": "4875",
  "workTypeId": "114",
  "timeZoneName": "America/New_York",
  "phoneNumber": "9785551212",
  "dateTime": "2020-05-07 14:50:08",
  "memo": "The customer requested a return call",
  "toSameAgent": true,
  "snoozeTime": 10
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
interactionId path string true Alvaria-generated unique ID for an interaction instance
body body CallbackParmsSchema true Callback information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Sends a conference request

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/conference \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "7548",
  "consultationInteractionId": "2653"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/conference',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/conference HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/conference

This endpoint will send a conference request to the Alvaria™ Cloud system. This will be the indication that a conference should be established for an existing interaction.

Body parameter

{
  "ehubSessionId": "7548",
  "consultationInteractionId": "2653"
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
interactionId path string true Alvaria-generated unique ID for an interaction instance
body body ConferenceParmsSchema true Conference information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Sends a consult request

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/consult \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "consultType": "User",
  "ehubSessionId": "7548",
  "externalRouteId": "5689",
  "workTypeId": "452",
  "phoneNumber": "9785551212",
  "userId": "999d97b0c00d99",
  "entity": "{\"active\":true,\"kind\":\"via#user\",\"id\":\"user1\",\"user\":\"user1@orgname.com\",\"firstName\":\"aspect\",\"lastName\":\"user\",\"preferredName\":{\"locale\":\"en-US\",\"value\":\"aspect user\"}}",
  "interactionDataCollection": " "
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/consult',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/consult HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/consult

This endpoint will send a consult request to the Alvaria™ Cloud system. This will allow the user to consult with another user, work type or external number.

Body parameter

{
  "consultType": "User",
  "ehubSessionId": "7548",
  "externalRouteId": "5689",
  "workTypeId": "452",
  "phoneNumber": "9785551212",
  "userId": "999d97b0c00d99",
  "entity": "{\"active\":true,\"kind\":\"via#user\",\"id\":\"user1\",\"user\":\"user1@orgname.com\",\"firstName\":\"aspect\",\"lastName\":\"user\",\"preferredName\":{\"locale\":\"en-US\",\"value\":\"aspect user\"}}",
  "interactionDataCollection": " "
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
interactionId path string true Alvaria-generated unique ID for an interaction instance
body body ConsultParmsSchema true Consult information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Sends a request to dial

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/dial \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "dialType": "User",
  "ehubSessionId": "7548",
  "externalRouteId": "2653",
  "workTypeId": "12345",
  "phoneNumber": "9785551212",
  "userId": "999d97b0c00d99",
  "requireWrap": false,
  "entity": "{\"active\":true,\"kind\":\"via#user\",\"id\":\"user1\",\"user\":\"user1@orgname.com\",\"firstName\":\"aspect\",\"lastName\":\"user\",\"preferredName\":{\"locale\":\"en-US\",\"value\":\"aspect user\"}}"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/dial',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/dial HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/dial

This endpoint will send a dial request to the Alvaria™ Cloud system. This will allow a user to dial a user, external number or preview interaction.

Body parameter

{
  "dialType": "User",
  "ehubSessionId": "7548",
  "externalRouteId": "2653",
  "workTypeId": "12345",
  "phoneNumber": "9785551212",
  "userId": "999d97b0c00d99",
  "requireWrap": false,
  "entity": "{\"active\":true,\"kind\":\"via#user\",\"id\":\"user1\",\"user\":\"user1@orgname.com\",\"firstName\":\"aspect\",\"lastName\":\"user\",\"preferredName\":{\"locale\":\"en-US\",\"value\":\"aspect user\"}}"
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
interactionId path string true Alvaria-generated unique ID for an interaction instance
body body DialParmsSchema true Dial information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Sends a request to play digits on the telephony connection

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/digits \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "7548",
  "digits": "123456789*#"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/digits',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/digits HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/digits

This endpoint will send a digits request to the Alvaria™ 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.

Body parameter

{
  "ehubSessionId": "7548",
  "digits": "123456789*#"
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
interactionId path string true Alvaria-generated unique ID for an interaction instance
body body DigitsParmsSchema true Digits information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Sends a disposition request for an interaction

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/dispose \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "4875",
  "dispositionId": "2653",
  "wrapRequired": true,
  "salesFlag": true,
  "callbackFlag": false,
  "interactionDataCollection": " "
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/dispose',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/dispose HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/dispose

This endpoint will send a dispose request to the Alvaria™ Cloud system. The dispose will indicate to the system that interaction is fully complete.

Body parameter

{
  "ehubSessionId": "4875",
  "dispositionId": "2653",
  "wrapRequired": true,
  "salesFlag": true,
  "callbackFlag": false,
  "interactionDataCollection": " "
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
interactionId path string true Alvaria-generated unique ID for an interaction instance
body body DisposeParmsSchema true Dispose information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Sends a request to hold an interaction

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/hold \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "12345"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/hold',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/hold HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/hold

This endpoint will send a hold request to the Alvaria™ Cloud system. This will cause the audio path of an interaction to be placed on hold.

Body parameter

{
  "ehubSessionId": "12345"
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
interactionId path string true Alvaria-generated unique ID for an interaction instance
body body HoldParmsSchema true Hold information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Sends a notification that a chat/SMS session has been activated with an agent

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/messageActive \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "4875",
  "userId": "999d97b0c00d99",
  "entityType": "Agent",
  "firstName": "James",
  "lastName": "Jones",
  "workTypeId": "263"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/messageActive',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/messageActive HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/messageActive

This endpoint will send a messageActive request to the Alvaria™ 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.

Body parameter

{
  "ehubSessionId": "4875",
  "userId": "999d97b0c00d99",
  "entityType": "Agent",
  "firstName": "James",
  "lastName": "Jones",
  "workTypeId": "263"
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
interactionId path string true Alvaria-generated unique ID for an interaction instance
body body MessageActiveParmsSchema true MessageActive information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Sends a reject for a presented interaction

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/reject \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "4875",
  "reason": "12"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/reject',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/reject HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/reject

This endpoint will send a reject request to the Alvaria™ Cloud system. This will indicate to the system that the user has rejected the delivery of a presented interaction.

Body parameter

{
  "ehubSessionId": "4875",
  "reason": "12"
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
interactionId path string true Alvaria-generated unique ID for an interaction instance
body body RejectParmsSchema true Reject information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Sends a request to retrieve a held interaction

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/retrieve \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "4875"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/retrieve',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/retrieve HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/retrieve

This endpoint will send a retrieve request to the Alvaria™ Cloud system. This will cause the audio path of an interaction that has been set to held to be retrieved and become active again.

Body parameter

{
  "ehubSessionId": "4875"
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
interactionId path string true Alvaria-generated unique ID for an interaction instance
body body RetrieveParmsSchema true Retrieve information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Sends a request to terminate an interaction

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/terminate \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "4875"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/terminate',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/terminate HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/terminate

This endpoint will send a terminate request to the Alvaria™ 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.

Body parameter

{
  "ehubSessionId": "4875"
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
interactionId path string true Alvaria-generated unique ID for an interaction instance
body body TerminateParmsSchema true Terminate information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Sends a transfer request for an interaction

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/transfer \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "transferType": "ConsultedParty",
  "ehubSessionId": "4875",
  "callType": "17",
  "conferenceInteractionId": "4320",
  "consultationInteractionId": "4321",
  "workTypeId": "321",
  "phoneNumber": "9785551212",
  "externalRouteId": "54321",
  "interactionType": "Voice",
  "userId": "999d97b0c00d99",
  "entity": "{\"active\":true,\"kind\":\"via#user\",\"id\":\"user1\",\"user\":\"user1@orgname.com\",\"firstName\":\"user\",\"lastName\":\"user\",\"preferredName\":{\"locale\":\"en-US\",\"value\":\"orgname user\"}}",
  "interactionDataCollection": " "
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/transfer',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/transfer HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/transfer

This endpoint will send a transfer request to the Alvaria™ Cloud system. This will allow the user to transfer an interaction to another user, external number, work type, or third-party currently being consulted.

Body parameter

{
  "transferType": "ConsultedParty",
  "ehubSessionId": "4875",
  "callType": "17",
  "conferenceInteractionId": "4320",
  "consultationInteractionId": "4321",
  "workTypeId": "321",
  "phoneNumber": "9785551212",
  "externalRouteId": "54321",
  "interactionType": "Voice",
  "userId": "999d97b0c00d99",
  "entity": "{\"active\":true,\"kind\":\"via#user\",\"id\":\"user1\",\"user\":\"user1@orgname.com\",\"firstName\":\"user\",\"lastName\":\"user\",\"preferredName\":{\"locale\":\"en-US\",\"value\":\"orgname user\"}}",
  "interactionDataCollection": " "
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
interactionId path string true Alvaria-generated unique ID for an interaction instance
body body TransferParmsSchema true Transfer information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Notifies the system of a Wrap or Park warning

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/warning \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "warningType": "Wrap",
  "ehubSessionId": "4875"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/warning',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/warning HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/warning

This endpoint will send a warning request to the Alvaria™ 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.

Body parameter

{
  "warningType": "Wrap",
  "ehubSessionId": "4875"
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
interactionId path string true Alvaria-generated unique ID for an interaction instance
body body WarningParmsSchema true Warning information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Play a message

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/playMessage \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "4875",
  "audioMessageId": "53",
  "language": "en-US"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/playMessage',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/playMessage HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/playMessage

Requests to start playback of a message on the agent's phone line.

Body parameter

{
  "ehubSessionId": "4875",
  "audioMessageId": "53",
  "language": "en-US"
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
interactionId path string true Alvaria-generated unique ID for an interaction instance
body body PlayMessageParmsSchema true PlayMessage information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Pause a message

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/pauseMessage \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "4875"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/pauseMessage',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/pauseMessage HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/pauseMessage

Requests to pause playback of a message on the agent's phone line.

Body parameter

{
  "ehubSessionId": "4875"
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
interactionId path string true Alvaria-generated unique ID for an interaction instance
body body PauseMessageParmsSchema true PauseMessage information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Resume a message

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/resumeMessage \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "4875"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/resumeMessage',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/resumeMessage HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/resumeMessage

Requests to resume playback of a message on the agent's phone line.

Body parameter

{
  "ehubSessionId": "4875"
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
interactionId path string true Alvaria-generated unique ID for an interaction instance
body body ResumeMessageParmsSchema true ResumeMessage information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Stop a message

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/stopMessage \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "4875"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/stopMessage',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/stopMessage HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/stopMessage

Requests to stop playback of a message on the agent's phone line.

Body parameter

{
  "ehubSessionId": "4875"
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
interactionId path string true Alvaria-generated unique ID for an interaction instance
body body StopMessageParmsSchema true StopMessage information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Users

Sends a cancel request to cancel a pending disconnect or Not ready request

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/cancel \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "cancelType": "Disconnect",
  "ehubSessionId": "7548"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/cancel',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/cancel HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/users/{userId}/cancel

This endpoint will send a cancel request to the Alvaria™ 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.

Body parameter

{
  "cancelType": "Disconnect",
  "ehubSessionId": "7548"
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
userId path string true 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.
body body CancelParmsSchema true Cancel information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Sends a connection request

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/connect \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "initialState": "Idle",
  "station": "9785551212",
  "workgroupId": "8659",
  "routeaccessId": "1542",
  "emailAddress": "agent@aspect.com",
  "attach": false
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/connect',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/connect HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/users/{userId}/connect

This connects an agent to the Alvaria™ Cloud system. There are two types of connect. One is a login to the Alvaria™ Cloud system and the other is an attachment to an existing Alvaria™ 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.

Body parameter

{
  "initialState": "Idle",
  "station": "9785551212",
  "workgroupId": "8659",
  "routeaccessId": "1542",
  "emailAddress": "agent@aspect.com",
  "attach": false
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
userId path string true 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.
body body ConnectParmsSchema true Connect information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Sends a keep alive request

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/keepAlive \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "4875",
  "sessionTimeout": 600,
  "requestTimestamp": "2021-06-30T20:15:07.134Z"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/keepAlive',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/keepAlive HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/users/{userId}/keepAlive

This endpoint will send a keepAlive request to the Alvaria™ 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.

Body parameter

{
  "ehubSessionId": "4875",
  "sessionTimeout": 600,
  "requestTimestamp": "2021-06-30T20:15:07.134Z"
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
userId path string true 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.
body body KeepAliveParmsSchema true Keep Alive information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Disconnects a user

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/disconnect \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "4875",
  "reasonId": "548"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/disconnect',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/disconnect HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/users/{userId}/disconnect

This endpoint will send a disconnect request to the Alvaria™ 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.

Body parameter

{
  "ehubSessionId": "4875",
  "reasonId": "548"
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
userId path string true 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.
body body DisconnectParmsSchema true Disconnect information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Forces a disconnect of a user. Any interaction will be ended immediately.

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/forceDisconnect \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "",
  "userId": "999d97b0c00d99"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/forceDisconnect',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/forceDisconnect HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/users/{userId}/forceDisconnect

This endpoint will send a forceDisconnect request to the Alvaria™ 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.

Body parameter

{
  "ehubSessionId": "",
  "userId": "999d97b0c00d99"
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string false Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
userId path string true 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.
body body ForceDisconnectParmsSchema true Force disconnect information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Sends a monitor request

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/monitor \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "monitorType": "StartSilent",
  "ehubSessionId": "4875",
  "station": "9785551212",
  "monitoringStationId": "9785552121",
  "monitoringId": "4857"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/monitor',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/monitor HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/users/{userId}/monitor

This endpoint will send a monitor request to the Alvaria™ 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.

Body parameter

{
  "monitorType": "StartSilent",
  "ehubSessionId": "4875",
  "station": "9785551212",
  "monitoringStationId": "9785552121",
  "monitoringId": "4857"
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
userId path string true 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.
body body MonitorParmsSchema true Monitor information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Sends a request to change the multitasking state

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/multitasking \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "4875",
  "enabled": true
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/multitasking',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/multitasking HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/users/{userId}/multitasking

This endpoint will send a multitasking request to the Alvaria™ 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.

Body parameter

{
  "ehubSessionId": "4875",
  "enabled": true
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
userId path string true 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.
body body MultitaskingParmsSchema true Multitasking information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Sends a not ready request

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/notReady \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "4875",
  "reasonId": "12",
  "notReadyType": "NotReady"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/notReady',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/notReady HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/users/{userId}/notReady

This sends a request to the Alvaria™ Cloud system to send the user to the Not Ready or Not Ready Park state.

Body parameter

{
  "ehubSessionId": "4875",
  "reasonId": "12",
  "notReadyType": "NotReady"
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
userId path string true 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.
body body NotReadyParmsSchema true Not ready information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Sends a ready request to move the user to the Idle state

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/ready \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "4875"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/ready',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/ready HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/users/{userId}/ready

This endpoint will send a ready request to the Alvaria™ Cloud system. This will return the user to the Idle state making them available to receive interactions.

Body parameter

{
  "ehubSessionId": "4875"
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
userId path string true 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.
body body ReadyParmsSchema true Ready information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Notify Voicemail Forwarded

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/voicemailForwarded \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "4875",
  "sourceMailboxId": "263",
  "destinationMailboxId": "264"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/voicemailForwarded',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/voicemailForwarded HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/users/{userId}/voicemailForwarded

This request notifies the VIA system that voicemail has been forwarded to another mailbox.

Body parameter

{
  "ehubSessionId": "4875",
  "sourceMailboxId": "263",
  "destinationMailboxId": "264"
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
userId path string true 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.
body body VoicemailForwardedParmsSchema true Voicemail Forwarded information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Notify Voicemail Updated

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/voicemailUpdated \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "4875",
  "workTypeId": "263"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/voicemailUpdated',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/voicemailUpdated HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/users/{userId}/voicemailUpdated

This request notifies the VIA system that the status of voicemail from the specified work type has been updated.

Body parameter

{
  "ehubSessionId": "4875",
  "workTypeId": "263"
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
userId path string true 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.
body body VoicemailUpdatedParmsSchema true Voicemail Updated information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Play a personal greeting

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/playPersonalGreeting \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "4875",
  "station": "9785551212",
  "fileName": "254138.vox"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/playPersonalGreeting',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/playPersonalGreeting HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/users/{userId}/playPersonalGreeting

Requests to play a personal greeting.

Body parameter

{
  "ehubSessionId": "4875",
  "station": "9785551212",
  "fileName": "254138.vox"
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
userId path string true 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.
body body PlayPersonalGreetingParmsSchema true PlayPersonalGreeting information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Stop playing a personal greeting

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/stopPlayPersonalGreeting \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "4875",
  "station": "9785551212"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/stopPlayPersonalGreeting',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/stopPlayPersonalGreeting HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/users/{userId}/stopPlayPersonalGreeting

Requests to stop the playback of a personal greeting.

Body parameter

{
  "ehubSessionId": "4875",
  "station": "9785551212"
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
userId path string true 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.
body body StopPlayPersonalGreetingParmsSchema true StopPlayPersonalGreeting information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Pause a personal greeting

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/pausePlayPersonalGreeting \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "4875",
  "station": "9785551212"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/pausePlayPersonalGreeting',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/pausePlayPersonalGreeting HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/users/{userId}/pausePlayPersonalGreeting

Requests to pause the playback of a personal greeting.

Body parameter

{
  "ehubSessionId": "4875",
  "station": "9785551212"
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
userId path string true 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.
body body PausePlayPersonalGreetingParmsSchema true PausePlayPersonalGreeting information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Start recording a personal greeting

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/recordPersonalGreeting \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "4875",
  "station": "9785551212"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/recordPersonalGreeting',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/recordPersonalGreeting HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/users/{userId}/recordPersonalGreeting

Requests to start recording a personal greeting.

Body parameter

{
  "ehubSessionId": "4875",
  "station": "9785551212"
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
userId path string true 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.
body body RecordPersonalGreetingParmsSchema true RecordPersonalGreeting information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Stop recording a personal greeting

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/stopRecordPersonalGreeting \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "4875",
  "station": "9785551212",
  "fileName": "254138.vox",
  "recordingIndex": "826"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/stopRecordPersonalGreeting',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/stopRecordPersonalGreeting HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/users/{userId}/stopRecordPersonalGreeting

Requests to stop recording a personal greeting.

Body parameter

{
  "ehubSessionId": "4875",
  "station": "9785551212",
  "fileName": "254138.vox",
  "recordingIndex": "826"
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
userId path string true 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.
body body StopRecordPersonalGreetingParmsSchema true StopRecordPersonalGreeting information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Delete a personal greeting

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/deletePersonalGreeting \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "4875",
  "station": "9785551212"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/deletePersonalGreeting',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/deletePersonalGreeting HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/users/{userId}/deletePersonalGreeting

Requests to delete a personal greeting recording.

Body parameter

{
  "ehubSessionId": "4875",
  "station": "9785551212"
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
userId path string true 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.
body body DeletePersonalGreetingParmsSchema true DeletePersonalGreeting information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Notify system of a personal greeting update

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/personalGreetingUpdated \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "4875",
  "recordingId": "254138",
  "personalGreetingId": "0"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/personalGreetingUpdated',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/personalGreetingUpdated HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/users/{userId}/personalGreetingUpdated

Notifies the system that the personal greeting has been updated.

Body parameter

{
  "ehubSessionId": "4875",
  "recordingId": "254138",
  "personalGreetingId": "0"
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
userId path string true 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.
body body PersonalGreetingUpdatedParmsSchema true PersonalGreetingUpdated information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Request Agent Statistics

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/agentStatistics \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "4875"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/agentStatistics',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/agentStatistics HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/users/{userId}/agentStatistics

Requests the current user's agent statistics. The system responds to this request with an AgentStatistics event.

Body parameter

{
  "ehubSessionId": "4875"
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
userId path string true 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.
body body AgentStatisticsParmsSchema true Request Agent Statistics information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Email

Reassign a queued email

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/reassignEmail \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "4875",
  "emailObjectId": "string",
  "destinationWorkTypeId": "263",
  "destinationUserId": "999d97b0c00d99"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/reassignEmail',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/reassignEmail HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/users/{userId}/reassignEmail

Requests to reassign a queued email to another work type or user.

Body parameter

{
  "ehubSessionId": "4875",
  "emailObjectId": "string",
  "destinationWorkTypeId": "263",
  "destinationUserId": "999d97b0c00d99"
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
userId path string true 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.
body body ReassignEmailParmsSchema true Reassign email information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Close an email

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/closeEmail \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "4875",
  "to": "janedoe@example.org;johndoe@example.org",
  "interactionDataCollection": [
    {
      "key": "Name",
      "value": "XYZ",
      "isMasked": false
    },
    {
      "key": "Account",
      "value": "******6789",
      "isMasked": true
    }
  ]
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/closeEmail',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/closeEmail HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/closeEmail

Requests to close the email interaction (i.e., to dismiss it without replying to it or saving it).

Body parameter

{
  "ehubSessionId": "4875",
  "to": "janedoe@example.org;johndoe@example.org",
  "interactionDataCollection": [
    {
      "key": "Name",
      "value": "XYZ",
      "isMasked": false
    },
    {
      "key": "Account",
      "value": "******6789",
      "isMasked": true
    }
  ]
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
interactionId path string true Alvaria-generated unique ID for an interaction instance
body body CloseEmailParmsSchema true CloseEmail information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Notify that the retrieval of an email message succeeded

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/emailActive \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "4875"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/emailActive',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/emailActive HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/emailActive

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.

Body parameter

{
  "ehubSessionId": "4875"
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
interactionId path string true Alvaria-generated unique ID for an interaction instance
body body EmailActiveParmsSchema true EmailActive information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Notify that the retrieval of an email message failed

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/emailError \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "4875",
  "errorCode": 404
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/emailError',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/emailError HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/emailError

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.

Body parameter

{
  "ehubSessionId": "4875",
  "errorCode": 404
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
interactionId path string true Alvaria-generated unique ID for an interaction instance
body body EmailErrorParmsSchema true EmailError information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Forward an email

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/forwardEmail \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "4875",
  "replyEmailObjectId": "email/4b05-20161125-063840/40009-0",
  "to": "janedoe@example.org;johndoe@example.org",
  "interactionDataCollection": [
    {
      "key": "Name",
      "value": "XYZ",
      "isMasked": false
    },
    {
      "key": "Account",
      "value": "******6789",
      "isMasked": true
    }
  ]
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/forwardEmail',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/forwardEmail HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/forwardEmail

Requests to forward the email to the specified email address(es).

Body parameter

{
  "ehubSessionId": "4875",
  "replyEmailObjectId": "email/4b05-20161125-063840/40009-0",
  "to": "janedoe@example.org;johndoe@example.org",
  "interactionDataCollection": [
    {
      "key": "Name",
      "value": "XYZ",
      "isMasked": false
    },
    {
      "key": "Account",
      "value": "******6789",
      "isMasked": true
    }
  ]
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
interactionId path string true Alvaria-generated unique ID for an interaction instance
body body ForwardEmailParmsSchema true ForwardEmail information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Save an email

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/saveEmail \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "4875",
  "replyEmailObjectId": "email/4b05-20161125-063840/40009-0",
  "subject": "Regarding your recent inquiry",
  "to": "janedoe@example.org;johndoe@example.org",
  "interactionDataCollection": [
    {
      "key": "Name",
      "value": "XYZ",
      "isMasked": false
    },
    {
      "key": "Account",
      "value": "******6789",
      "isMasked": true
    }
  ]
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/saveEmail',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/saveEmail HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/saveEmail

Requests to save the email as a draft in the current user's personal email queue.

Body parameter

{
  "ehubSessionId": "4875",
  "replyEmailObjectId": "email/4b05-20161125-063840/40009-0",
  "subject": "Regarding your recent inquiry",
  "to": "janedoe@example.org;johndoe@example.org",
  "interactionDataCollection": [
    {
      "key": "Name",
      "value": "XYZ",
      "isMasked": false
    },
    {
      "key": "Account",
      "value": "******6789",
      "isMasked": true
    }
  ]
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
interactionId path string true Alvaria-generated unique ID for an interaction instance
body body SaveEmailParmsSchema true SaveEmail information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Send an email

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/sendEmail \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "4875",
  "replyEmailObjectId": "email/4b05-20161125-063840/40009-0",
  "to": "janedoe@example.org;johndoe@example.org",
  "interactionDataCollection": [
    {
      "key": "Name",
      "value": "XYZ",
      "isMasked": false
    },
    {
      "key": "Account",
      "value": "******6789",
      "isMasked": true
    }
  ]
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/sendEmail',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/sendEmail HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/sendEmail

Requests to send the email. The email may be a reply or an agent-initiated, composed email.

Body parameter

{
  "ehubSessionId": "4875",
  "replyEmailObjectId": "email/4b05-20161125-063840/40009-0",
  "to": "janedoe@example.org;johndoe@example.org",
  "interactionDataCollection": [
    {
      "key": "Name",
      "value": "XYZ",
      "isMasked": false
    },
    {
      "key": "Account",
      "value": "******6789",
      "isMasked": true
    }
  ]
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
interactionId path string true Alvaria-generated unique ID for an interaction instance
body body SendEmailParmsSchema true SendEmail information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Transfer an email to another user

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/transferEmailToUser \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "4875",
  "replyEmailObjectId": "email/4b05-20161125-063840/40009-0",
  "userId": "999d97b0c00d99",
  "interactionDataCollection": [
    {
      "key": "Name",
      "value": "XYZ",
      "isMasked": false
    },
    {
      "key": "Account",
      "value": "******6789",
      "isMasked": true
    }
  ]
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/transferEmailToUser',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/transferEmailToUser HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/transferEmailToUser

Requests to transfer the email to another user.

Body parameter

{
  "ehubSessionId": "4875",
  "replyEmailObjectId": "email/4b05-20161125-063840/40009-0",
  "userId": "999d97b0c00d99",
  "interactionDataCollection": [
    {
      "key": "Name",
      "value": "XYZ",
      "isMasked": false
    },
    {
      "key": "Account",
      "value": "******6789",
      "isMasked": true
    }
  ]
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
interactionId path string true Alvaria-generated unique ID for an interaction instance
body body TransferEmailToUserParmsSchema true TransferEmailToUser information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Transfer an email to a work type

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/transferEmailToWorkType \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "4875",
  "replyEmailObjectId": "email/4b05-20161125-063840/40009-0",
  "workTypeId": "114",
  "interactionDataCollection": [
    {
      "key": "Name",
      "value": "XYZ",
      "isMasked": false
    },
    {
      "key": "Account",
      "value": "******6789",
      "isMasked": true
    }
  ]
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/transferEmailToWorkType',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/transferEmailToWorkType HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/interactions/{interactionId}/transferEmailToWorkType

Requests to transfer the email to a given work type.

Body parameter

{
  "ehubSessionId": "4875",
  "replyEmailObjectId": "email/4b05-20161125-063840/40009-0",
  "workTypeId": "114",
  "interactionDataCollection": [
    {
      "key": "Name",
      "value": "XYZ",
      "isMasked": false
    },
    {
      "key": "Account",
      "value": "******6789",
      "isMasked": true
    }
  ]
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
interactionId path string true Alvaria-generated unique ID for an interaction instance
body body TransferEmailToWorkTypeParmsSchema true TransferEmailToWorkType information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Compose a new email

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/composeEmail \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "4875",
  "workTypeId": "114"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/composeEmail',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/composeEmail HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/users/{userId}/composeEmail

Requests to compose a new email.

Body parameter

{
  "ehubSessionId": "4875",
  "workTypeId": "114"
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
userId path string true 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.
body body ComposeEmailParmsSchema true ComposeEmail information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Remove a queued email

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/removeEmail \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "4875",
  "emailObjectId": "email/4b05-20161125-063840/40009-0"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/removeEmail',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/removeEmail HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/users/{userId}/removeEmail

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)

Body parameter

{
  "ehubSessionId": "4875",
  "emailObjectId": "email/4b05-20161125-063840/40009-0"
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
userId path string true 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.
body body RemoveEmailParmsSchema true RemoveEmail information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Activate a queued email

Code samples

# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/reviewEmail \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'x-api-key: string' \
  -H 'via-client-sessionid: string'

const fetch = require('node-fetch');
const inputBody = {
  "ehubSessionId": "4875",
  "emailObjectId": "email/4b05-20161125-063840/40009-0",
  "queueType": "Personal"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'string',
  'x-api-key':'string',
  'via-client-sessionid':'string'
};

fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/reviewEmail',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/engagementCenter/users/{userId}/reviewEmail HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
via-client-sessionid: string

POST /via/v2/organizations/{orgId}/engagementCenter/users/{userId}/reviewEmail

Requests to activate a queued email for review.

Body parameter

{
  "ehubSessionId": "4875",
  "emailObjectId": "email/4b05-20161125-063840/40009-0",
  "queueType": "Personal"
}

Parameters

Name In Type Required Description
orgId path string true Name of a customer organization
Authorization header string true Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint.
x-api-key header string true Alvaria-provided value used to track API endpoint usage
via-client-sessionid header string true Identifier representing a long-lived HTTP interchange between Alvaria™ 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.
userId path string true 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.
body body ReviewEmailParmsSchema true ReviewEmail information

Example responses

400 Response

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Responses

Status Meaning Description Schema
202 Accepted Successful response None
400 Bad Request Bad Request ErrorResponse
401 Unauthorized Unauthorized None
404 Not Found Not Found ErrorResponse
405 Method Not Allowed Method Not Allowed ErrorResponse
410 Gone Gone ErrorResponse
422 Unprocessable Entity Cannot Process Entity ErrorResponse
429 Too Many Requests Too Many Requests ErrorResponse
500 Internal Server Error Internal server error ErrorResponse
503 Service Unavailable Service Unavailable ErrorResponse

Schemas

AcceptParmsSchema

{
  "ehubSessionId": "4875"
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.

ActivateParmsSchema

{
  "ehubSessionId": "4875"
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.

CallbackParmsSchema

{
  "ehubSessionId": "4875",
  "workTypeId": "114",
  "timeZoneName": "America/New_York",
  "phoneNumber": "9785551212",
  "dateTime": "2020-05-07 14:50:08",
  "memo": "The customer requested a return call",
  "toSameAgent": true,
  "snoozeTime": 10
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.
workTypeId string true none 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.
timeZoneName string false none 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™ Cloud Campaign REST API. The url is /via/v3/organizations/{orgId}/campaign/timeZones.
phoneNumber string true none The phone number to call back.
dateTime string true none 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.
memo string false none A memo to be presented to the agent who receives the callback
toSameAgent boolean true none 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.
snoozeTime integer true none 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.

CancelParmsSchema

{
  "cancelType": "Disconnect",
  "ehubSessionId": "7548"
}

Properties

Name Type Required Restrictions Description
cancelType string true none Type of pending command that you want to cancel
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.

Enumerated Values

Property Value
cancelType Disconnect
cancelType NotReady

ConferenceParmsSchema

{
  "ehubSessionId": "7548",
  "consultationInteractionId": "2653"
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.
consultationInteractionId string true none Alvaria-generated unique identifier for the interaction of the consult call for which you want to conference with the customer

ConnectParmsSchema

{
  "initialState": "Idle",
  "station": "9785551212",
  "workgroupId": "8659",
  "routeaccessId": "1542",
  "emailAddress": "agent@aspect.com",
  "attach": false
}

Properties

Name Type Required Restrictions Description
initialState string false none State that the agent is put into when connected, this property is not required when setting 'attach' to True.
station string false none Phone number the system uses as the endpoint for agent audio, this property is not required when setting 'attach' to True.
workgroupId string false none 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.
routeaccessId string false none Alvaria-generated unique identifier for the route access, this property is not required when setting 'attach' to True.
emailAddress string false none Email address, this property is not required when setting 'attach' to True.
attach boolean true none Whether this session should connect to an existing internal session ID

Enumerated Values

Property Value
initialState Idle
initialState NotReady
initialState Park

KeepAliveParmsSchema

{
  "ehubSessionId": "4875",
  "sessionTimeout": 600,
  "requestTimestamp": "2021-06-30T20:15:07.134Z"
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.
sessionTimeout number false none 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.
requestTimestamp string(date-time) false none 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.

ConsultParmsSchema

{
  "consultType": "User",
  "ehubSessionId": "7548",
  "externalRouteId": "5689",
  "workTypeId": "452",
  "phoneNumber": "9785551212",
  "userId": "999d97b0c00d99",
  "entity": "{\"active\":true,\"kind\":\"via#user\",\"id\":\"user1\",\"user\":\"user1@orgname.com\",\"firstName\":\"aspect\",\"lastName\":\"user\",\"preferredName\":{\"locale\":\"en-US\",\"value\":\"aspect user\"}}",
  "interactionDataCollection": " "
}

Properties

Name Type Required Restrictions Description
consultType string true none Type of consult
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.
externalRouteId string false none Alvaria-generated unique identifier for the external route ID
workTypeId string false none Alvaria-generated unique identifier for the work type
phoneNumber string false none Phone number that you want to dial if the request requires it
userId string true none 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.
entity string false none JSON string of the Via Entity retrieved from Alvaria™ Cloud Provisioning REST API. Expected entities: UsersFragment, workTypeTerse, SystemExternalFragment (ViaProvisioningExternalSwagger);
interactionDataCollection [object] false none This is a collection of up to 20 user fields.
» key string false none This is the key of the key value pair.
» value string false none This is the value of the key value pair.
» isMasked boolean false none This shows whether a field should be masked in the UI.

Enumerated Values

Property Value
consultType User
consultType External
consultType Worktype

DialParmsSchema

{
  "dialType": "User",
  "ehubSessionId": "7548",
  "externalRouteId": "2653",
  "workTypeId": "12345",
  "phoneNumber": "9785551212",
  "userId": "999d97b0c00d99",
  "requireWrap": false,
  "entity": "{\"active\":true,\"kind\":\"via#user\",\"id\":\"user1\",\"user\":\"user1@orgname.com\",\"firstName\":\"aspect\",\"lastName\":\"user\",\"preferredName\":{\"locale\":\"en-US\",\"value\":\"aspect user\"}}"
}

Properties

Name Type Required Restrictions Description
dialType string true none Type of dial
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.
externalRouteId string false none Alvaria-generated unique identifier for the external route
workTypeId string true none Alvaria-generated unique identifier for the work type
phoneNumber string false none Phone number that you want to dial if the request requires it
userId string true none 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.
requireWrap boolean false none This optional parameter will cause the Alvaria™ Cloud internal system to send a wrap state, which means that the client will need to dispose the interaction.
entity string false none JSON string of the Via Entity retrieved from Alvaria™ Cloud Provisioning REST API. Expected entities: UsersFragment, workTypeTerse, SystemExternalFragment (ViaProvisioningExternalSwagger);

Enumerated Values

Property Value
dialType User
dialType External
dialType Preview
dialType WorkType

DigitsParmsSchema

{
  "ehubSessionId": "7548",
  "digits": "123456789*#"
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.
digits string true none List of digits to play.

DisconnectParmsSchema

{
  "ehubSessionId": "4875",
  "reasonId": "548"
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ 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.
reasonId string true none 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.

DisposeParmsSchema

{
  "ehubSessionId": "4875",
  "dispositionId": "2653",
  "wrapRequired": true,
  "salesFlag": true,
  "callbackFlag": false,
  "interactionDataCollection": " "
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.
dispositionId string true none Alvaria-generated unique identifier for the disposition
wrapRequired boolean true none Whether wrap is required for this interaction
salesFlag boolean true none Whether the interaction is identified as a sales interaction
callbackFlag boolean true none Whether the interaction is identified for a callback
interactionDataCollection [object] true none This is a collection of up to 20 user fields.
» key string false none This is the key of the key value pair.
» value string false none This is the value of the key value pair.
» isMasked boolean false none This shows whether a field should be masked in the UI.

ForceDisconnectParmsSchema

{
  "ehubSessionId": "",
  "userId": "999d97b0c00d99"
}

Properties

Name Type Required Restrictions Description
ehubSessionId string false none Alvaria-generated unique identifier for the session with the Alvaria™ 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.
userId string true none Alvaria-generated unique identifier for the user to be disconnected. It can be retrieved from provisioning API url /via/v2/organizations/{orgId}/provisioning/users

HoldParmsSchema

{
  "ehubSessionId": "12345"
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.

MessageActiveParmsSchema

{
  "ehubSessionId": "4875",
  "userId": "999d97b0c00d99",
  "entityType": "Agent",
  "firstName": "James",
  "lastName": "Jones",
  "workTypeId": "263"
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.
userId string true none 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.
entityType string true none Type of entity
firstName string true none First name
lastName string true none Last name
workTypeId string true none Alvaria-generated unique identifier for the work type.

Enumerated Values

Property Value
entityType Agent
entityType Monitor
entityType System

MonitorParmsSchema

{
  "monitorType": "StartSilent",
  "ehubSessionId": "4875",
  "station": "9785551212",
  "monitoringStationId": "9785552121",
  "monitoringId": "4857"
}

Properties

Name Type Required Restrictions Description
monitorType string true none Monitor type that specifies which type of monitoring that you want to use
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.
station string true none Station number
monitoringStationId string true none Alvaria-generated unique identifier for the station number that you want to monitor
monitoringId string true none Alvaria-generated unique identifier for the established monitor session

Enumerated Values

Property Value
monitorType StartSilent
monitorType StartBargeIn
monitorType StartCoach
monitorType SwitchToSilent
monitorType SwitchToBargeIn
monitorType SwitchToCoach
monitorType StopSilent
monitorType StopBargeIn
monitorType StopCoach

MultitaskingParmsSchema

{
  "ehubSessionId": "4875",
  "enabled": true
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.
enabled boolean true none Enable / Disable

NotReadyParmsSchema

{
  "ehubSessionId": "4875",
  "reasonId": "12",
  "notReadyType": "NotReady"
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.
reasonId string true none Alvaria-generated unique identifier for the reason code for the Not Ready. Reason codes are configured in Configuration Manager.
notReadyType string true none Type of not ready type, which is Park or Not Ready

Enumerated Values

Property Value
notReadyType NotReady
notReadyType Park

ReadyParmsSchema

{
  "ehubSessionId": "4875"
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.

ReassignEmailParmsSchema

{
  "ehubSessionId": "4875",
  "emailObjectId": "string",
  "destinationWorkTypeId": "263",
  "destinationUserId": "999d97b0c00d99"
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.
emailObjectId string true none Alvaria-generated unique identifier for the path in cloud storage to the corresponding email message.
destinationWorkTypeId string true none 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.
destinationUserId string true none 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.

RejectParmsSchema

{
  "ehubSessionId": "4875",
  "reason": "12"
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.
reason string true none Reason code for the rejection. Reason codes are configured in Configuration Manager.

RetrieveParmsSchema

{
  "ehubSessionId": "4875"
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.

TerminateParmsSchema

{
  "ehubSessionId": "4875"
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.

TransferParmsSchema

{
  "transferType": "ConsultedParty",
  "ehubSessionId": "4875",
  "callType": "17",
  "conferenceInteractionId": "4320",
  "consultationInteractionId": "4321",
  "workTypeId": "321",
  "phoneNumber": "9785551212",
  "externalRouteId": "54321",
  "interactionType": "Voice",
  "userId": "999d97b0c00d99",
  "entity": "{\"active\":true,\"kind\":\"via#user\",\"id\":\"user1\",\"user\":\"user1@orgname.com\",\"firstName\":\"user\",\"lastName\":\"user\",\"preferredName\":{\"locale\":\"en-US\",\"value\":\"orgname user\"}}",
  "interactionDataCollection": " "
}

Properties

Name Type Required Restrictions Description
transferType string true none Type of transfer, which can be Consulted Party, User, External, or Work type
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.
callType string false none Type of call
conferenceInteractionId string false none Alvaria-generated unique identifier for the conference
consultationInteractionId string false none Alvaria-generated unique identifier for the consultation leg of interaction
workTypeId string true none Alvaria-generated unique identifier for the work type. This should contain the work type identifier associated with the Interaction.
phoneNumber string false none Phone number. This should contain the phone number if an external transfer is requested.
externalRouteId string false none Alvaria-generated unique identifier for the external route. This optionally contains the external route ID if one is needed.
interactionType string false none Type of interaction, which can be Voice or ChatSms
userId string false none 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.
entity string false none JSON string of the Via Entity used to initiate the interaction. Expected entities: UsersFragment, workTypeTerse, SystemExternalFragment (ViaProvisioningExternalSwagger);
interactionDataCollection [object] false none This is a collection of up to 20 user fields.
» key string false none This is the key of the key value pair.
» value string false none This is the value of the key value pair.
» isMasked boolean false none This shows whether a field should be masked in the UI.

Enumerated Values

Property Value
transferType ConsultedParty
transferType User
transferType External
transferType ExternalBlind
transferType WorkType
interactionType Voice
interactionType ChatSms

WarningParmsSchema

{
  "warningType": "Wrap",
  "ehubSessionId": "4875"
}

Properties

Name Type Required Restrictions Description
warningType string true none Type of warning
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.

Enumerated Values

Property Value
warningType Wrap
warningType NotReady
warningType Park

VoicemailUpdatedParmsSchema

{
  "ehubSessionId": "4875",
  "workTypeId": "263"
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.
workTypeId string true none Alvaria-generated unique identifier for the work type.

VoicemailForwardedParmsSchema

{
  "ehubSessionId": "4875",
  "sourceMailboxId": "263",
  "destinationMailboxId": "264"
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.
sourceMailboxId string true none Alvaria-generated unique identifier for the source mailbox.
destinationMailboxId string true none Alvaria-generated unique identifier for the destination mailbox.

PlayMessageParmsSchema

{
  "ehubSessionId": "4875",
  "audioMessageId": "53",
  "language": "en-US"
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.
audioMessageId string true none Alvaria-generated unique identifier for the audio message. The audio messages can be retrieved from url /via/v2/organizations/{orgId}/provisioning/workTypes/{workTypeId}/audioMessages.
language string true none The IETF Language for the audio message.

Enumerated Values

Property Value
language en-US
language es-ES
language de-DE
language pt-BR
language en-GB
language fr-CA

PauseMessageParmsSchema

{
  "ehubSessionId": "4875"
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.

ResumeMessageParmsSchema

{
  "ehubSessionId": "4875"
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.

StopMessageParmsSchema

{
  "ehubSessionId": "4875"
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.

SaveEmailParmsSchema

{
  "ehubSessionId": "4875",
  "replyEmailObjectId": "email/4b05-20161125-063840/40009-0",
  "subject": "Regarding your recent inquiry",
  "to": "janedoe@example.org;johndoe@example.org",
  "interactionDataCollection": [
    {
      "key": "Name",
      "value": "XYZ",
      "isMasked": false
    },
    {
      "key": "Account",
      "value": "******6789",
      "isMasked": true
    }
  ]
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.
replyEmailObjectId string true none 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.
subject string false none 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.
to string false none 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.
interactionDataCollection [object] true none This is a collection of up to 20 user fields.
» key string false none The caption/label of the field.
» value string false none The value of the field.
» isMasked boolean false none Whether the field is masked.

SendEmailParmsSchema

{
  "ehubSessionId": "4875",
  "replyEmailObjectId": "email/4b05-20161125-063840/40009-0",
  "to": "janedoe@example.org;johndoe@example.org",
  "interactionDataCollection": [
    {
      "key": "Name",
      "value": "XYZ",
      "isMasked": false
    },
    {
      "key": "Account",
      "value": "******6789",
      "isMasked": true
    }
  ]
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.
replyEmailObjectId string true none 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.
to string false none 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.
interactionDataCollection [object] true none This is a collection of up to 20 user fields.
» key string false none The caption/label of the field.
» value string false none The value of the field.
» isMasked boolean false none Whether the field is masked.

CloseEmailParmsSchema

{
  "ehubSessionId": "4875",
  "to": "janedoe@example.org;johndoe@example.org",
  "interactionDataCollection": [
    {
      "key": "Name",
      "value": "XYZ",
      "isMasked": false
    },
    {
      "key": "Account",
      "value": "******6789",
      "isMasked": true
    }
  ]
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.
to string false none 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.
interactionDataCollection [object] true none This is a collection of up to 20 user fields.
» key string false none The caption/label of the field.
» value string false none The value of the field.
» isMasked boolean false none Whether the field is masked.

EmailActiveParmsSchema

{
  "ehubSessionId": "4875"
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.

EmailErrorParmsSchema

{
  "ehubSessionId": "4875",
  "errorCode": 404
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.
errorCode number true none 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.

TransferEmailToUserParmsSchema

{
  "ehubSessionId": "4875",
  "replyEmailObjectId": "email/4b05-20161125-063840/40009-0",
  "userId": "999d97b0c00d99",
  "interactionDataCollection": [
    {
      "key": "Name",
      "value": "XYZ",
      "isMasked": false
    },
    {
      "key": "Account",
      "value": "******6789",
      "isMasked": true
    }
  ]
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.
replyEmailObjectId string true none 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.
userId string true none Alvaria-generated unique identifier for the destination user. The user can be retrieved from url /via/v2/organizations/{orgId}/provisioning/users.
interactionDataCollection [object] true none This is a collection of up to 20 user fields.
» key string false none The caption/label of the field.
» value string false none The value of the field.
» isMasked boolean false none Whether the field is masked.

TransferEmailToWorkTypeParmsSchema

{
  "ehubSessionId": "4875",
  "replyEmailObjectId": "email/4b05-20161125-063840/40009-0",
  "workTypeId": "114",
  "interactionDataCollection": [
    {
      "key": "Name",
      "value": "XYZ",
      "isMasked": false
    },
    {
      "key": "Account",
      "value": "******6789",
      "isMasked": true
    }
  ]
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.
replyEmailObjectId string true none 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.
workTypeId string true none 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
interactionDataCollection [object] true none This is a collection of up to 20 user fields.
» key string false none The caption/label of the field.
» value string false none The value of the field.
» isMasked boolean false none Whether the field is masked.

ForwardEmailParmsSchema

{
  "ehubSessionId": "4875",
  "replyEmailObjectId": "email/4b05-20161125-063840/40009-0",
  "to": "janedoe@example.org;johndoe@example.org",
  "interactionDataCollection": [
    {
      "key": "Name",
      "value": "XYZ",
      "isMasked": false
    },
    {
      "key": "Account",
      "value": "******6789",
      "isMasked": true
    }
  ]
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.
replyEmailObjectId string true none 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.
to string true none The semicolon-delimited string containing the destination email addresses of the email message.
interactionDataCollection [object] true none This is a collection of up to 20 user fields.
» key string false none The caption/label of the field.
» value string false none The value of the field.
» isMasked boolean false none Whether the field is masked.

ComposeEmailParmsSchema

{
  "ehubSessionId": "4875",
  "workTypeId": "114"
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.
workTypeId string true none 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

ReviewEmailParmsSchema

{
  "ehubSessionId": "4875",
  "emailObjectId": "email/4b05-20161125-063840/40009-0",
  "queueType": "Personal"
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.
emailObjectId string true none Alvaria-generated unique identifier for the path in cloud storage to the corresponding email message
queueType string true none Type of Email Queue

Enumerated Values

Property Value
queueType Personal
queueType WorkType

RemoveEmailParmsSchema

{
  "ehubSessionId": "4875",
  "emailObjectId": "email/4b05-20161125-063840/40009-0"
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.
emailObjectId string true none Alvaria-generated unique identifier for the path in cloud storage to the corresponding email message

PlayPersonalGreetingParmsSchema

{
  "ehubSessionId": "4875",
  "station": "9785551212",
  "fileName": "254138.vox"
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.
station string true none 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.
fileName string true none The file name of the personal greeting recording, provided by the recording event upon creating a new recording.

StopPlayPersonalGreetingParmsSchema

{
  "ehubSessionId": "4875",
  "station": "9785551212"
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.
station string true none 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.

PausePlayPersonalGreetingParmsSchema

{
  "ehubSessionId": "4875",
  "station": "9785551212"
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.
station string true none 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.

RecordPersonalGreetingParmsSchema

{
  "ehubSessionId": "4875",
  "station": "9785551212"
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.
station string true none 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.

StopRecordPersonalGreetingParmsSchema

{
  "ehubSessionId": "4875",
  "station": "9785551212",
  "fileName": "254138.vox",
  "recordingIndex": "826"
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.
station string true none 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.
fileName string true none The file name of the personal greeting recording, provided by the recording event upon creating a new recording.
recordingIndex string true none The recording index of the personal greeting recording provided in the associated recording event

DeletePersonalGreetingParmsSchema

{
  "ehubSessionId": "4875",
  "station": "9785551212"
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.
station string true none 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.

PersonalGreetingUpdatedParmsSchema

{
  "ehubSessionId": "4875",
  "recordingId": "254138",
  "personalGreetingId": "0"
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.
recordingId string true none Alvaria-generated unique identifier for the personal greeting recording.
personalGreetingId string true none Alvaria-generated unique identifier for the personal greeting entity.

AgentStatisticsParmsSchema

{
  "ehubSessionId": "4875"
}

Properties

Name Type Required Restrictions Description
ehubSessionId string true none Alvaria-generated unique identifier for the session with the Alvaria™ Cloud system, which is unique per connect.

ErrorResponse

{
  "code": 404,
  "message": "not found",
  "errors": [
    {
      "scope": "scope",
      "reason": "reason",
      "message": "message"
    }
  ]
}

Properties

Name Type Required Restrictions Description
code integer false none HTTP error status
message string false none none
errors [Error] false none none

Error

{
  "scope": "scope",
  "reason": "reason",
  "message": "message"
}

Properties

Name Type Required Restrictions Description
scope string false none none
reason string false none none
message string false none none