Fill the gaps

Fill-the-gaps notes: short passages with the key terms removed, plus answers, hints, reasons and a word bank.

  • Price1 credit (10p) per set
  • Typical time10 s to 60 s
  • Scopelearning:write
  • Runs asA background job
Try it

Run fill the gaps 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.

A subject to study from general knowledge, for example "Photosynthesis for GCSE Biology".
Your own teaching text (at least 200 characters, at most 10,000 words). Material stays grounded in it.
A name for your text or document, such as the lesson or chapter title.
Concepts to concentrate on, in plain words.
How to pitch the material. Leave it out for upper-secondary to first-year university level.
Who the material is for, for example "Year 10 learners who find maths hard".
The language to write in. British English unless you choose another.
  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.

Each passage is a list of segments in reading order: plain text, or a gap with a hint, the answer, other accepted_answers and why (show it after the learner checks). Joined together the segments read as natural prose. word_bank lists every answer, shuffled, for an easier mode.

Requires learning:write. Costs 1 credit per set. 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.

Fill the gaps

POST/v1/fill-the-gaps

Scope learning:write

Headers

Fill the gaps: 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

Fill the gaps: request body
FieldDetails
topicstring, optionalA subject to study from general knowledge, for example "Photosynthesis for GCSE Biology".Up to 200 characters
source_textstring, optionalYour own teaching text (at least 200 characters, at most 10,000 words). Material stays grounded in it.Up to 120,000 characters
documentFileReference or DocumentInput, optionalA PDF, DOCX or TXT to study from: {"file_id"} from POST /v1/files, or inline base64.
file_iddocument.file_idstringRequiredThe id returned by POST /v1/files, after POST /v1/files/{id}/complete reported ready.When sending FileReferencePattern ^file_[a-f0-9]{32}$
filenamedocument.filenamestringRequiredWhen sending DocumentInputUp to 200 characters
base64document.base64stringRequiredWhen sending DocumentInputUp to 27,962,028 characters
mime_typedocument.mime_typestring, optionalWhen sending DocumentInputUp to 150 characters
titlestring, optionalA name for your text or document, such as the lesson or chapter title.Up to 200 characters
focusstringConcepts to concentrate on, in plain words.Up to 500 charactersDefault ""
levelenum, optionalHow to pitch the material. Leave it out for upper-secondary to first-year university level.One of new_to_this, foundation, intermediate, advanced, exam_revision, deep_dive
audiencestring, optionalWho the material is for, for example "Year 10 learners who find maths hard".Up to 200 characters
languageenumThe language to write in. British English unless you choose another.One of English, Welsh, Irish, Gaelic, French, Spanish, German, Italian, Portuguese, Dutch, Polish, Arabic, Urdu, Hindi, Punjabi, Bengali, Chinese, Mandarin, Cantonese, Japanese, Korean, Russian, Turkish, Greek, Swedish, Norwegian, Danish, Finnish, Romanian, Hungarian, Czech, Ukrainian, Farsi, Persian, Hebrew, Swahili, Somali, Tamil, Gujarati, Vietnamese, Thai, Indonesian, Malay, Tagalog, LatinDefault "English"

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.

Files and errors

Product errors

  • SOURCE_REQUIREDHTTP 422. Provide exactly one of topic, source_text or document.
  • SOURCE_TOO_SHORTHTTP 422. source_text needs at least 200 characters to study from.
  • INPUT_TOO_LARGEHTTP 422. source_text supports at most 10,000 words.
  • MODEL_RESULT_INVALIDOn the finished job. The generated material did not pass EduMark's checks. No charge was applied.
  • PROCESSING_UNAVAILABLEOn the finished job. Processing could not complete safely. No complete result was issued.
  • DOCUMENT_READ_FAILEDOn the finished job. The document could not be read safely.