Skip to main content
Examino is an AI-powered exam correction platform built for schools and educational institutions. Its REST API lets your SIS or LMS import student copies and trigger automated AI grading — so every part of the correction workflow, from submission to result, can be driven programmatically.

Base URL

All API requests go to the following base URL:
Every endpoint documented in this reference is relative to this base.

Conventions

Before you make your first request, there are a few conventions the API enforces consistently across every endpoint.
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.
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.
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.
All JSON field names use camelCasestudentName, 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.
Two conditions must both be true for the API to work:
  1. The rest_api feature must be enabled on your team.
  2. At least one active API key must exist (created from Administration → API in the Examino app).
If either condition is not met, every request returns 403 feature_disabled. Contact Examino support to activate the feature on your account.

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.