Assignments

List and read assignments, create drafts and update them.

  • Scopesassignments:readassignments:write

Data requests act inside the key’s centre as the person who created the key: each needs the scope and that person’s current EduMark permission. See auth and pagination.

List assignments

GET/v1/assignments

Delivered assignments (kind=assignment, default) or Studio drafts (kind=draft) in the key's team, newest first, that the key's creator can see in EduMark.

Scope assignments:read

Parameters

List assignments: parameters
FieldDetails
kindenumOne of assignment, draftDefault "assignment"
course_idstring, optionalUp to 200 charactersPattern ^[A-Za-z0-9][A-Za-z0-9._:-]{0,199}$
statusenum, optionalOne of draft, under_review, approved, scheduled, open, closed, marking, moderation, ready_for_release, released, archived
updated_sincestring, optionalUp to 40 characters
limitintegerItems per page, 1 to 100.1 to 100Default 25
cursorstring, optionalThe next_cursor from the previous page.Up to 512 characters

Headers

List assignments: headers
FieldDetails
EduMark-VersionenumAPI version. Defaults to the latest.One of 2026-10-21

Responses

StatusMeaning
200Successful 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.
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.

Create an assignment draft

POST/v1/assignments

Creates a draft in the Assignment Studio, as "Start from scratch" does. Staff add the questions or brief, choose who it is for and publish it in EduMark. Send an Idempotency-Key.

Scope assignments:write

Headers

Create an assignment draft: headers
FieldDetails
Idempotency-Keystring, optionalUp to 128 characters
EduMark-VersionenumAPI version. Defaults to the latest.One of 2026-10-21

Request body

Create an assignment draft: request body
FieldDetails
titlestringRequiredUp to 300 characters
instructionsstringWhat learners are asked to do.Up to 20,000 charactersDefault ""
submission_modeenumOne of online_response, file_upload, external, noneDefault "file_upload"
due_atstring (date-time), optionalOptional due date; the team's default deadline is used otherwise.

Responses

StatusMeaning
201Successful 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.
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.

Get an assignment

GET/v1/assignments/{assignment_id}

Scope assignments:read

Parameters

Get an assignment: parameters
FieldDetails
assignment_idstringRequiredUp to 200 charactersPattern ^[A-Za-z0-9][A-Za-z0-9._:-]{0,199}$

Headers

Get an assignment: headers
FieldDetails
EduMark-VersionenumAPI version. Defaults to the latest.One of 2026-10-21

Responses

StatusMeaning
200Successful 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.
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.

Update an assignment

PATCH/v1/assignments/{assignment_id}

Change a draft's title, instructions, submission type or dates, or a delivered assignment that is still a draft. Published assignments are changed in EduMark, where learners are told about changes.

Scope assignments:write

Parameters

Update an assignment: parameters
FieldDetails
assignment_idstringRequiredUp to 200 charactersPattern ^[A-Za-z0-9][A-Za-z0-9._:-]{0,199}$

Headers

Update an assignment: headers
FieldDetails
EduMark-VersionenumAPI version. Defaults to the latest.One of 2026-10-21

Request body

Update an assignment: request body
FieldDetails
expected_revisionintegerRequiredThe revision you last read. A stale value is a 409.At least 1
titlestring, optionalUp to 300 characters
descriptionstring, optionalInstructions (drafts) or description (assignments).Up to 20,000 characters
submission_modeenum, optionalDrafts only.One of online_response, file_upload, external, none
opens_atstring (date-time), optional
due_atstring (date-time), optional
closes_atstring (date-time), optional

Responses

StatusMeaning
200Successful 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.
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.