Base URL
All API requests go to the following base URL:Conventions
Before you make your first request, there are a few conventions the API enforces consistently across every endpoint.JSON only
JSON only
All request bodies must be sent as
application/json encoded in UTF-8. All
responses are also JSON. If you send a body with the wrong Content-Type,
the API returns a 400 invalid_request error.UUID v4 identifiers
UUID v4 identifiers
Every resource — teams, exams, copies, corrections — is identified by a
UUID v4 string (e.g.,
3fa85f64-5717-4562-b3fc-2c963f66afa6). IDs are
assigned by the server; you cannot choose them.ISO 8601 dates in UTC
ISO 8601 dates in UTC
All timestamps are formatted as ISO 8601 strings in UTC, for example
2025-06-15T09:30:00Z. When you send date values in request bodies, use
the same format.camelCase fields
camelCase fields
All JSON field names use camelCase —
studentName, createdAt,
examId. No snake_case, no PascalCase.Activation Requirements
The REST API is reserved for organization and educational institution accounts and must be explicitly enabled on your team before any request will succeed.Data Model
The API is built around four core resources. Understanding how they relate to each other will help you navigate the reference docs.Team
The top-level organizational unit. A team is either a workspace (can
contain exams) or a folder (an organizational node only, used to group
other teams). Your API key is always scoped to one team and covers its
entire subtree.
Exam
An exam belongs to a workspace team and carries the subject, rubric
(barème), and all grading settings. You build the rubric in the Examino
web app; the API handles everything else.
Copy
A copy represents a student’s submission — one or more uploaded files
attached to an exam. Each copy is linked to one student.
Correction
A correction is the AI result for a copy. There is one main correction
per copy. You launch corrections via the API and poll or webhook for
results.
The rubric (barème) that drives AI grading is always configured in the
Examino web app. The API does not expose rubric creation or editing endpoints.
Typical Workflow
Here is the high-level sequence every integration follows:1
Activate the feature
Ask Examino support to enable
rest_api on your team, then create an API
key under Administration → API.2
Locate your exam
Use the Exams endpoints to find the exam UUID for the test you want to
correct.
3
Import student copies
Upload each student’s files and create copy resources linked to the exam.
The batch endpoint accepts up to 50 copies per call.
4
Launch corrections
Trigger AI correction for one or all copies. Corrections run asynchronously
and typically complete within a few minutes.
5
Retrieve results
Poll the Corrections endpoint (every 15–30 s) or listen for a webhook event
to fetch scores and feedback when the AI finishes.
Next Steps
Authentication
Learn how to create an API key, understand scopes, and handle every
authentication error.
Import & Correction Guide
Follow a step-by-step walkthrough of uploading copies and launching your
first AI correction.