Ratings

POST
/beta/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/beta/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
/beta/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

If userId is not provided, the conversation requester will be picked.

agentId?string

If an agentId is not provided, the agent that is most likely to be the target will be picked. Please note that providing an 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/beta/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
/beta/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/beta/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
/beta/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/beta/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"
}
}
]
}