Returns aggregate CSAT metrics for one operator in the current organization. The response includes the average rating, the total number of ratings, and a 1-3 rating distribution based on surveys linked to conversations assigned to that operator. When the operator has no survey responses yet, `averageRating` is `null` and the distribution counts stay at 0. Authenticate with an organization API key sent in `X-API-Key` or as a Bearer token and carrying the exact `surveys:read` scope. API-key access also requires the Automation & API module (`automation_api`). Authorized dashboard sessions remain supported where the route already permits them. The request is isolated to the authenticated organization. Resource and site/project identifiers must belong to that organization; out-of-scope identifiers are not disclosed. The operator must belong to the authenticated organization. Ratings use the stable integer values 1, 2, and 3; an operator with no linked responses returns `averageRating: null`, `totalRatings: 0`, and zero counts for every distribution bucket. Retry behavior: This read-only operation is safe to retry.
/api/surveys/operator/{operatorId}Organization API key supplied as Authorization: Bearer convor_sk_....
In: header
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
{
"operatorId": "44444444-4444-4444-8444-444444444444",
"averageRating": 2.67,
"totalRatings": 12,
"distribution": {
"1": 1,
"2": 2,
"3": 9
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}curl --request GET \
'https://api.convor.io/api/surveys/operator/44444444-4444-4444-8444-444444444444' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer convor_sk_...'const response = await fetch("https://api.convor.io/api/surveys/operator/44444444-4444-4444-8444-444444444444", {
method: "GET",
headers: {
"Accept": "application/json",
"Authorization": "Bearer convor_sk_..."
},
});
const contentType = response.headers.get("content-type") ?? "";
const data = response.status === 204
? null
: contentType.includes("json")
? await response.json()
: contentType.startsWith("text/")
? await response.text()
: await response.blob();
if (!response.ok) {
const message = typeof data === "object" && data !== null
&& "error" in data && typeof data.error === "object"
&& data.error !== null && "message" in data.error
? String(data.error.message)
: "Convor API request failed (" + response.status + ")";
throw new Error(message);
}
console.log(data);Was this page helpful?
Get CSAT analytics
Returns CSAT summary metrics for the current organization over the selected period. The response includes average score, total responses, response rate, score distribution, per-operator averages, and a daily trend. The `period` query defaults to `30d` and accepts `7d`, `30d`, or `90d`.
Get localized CSAT configuration
Returns the current CSAT survey configuration for the organization. If no custom settings have been saved yet, the response uses these defaults: `enabled: false`, `surveyDelay: 3`, `questionText: "How was your experience?"`, `ratingScale: 5`, `showCommentField: true`, and `triggerTiming: "after_close"`.