AuralisDocs
OperationsInbound messages

Read CSAT averages and distribution

Satisfaction scores for the workspace over one window, overall and per agent.

/v1/csat/aggregateViewer
Operation id
csat_aggregate
Access
Any workspace role can call this.
GET/v1/csat/aggregate

Satisfaction scores for the workspace over one window, overall and per agent.

since_days is 1 to 365 and defaults to 30. It counts back from now, so two calls a day apart cover different windows.

avg_score is null when nothing was scored in the window rather than 0, because no responses and a bad average are different facts. distribution counts responses per score, keyed by the score as a string.

A per_agent row with a null assignee_id is the scores for tickets that had no assignee. It is kept rather than dropped, so the rows still add up to the overall count.

Tenancy: the request is scoped to one workspace, and the credential presented is what selects it. A caller with no membership in that workspace is refused with 404, which is indistinguishable from a workspace that does not exist.

Authorisation: any workspace role, including viewer. Reads are open to every member.

Access: Authorization: Bearer carrying either a realm access token or an API key. A key must hold the helpdesk-ingress:read scope, and the workspace role of the person who owns it must meet the floor above.

Authorization

AuthorizationBearer <token>

A realm-issued access token, presented as Authorization: Bearer <token>. It acts as the person who signed in, and every operation resolves their workspace role live from the membership record.

In: header

Query Parameters

since_days?Since Days
Range1 <= value <= 365
Default30

Response Body

application/json

application/json

application/json

curl -X GET "https://example.com/v1/csat/aggregate"
{  "since_days": 30,  "overall": {    "responses": 148,    "avg_score": 4.31,    "distribution": {      "1": 5,      "2": 7,      "3": 14,      "4": 34,      "5": 88    }  },  "per_agent": [    {      "assignee_id": "3fe98b76-2409-5003-b75a-93e56b450433",      "assignee_name": "Dana Osei",      "responses": 61,      "avg_score": 4.52    },    {      "responses": 9,      "avg_score": 3.78    }  ]}