Authenticate with Basic Auth or OAuth and confirm your Zendesk plan includes CSAT (Customer Satisfaction) — available on Suite and certain Support plan tiers.
List satisfaction ratings with GET /api/v2/satisfaction_ratings, which returns a paginated collection of rating objects including 'score' (good/bad), 'comment', 'ticket_id', 'assignee_id', and timestamps.
Filter by score with the 'score' query param (values: good, bad, unoffered), and by date range with 'start_time' and 'end_time' (Unix timestamps).
Iterate through all pages using the 'next_page' URL in the response envelope until it is null.
Join rating records to ticket data by looking up each 'ticket_id' via the Tickets API if you need additional ticket metadata (subject, group, tags).
Aggregate results in your data pipeline: count good vs. bad ratings per agent or group and compute a CSAT percentage over the desired time window.
Known gotchas
CSAT ratings are only created after Zendesk sends a satisfaction survey to the end user — tickets closed without a survey (e.g., those excluded by your survey conditions) will not appear in the ratings endpoint.
The 'comment' field is optional and often empty; do not treat a missing comment as a data error.
Satisfaction ratings cannot be created or modified via the API — the endpoint is read-only; only Zendesk's internal survey mechanism creates rating records.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp