Ratings

POST
/v1/conversations/{conversationId}/ratings/{ratingId}/submit

Create a rating result for a specific conversation.

Authorization

ApiKeyAuth conversation.satisfaction
headerAuthorization<token>

Scope: conversation.satisfaction

Path Parameters

conversationId*integer
Formatint64
ratingId*string

The ratingId parameter has to be the ID of the offer created via invoking the /conversations/{conversationId}/ratings/offer endpoint.

Request Body

The rating result to be created for a conversation

application/json
  1. body
userId?stringDeprecated

The userId property is no longer used so it's made optional to keep backwards compatibility. A null value can be provided instead of an actual ID.

ratingResult*||
comment?string
submittedAt?string
Formatdate-time

Response Body

The created conversation rating result

application/json
  1. response
data*
Example Request
curl -X POST 'https://dev.dixa.io/v1/conversations/{conversationId}/ratings/{ratingId}/submit' \  -H 'Authorization: <API token>' \  -H 'Content-Type: application/json' \  -d '{  "userId": "d3cf6f15-1497-4e71-92f2-9b3b228352bd",  "ratingResult": {    "value": 4,    "_type": "Csat"  },  "comment": "Best customer service ever!",  "submittedAt": "2024-03-11T16:39:30Z"}'
{
"data": {
"ratingId": "33cf4e5e-9ce9-461c-b668-be9b712b717c",
"userId": "4c5f7efa-0822-4b75-bdf5-907fa7336e0c",
"ratingResult": {
"value": 5,
"_type": "Csat"
},
"comment": "Excellent customer service!",
"submittedAt": "2024-03-11T16:39:30Z"
}
}
POST
/v1/conversations/{conversationId}/ratings/offer

Create a rating offer for a specific conversation.

Authorization

ApiKeyAuth conversation.satisfaction
headerAuthorization<token>

Scope: conversation.satisfaction

Path Parameters

conversationId*integer
Formatint64

Request Body

The rating offer to be created for a conversation

application/json
  1. body
userId*string
agentId*string

Please note that providing agentId that is not part of the conversation may skew metrics in Intelligence

ratingType*string

The type of numeric rating. E.g.: 'Csat', 'ThumbsUpOrDown', 'Nps'.

offeredAt?string
Formatdate-time

Response Body

The created conversation rating offer

application/json
  1. response
data*
Example Request
curl -X POST 'https://dev.dixa.io/v1/conversations/{conversationId}/ratings/offer' \  -H 'Authorization: <API token>' \  -H 'Content-Type: application/json' \  -d '{  "userId": "b0323b42-c428-4afa-970e-20bf5bdeeec4",  "agentId": "eeb3bbe5-0355-4ac1-8af5-20d42a3db24b",  "ratingType": "Csat",  "offeredAt": "2024-03-11T16:39:30Z"}'
{
"data": {
"id": "2f0122db-0824-44d7-b39a-e1f722b8c38c",
"userId": "7a65c963-b3ca-4bd4-996e-bdbcaa620219",
"agentId": "db7f0b41-b779-4726-a673-07b2a59a550d",
"ratingType": "Csat",
"offeredAt": "2024-03-11T16:39:30Z"
}
}

List rating

Deprecated
GET
/v1/conversations/{conversationId}/rating

Deprecated rating endpoint. Use '/ratings'.

Authorization

ApiKeyAuth
headerAuthorization<token>

Path Parameters

conversationId*integer
Formatint64

Response Body

List of ratings for a conversation

application/json
  1. response
data?array<>
Example Request
curl -X GET 'https://dev.dixa.io/v1/conversations/{conversationId}/rating' \  -H 'Authorization: <API token>'
{
"data": [
{
"id": "33cf4e5e-9ce9-461c-b668-be9b712b717c",
"ratingScore": 4,
"ratingType": "Csat",
"ratingComment": "Super good!",
"conversationChannel": "PstnPhone",
"agentId": "a53b25da-f676-4c52-acac-58c9280aa23d",
"userId": "6d0c5791-e40a-46d4-bba1-1364ce4578ed",
"ratingStatus": "Offered",
"language": "English",
"timestamps": {}
}
]
}
GET
/v1/conversations/{conversationId}/ratings

Lists latest ratings statuses for a particular conversation by providing the conversation ID. For surveys with multiple questions, rating status will be reported for each individual question of the survey. For example, a response for a 3 question survey that was answered will be 3 elements with status "Rated". Additionally, a multiple question survey can be partially answered, therefore a response of such case will be a mix of "Offered" and "Rated" statuses. Note that the IDs of multiple questions response elements will be the same, because they are part of the same survey.

Authorization

ApiKeyAuth
headerAuthorization<token>

Path Parameters

conversationId*integer
Formatint64

Response Body

List of ratings for a conversation

application/json
  1. response
data?array<>
Example Request
curl -X GET 'https://dev.dixa.io/v1/conversations/{conversationId}/ratings' \  -H 'Authorization: <API token>'
{
"data": [
{
"id": "33cf4e5e-9ce9-461c-b668-be9b712b717c",
"ratingScore": 5,
"ratingType": "Csat",
"ratingComment": "Super good!",
"conversationChannel": "PstnPhone",
"agentId": "a53b25da-f676-4c52-acac-58c9280aa23d",
"userId": "6d0c5791-e40a-46d4-bba1-1364ce4578ed",
"ratingStatus": "Offered",
"language": "en",
"timestamps": {
"offered_at": "2025-09-25T14:35:53Z",
"modified_at": "2025-09-25T14:36:27Z",
"scheduled_for": "2025-09-25T14:35:52Z",
"created_at": "2025-09-25T14:34:52Z",
"scheduled_at": "2025-09-25T14:34:52Z"
}
}
]
}