Skip to main content
A copy represents one student’s submission for an exam. You create copies by linking previously uploaded file IDs to an exam, Examino then processes the files, recognizes student names, and makes the copies available for correction. This page covers listing, creating, reading, and deleting copies.

List copies

Returns all copies belonging to an exam, sorted by index then by creation date. Required scope: copies:read
Provisional copies created during batch splitting in the web app are never included in this response.
Request
Response 200

Response fields

string
UUID of the copy.
string
UUID of the exam this copy belongs to.
string | null
The name you provided at creation time via studentName.
string | null
The name Examino read directly from the copy document. Useful for matching an anonymous import back to your student roster when no studentName was supplied.
string | null
Your own student identifier, returned exactly as you provided it. This is the recommended key for matching copies back to your Student Information System.
integer | null
Position of this copy within the exam. Used for stable ordering.
string | null
Processing status of the copy files: success, processing, error, or null.
string | null
ISO 8601 timestamp of when an instructor validated the correction. null means the copy has not yet been reviewed.
string | null
UUID of the active correction for this copy. This is set as soon as a correction is launched, its presence does not mean a result is available yet.
string
ISO 8601 creation timestamp.

Create copies

Links already-uploaded files to new copies and kicks off background processing. You can create up to 50 copies in a single call. Required scope: copies:write
array
required
Array of copy objects to create. Must contain between 1 and 50 items.
Creation is atomic: either every copy in the request is created, or none of them are. A single invalid fileId rolls back the entire batch. Created copies are attributed to the API key, not to the user who originally created it.
A file is only usable by the API key that registered it. If you upload a file with one key and try to attach it with another key, the API returns 404 not_found.
Request
Response 201

Error reference


Get a copy

Returns the full detail object for a single copy, including its teamId. Required scope: copies:read
Request
Response 200
The response includes all fields from the list endpoint, plus teamId, the UUID of the team that owns the exam.

Delete a copy

Permanently removes a copy, its uploaded files, and its correction from Examino. Required scope: copies:write
Deletion is permanent, this is not an archive. The copy, its files, and any associated correction are permanently deleted and cannot be recovered. Do not use this endpoint unless you are certain the data is no longer needed.
The following cleanup happens automatically on deletion:
  • Any credits reserved for this copy are returned to your balance.
  • In-progress background processing is cancelled.
  • Storage files are deleted, unless a file is shared with another copy or with the exam subject.
Request
Response 200