This guide provides an overview of Genesys Multicloud CX web-based APIs. The Introduction to Engage Cloud APIs provides generic information you will find helpful when working with these APIs. Once you have reviewed that content, details about specific APIs are provided on the following pages:
The Engage Cloud APIs are a collection of web APIs offered in Engage Cloud that send and receive data over HTTP in JSON (JavaScript Object Notation). You can use these APIs to create your own custom applications that integrate with Genesys.
One of the first things you’ll need to decide is whether to use the APIs directly or use the client libraries. The libraries are designed to simplify how you interact with the API and they take care of a lot of the supporting code needed to make HTTP requests, handle HTTP responses, and enable CometD.
The libraries are available on GitHub in Java and Node.js, which means others can make bug fixes or enhancements that would then be reviewed and approved by Genesys before becoming generally available.
Genesys recommends using the client libraries if possible, but either way you should review the reference documentation for the Authentication API and any other Engage Cloud APIs you plan to use to develop your application.
All Engage Cloud APIs implement and adhere to the OAuth 2 standard for secure authentication. See the Authentication Overview for details.
Many requests in the Engage Cloud APIs are asynchronous. When you send an asynchronous request, the API returns an HTTP response with a status code, but this only means the request was processed and sent to a backend Genesys server. When the server finishes processing the request and notifies the API of any changes in state or errors, the API then sends the updated state or error details to the client application as an unsolicited notification.
The Engage Cloud APIs uses CometD to deliver these unsolicited notifications to clients. CometD is a library that allows the server to deliver messages to a web-based client with low-latency using a variety of transports. The transport used to deliver messages is negotiated between the client and server based on what the client supports running in a particular browser. For more information about CometD, or for details about where to obtain client-side CometD libraries for various platforms, see the official CometD site.
These APIs require CometD to deliver notifications:
Click the links above and review the “CometD” section on the API’s landing page for information about which channels you can subscribe to and the notification you’ll receive.
When an API requires CometD, you’ll see a “Notifications” category in its API reference information (see the Statistics API Notifications page for an example). You can use these endpoints to implement CometD if you aren’t using a client-side CometD library.
The Engage Cloud APIs use the following standard HTTP verbs to perform actions on resources:
Verb | Description |
---|---|
GET | Retrieve resources. |
POST | Create resources. |
PUT | Update resources. |
DELETE | Delete resources. |
Requests support typical parameter types like body, header, path, and query, but there is also a special body parameter called data. This is a JSON object containing any information needed to execute the action. For example, if you POST to /workspace/v3/voice/make-call
, you must include a data object with the call destination:
{
"data":{
"destination":"5002"
}
}
All Engage Cloud APIs return a status JSON object with a required code field. You might also see the message and detail fields, which provide more information about the response. For example:
{
"status":{
"code":0
}
}
For successful responses, you can expect to see the following codes:
Code | Description |
---|---|
0 | The synchronous operation was successful. |
1 | The asynchronous operation was sent successfully. You’ll find out about the state of the operation through CometD notifications. For example, if you POST to /workspace/v3/initialize-workspace , the Workspace API immediately returns a response with a status code of 1 and later follows up with the WorkspaceInitializationComplete event, delivered via CometD.
|
2 | The synchronous operation was partially successful. This is returned if at least one action succeeds in a request that performs a bulk operation. In this case, the response includes the status object with a code of 2 , as well as data and errors. The data object includes any resources that were successfully retrieved as part of the bulk operation. The errors object is an array of status objects for each of the operations that failed in the request.
|
All other status codes indicate an error and include a message, and possibly a detail field, with more information about the problem. For example:
{
"status":{
"code":500,
"message":"Resource not found",
"detail":{
"ConfCode":12345
}
}
}
For asynchronous requests, you might also see errors delivered via CometD notifications. For example, the Workspace API returns an EventError message that includes the related DN, along with the error code and message, and the call connection ID and call UUID, if available.
Genesys Engage APIs rely on the Authentication API for authentication and authorization. If you plan to develop with any of the APIs, you’ll need to use the Authentication API as a first step.
The Authentication API enables custom client applications to authenticate users and client applications by generating an authorization token that the client can use to access other APIs.
Find the API requests, responses, and details here:
The Authentication API implements authorization flows described in the OAuth 2.0 standard. OAuth is an authorization framework that enables an external application to obtain limited access to an HTTP service, with the consent of the user.
For this purpose, OAuth makes a clear difference between the external application (referred to as the Client), the user (referred to as the Resource Owner), and the browser (referred to as the User Agent).
For more information about the OAuth 2.0 spec, see: RFC 6749 - The OAuth 2.0 Authorization Framework.
The Authentication API supports the Authorization Code Grant flow defined in OAuth. This is a two-step process:
First, the user authenticates with the Authentication API, using a sign-in form at endpoint /oauth/authorize
. After a successful authentication, the client application is returned a short-lived authorization code. The authorization code is conveyed to the client application through an HTTP redirect to a specific URI owned by the client application (redirect_uri
) that needs to be pre-configured (see Requirements for details).
Second, the client application exchanges this code for an access token, by using the /oauth/token
endpoint, and sending client application credentials. The access token can then be used for making authorized API calls.
The Authorization Code Grant flow is secure and convenient for interactive authentication using web applications that have a server component. That backend component can store client credentials secretly, and take charge of exchanging the authorization code for an access token.
For more information about the Authorization Code Grant flow, see: RFC 6749 - The OAuth 2.0 Authorization Framework - Authorization Code Grant.
You will need the following data for accessing the Authentication API:
x-api-key
header of every request.You can request API Key and Client Credentials for your cloud tenant from Genesys Customer Care. From your side, you need to provide the following data:
The user navigates to the /oauth/authorize
endpoint, which displays a sign-in form. It is up to the client to decide how the user navigates to the sign-in page. It can happen by direct navigation, or through an HTTP redirect, or inside an embedded frame or popup window.
The /oauth/authorize
URL must contain query parameters defined by OAuth. For example:
GET /auth/v3/oauth/authorize?response_type=code&client_id=&state=70db3ab252ead1dd&redirect_uri=https://yourapp.com/oauthcallback
After a successful sign-in, the Authentication Server conveys the authorization code to your client application. To do this, it redirects the browser to the provided Redirect URI, and adds a query parameter that contains the authorization code. For example, the HTTP redirect response may look like this:
HTTP/1.1 302 Found
Location: https://yourapp.com/oauthcallback&code=ABCXYZ&state=70db3ab252ead1dd
After checking the state
value, your application can exchange the authorization code for an access token, by using the /oauth/token
endpoint. You must provide client credentials through HTTP basic access authentication. For example:
POST /auth/v3/oauth/token
Authorization: Basic
Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code&code=ABCXYZ
&redirect_uri=https://yourapp.com/oauthcallback
Again, the redirect_uri
must be URL-encoded.
Finally, the Authentication API returns an access token to your client application, inside a JSON response. For example:
HTTP/1.1 200 OK
Content-Type': application/json;charset=utf-8
Cache-Control': no-store
Pragma: no-cache
{'access_token': '1234abcd-5569-4fa9-bfad-12345678abcd',
'expires_in': 43199,
'refresh_token': '456789ef-3dce-4c82-bc1f-987654324e87',
'scope': '*',
'token_type': 'bearer'}
Once your client application has the access token, it can access the APIs by including the token inside the Authorization
header of HTTP requests to API endpoints.
Authorization: Bearer 1234abcd-5569-4fa9-bfad-12345678abcd
An access token is valid for a certain time. Once the access token expires, if your application obtained a refresh token, your application may use it to obtain a new access token, as described in OAuth 2.0 - Refreshing an Access Token.
If an application token is expired or invalid, the API returns the HTTP status code 401. This lets the application know it must get a new access token.
Review the error messages below to see solutions for common troubleshooting scenarios.
HTTP/1.1 403 Forbidden
{'message': 'Forbidden'}
If you get this response from any API endpoint, you are probably using an invalid API Key in your x-api-key
request header.
HTTP/1.1 401 Unauthorized
{'error': 'Unauthorized', 'error_description': 'Bad credentials'}
If you get this response from the /oauth/token
endpoint, you are probably using invalid client credentials. Check you Client ID and Client Password.
HTTP/1.1 400 Bad Request
{'error': 'invalid_grant', 'error_description': 'Bad credentials'}
If you get this response from the /oauth/token
endpoint, you are probably using invalid user credentials. Check you user name and password.
Genesys also offers client libraries for the Authentication API in both Node.js and Java. These libraries may help you start up quicker, as they take care of a lot of the supporting code needed to make the proper HTTP requests and handle HTTP responses.
HTTP Basic access authentication has been intentionally disabled. While basic authentication is the simplest way to authenticate a user, it does not provide the security benefits of OAuth. There are a few key security concerns with basic auth:
POST
|
/change-password
Change password
|
Name | Default | Description | Parameter Type | Data Type | Required | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Authorization | bearer | The OAuth 2 bearer access token you received from /auth/v3/oauth/token. For example: Authorization: bearer a4b5da75-a584-4053-9227-0f0ab23ff06e | header | string | |||||||||||||||||
request | Request | body | true | ||||||||||||||||||
|
Code | Reason | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||||||||||||||||||
| |||||||||||||||||||||||||
403 | Unable to update password | ||||||||||||||||||||||||
503 | Service unavailable |
curl -X POST
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-d '{
"data": {
"newPassword": "string",
"oldPassword": "string",
"userName": "string"
},
"operationId": "string"
}'
"https://api-demo.com/auth/v3/change-password?"
GET
|
/jwt-userinfo
Get user information by access token. The information will be encoded as jwt and returned in 'X-GWS-User' header
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
Authorization | The OAuth 2 bearer access token. For example: Authorization: bearer a4b5da75-a584-4053-9227-0f0ab23ff06e | header | string | true |
Code | Reason | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||||||||||||||||||
|
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/auth/v3/jwt-userinfo?"
GET
|
/oauth/authorize
Perform authorization
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
Authorization | Basic authorization. For example: Authorization: Basic Y3…MQ== | header | string | ||
client_id | The ID of the application or service that is registered as the client. You'll need to get this value from your Engage Cloud representative. | query | string | true | |
hideTenant | false | Hide the tenant field in the UI for Authorization Code Grant. | query | boolean | |
redirect_uri | The URI that you want users to be redirected to after entering valid credentials during an Implicit or Authorization Code grant. The Authentication API includes this as part of the URI it returns in the 'Location' header. | query | string | true | |
response_type | The response type to let the Authentication API know which grant flow you're using. Possible values are code for Authorization Code Grant or token for Implicit Grant. For more information about this parameter, see Response Type. | query | string | true | |
scope | The scope of the access request. The Authentication API supports only the * value. | query | string |
Code | Reason | ||
---|---|---|---|
302 | Found | ||
| |||
401 | Unauthorized |
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/auth/v3/oauth/authorize?client_id=string&hideTenant=true&redirect_uri=string&response_type=string&scope=string"
POST
|
/oauth/token
Retrieve access token
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
Accept | The media type the Authentication API should should use for the response. For example: Accept: application/x-www-form-urlencoded | header | string | ||
Authorization | Basic authorization. For example: Authorization: Basic Y3…MQ== | header | string | ||
client_id | The ID of the application or service that is registered as the client. You'll need to get this value from your Engage Cloud representative. | formData | string | ||
code | Authorization code, see Access Token Request for details. | formData | string | ||
grant_type | The grant type you use to implement authentication. | formData | string | true | |
password | The agent's password. | formData | string | ||
refresh_token | See Refresh Token for details. | formData | string | ||
scope | The scope of the access request. The Authentication API supports only the * value. | formData | string | ||
username | The agent's username. | formData | string |
Code | Reason | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||||||||
| |||||||||||||||
400 | Error as specified by standard (username/password is wrong, for example) | ||||||||||||||
| |||||||||||||||
401 | Unauthorized | ||||||||||||||
| |||||||||||||||
403 | Forbidden | ||||||||||||||
| |||||||||||||||
503 | Service unavailable |
curl -X POST
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/auth/v3/oauth/token?"
GET
|
/openid/userinfo
Get OpenID user information by access token
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
Authorization | The OAuth 2 bearer access token you received from /auth/v3/oauth/token. For example: Authorization: bearer a4b5da75-a584-4053-9227-0f0ab23ff06e | header | string | true |
Code | Reason | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||
401 | Unauthorized | ||||||||||||||||||||||||||||||||
503 | Service unavailable |
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/auth/v3/openid/userinfo?"
GET
|
/ping
Check connection
|
Code | Reason | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||||||||||||||||||
| |||||||||||||||||||||||||
403 | Prohibited | ||||||||||||||||||||||||
503 | Service unavailable |
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/auth/v3/ping?"
GET
|
/sign-out
Sign-out a logged in user
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
Authorization | The OAuth 2 bearer access token you received from /auth/v3/oauth/token. For example: Authorization: bearer a4b5da75-a584-4053-9227-0f0ab23ff06e | header | string | true | |
global | Specifies whether to invalidate all tokens for the current user (true) or only the current token (false). | query | boolean | ||
redirectUri | Specifies the URI where the browser is redirected after sign-out is successful. | query | string |
Code | Reason | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||||||||||||||||||
| |||||||||||||||||||||||||
401 | Unauthorized | ||||||||||||||||||||||||
503 | Service unavailable |
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/auth/v3/sign-out?global=true&redirectUri=string"
POST
|
/sign-out
Sign-out a logged in user
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
Authorization | The OAuth 2 bearer access token you received from /auth/v3/oauth/token. For example: Authorization: bearer a4b5da75-a584-4053-9227-0f0ab23ff06e | header | string | true | |
global | Specifies whether to invalidate all tokens for the current user (true) or only the current token (false). | query | boolean |
Code | Reason | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||||||||||||||||||
| |||||||||||||||||||||||||
401 | Unauthorized | ||||||||||||||||||||||||
503 | Service unavailable |
curl -X POST
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/auth/v3/sign-out?global=true"
GET
|
/userinfo
Get user information by access token
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
Authorization | The OAuth 2 bearer access token. For example: Authorization: bearer a4b5da75-a584-4053-9227-0f0ab23ff06e | header | string | true |
Code | Reason | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||||||||||||||||||||
| |||||||||||||||||||||||||||
401 | Unauthorized | ||||||||||||||||||||||||||
503 | Service unavailable |
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/auth/v3/userinfo?"
You can use the Cloud Data Download Service (CDDS) API to develop custom applications that can integrate with Genesys to export and download your contact center data.
Some of the CDDS features you can add to your applications include:
Currently, CDDS only supports the export and download of contacts and interaction-based data sourced from Universal Contact Server (UCS).
Find the API requests, responses, and details here:
Make sure to check out the Introduction to Engage Cloud APIs page for more information about core concepts in the Engage Cloud APIs, such as requests, responses, and CometD notifications.
GET
|
/v3/cipher
Get certificate information
|
Code | Reason | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||||||
|
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/data-download/v3/cipher?"
POST
|
/v3/cipher/{certificatefilename}
POST the specified certificate
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
certificatefilename | path | string | true | ||
file | formData | file |
Code | Reason |
---|---|
201 | Created |
"string" | |
400 | Bad Request |
curl -X POST
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/data-download/v3/cipher/{certificatefilename}?"
GET
|
/v3/data/job-statuses
Get list of job statuses
|
Code | Reason | ||||||||
---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||
|
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/data-download/v3/data/job-statuses?"
GET
|
/v3/data/sources
Get list of sources
|
Code | Reason | ||||||||
---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||
| |||||||||
204 | No Content |
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/data-download/v3/data/sources?"
GET
|
/v3/data/sub-types
Get list of data subtypes
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
source | Filter data sub types by source | query | string | ||
dataType | Filter data types by type | query | string |
Code | Reason | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||||||||
| |||||||||||||||
204 | No Content | ||||||||||||||
400 | Bad Request |
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/data-download/v3/data/sub-types?source=string&dataType=string"
GET
|
/v3/data/types
Get list of types
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
source | Filter data types by source | query | string |
Code | Reason | ||||||||
---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||
| |||||||||
204 | No Content |
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/data-download/v3/data/types?source=string"
GET
|
/v3/file-metadatas
Get list of files metadata
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
descAsc | Specifies the sort order of orderField. False for ascending order, true for descending | query | boolean | ||
orderField | By which field to order | query | string | ||
startDate | startDate | query | string | ||
endDate | Filter to which upload date | query | string | ||
name | Filter that file name contains | query | string | ||
jobTitle | Filter that job title contains | query | string | ||
type | Filter that file type contains | query | string | ||
from | 0 | Index of the first item to return | query | integer | |
size | 999999999 | Maximum number of items to return | query | integer |
Code | Reason | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||||||
|
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/data-download/v3/file-metadatas?descAsc=true&orderField=string&startDate=string&endDate=string&name=string&jobTitle=string&type=string&from=0&size=0"
GET
|
/v3/files
Get the list of pre-signed url for specified files list
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
filename | A comma-separated list of file names | query | string |
Code | Reason | ||||||
---|---|---|---|---|---|---|---|
200 | Ok | ||||||
| |||||||
400 | Bad Request | ||||||
404 | File Not Found | ||||||
|
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/data-download/v3/files?filename=string"
DELETE
|
/v3/files
Delete the specified files list
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
filename | A comma-separated list of file names | query | string | true |
Code | Reason |
---|---|
204 | No Content |
curl -X DELETE
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/data-download/v3/files?filename=string"
GET
|
/v3/files/{filename}
Get the specified file
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
filename | The name of the file | path | string | true |
Code | Reason |
---|---|
303 | See Other |
404 | File Not Found |
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/data-download/v3/files/{filename}?"
DELETE
|
/v3/files/{filename}
Delete the specified file
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
filename | The name of the file | path | string | true |
Code | Reason |
---|---|
204 | No Content |
curl -X DELETE
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/data-download/v3/files/{filename}?"
GET
|
/v3/version
Get version information
|
Code | Reason | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||||||
|
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/data-download/v3/version?"
GET
|
/v4/export/history
Get list of jobs info
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
descAsc | Specifies the sort order of orderField. False for ascending order, true for descending | query | boolean | ||
orderField | By which field to order | query | string | ||
title | Filter that title contains | query | string | ||
fileName | Filter that file name contains | query | string | ||
type | Filter that type contains | query | string | ||
status | Filter that file name contains | query | string | ||
from | 0 | Index of the first item to return | query | integer | |
size | 999999999 | Maximum number of items to return | query | integer |
Code | Reason | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||||||
| |||||||||||||
204 | No Content |
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/data-download/v4/export/history?descAsc=true&orderField=string&title=string&fileName=string&type=string&status=string&from=0&size=0"
DELETE
|
/v4/export/history
Delete the specified jobs list
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
jobIDs | A comma-separated list of job IDs | query | string | true |
Code | Reason |
---|---|
204 | No Content |
400 | Bad Request |
curl -X DELETE
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/data-download/v4/export/history?jobIDs=string"
GET
|
/v4/export/history/{id}
Get specified jobs history
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
id | The id of the job | path | string | true |
Code | Reason | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||
400 | Bad Request | ||||||||||||||||||||||||||||||||||
404 | ManualJob Not Found |
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/data-download/v4/export/history/{id}?"
DELETE
|
/v4/export/history/{id}
Delete the specified job
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
id | The id of the job | path | string | true |
Code | Reason |
---|---|
204 | No Content |
400 | Bad Request |
curl -X DELETE
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/data-download/v4/export/history/{id}?"
GET
|
/v4/export/history/{id}/progress
Get currently running job completion progress
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
id | The id of the job history | path | string | true |
Code | Reason | ||||||||
---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||
| |||||||||
400 | Bad Request |
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/data-download/v4/export/history/{id}/progress?"
GET
|
/v4/export/jobs
Get list of jobs info
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
descAsc | Specifies the sort order of orderField. False for ascending order, true for descending | query | boolean | ||
orderField | By which field to order | query | string | ||
title | Filter that title contains | query | string | ||
type | Filter that type contains | query | string | ||
scheduleType | Filter that file name contains | query | string | ||
suspend | Filter that schedule type contains | query | boolean | ||
from | 0 | Index of the first item to return | query | integer | |
size | 999999999 | Maximum number of items to return | query | integer |
Code | Reason | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||||||
| |||||||||||||
204 | No Content |
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/data-download/v4/export/jobs?descAsc=true&orderField=string&title=string&type=string&scheduleType=string&suspend=true&from=0&size=0"
POST
|
/v4/export/jobs
Save specified manualJob
|
Name | Default | Description | Parameter Type | Data Type | Required | ||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
body | body | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
Code | Reason | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
202 | Accepted | ||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||
400 | Bad Request |
curl -X POST
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-d '{
"source": "string",
"title": "string",
"timeFrame": {
"all": true,
"dateFrom": "string",
"dateTo": "string"
},
"fileSplitSize": "string",
"description": "string",
"schedulerParam": {
"immediately": true,
"cron": "string",
"runs": "string",
"startDate": "string"
},
"jobParams": {
"fileSplitSize": "string",
"type": "string",
"media": [
]
},
"suspended": "string"
}'
"https://api-demo.com/data-download/v4/export/jobs?"
DELETE
|
/v4/export/jobs
Delete the specified jobs list
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
jobIDs | A comma-separated list of job IDs | query | string | true |
Code | Reason |
---|---|
204 | No Content |
400 | Bad Request |
curl -X DELETE
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/data-download/v4/export/jobs?jobIDs=string"
POST
|
/v4/export/jobs/cancel/{id}
Cancel running
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
id | The id of the job | path | string | true |
Code | Reason |
---|---|
200 | Ok |
400 | Bad Request |
404 | Not Found |
curl -X POST
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/data-download/v4/export/jobs/cancel/{id}?"
POST
|
/v4/export/jobs/resume/{id}
Save specified manualJob
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
id | The id of the job | path | string | true |
Code | Reason | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||
400 | Bad Request | ||||||||||||||||||||||||||||||||||
404 | Job Not Found |
curl -X POST
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/data-download/v4/export/jobs/resume/{id}?"
POST
|
/v4/export/jobs/suspend/{id}
Save specified manualJob
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
id | The id of the job | path | string | true |
Code | Reason | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||
400 | Bad Request | ||||||||||||||||||||||||||||||||||
404 | Job Not Found |
curl -X POST
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/data-download/v4/export/jobs/suspend/{id}?"
GET
|
/v4/export/jobs/{id}
Get specified job
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
id | The id of the job | path | string | true |
Code | Reason | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||
400 | Bad Request | ||||||||||||||||||||||||||||||||||
404 | ManualJob Not Found |
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/data-download/v4/export/jobs/{id}?"
PUT
|
/v4/export/jobs/{id}
Save specified manualJob
|
Name | Default | Description | Parameter Type | Data Type | Required | ||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
id | path | string | true | ||||||||||||||||||||||||||||||||||||||||||||||||
body | body | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
Code | Reason | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||
400 | Bad Request | ||||||||||||||||||||||||||||||||||
404 | Job Not Found |
curl -X PUT
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-d '{
"source": "string",
"title": "string",
"timeFrame": {
"all": true,
"dateFrom": "string",
"dateTo": "string"
},
"fileSplitSize": "string",
"description": "string",
"schedulerParam": {
"immediately": true,
"cron": "string",
"runs": "string",
"startDate": "string"
},
"jobParams": {
"fileSplitSize": "string",
"type": "string",
"media": [
]
},
"suspended": "string"
}'
"https://api-demo.com/data-download/v4/export/jobs/{id}?"
DELETE
|
/v4/export/jobs/{id}
Delete the specified job
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
id | The id of the job | path | string | true |
Code | Reason |
---|---|
204 | No Content |
400 | Bad Request |
curl -X DELETE
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/data-download/v4/export/jobs/{id}?"
The Interactions Webhook provides notifications about state changes in chat and secure email interactions. Digital Channels supports notifications for the following events:
The webhook is delivered as a POST request. Digital Channels expects the third-party system to respond with 200 OK. If the third-party system doesn’t respond with 200 OK or is not available, Digital Channels will try to redeliver the webhook according to the configuration for retry timeout and retry attempts. Contact your Genesys representative for details about this configuration.
The webhook POST request contains an X-Hub-Signature header with the SHA1 signature of the post payload. The signature is calculated using the keyed-hash message authentication code (HMAC), where the key is the app secret. The signature is then prefixed with sha1=
. The third-party system should verify this signature to validate the integrity and origin of the payload.
Find the API requests, responses, and details here:
Make sure to check out the Introduction to Engage Cloud APIs page for more information about core concepts in the Engage Cloud APIs, such as requests and responses.
POST
|
/some/interactions/webhook/path
Send interaction state change events
|
Name | Default | Description | Parameter Type | Data Type | Required | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
X-Hub-Signature | The request signature, for example sha1=hash. The hash is built using the body of the message and secret for the channel. | header | string | true | |||||||||||||||||||||||||||||
X-B3-TraceId | A unique trace ID for the request. | header | string | ||||||||||||||||||||||||||||||
events | The events payload. | body | true | ||||||||||||||||||||||||||||||
|
Code | Reason | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | Operation was successful | ||||||||||||||||||||||
| |||||||||||||||||||||||
500 | Internal Server Error |
curl -X POST
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-d '{
"operationId": "f6c49d91-926b-4473-b2f3-8d8fd295c968",
"data": {
"entities": [
{
}
]
}
}'
"https://api-demo.com/nexus/v3/some/interactions/webhook/path?"
The Secure Email API lets you send and receive messages, with attachments, between Digital Channels and your secure messaging platform.
Find the API requests, responses, and details here:
Make sure to check out the Introduction to Engage Cloud APIs page for more information about core concepts in the Engage Cloud APIs, such as requests and responses.
GET
|
/securemail
Get secure emails
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
address | The email address of the consumer. | query | string | true | |
status | all | Specifies the status of emails to count - unread, read or all (both read and unread). | query | string | |
index | 0 | The start index the API should use to get emails. | query | integer | |
count | 10 | The number of secure emails the API returns. | query | integer | |
securebox | Securebox name. Allows to specify optional securebox name to send email to or read from. securebox provides ability to communicate with the same contact within several different departments independently. (contains only A-Z, a-z, 0-9, and must be from 3 to 16 characters long) | query | string | ||
x-api-key | A unique key required to use the API. If you do not already have this API key, contact your Customer Care representative. | header | string | true |
Code | Reason | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||
400 | Invalid request parameters provided. | ||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||
404 | Entity with specified ID not found. | ||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||
500 | Server error occurred. | ||||||||||||||||||||||||||||
|
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/nexus/v3/securemail?address=string&status=string&index=0&count=0&securebox=string"
POST
|
/securemail
Send secure email
|
Name | Default | Description | Parameter Type | Data Type | Required | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
securebox | Securebox name. Allows to specify optional securebox name to send email to or read from. securebox provides ability to communicate with the same contact within several different departments independently. (contains only A-Z, a-z, 0-9, and must be from 3 to 16 characters long) | query | string | ||||||||||
xxNAMExx | A unique key required to use the API. If you do not already have this API key, contact your Customer Care representative. | header | string | true | |||||||||
data | body | ||||||||||||
|
Code | Reason | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||
400 | Invalid request parameters provided. | ||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||
500 | Server error occurred. | ||||||||||||||||||||||||||||||
|
curl -X POST
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-d '{object}'
"https://api-demo.com/nexus/v3/securemail?securebox=string"
GET
|
/securemail/count
Get a count of unread, read or all secure emails
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
address | The email address of the consumer. | query | string | true | |
status | all | Specifies the status of emails to count - unread, read or all (both read and unread). | query | string | |
securebox | Securebox name. Allows to specify optional securebox name to send email to or read from. securebox provides ability to communicate with the same contact within several different departments independently. (contains only A-Z, a-z, 0-9, and must be from 3 to 16 characters long) | query | string | ||
x-api-key | A unique key required to use the API. If you do not already have this API key, contact your Customer Care representative. | header | string | true |
Code | Reason | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||
400 | Invalid request parameters provided. | ||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||
404 | Entity with specified ID not found. | ||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||
500 | Server error occurred. | ||||||||||||||||||||||||||||||||
|
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/nexus/v3/securemail/count?address=string&status=string&securebox=string"
GET
|
/securemail/{secureMailId}
Get secure email content
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
read | If set to true, the API changes the status to "read" for inbound and outbound emails and stops the inbound interaction from routing. | query | boolean | ||
x-api-key | A unique key required to use the API. If you do not already have this API key, contact your Customer Care representative. | header | string | true | |
secureMailId | The ID of the secure email. | path | string | true |
Code | Reason | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
400 | Invalid request parameters provided. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
You can use the Statistics API to create a subscription for multiple statistics and then receive notifications when the values of those statistics change.
You can work with the API in two modes:
The Statistics API is divided into the following categories:
/statistics
) — Subscribe to statistics, unsubscribe from statistics, and get the current value of statistics without a subscription./notifications
) — Implements CometD channels for statistics notifications.Find the API requests, responses, and details here:
Genesys also offers client libraries for the Statistics API in both Node.js and Java. These libraries simplify how you interact with the API and they take care of a lot of the supporting code needed to make HTTP requests and enable CometD. Genesys recommends using the client libraries if possible. For help deciding if you should use them, check out the Getting Started page.
There are also some Statistics tutorials that demonstrate how to use the client libraries. See Tutorials for details.
In order to initialize and use the Statistics API, you first need to authenticate with the Authentication Client Library or the Authentication API.
You can get the current value of predefined statistics from Stat Server without a subscription by making a POST request to /statistics/v3/operations/get-statistic-ex.
This operation has just one mandatory body parameter called statistics.
POST to /statistics/v3/operations/get-statistic-ex
Here’s the JSON body included with the above request:
{
"data":{
"statistics":[
{
"name":"CurrentAgentState",
"objectType":"Agent",
"objectId":"agent2"
},
{
"name":"TimeInCurrentState",
"objectType":"Agent",
"objectId":"agent2"
}
]
}
}
{
"status":{
"code":0
},
"data":{
"statistics":[
{
"name":"CurrentAgentState",
"objectType":"Agent",
"objectId":"agent2",
"value":{
...
},
"timestamp":1490830620000
},
{
"name":"TimeInCurrentState",
"objectType":"Agent",
"objectId":"agent2",
"value":{
...
},
"timestamp":1490830620000
}
]
}
}
You can also use an API call to get the current value of one valid statistic from Stat Server by making a GET request to /statistics/v3/statistic-values/{statisticName}.
This request accepts two mandatory query parameters, objectType and objectId.
GET /statistics/v3/statistic-values/{statisticName}?objectType=XXX&objectId=YYY
{
"status":{
"code":0
},
"data":{
"statistic":{
"value":{
...
},
"timestamp":1490830620000
}
}
}
To create a subscription, POST to the following path: /statistics/v3/subscriptions
This POST allows an optional query parameter verbose=
and the body is JSON with the operationId and data parameters.
POST to /statistics/v3/subscriptions
Here’s the JSON body included with the above request:
{
"operationId":"UUID1",
"data":{
"statistics":[
{
"statisticId":"UUID2",
"objectId":"agent",
"objectType":"Agent",
"name":"AverageHandlingTime"
},
{
"statisticId":"UUID3",
"objectId":"agent",
"objectType":"Agent",
"definition":{
"notificationMode":"Periodical",
"notificationFrequency":10,
"insensitivity":1,
"category":"TotalAdjustedTime",
"subject":"DNStatus",
"intervalType":"GrowingWindow",
"mainMask":"WaitForNextCall",
"dynamicTimeProfile":"00:00",
"dynamicFilter":"Media=voice",
"maskType":"DN"
}
}
]
}
}
In the above sample, AverageHandlingTime references the corresponding statistic (pre-configured) for the given contact center.
{
"status":{
"code":0
},
"data":{
"subscriptionId":"UUID1",
"operationId":"UUID1",
"statistics":[
{
"statisticId":"UUID2",
"objectId":"agent",
"objectType":"Agent",
"name":"AverageHandlingTime",
"value":{
...
},
"timestamp":1490830620000
},
{
"statisticId":"UUID3",
"objectId":"agent",
"objectType":"Agent",
"value":{
...
},
"timestamp":1490830620000
}
]
}
}
In the above sample:
To retrieve the values of a set of statistics that was opened within a subscription, you need to make a GET request to the following path: /subscriptions/{id}/statistic-values
The GET allows two optional query parameters,verbose=
and statisticIds=
.
GET /statistics/v3/subscriptions/UUID1/statistic-values
{
"status":{
"code":0
},
"data":{
"subscriptionId":"UUID1",
"statistics":[
{
"statisticId":"UUID2",
"objectId":"agent",
"objectType":"Agent",
"name":"AverageHandlingTime",
"value":{
...
},
"timestamp":1490830620000
},
{
"statisticId":"UUID3",
"objectId":"agent",
"objectType":"Agent",
"value":{
...
},
"timestamp":1490830620000
}
]
}
}
In the above sample:
You can delete a subscription by sending a DELETE request to the following path: /statistics/v3/subscriptions/{id}. This closes all statistics associated with the specified subscription. It’s a fire-and-forget operation that always returns a success response.
You can subscribe to CometD notifications about service state and statistic value updates for statistics in your subscription.
Notification topic: /statistics/v3/updates
Notification sample:
{
"name":"StatisticUpdate",
"topic":"/statistics/v3/updates",
"data":{
"statistics":[
{
"subscriptionId":"UUID1",
"statisticId":"UUID2",
"value":{
...
},
"timestamp":1490830620000
}
]
}
}
Where:
If the Statistics service is unable to connect to internal server(s) it needs to communicate with, it notifies subscribers with a ServiceStateChange message where the serviceState is UNAVAILABLE. When this happens, the Statistics service drops all subscriptions, so you’ll need to re-create your subscriptions when the service is available again.
Notification topic: /statistics/v3/service
Notification sample:
Service is unavailable
{
"data":{
"serviceState":"UNAVAILABLE"
},
"name":"ServiceStateChange",
"topic":"/statistics/v3/service"
}
Service is available again
{
"data":{
"serviceState":"AVAILABLE"
},
"name":"ServiceStateChange",
"topic":"statistics/v3/service"
}
POST
|
/operations/get-statistic-ex
Get the values of a set of statistics
|
Name | Default | Description | Parameter Type | Data Type | Required | ||
---|---|---|---|---|---|---|---|
statistics | The set of statistics you want to get the values of from Stat Server. | body | true | ||||
|
Code | Reason | ||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
400 | Bad Request | ||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
500 | Internal server error | ||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
503 | Service Unavailable | ||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
504 | Backend timeout | ||||||||||||||||||||||||||||||||||||||||
|
curl -X POST
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-d '{object}'
"https://api-demo.com/statistics/v3/operations/get-statistic-ex?"
GET
|
/statistic-values/{statisticName}
Get the value of a single statistic
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
objectId | The ID of the object. | query | string | true | |
objectType | The type of object to which the statistic is applied. | query | string | true | |
statisticName | The name of the pre-configured statistic to retrieve. | path | string | true |
Code | Reason | ||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
400 | Bad Request | ||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
404 | NotFound | ||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
500 | Internal server error | ||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
503 | Service Unavailable | ||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
504 | Backend timeout | ||||||||||||||||||||||||||||||||||||||||
|
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/statistics/v3/statistic-values/{statisticName}?objectId=string&objectType=string"
POST
|
/subscriptions
Open a subscription
|
Name | Default | Description | Parameter Type | Data Type | Required | ||
---|---|---|---|---|---|---|---|
statistics | Definitions of the statistics to monitor. | body | true | ||||
| |||||||
verbose | INFO | Specifies whether the Statistics API should return additional information about opened statistics in the response. Possible values are: OFF and INFO. | query | string |
Code | Reason | ||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||
400 | Bad Request | ||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||
403 | Forbidden | ||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||
500 | Internal server error | ||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||
503 | Service Unavailable | ||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||
504 | Backend timeout | ||||||||||||||||||||||||||||||||||||||||||||||
|
curl -X POST
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-d '{object}'
"https://api-demo.com/statistics/v3/subscriptions?verbose=string"
DELETE
|
/subscriptions/{id}
Delete a subscription
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
id | The ID of the subscription to delete. | path | string | true |
Code | Reason | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||||||||||||||||||
|
curl -X DELETE
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/statistics/v3/subscriptions/{id}?"
GET
|
/subscriptions/{id}/statistic-values
Get the values of statistics in a subscription
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
id | The ID of the subscription. | path | string | true | |
statisticIds | A comma-delimited list of statistic IDs that belong to the specified subscription. If omitted, the Statistics API returns the current values of all statistics opened within the subscription. If specified, the Statistics API returns values for the statistics with the specified IDs. | query | string | ||
verbose | INFO | Specifies whether the Statistics API should return additional information about opened statistics in the response. Possible values are: OFF and INFO. | query | string |
Code | Reason | ||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||
500 | Internal server error | ||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||
503 | Service Unavailable | ||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||
504 | Backend timeout | ||||||||||||||||||||||||||||||||||||||||||||||
|
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/statistics/v3/subscriptions/{id}/statistic-values?statisticIds=string&verbose=string"
POST
|
/notifications
CometD endpoint
|
Code | Reason |
---|---|
200 | Ok |
500 | Error |
curl -X POST
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/statistics/v3/notifications?"
POST
|
/notifications/connect
CometD connect
|
Code | Reason |
---|---|
200 | Ok |
500 | Internal Server Error |
curl -X POST
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/statistics/v3/notifications/connect?"
POST
|
/notifications/disconnect
CometD disconnect
|
Code | Reason |
---|---|
200 | Ok |
500 | Internal Server Error |
curl -X POST
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/statistics/v3/notifications/disconnect?"
POST
|
/notifications/handshake
CometD handshake
|
Code | Reason |
---|---|
200 | Ok |
500 | Internal Server Error |
curl -X POST
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/statistics/v3/notifications/handshake?"
POST
|
/notifications/subscribe
Subscribe to CometD channel notification
|
Current channels:
Code | Reason |
---|---|
200 | Ok |
500 | Internal Server Error |
curl -X POST
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/statistics/v3/notifications/subscribe?"
POST
|
/notifications/unsubscribe
Unsubscribe from CometD channel notification
|
Code | Reason |
---|---|
200 | Ok |
500 | Internal Server Error |
curl -X POST
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/statistics/v3/notifications/unsubscribe?"
Use the Task Routing API to submit workitems to Genesys from third-party applications such as Salesforce or NetSuite. You can also use the API to get, update and stop submitted workitems.
Once workitems are submitted to Genesys through the API, you can use other Genesys applications to route them to agents, get interactions that were processed by agents, and view reports about those interactions. See the overview documentation on the PureEngage Docs site for details about Task Routing and how you should use this API as part of the larger solution.
Find the API requests, responses, and details here:
Make sure to check out the Introduction to Engage Cloud APIs page for more information about core concepts in the Engage Cloud APIs, such as requests and responses.
POST
|
/openmedia/{openMediaService}/interactions
Create an interaction
|
Name | Default | Description | Parameter Type | Data Type | Required | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
x-api-key | A unique key required to use the API. If you do not already have this API key, contact your Customer Care representative. | header | string | true | |||||||||||||||||
openMediaService | A unique name of the open media service | path | string | true | |||||||||||||||||
data | body | ||||||||||||||||||||
|
Code | Reason | ||
---|---|---|---|
200 | Successful response | ||
| |||
400 | Invalid request parameters provided | ||
| |||
404 | Resource is not found | ||
| |||
409 | Resource already exists | ||
| |||
500 | Internal Server Error | ||
|
curl -X POST
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-d '{object}'
"https://api-demo.com/nexus/v3/openmedia/{openMediaService}/interactions?"
GET
|
/openmedia/{openMediaService}/interactions/ext_{externalId}
Get an interaction by external ID
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
x-api-key | A unique key required to use the API. If you do not already have this API key, contact your Customer Care representative. | header | string | true | |
openMediaService | A unique name of the open media service | path | string | true | |
externalId | Interaction external ID | path | string | true |
Code | Reason | ||
---|---|---|---|
200 | Successful response | ||
| |||
400 | Invalid request parameters provided | ||
| |||
404 | Resource is not found | ||
| |||
500 | Internal Server Error | ||
|
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/nexus/v3/openmedia/{openMediaService}/interactions/ext_{externalId}?"
POST
|
/openmedia/{openMediaService}/interactions/ext_{externalId}/stop
Stop an interaction by external ID
|
Name | Default | Description | Parameter Type | Data Type | Required | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
x-api-key | A unique key required to use the API. If you do not already have this API key, contact your Customer Care representative. | header | string | true | |||||||||||||
openMediaService | A unique name of the open media service | path | string | true | |||||||||||||
externalId | Interaction external ID | path | string | true | |||||||||||||
data | body | ||||||||||||||||
|
Code | Reason | ||
---|---|---|---|
200 | Successful response | ||
| |||
400 | Invalid request parameters provided | ||
| |||
404 | Resource is not found | ||
| |||
500 | Internal Server Error | ||
|
curl -X POST
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-d '{object}'
"https://api-demo.com/nexus/v3/openmedia/{openMediaService}/interactions/ext_{externalId}/stop?"
POST
|
/openmedia/{openMediaService}/interactions/ext_{externalId}/update
Update an interaction by external ID
|
Name | Default | Description | Parameter Type | Data Type | Required | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
x-api-key | A unique key required to use the API. If you do not already have this API key, contact your Customer Care representative. | header | string | true | |||||||||||||||
openMediaService | A unique name of the open media service | path | string | true | |||||||||||||||
externalId | Interaction external ID | path | string | true | |||||||||||||||
data | body | true | |||||||||||||||||
|
Code | Reason | ||
---|---|---|---|
200 | Successful response | ||
| |||
400 | Invalid request parameters provided | ||
| |||
404 | Resource is not found | ||
| |||
500 | Internal Server Error | ||
|
curl -X POST
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-d '{object}'
"https://api-demo.com/nexus/v3/openmedia/{openMediaService}/interactions/ext_{externalId}/update?"
GET
|
/openmedia/{openMediaService}/interactions/{interactionId}
Get an interaction
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
x-api-key | A unique key required to use the API. If you do not already have this API key, contact your Customer Care representative. | header | string | true | |
openMediaService | A unique name of the open media service | path | string | true | |
interactionId | Interaction ID | path | string | true |
Code | Reason | ||
---|---|---|---|
200 | Successful response | ||
| |||
400 | Invalid request parameters provided | ||
| |||
404 | Resource is not found | ||
| |||
500 | Internal Server Error | ||
|
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/nexus/v3/openmedia/{openMediaService}/interactions/{interactionId}?"
POST
|
/openmedia/{openMediaService}/interactions/{interactionId}/stop
Stop an interaction
|
Name | Default | Description | Parameter Type | Data Type | Required | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
x-api-key | A unique key required to use the API. If you do not already have this API key, contact your Customer Care representative. | header | string | true | |||||||||||||
openMediaService | A unique name of the open media service | path | string | true | |||||||||||||
interactionId | Interaction ID | path | string | true | |||||||||||||
data | body | ||||||||||||||||
|
Code | Reason | ||
---|---|---|---|
200 | Successful response | ||
| |||
400 | Invalid request parameters provided | ||
| |||
404 | Resource is not found | ||
| |||
500 | Internal Server Error | ||
|
curl -X POST
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-d '{object}'
"https://api-demo.com/nexus/v3/openmedia/{openMediaService}/interactions/{interactionId}/stop?"
POST
|
/openmedia/{openMediaService}/interactions/{interactionId}/update
Update an interaction
|
Name | Default | Description | Parameter Type | Data Type | Required | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
x-api-key | A unique key required to use the API. If you do not already have this API key, contact your Customer Care representative. | header | string | true | |||||||||||||||
openMediaService | A unique name of the open media service | path | string | true | |||||||||||||||
interactionId | Interaction ID | path | string | true | |||||||||||||||
data | body | true | |||||||||||||||||
|
Code | Reason | ||
---|---|---|---|
200 | Successful response | ||
| |||
400 | Invalid request parameters provided | ||
| |||
404 | Resource is not found | ||
| |||
500 | Internal Server Error | ||
|
curl -X POST
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-d '{object}'
"https://api-demo.com/nexus/v3/openmedia/{openMediaService}/interactions/{interactionId}/update?"
The Third-Party Messaging API delivers messages between external messaging services (such as SMS or email) and Digital Channels.
When a consumer sends a message, the third-party system must send a POST request to deliver the message to the agent in Digital Channels chat. In return, the agent’s response is delivered to the third-party system through a webhook that Digital Channels sends as a POST request. The third-party system may also send notifications about errors and different types of receipts.
Digital Channels requires the third-party system to respond to webhooks as follows:
messageId
field with the unique identifier of the message. Digital Channels uses this ID when it processes delivery receipts to find the message in the history and possibly update its status.The webhook POST request contains an X-Hub-Signature header with the SHA1 signature of the post payload. The signature is calculated using the keyed-hash message authentication code (HMAC), where the key is the app secret. The signature is then prefixed with sha1=
. The third-party system should verify this signature to validate the integrity and origin of the payload.
Find the API requests, responses, and details here:
Make sure to check out the Introduction to Engage Cloud APIs page for more information about core concepts in the Engage Cloud APIs, such as requests and responses.
POST /channels/0123456789/messages HTTP/1.1
x-ccid: 0ff723ff-6c6f-44e0-9ce3-ce579337eadd
X-Hub-Signature: sha1=9577d7a3922516701c2e14ca043145eb2057b803
{
"messages": [
{
"channel": {
"from": {
"id": "16504661149"
},
"to": {
"id": "0123456789"
}
},
"type": "Text",
"text": "Consumer message text"
}
]
}
{
"status": {
"code": 0
},
"data": {
"ids": [
"1613473893265-0"
]
}
}
POST / HTTP/1.1
X-Hub-Signature: sha1=20a00a8efbe06a43e403e1975873930a027a8f67
X-B3-TraceId: 05bb858a-3468-4c82-a8ce-3b1a9c4e4b67
{
"channel": {
"id": "0123456789",
"type": "sms",
"from": {
"id": "0123456789"
},
"to": {
"id": "16504661149"
},
"messageId": "1613474523265-0"
},
"type": "Text",
"text": "Agent message text"
}
{
"messageId": "1613474523265-0"
}
POST /channels/0123456789/messages HTTP/1.1
x-ccid: 0ff723ff-6c6f-44e0-9ce3-ce579337eadd
X-Hub-Signature: sha1=8d9652cea2d2289ae76fc8b870b96598c6d94b05
{
"messages": [
{
"channel": {
"from": {
"id": "0123456789"
},
"to": {
"id": "16504661149"
},
"messageId": "1613474523265-0"
},
"type": "Receipt",
"status": "Delivered"
}
]
}
{
"status": {
"code": 0
}
}
POST / HTTP/1.1
X-Hub-Signature: sha1=0959a2a00f3f57075d06094e5d9cdc32128f9ec8
X-B3-TraceId: 5767ea58-1511-4a98-bc56-7f34c43e3a51
{
"channel": {
"id": "company.com",
"type": "email",
"from": {
"id": "no-reply@company.com",
"name": "Sender display name"
},
"to": [
{
"id": "recipient-1@mail.com",
"name": "First Recipient"
},
{
"id": "recipient-2@mail.com",
"name": "Second Recipient"
}
],
"messageId": "f7acbac6-68db-4031-aec2-4bbd02627c4b",
"context": {
"replyTo": {
"id": "reply-to@company.com",
"name": "Responder display name"
}
}
},
"type": "Email",
"subject": "Subject",
"content": [
{
"type": "text",
"text": "Plain text email body"
},
{
"type": "html",
"text": "Html email body"
}
]
}
{
"messageId": "f7acbac6-68db-4031-aec2-4bbd02627c4b"
}
POST /channels/company.com/messages HTTP/1.1
x-ccid: 0ff723ff-6c6f-44e0-9ce3-ce579337eadd
X-Hub-Signature: sha1=f6d8c023c909270eb2d50abdf519151dc80e128a
{
"messages": [
{
"channel": {
"from": {
"id": "no-reply@company.com"
},
"to": {
"id": "recipient-1@mail.com"
},
"messageId": "f7acbac6-68db-4031-aec2-4bbd02627c4b"
},
"type": "Receipt",
"status": "Failed",
"reasons": [
{
"code": 350,
"message": "Message not allowed. Your account has been suspended."
}
]
}
]
}
{
"status": {
"code": 0
}
}
The third-party system can use delivery receipts to notify Digital Channels about delivery status or errors sending content messages. For usage examples, see the requests payload above for messages with type="Receipt"
.
The following table describes possible values of the status
field.
Status | Description |
---|---|
Delivered | The message was delivered to the recipient. |
Removed | A previously published message was removed. |
Failed | The message was not delivered. |
If status="Failed"
, the third-party system can attach a reason code and an optional message to the reasons
field of the message.
The following table describes possible values of failure reason codes.
Reason code | Description |
---|---|
305 | The message has expired. |
310 | Rate limit reached. |
350 | Message not allowed. |
510 | Unsupported message. |
512 | Unknown message. |
520 | Invalid message structure. |
530 | Invalid destination. |
500 | General error. |
POST
|
/channels/{channelId}/media
Upload a media resource
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
X-Hub-Signature | The request signature, for example sha1=hash. The hash is built using the body of the message and secret for the channel. | header | string | true | |
x-ccid | The ID of the contact center the message is sent within. | header | string | true | |
X-B3-TraceId | The unique trace ID for the request. | header | string | ||
channelId | The ID of the channel. | path | string | true | |
file | The file to upload. | formData | file |
Code | Reason | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | Operation was successful | ||||||||||||||||||||||||||
| |||||||||||||||||||||||||||
400 | Bad Request | ||||||||||||||||||||||||||
| |||||||||||||||||||||||||||
401 | Unauthorized | ||||||||||||||||||||||||||
| |||||||||||||||||||||||||||
403 | Forbidden | ||||||||||||||||||||||||||
| |||||||||||||||||||||||||||
404 | Channel not found | ||||||||||||||||||||||||||
| |||||||||||||||||||||||||||
415 | Unsupported Media Type | ||||||||||||||||||||||||||
| |||||||||||||||||||||||||||
500 | Internal Server Error | ||||||||||||||||||||||||||
|
curl -X POST
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/nexus/v3/channels/{channelId}/media?"
GET
|
/channels/{channelId}/media/{mediaId}
Download a media resource
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
X-Hub-Signature | The request signature, for example sha1=hash. The hash is built using the body of the message and secret for the channel. | header | string | true | |
x-ccid | The ID of the contact center the message is sent within. | header | string | true | |
X-B3-TraceId | The unique trace ID for the request. | header | string | ||
channelId | The ID of the channel. | path | string | true | |
mediaId | The media resource ID. | path | string | true |
Code | Reason | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | Operation was successful | ||||||||||||||||
400 | Bad Request | ||||||||||||||||
| |||||||||||||||||
401 | Unauthorized | ||||||||||||||||
| |||||||||||||||||
403 | Forbidden | ||||||||||||||||
| |||||||||||||||||
404 | Channel 1234567890 not found | ||||||||||||||||
| |||||||||||||||||
500 | Internal Server Error | ||||||||||||||||
|
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/nexus/v3/channels/{channelId}/media/{mediaId}?"
DELETE
|
/channels/{channelId}/media/{mediaId}
Delete a media resource
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
X-Hub-Signature | The request signature, for example sha1=hash. The hash is built using the body of the message and secret for the channel. | header | string | true | |
x-ccid | The ID of the contact center the message is sent within. | header | string | true | |
X-B3-TraceId | The unique trace ID for the request. | header | string | ||
channelId | The ID of the channel. | header | path | true | |
mediaId | The media resource ID. | header | path | true |
Code | Reason | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | Operation was successful | ||||||||||||||||||||||||||
| |||||||||||||||||||||||||||
400 | Bad Request | ||||||||||||||||||||||||||
| |||||||||||||||||||||||||||
401 | Unauthorized | ||||||||||||||||||||||||||
| |||||||||||||||||||||||||||
403 | Forbidden | ||||||||||||||||||||||||||
| |||||||||||||||||||||||||||
404 | Channel not found | ||||||||||||||||||||||||||
| |||||||||||||||||||||||||||
500 | Internal Server Error | ||||||||||||||||||||||||||
|
curl -X DELETE
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/nexus/v3/channels/{channelId}/media/{mediaId}?"
POST
|
/channels/{channelId}/messages
Send a message
|
Name | Default | Description | Parameter Type | Data Type | Required | ||
---|---|---|---|---|---|---|---|
X-Hub-Signature | The request signature, for example sha1=hash. The hash is built using the body of the message and secret for the channel. | header | string | true | |||
x-ccid | The ID of the contact center the message is sent within. | header | string | true | |||
X-B3-TraceId | The unique trace ID for the request. | header | string | ||||
channelId | The ID of the channel. | path | string | true | |||
messages | Message | body | true | ||||
|
Code | Reason | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | Operation was successful | ||||||||||||||||||||||
| |||||||||||||||||||||||
400 | Bad Request | ||||||||||||||||||||||
| |||||||||||||||||||||||
401 | Unauthorized | ||||||||||||||||||||||
| |||||||||||||||||||||||
403 | Forbidden | ||||||||||||||||||||||
| |||||||||||||||||||||||
404 | Channel not found | ||||||||||||||||||||||
| |||||||||||||||||||||||
500 | Internal Server Error | ||||||||||||||||||||||
|
curl -X POST
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-d '{}'
"https://api-demo.com/nexus/v3/channels/{channelId}/messages?"
POST
|
/some/webhook/path
Send a message to the third-party system
|
Name | Default | Description | Parameter Type | Data Type | Required | ||
---|---|---|---|---|---|---|---|
X-Hub-Signature | The request signature, for example sha1=hash. The hash is built using the body of the message and secret for the channel. | header | string | true | |||
X-B3-TraceId | The unique trace ID for the request. | header | string | ||||
messages | Message | body | true | ||||
|
Code | Reason | ||||||
---|---|---|---|---|---|---|---|
200 | Message has been sent | ||||||
| |||||||
500 | Error occured while sending message |
curl -X POST
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-d '{}'
"https://api-demo.com/nexus/v3/some/webhook/path?"
You can use the User Data Management (UDM) API to develop custom applications that can integrate with Genesys to export and download your contact center data.
Some of the UDM features you can add to your applications include:
Currently, UDM only supports the export and download of contacts and interaction-based data sourced from Universal Contact Server (UCS).
Find the API requests, responses, and details here:
Make sure to check out the Introduction to Engage Cloud APIs page for more information about core concepts in the Engage Cloud APIs, such as requests, responses, and CometD notifications.
GET
|
/v10/cipher
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
x-api-key | API key provided by Genesys. UDM deployments are accessed through GAPI-based URLs, for example, https://gapi-use1.genesyscloud.com/udm | header | string | ||
Authorization | Bearer token in the format, Authorization: Bearer |
header | string | Yes |
Code | Reason | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | 200 response | ||||||||||||
|
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-H "Authorization: Bearer eyJhbGciOiJSU...afA1Q"
"https://api-demo.com/udm/v10/cipher?"
POST
|
/v10/cipher/{certificatefilename}
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
x-api-key | API key provided by Genesys. UDM deployments are accessed through GAPI-based URLs, for example, https://gapi-use1.genesyscloud.com/udm | header | string | ||
certificatefilename | path | string | true | ||
file | The certificate content, field name must be 'file' | formData | file | true | |
Authorization | Bearer token in the format, Authorization: Bearer |
header | string | Yes |
Code | Reason | ||
---|---|---|---|
201 | 201 response | ||
| |||
400 | 400 response |
curl -X POST
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-H "Authorization: Bearer eyJhbGciOiJSU...afA1Q"
"https://api-demo.com/udm/v10/cipher/{certificatefilename}?"
GET
|
/v10/data/attributes
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
entities | query | string | |||
Authorization | Bearer token in the format, Authorization: Bearer |
header | string | Yes |
Code | Reason | ||
---|---|---|---|
200 | 200 response | ||
|
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-H "Authorization: Bearer eyJhbGciOiJSU...afA1Q"
"https://api-demo.com/udm/v10/data/attributes?entities=string"
GET
|
/v10/data/job-statuses
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
x-api-key | API key provided by Genesys. UDM deployments are accessed through GAPI-based URLs, for example, https://gapi-use1.genesyscloud.com/udm | header | string | ||
Authorization | Bearer token in the format, Authorization: Bearer |
header | string | Yes |
Code | Reason | ||
---|---|---|---|
200 | 200 response | ||
|
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-H "Authorization: Bearer eyJhbGciOiJSU...afA1Q"
"https://api-demo.com/udm/v10/data/job-statuses?"
GET
|
/v10/data/sources
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
x-api-key | API key provided by Genesys. UDM deployments are accessed through GAPI-based URLs, for example, https://gapi-use1.genesyscloud.com/udm | header | string | ||
Authorization | Bearer token in the format, Authorization: Bearer |
header | string | Yes |
Code | Reason | ||
---|---|---|---|
200 | 200 response | ||
| |||
204 | 204 response |
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-H "Authorization: Bearer eyJhbGciOiJSU...afA1Q"
"https://api-demo.com/udm/v10/data/sources?"
GET
|
/v10/data/sub-types
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
x-api-key | API key provided by Genesys. UDM deployments are accessed through GAPI-based URLs, for example, https://gapi-use1.genesyscloud.com/udm | header | string | ||
dataType | query | string | |||
source | query | string | |||
Authorization | Bearer token in the format, Authorization: Bearer |
header | string | Yes |
Code | Reason | ||
---|---|---|---|
200 | 200 response | ||
| |||
204 | 204 response | ||
400 | 400 response |
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-H "Authorization: Bearer eyJhbGciOiJSU...afA1Q"
"https://api-demo.com/udm/v10/data/sub-types?dataType=string&source=string"
GET
|
/v10/data/types
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
x-api-key | API key provided by Genesys. UDM deployments are accessed through GAPI-based URLs, for example, https://gapi-use1.genesyscloud.com/udm | header | string | ||
source | query | string | |||
Authorization | Bearer token in the format, Authorization: Bearer |
header | string | Yes |
Code | Reason | ||
---|---|---|---|
200 | 200 response | ||
| |||
204 | 204 response |
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-H "Authorization: Bearer eyJhbGciOiJSU...afA1Q"
"https://api-demo.com/udm/v10/data/types?source=string"
GET
|
/v10/export/history
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
x-api-key | API key provided by Genesys. UDM deployments are accessed through GAPI-based URLs, for example, https://gapi-use1.genesyscloud.com/udm | header | string | ||
descAsc | query | string | |||
jobId | query | string | |||
type | query | string | |||
orderField | query | string | |||
fileName | query | string | |||
status | query | string | |||
from | query | string | |||
title | query | string | |||
size | query | string | |||
source | query | string | |||
bgUpdate | query | string | |||
Authorization | Bearer token in the format, Authorization: Bearer |
header | string | Yes |
Code | Reason | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | 200 response | ||||||||||||||
| |||||||||||||||
204 | 204 response |
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-H "Authorization: Bearer eyJhbGciOiJSU...afA1Q"
"https://api-demo.com/udm/v10/export/history?descAsc=string&jobId=string&type=string&orderField=string&fileName=string&status=string&from=string&title=string&size=string&source=string&bgUpdate=string"
DELETE
|
/v10/export/history
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
x-api-key | API key provided by Genesys. UDM deployments are accessed through GAPI-based URLs, for example, https://gapi-use1.genesyscloud.com/udm | header | string | ||
jobIDs | query | string | true | ||
Authorization | Bearer token in the format, Authorization: Bearer |
header | string | Yes |
Code | Reason |
---|---|
204 | 204 response |
400 | 400 response |
curl -X DELETE
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-H "Authorization: Bearer eyJhbGciOiJSU...afA1Q"
"https://api-demo.com/udm/v10/export/history?jobIDs=string"
GET
|
/v10/export/history/{id}
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
x-api-key | API key provided by Genesys. UDM deployments are accessed through GAPI-based URLs, for example, https://gapi-use1.genesyscloud.com/udm | header | string | ||
id | path | string | true | ||
Authorization | Bearer token in the format, Authorization: Bearer |
header | string | Yes |
Code | Reason | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | 200 response | ||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||
400 | 400 response | ||||||||||||||||||||||||||||||||||||
404 | 404 response |
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-H "Authorization: Bearer eyJhbGciOiJSU...afA1Q"
"https://api-demo.com/udm/v10/export/history/{id}?"
DELETE
|
/v10/export/history/{id}
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
x-api-key | API key provided by Genesys. UDM deployments are accessed through GAPI-based URLs, for example, https://gapi-use1.genesyscloud.com/udm | header | string | ||
id | path | string | true | ||
Authorization | Bearer token in the format, Authorization: Bearer |
header | string | Yes |
Code | Reason |
---|---|
204 | 204 response |
400 | 400 response |
curl -X DELETE
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-H "Authorization: Bearer eyJhbGciOiJSU...afA1Q"
"https://api-demo.com/udm/v10/export/history/{id}?"
GET
|
/v10/export/history/{id}/progress
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
x-api-key | API key provided by Genesys. UDM deployments are accessed through GAPI-based URLs, for example, https://gapi-use1.genesyscloud.com/udm | header | string | ||
id | path | string | true | ||
Authorization | Bearer token in the format, Authorization: Bearer |
header | string | Yes |
Code | Reason | ||||||||
---|---|---|---|---|---|---|---|---|---|
200 | 200 response | ||||||||
| |||||||||
400 | 400 response |
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-H "Authorization: Bearer eyJhbGciOiJSU...afA1Q"
"https://api-demo.com/udm/v10/export/history/{id}/progress?"
GET
|
/v10/export/jobs
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
descAsc | query | string | |||
scheduleType | query | string | |||
x-api-key | API key provided by Genesys. UDM deployments are accessed through GAPI-based URLs, for example, https://gapi-use1.genesyscloud.com/udm | header | string | ||
type | query | string | |||
orderField | query | string | |||
suspend | query | string | |||
from | query | string | |||
title | query | string | |||
size | query | string | |||
source | query | string | |||
bgUpdate | query | string | |||
Authorization | Bearer token in the format, Authorization: Bearer |
header | string | Yes |
Code | Reason | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | 200 response | ||||||||||||||
| |||||||||||||||
204 | 204 response |
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-H "Authorization: Bearer eyJhbGciOiJSU...afA1Q"
"https://api-demo.com/udm/v10/export/jobs?descAsc=string&scheduleType=string&type=string&orderField=string&suspend=string&from=string&title=string&size=string&source=string&bgUpdate=string"
POST
|
/v10/export/jobs
|
Name | Default | Description | Parameter Type | Data Type | Required | ||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
x-api-key | API key provided by Genesys. UDM deployments are accessed through GAPI-based URLs, for example, https://gapi-use1.genesyscloud.com/udm | header | string | ||||||||||||||||||||||||||||||||||||||||||||||||||
Authorization | Bearer token in the format, Authorization: Bearer |
header | string | Yes | |||||||||||||||||||||||||||||||||||||||||||||||||
Job | body | true | |||||||||||||||||||||||||||||||||||||||||||||||||||
|
Code | Reason | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
202 | 202 response | ||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||
400 | 400 response |
curl -X POST
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-H "Authorization: Bearer eyJhbGciOiJSU...afA1Q"
-d '{
"source": "string",
"type": "string",
"title": "string",
"timeFrame": {
"all": true,
"dateFrom": "string",
"dateTo": "string"
},
"description": "string",
"schedulerParam": {
"immediately": true,
"cron": "string",
"runs": "string",
"startDate": "string"
},
"jobParams": {
"fileSplitSize": "string",
"type": "string",
"media": [
],
"exportAttachments": true
},
"suspended": true
}'
"https://api-demo.com/udm/v10/export/jobs?"
DELETE
|
/v10/export/jobs
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
x-api-key | API key provided by Genesys. UDM deployments are accessed through GAPI-based URLs, for example, https://gapi-use1.genesyscloud.com/udm | header | string | ||
jobIDs | query | string | true | ||
Authorization | Bearer token in the format, Authorization: Bearer |
header | string | Yes |
Code | Reason |
---|---|
204 | 204 response |
400 | 400 response |
curl -X DELETE
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-H "Authorization: Bearer eyJhbGciOiJSU...afA1Q"
"https://api-demo.com/udm/v10/export/jobs?jobIDs=string"
POST
|
/v10/export/jobs/cancel/{id}
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
x-api-key | API key provided by Genesys. UDM deployments are accessed through GAPI-based URLs, for example, https://gapi-use1.genesyscloud.com/udm | header | string | ||
id | path | string | true | ||
Authorization | Bearer token in the format, Authorization: Bearer |
header | string | Yes |
Code | Reason |
---|---|
200 | 200 response |
400 | 400 response |
404 | 404 response |
curl -X POST
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-H "Authorization: Bearer eyJhbGciOiJSU...afA1Q"
"https://api-demo.com/udm/v10/export/jobs/cancel/{id}?"
POST
|
/v10/export/jobs/resume/{id}
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
x-api-key | API key provided by Genesys. UDM deployments are accessed through GAPI-based URLs, for example, https://gapi-use1.genesyscloud.com/udm | header | string | ||
id | path | string | true | ||
Authorization | Bearer token in the format, Authorization: Bearer |
header | string | Yes |
Code | Reason | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | 200 response | ||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||
400 | 400 response | ||||||||||||||||||||||||||||||||||||
404 | 404 response |
curl -X POST
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-H "Authorization: Bearer eyJhbGciOiJSU...afA1Q"
"https://api-demo.com/udm/v10/export/jobs/resume/{id}?"
POST
|
/v10/export/jobs/suspend/{id}
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
x-api-key | API key provided by Genesys. UDM deployments are accessed through GAPI-based URLs, for example, https://gapi-use1.genesyscloud.com/udm | header | string | ||
id | path | string | true | ||
Authorization | Bearer token in the format, Authorization: Bearer |
header | string | Yes |
Code | Reason | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | 200 response | ||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||
400 | 400 response | ||||||||||||||||||||||||||||||||||||
404 | 404 response |
curl -X POST
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-H "Authorization: Bearer eyJhbGciOiJSU...afA1Q"
"https://api-demo.com/udm/v10/export/jobs/suspend/{id}?"
GET
|
/v10/export/jobs/{id}
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
x-api-key | API key provided by Genesys. UDM deployments are accessed through GAPI-based URLs, for example, https://gapi-use1.genesyscloud.com/udm | header | string | ||
id | path | string | true | ||
Authorization | Bearer token in the format, Authorization: Bearer |
header | string | Yes |
Code | Reason | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | 200 response | ||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||
400 | 400 response | ||||||||||||||||||||||||||||||||||||
404 | 404 response |
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-H "Authorization: Bearer eyJhbGciOiJSU...afA1Q"
"https://api-demo.com/udm/v10/export/jobs/{id}?"
PUT
|
/v10/export/jobs/{id}
|
Name | Default | Description | Parameter Type | Data Type | Required | ||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
x-api-key | API key provided by Genesys. UDM deployments are accessed through GAPI-based URLs, for example, https://gapi-use1.genesyscloud.com/udm | header | string | ||||||||||||||||||||||||||||||||||||||||||||||||||
id | path | string | true | ||||||||||||||||||||||||||||||||||||||||||||||||||
Authorization | Bearer token in the format, Authorization: Bearer |
header | string | Yes | |||||||||||||||||||||||||||||||||||||||||||||||||
Job | body | true | |||||||||||||||||||||||||||||||||||||||||||||||||||
|
Code | Reason | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | 200 response | ||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||
400 | 400 response | ||||||||||||||||||||||||||||||||||||
404 | 404 response |
curl -X PUT
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-H "Authorization: Bearer eyJhbGciOiJSU...afA1Q"
-d '{
"source": "string",
"type": "string",
"title": "string",
"timeFrame": {
"all": true,
"dateFrom": "string",
"dateTo": "string"
},
"description": "string",
"schedulerParam": {
"immediately": true,
"cron": "string",
"runs": "string",
"startDate": "string"
},
"jobParams": {
"fileSplitSize": "string",
"type": "string",
"media": [
],
"exportAttachments": true
},
"suspended": true
}'
"https://api-demo.com/udm/v10/export/jobs/{id}?"
DELETE
|
/v10/export/jobs/{id}
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
x-api-key | API key provided by Genesys. UDM deployments are accessed through GAPI-based URLs, for example, https://gapi-use1.genesyscloud.com/udm | header | string | ||
id | path | string | true | ||
Authorization | Bearer token in the format, Authorization: Bearer |
header | string | Yes |
Code | Reason |
---|---|
204 | 204 response |
400 | 400 response |
curl -X DELETE
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-H "Authorization: Bearer eyJhbGciOiJSU...afA1Q"
"https://api-demo.com/udm/v10/export/jobs/{id}?"
GET
|
/v10/file-metadatas
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
historyId | query | string | |||
descAsc | query | string | |||
jobTitle | query | string | |||
x-api-key | query | string | |||
name | query | string | |||
type | query | string | |||
source | query | string | |||
endDate | query | string | |||
orderField | query | string | |||
startDate | query | string | |||
from | query | string | |||
size | query | string | |||
bgUpdate | query | string | |||
Authorization | Bearer token in the format, Authorization: Bearer |
header | string | Yes |
Code | Reason | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | 200 response | ||||||||||||||
|
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-H "Authorization: Bearer eyJhbGciOiJSU...afA1Q"
"https://api-demo.com/udm/v10/file-metadatas?historyId=string&descAsc=string&jobTitle=string&name=string&type=string&source=string&endDate=string&orderField=string&startDate=string&from=string&size=string&bgUpdate=string"
GET
|
/v10/files
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
filename | query | string | |||
x-api-key | API key provided by Genesys. UDM deployments are accessed through GAPI-based URLs, for example, https://gapi-use1.genesyscloud.com/udm | header | string | ||
Authorization | Bearer token in the format, Authorization: Bearer |
header | string | Yes |
Code | Reason | ||||||
---|---|---|---|---|---|---|---|
200 | 200 response | ||||||
| |||||||
400 | 400 response | ||||||
404 | 404 response | ||||||
|
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-H "Authorization: Bearer eyJhbGciOiJSU...afA1Q"
"https://api-demo.com/udm/v10/files?filename=string"
DELETE
|
/v10/files
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
filename | query | string | true | ||
x-api-key | API key provided by Genesys. UDM deployments are accessed through GAPI-based URLs, for example, https://gapi-use1.genesyscloud.com/udm | header | string | ||
Authorization | Bearer token in the format, Authorization: Bearer |
header | string | Yes |
Code | Reason |
---|---|
204 | 204 response |
curl -X DELETE
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-H "Authorization: Bearer eyJhbGciOiJSU...afA1Q"
"https://api-demo.com/udm/v10/files?filename=string"
GET
|
/v10/files/{filename}
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
filename | path | string | true | ||
x-api-key | API key provided by Genesys. UDM deployments are accessed through GAPI-based URLs, for example, https://gapi-use1.genesyscloud.com/udm | header | string | ||
Authorization | Bearer token in the format, Authorization: Bearer |
header | string | Yes |
Code | Reason |
---|---|
303 | 303 response |
404 | 404 response |
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-H "Authorization: Bearer eyJhbGciOiJSU...afA1Q"
"https://api-demo.com/udm/v10/files/{filename}?"
DELETE
|
/v10/files/{filename}
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
filename | path | string | true | ||
x-api-key | API key provided by Genesys. UDM deployments are accessed through GAPI-based URLs, for example, https://gapi-use1.genesyscloud.com/udm | header | string | ||
Authorization | Bearer token in the format, Authorization: Bearer |
header | string | Yes |
Code | Reason |
---|---|
204 | 204 response |
curl -X DELETE
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-H "Authorization: Bearer eyJhbGciOiJSU...afA1Q"
"https://api-demo.com/udm/v10/files/{filename}?"
GET
|
/v10/resources/labels
|
Code | Reason |
---|---|
200 | 200 response |
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-H "Authorization: Bearer eyJhbGciOiJSU...afA1Q"
"https://api-demo.com/udm/v10/resources/labels?"
GET
|
/v10/version
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
x-api-key | API key provided by Genesys. UDM deployments are accessed through GAPI-based URLs, for example, https://gapi-use1.genesyscloud.com/udm | header | string |
Code | Reason | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | 200 response | ||||||||||||
|
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/udm/v10/version?"
GET Deprecated
|
/v4/export/history
Get list of jobs info
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
descAsc | Specifies the sort order of orderField. False for ascending order, true for descending | query | boolean | ||
orderField | By which field to order | query | string | ||
title | Filter that title contains | query | string | ||
fileName | Filter that file name contains | query | string | ||
type | Filter that type contains | query | string | ||
status | Filter that file name contains | query | string | ||
from | 0 | Index of the first item to return | query | integer | |
size | 999999999 | Maximum number of items to return | query | integer |
Code | Reason | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||||||
| |||||||||||||
204 | No Content |
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/udm/v4/export/history?descAsc=true&orderField=string&title=string&fileName=string&type=string&status=string&from=0&size=0"
DELETE Deprecated
|
/v4/export/history
Delete the specified jobs list
|
In case if some jobs cannot be deleted internal server error is returned with a list of jobs that weren't deleted as json array in the body. A job with status in progress cannot be deleted.
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
jobIDs | A comma-separated list of job IDs | query | string | true |
Code | Reason |
---|---|
204 | No Content |
400 | Bad Request |
curl -X DELETE
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/udm/v4/export/history?jobIDs=string"
GET Deprecated
|
/v4/export/history/{id}
Get specified jobs history
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
id | The id of the job | path | string | true |
Code | Reason | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||
400 | Bad Request | ||||||||||||||||||||||||||||||||||
404 | ManualJob Not Found |
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/udm/v4/export/history/{id}?"
DELETE Deprecated
|
/v4/export/history/{id}
Delete the specified job
|
A job in progress can not be deleted.
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
id | The id of the job | path | string | true |
Code | Reason |
---|---|
204 | No Content |
400 | Bad Request |
curl -X DELETE
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/udm/v4/export/history/{id}?"
GET Deprecated
|
/v4/export/history/{id}/progress
Get currently running job completion progress
|
Return value is between 0 and 100 percent.
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
id | The id of the job history | path | string | true |
Code | Reason | ||||||||
---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||
| |||||||||
400 | Bad Request |
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/udm/v4/export/history/{id}/progress?"
GET Deprecated
|
/v4/export/jobs
Get list of jobs info
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
descAsc | Specifies the sort order of orderField. False for ascending order, true for descending | query | boolean | ||
orderField | By which field to order | query | string | ||
title | Filter that title contains | query | string | ||
type | Filter that type contains | query | string | ||
scheduleType | Filter that file name contains | query | string | ||
suspend | Filter that schedule type contains | query | boolean | ||
from | 0 | Index of the first item to return | query | integer | |
size | 999999999 | Maximum number of items to return | query | integer |
Code | Reason | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||||||
| |||||||||||||
204 | No Content |
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/udm/v4/export/jobs?descAsc=true&orderField=string&title=string&type=string&scheduleType=string&suspend=true&from=0&size=0"
POST Deprecated
|
/v4/export/jobs
Save specified manualJob
|
Name | Default | Description | Parameter Type | Data Type | Required | ||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
body | body | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
Code | Reason | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
202 | Accepted | ||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||
400 | Bad Request |
curl -X POST
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-d '{
"source": "string",
"title": "string",
"timeFrame": {
"all": true,
"dateFrom": "string",
"dateTo": "string"
},
"fileSplitSize": "string",
"description": "string",
"schedulerParam": {
"immediately": true,
"cron": "string",
"runs": "string",
"startDate": "string"
},
"jobParams": {
"fileSplitSize": "string",
"type": "string",
"media": [
]
},
"suspended": "string"
}'
"https://api-demo.com/udm/v4/export/jobs?"
DELETE Deprecated
|
/v4/export/jobs
Delete the specified jobs list
|
In case if some jobs cannot be deleted internal server error is returned with a list of jobs that weren't deleted as json array in the body. A job with status in progress cannot be deleted.
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
jobIDs | A comma-separated list of job IDs | query | string | true |
Code | Reason |
---|---|
204 | No Content |
400 | Bad Request |
curl -X DELETE
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/udm/v4/export/jobs?jobIDs=string"
POST Deprecated
|
/v4/export/jobs/cancel/{id}
Cancel running
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
id | The id of the job | path | string | true |
Code | Reason |
---|---|
200 | Ok |
400 | Bad Request |
404 | Not Found |
curl -X POST
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/udm/v4/export/jobs/cancel/{id}?"
POST Deprecated
|
/v4/export/jobs/resume/{id}
Save specified manualJob
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
id | The id of the job | path | string | true |
Code | Reason | ||
---|---|---|---|
200 | Ok | ||
| |||
400 | Bad Request | ||
404 | Job Not Found |
curl -X POST
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/udm/v4/export/jobs/resume/{id}?"
POST Deprecated
|
/v4/export/jobs/suspend/{id}
Save specified manualJob
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
id | The id of the job | path | string | true |
Code | Reason | ||
---|---|---|---|
200 | Ok | ||
| |||
400 | Bad Request | ||
404 | Job Not Found |
curl -X POST
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/udm/v4/export/jobs/suspend/{id}?"
GET Deprecated
|
/v4/export/jobs/{id}
Get specified job
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
id | The id of the job | path | string | true |
Code | Reason | ||
---|---|---|---|
200 | Ok | ||
| |||
400 | Bad Request | ||
404 | ManualJob Not Found |
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/udm/v4/export/jobs/{id}?"
PUT Deprecated
|
/v4/export/jobs/{id}
Save specified manualJob
|
Name | Default | Description | Parameter Type | Data Type | Required | ||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
id | path | string | true | ||||||||||||||||||||||||||||||||||||||||||||||||||
body | body | ||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Code | Reason | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||
400 | Bad Request | ||||||||||||||||||||||||||||||||||
404 | Job Not Found |
curl -X PUT
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
-d '{
"source": "string",
"title": "string",
"timeFrame": {
"all": true,
"dateFrom": "string",
"dateTo": "string"
},
"fileSplitSize": "string",
"description": "string",
"schedulerParam": {
"immediately": true,
"cron": "string",
"runs": "string",
"startDate": "string"
},
"jobParams": {
"fileSplitSize": "string",
"type": "string",
"media": [
]
},
"suspended": "string"
}'
"https://api-demo.com/udm/v4/export/jobs/{id}?"
DELETE Deprecated
|
/v4/export/jobs/{id}
Delete the specified job
|
A job in progress can not be deleted.
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
id | The id of the job | path | string | true |
Code | Reason |
---|---|
204 | No Content |
400 | Bad Request |
curl -X DELETE
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/udm/v4/export/jobs/{id}?"
GET Deprecated
|
/v3/cipher
Get certificate information
|
Code | Reason | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||||||
|
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/udm/v3/cipher?"
POST Deprecated
|
/v3/cipher/{certificatefilename}
POST the specified certificate
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
certificatefilename | path | string | true | ||
file | formData | file |
Code | Reason |
---|---|
201 | Created |
"string" | |
400 | Bad Request |
curl -X POST
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/udm/v3/cipher/{certificatefilename}?"
GET Deprecated
|
/v3/data/job-statuses
Get list of job statuses
|
Code | Reason | ||||||||
---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||
|
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/udm/v3/data/job-statuses?"
GET Deprecated
|
/v3/data/sources
Get list of sources
|
Code | Reason | ||||||||
---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||
| |||||||||
204 | No Content |
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/udm/v3/data/sources?"
GET Deprecated
|
/v3/data/sub-types
Get list of data subtypes
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
source | Filter data sub types by source | query | string | ||
dataType | Filter data types by type | query | string |
Code | Reason | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||||||||
| |||||||||||||||
204 | No Content | ||||||||||||||
400 | Bad Request |
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/udm/v3/data/sub-types?source=string&dataType=string"
GET Deprecated
|
/v3/data/types
Get list of types
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
source | Filter data types by source | query | string |
Code | Reason | ||||||||
---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||
| |||||||||
204 | No Content |
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/udm/v3/data/types?source=string"
GET Deprecated
|
/v3/file-metadatas
Get list of files metadata
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
descAsc | Specifies the sort order of orderField. False for ascending order, true for descending | query | boolean | ||
orderField | By which field to order | query | string | ||
startDate | startDate | query | string | ||
endDate | Filter to which upload date | query | string | ||
name | Filter that file name contains | query | string | ||
jobTitle | Filter that job title contains | query | string | ||
type | Filter that file type contains | query | string | ||
from | 0 | Index of the first item to return | query | integer | |
size | 999999999 | Maximum number of items to return | query | integer |
Code | Reason | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||||||
|
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/udm/v3/file-metadatas?descAsc=true&orderField=string&startDate=string&endDate=string&name=string&jobTitle=string&type=string&from=0&size=0"
GET Deprecated
|
/v3/files
Get the list of pre-signed url for specified files list
|
The maximum number of files is limited to 100. Also if some files cannot be found HTTP 404 is returned with a list of the files that weren’t found as json array in the body
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
filename | A comma-separated list of file names | query | string |
Code | Reason | ||||||
---|---|---|---|---|---|---|---|
200 | Ok | ||||||
| |||||||
400 | Bad Request | ||||||
404 | File Not Found | ||||||
|
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/udm/v3/files?filename=string"
DELETE Deprecated
|
/v3/files
Delete the specified files list
|
In case if some files cannot be deleted internal server error is returned with a list of files that weren’t deleted as json array in the body.
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
filename | A comma-separated list of file names | query | string | true |
Code | Reason |
---|---|
204 | No Content |
curl -X DELETE
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/udm/v3/files?filename=string"
GET Deprecated
|
/v3/files/{filename}
Get the specified file
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
filename | The name of the file | path | string | true |
Code | Reason |
---|---|
303 | See Other |
404 | File Not Found |
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/udm/v3/files/{filename}?"
DELETE Deprecated
|
/v3/files/{filename}
Delete the specified file
|
Name | Default | Description | Parameter Type | Data Type | Required |
---|---|---|---|---|---|
filename | The name of the file | path | string | true |
Code | Reason |
---|---|
204 | No Content |
curl -X DELETE
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/udm/v3/files/{filename}?"
GET Deprecated
|
/v3/version
Get version information
|
Code | Reason | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 | Ok | ||||||||||||
|
curl -X GET
-H "x-api-key: your_API_key"
-H "Content-Type: application/json"
"https://api-demo.com/udm/v3/version?"