Gradebook report

A course run's released results as an Excel sheet, CSV or printable PDF pack.

  • PriceFree
  • Typical time3 s to 45 s
  • Scopereports:read
  • Runs asA background job
Try it

Run gradebook report in the sandbox

No key and nothing to pay. The sandbox returns a realistic example in a couple of seconds; no AI runs and no data is kept.

The course run (GET /v1/course-runs).
xlsx or csv: one row per learner. pdf: a progress report per learner.
Add a learner ID column.
Add each learner's status (on track, needs attention…).
PDF only: include released feedback.
  1. Queued202 and a job id, straight away
  2. ProcessingPoll, stream or wait for a webhook
  3. SucceededResult and files on the job
Every AI request runs as a background job, so nothing times out.

Builds the same file as the Gradebook's Export button: one row per learner with each item's released result, or a progress report per learner as a PDF. Only released results are included. Free. Download the file from GET /jobs/{job_id}/files/gradebook.xlsx (or .csv / .pdf).

Requires reports:read. Free. Send a unique Idempotency-Key; reuse it with the identical body when retrying. Returns 202 with a job: poll GET /jobs/{job_id}, stream GET /jobs/{job_id}/events, or use a signed webhook.

Gradebook report

POST/v1/reports/gradebook

Scope reports:read

Headers

Gradebook report: headers
FieldDetails
Idempotency-KeystringRequiredA unique key per new operation; reuse it with the identical body when retrying.
EduMark-VersionenumAPI version. Defaults to the latest.One of 2026-10-21

Request body

Gradebook report: request body
FieldDetails
run_idstringRequiredThe course run (GET /v1/course-runs).Up to 200 charactersPattern ^[A-Za-z0-9][A-Za-z0-9._:-]{0,199}$
formatenumxlsx or csv: one row per learner. pdf: a progress report per learner.One of xlsx, csv, pdfDefault "xlsx"
learner_idsarray of string, optionalOnly these learners.1 to 5,000 items
include_idsbooleanAdd a learner ID column.Default true
include_statusbooleanAdd each learner's status (on track, needs attention…).Default true
include_feedbackbooleanPDF only: include released feedback.Default false

Responses

StatusMeaning
202Successful Response
400Request rejected. Inspect error.code and request_id; failed work is not billed.
401Request rejected. Inspect error.code and request_id; failed work is not billed.
402Request rejected. Inspect error.code and request_id; failed work is not billed.
403Request rejected. Inspect error.code and request_id; failed work is not billed.
404Request rejected. Inspect error.code and request_id; failed work is not billed.
409Request rejected. Inspect error.code and request_id; failed work is not billed.
410Request rejected. Inspect error.code and request_id; failed work is not billed.
413Request rejected. Inspect error.code and request_id; failed work is not billed.
415Request rejected. Inspect error.code and request_id; failed work is not billed.
422Validation Error
429Request rejected. Inspect error.code and request_id; failed work is not billed.
503Request rejected. Inspect error.code and request_id; failed work is not billed.