Request headers
string
required
The service user’s API token in the
Bearer YOUR_TOKEN format. The school owner issues the token in the admin panel:
Manage → School → For developers → API keys — see the “Authentication” section for details.integer
required
The numeric ID of the seller — the account the school belongs to. Copy it on the API keys page, in
the Integration data → Identifiers card. The token’s permissions are checked against this ID.
integer
required
The numeric ID of the school, found in the same place as
Seller-Id. The value must match the seller’s school — otherwise
a 400 error with cause: "ForbiddenSchoolMismatch" is returned.How it works
Report generation runs as an asynchronous workflow. The process consists of three steps:1
Create a generation task
Send a
POST request to /saas/v2/query-export/generate with the report type, filter variables and
format.
In response (HTTP 201), you receive an object whose payload field contains a uuid — the identifier
for tracking the result. The file itself has not been created yet at this step.2
Get the result
Send a
substituting the
GET request
to /saas/v2/workflow-execution/:executionUuid/result, substituting the
uuid from the first step, at an interval of 2–5 seconds.
Repeat the request until status becomes Completed (or Failed). Right after launch,
payload may be null — the task has not started yet, so keep polling.3
Download the file
When
status: Completed, download the file from the payload.result.fileUrl link. Download it right away: the result
is stored for a limited time (see the result retrieval page for details).Only a request with an unknown
type or format, or with variables that is not an object, is rejected
immediately with status 400 and cause: "validation". Errors inside variables (an unknown filter field, an invalid enum value, a missing filter) and missing permissions
for the data do not cause this request to fail: the task is created, and polling the result returns
status: Failed. The reason for the failure is not included in the response — check your request against the report type page and
the token’s permissions.Create an export request
Rate limit: 100 requests per hour per service user (token). When exceeded, HTTP
429 is returned —
see the Rate-limit section for details. Polling for the result does not count toward this limit.string
Language of column headers and translatable values in the file:
ru, en, uz, qa. If the header is not sent,
columns are named in English. Column names on the report type pages are given in English.Request parameters
string
required
Report type. Determines which data is exported. Available values:
QUERY_EXPORT_TYPE_SCHOOL_USER_FIND_MANY— school usersQUERY_EXPORT_TYPE_SCHOOL_STUDENT_FIND_MANY— school studentsQUERY_EXPORT_TYPE_GROUP_MEMBER_FIND_MANY— group membersQUERY_EXPORT_TYPE_COURSE_LESSON_PRACTICE_ATTEMPT_FIND_MANY— practice assignment attemptsQUERY_EXPORT_TYPE_INVOICE_MANAGE_FIND_MANY— invoicesQUERY_EXPORT_TYPE_PRODUCT_BILLING_ACCESS_FIND_MANY— product access billing
object
required
Query variables:
filter (required for all types; to export all records, pass {}) and
sort (optional). The set of fields depends on the selected type and is described on the report type page — see the links
in the list above.Fields are validated during generation, not when the task is created: an unknown field or an invalid value results
in status: Failed at the result retrieval step. Dates in ranges (...DateRange) are passed in
ISO 8601 format, for example 2025-01-01T00:00:00Z.string
Output file format. Defaults to
EXPORT_FORMAT_XLSX.EXPORT_FORMAT_XLSX— Excel (.xlsx). The only format with additional sheets (for example, Course Progress or Billing Details — see the report type page).EXPORT_FORMAT_CSV— CSV (.csv): main sheet only, comma-separated, UTF-8 with BOM encoding (opens in Excel without issues with Cyrillic), the first row contains the column headers.EXPORT_FORMAT_JSON— JSON (.json): an array of objects, one per report row. Keys are the technical English column names (userId,fullName, …); they do not depend onUx-Language.
Response fields
boolean
Result of the request.
number
HTTP response code (for example,
201).object
Generation task object.
Permission requirements
The generation request itself requires only token authentication as the school’s service user. The data for the file is collected on behalf of the same user, so the token needs a permission for the exported data — one of those listed for the report type:Updated: 2026-09-25 14:33 UTC