EvaluAgent API (1.0.1)

Download OpenAPI specification:Download

Introduction

You can use the EvaluAgent API to access and update information within your EvaluAgent account. The API is REST-based, follows the JSON:API spec, and is documented using the OpenAPI spec. A copy of the spec for this API can be downloaded from the link above.

For customers on our Australian-based servers, the domain name used in the API URLs must be changed to api.aus.evaluagent.com.

Authentication

Authentication is carried out using Basic Auth. The EvaluAgent API is stateless so this must be included with each request. An API key and secret can be generated on the Integrations page within the Admin area of EvaluAgent.

Change log

28 May 2020

  • Added required tags to appropriate attributes in Create a Contact

5 March 2020

  • Added new sorting options for evaluations
  • Root causes will now appear with evaluations if present
  • Data capture responses will now appear with evaluations if present
  • Adding a new metadata property to Contacts which can include additional, third party information

Authentication

BasicAuth

Security scheme type: HTTP
HTTP Authorization Scheme basic

Users

Fetch, create and update users

Create a user

Authorizations:
Request Body schema: application/json

User to add to EvaluAgent.

A list of roles to be assigned to the user can be specified in the roles relationship. This can include making the user an agent or a quality analyst, or giving the user system access so that they can login to EvaluAgent. A list of role ids can be found in the Roles endpoint.

If the user is to be an agent then the optional 'agent-team' relationship can be used to specify the id of the group that they should be placed in. The ids of teams can be fetched using the Groups endpoint.

data
object

Responses

201

Returns the new user

400

Validation errors

post /org/users

Customers in our EU datacentre

https://api.evaluagent.com/v1/org/users

Customers in our Australian datacentre

https://api.aus.evaluagent.com/v1/org/users

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "data":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "data":
    {
    }
}

List users

Authorizations:

Responses

200

Returns an array of users

get /org/users

Customers in our EU datacentre

https://api.evaluagent.com/v1/org/users

Customers in our Australian datacentre

https://api.aus.evaluagent.com/v1/org/users

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "data":
    [
    ]
}

Fetch a user

Authorizations:
path Parameters
id
required
string

The id of the user to retrieve

Responses

200

Returns the user

404

User not found

get /org/users/{id}

Customers in our EU datacentre

https://api.evaluagent.com/v1/org/users/{id}

Customers in our Australian datacentre

https://api.aus.evaluagent.com/v1/org/users/{id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "data":
    {
    }
}

Update an existing user

Change a user's details, including activating/deactivating the user by toggling the 'active' attribute.

A list of roles to be assigned to the user can be specified in the roles relationship. This can include making the user an agent or a quality analyst, or giving the user system access so that they can login to EvaluAgent. A list of role ids can be found in the Roles endpoint.

If the user is to be an agent then the optional 'agent-team' relationship can be used to specify the id of the group that they should be placed in. The ids of teams can be fetched using the Groups endpoint.

Authorizations:
path Parameters
id
required
string

The id of the user to update

Request Body schema: application/json

Updated details for the user

If the user is an agent then the optional 'agent-team' relationship can be altered to move the agent to a different team.

data
object

Responses

200

Returns the updated user

400

Validation failure

404

User not found

patch /org/users/{id}

Customers in our EU datacentre

https://api.evaluagent.com/v1/org/users/{id}

Customers in our Australian datacentre

https://api.aus.evaluagent.com/v1/org/users/{id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "data":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "data":
    {
    }
}

Groups

List your group hierarchy

List groups

Fetch a list of your groups and their hierarchy within EvaluAgent. Useful for compiling a list of teams and their ids for managing agents.

Authorizations:
query Parameters
show_inactive
boolean

Whether inactive groups should be shown. Defaults to false.

Responses

200

Returns an array of groups

get /org/groups

Customers in our EU datacentre

https://api.evaluagent.com/v1/org/groups

Customers in our Australian datacentre

https://api.aus.evaluagent.com/v1/org/groups

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "data":
    [
    ]
}

Roles

List user roles

List roles

Fetch a list of your roles within EvaluAgent. Useful for assigning roles to users.

Authorizations:

Responses

200

Returns an array of roles

get /org/roles

Customers in our EU datacentre

https://api.evaluagent.com/v1/org/roles

Customers in our Australian datacentre

https://api.aus.evaluagent.com/v1/org/roles

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "data":
    [
    ]
}

Contacts

Manage contacts

Create a contact

Authorizations:
Request Body schema: application/json

Contact to add to EvaluAgent.

data
object

Responses

201

Returns the new contact

400

Validation errors

post /quality/contacts

Customers in our EU datacentre

https://api.evaluagent.com/v1/quality/contacts

Customers in our Australian datacentre

https://api.aus.evaluagent.com/v1/quality/contacts

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "data":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "data":
    {
    }
}

List contacts

Fetch a list of your contacts within EvaluAgent. Without any filters by default will supply the latest 100 contacts.

Authorizations:
query Parameters
filter[started_at;between]
string <date-time>
Example: filter[started_at;between]=2019-05-01T00%3A00%3A00.000Z%2C2019-05-10T00%3A00%3A00.000Z

A date range to filter the contacts started_at date between. Consists of a a comma-separated start and end date in UTC format.

filter[created_at;between]
string <date-time>
Example: filter[created_at;between]=2019-05-01T00%3A00%3A00.000Z%2C2019-05-10T00%3A00%3A00.000Z

A date range to filter on the date the contact was created. Consists of a a comma-separated start and end date in UTC format.

filter[id;in]
string <uuid>
Example: filter[id;in]=ea0c8aab-dc5b-4d7e-b2bc-364250679278%2C43aea3f1-00aa-4b9f-8dc4-9f843788bf41

Pass a comma-separated list of contact ids to get all matching contacts returned.

page[number]
number
Example: page[number]=1

When paginated, the page number that you would like to request. Defaults to 1.

Responses

200

Returns an array of contacts

get /quality/contacts

Customers in our EU datacentre

https://api.evaluagent.com/v1/quality/contacts

Customers in our Australian datacentre

https://api.aus.evaluagent.com/v1/quality/contacts

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "data":
    [
    ]
}

Fetch a contact

Authorizations:
path Parameters
id
required
string

The id of the contact to retrieve

Responses

200

Returns the contact

404

Evaluation not found

get /quality/contacts/{id}

Customers in our EU datacentre

https://api.evaluagent.com/v1/quality/contacts/{id}

Customers in our Australian datacentre

https://api.aus.evaluagent.com/v1/quality/contacts/{id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "data":
    {
    }
}

Evaluations

List and query evaluations

List evaluations

Fetch a list of your evaluations and their results.

Authorizations:
query Parameters
filter[published_at;between]
string <date-time>
Example: filter[published_at;between]=2019-05-01T00%3A00%3A00.000Z%2C2019-05-10T00%3A00%3A00.000Z

A date range to filter evaluations on their published_at date. Consists of a a comma-separated start and end date in UTC format.

sort
string
Example: sort=-published_at

An option to sort by order of choice. Adding a minus operator to the start of field you wish to sort on will return results descending order. List of sorting options - published_at, date_published, updated_at, reference, score, agent_name, evaluator_name

page[number]
number
Example: page[number]=1

When paginated, the page number that you would like to request. Defaults to 1.

include
string
Example: include=contacts

Request that contacts associated with the returned evaluations be included under the "included" key in the response.

Responses

200

Returns an array of evaluations

get /quality/evaluations

Customers in our EU datacentre

https://api.evaluagent.com/v1/quality/evaluations

Customers in our Australian datacentre

https://api.aus.evaluagent.com/v1/quality/evaluations

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "data":
    [
    ]
}

Fetch an evaluation

Fetch a detailed view of an evaluation, including feedback and individual line item scores.

Authorizations:
path Parameters
id
required
string

The id of the evaluation to retrieve

query Parameters
include
Array of strings
Items Enum: "contact" "evaluator" "agent"
Example: include=contact,evaluator,agent

A comma-separated list of records associated with the evaluation to be included under the "included" key in the response. Available record types are contact, evaluator, and agent.

Responses

200

Returns the evaluation

404

Evaluation not found

get /quality/evaluations/{id}

Customers in our EU datacentre

https://api.evaluagent.com/v1/quality/evaluations/{id}

Customers in our Australian datacentre

https://api.aus.evaluagent.com/v1/quality/evaluations/{id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "data":
    {