REST API

The novomind iAGENT REST API provides access to services of a novomind iAGENT installation.

You can find a complete list of all api calls with example parameters and responses in the novomind iAGENT API console.

Here you can find a description of the implemented security.

Version

By default, all requests to api/rest receive the latest version of the REST API. We recommend you to explicitly request this version via the Accept header.

Accept: application/vnd.novomind.iagent-v2+json

The novomind iAGENT versions and the corresponding supported API versions are listed in the following table:

novomind iAGENT Version Supported API version Default API version
< 10.0.202 V1 V1
= 10.0.202 V1, V2 V1
>= 11.0 V1, V2 V2
>= 11.6 V2 V2

Schema

The API can be accesed over http or https, which depends on the web server configuration.

curl -i https://<hostname>/iMail/api/rest/categories
HTTP/1.1 200 OK
Date: Mon, 01 May 2017 00:00:00 GMT
p3p: This is not a P3P policy!
Vary: Accept-Encoding
Content-Type: application/vnd.novomind.iagent-v2+json;charset=UTF-8
Content-Length: 249

[
    {
        "allowedForNewProcesses": true,
        "allowedForPhoneTickets": false,
        "allowedRecategorizationDestination": true,
        "allowedRecategorizationSource": true,
        "answerAllowed": true,
        "autoRoutingEnabled": true,
        "bundlingEnabled": true,
        "businessHour": null,
        "chatCategory": false,
        ...

The json responses can be extended in future novomind iAGENT releases without a modification of the API version. We recommend you to disable strict validation in your json parser. The JSON library "jackson" supports this by using the JsonIgnoreProperties annotation:

@JsonIgnoreProperties(ignoreUnknown=true)

All timestamps return in ISO 8601 format:

YYYY-MM-DDTHH:MM:SSZ

Errors

In case of errors the api returns a json response with the error message and status code.

curl -i -X POST https://<hostname>/iMail/api/rest/categories/9999
HTTP/1.1 404 Not Found
Date: Mon, 29 May 2017 14:25:54 GMT
Content-Type: application/json;charset=UTF-8
Content-Length: 25
Connection: close
{
  "status": 404,
  "message": "Category not found!"
}