mcp:reporting:read scope, not REST API keys. The MCP server exposes read-only tools for quizzes, surveys, tracks, activities, workspace members, member status, and account usage.
Base URL
All API requests should be made to:Available Endpoints
Quizzes
The Quiz API allows you to retrieve quiz data and detailed analytics reports:Tracks
The Track API lets you read track definitions and progress and enroll users. Each step has aday, counted in the Track’s working days from enrollment (0 is the enrollment day), and a time such as 09:00; null uses 9:00 AM.
catch_up controls overdue steps. true makes them eligible in order, subject to Working Hours. false shifts Day 1 to the next working day. Nothing is skipped.
working_hours contains days_of_week, start_time, end_time, and an IANA time_zone. Working days and overdue catch-up hours are evaluated in each recipient’s time zone, including both time boundaries. time_zone is the default only when a recipient has no time zone. A Track value of null inherits the workspace policy. A legacy Track that omits working_hours keeps run_days as its working-day list while inheriting workspace/default hours and time zone. An enrollment request can override all four fields. Each enrollment snapshots the resolved policy, so later workspace or Track changes do not affect it.
For schedule triggers, frequency: "once" schedules one run at the configured start date and time. The read-only next_run_at field contains the next scheduled run time. It is null for draft or paused tracks and after Doozy finishes processing a one-off schedule. Updating other track fields does not schedule another run. To schedule another run, change the start date, time, or time zone.
Set
include_step_results=true on a Track report to include activity results. Task-step results include the total progress and each task item in its assigned order, with its Markdown details, completion status, and completion time.
step_analytics.completion_rate is the percentage of matching enrollees who reached the step and completed it. For a tasks step, task_completion_rate separately reports the percentage of assigned task items completed across those enrollees. task_breakdown lists each task item in order with its assigned count, completed count, and completion rate.
When an enrollment is canceled, the API returns untouched future steps with a canceled status. It derives these steps from the Track definition without creating step-progress records.
Surveys
For named surveys, the report and trend endpoints accept
audience_groups, a
JSON-encoded array that can combine department or group IDs, country codes,
states or regions, cities or towns, work-location IDs, and direct-manager user
IDs. Audience groups use OR logic, populated conditions inside a group use AND
logic, and values inside a condition use OR logic. Up to 10 groups and 50 values
per condition are accepted.
The existing group_ids, work_location_ids, and manager_ids parameters are
a one-group shorthand. audience_groups takes precedence when both forms are
provided. Anonymous surveys do not accept demographic filters.
Introductions
Pagination
The API uses cursor-based pagination for list endpoints. Use these query parameters:Example
OpenAPI Specification
Download the full OpenAPI specification for use with API clients, code generators, or other tooling:Download OpenAPI Spec
OpenAPI 3.0 specification (JSON)
Next Steps
Authentication
Learn how to generate and manage API keys
Error Handling
Understand API error responses