EduMark for developers

Build assessment intelligence into your product.

Bring integrity checks, proposed marking, question generation and document extraction into the tools your team already uses.

01

Integrity

Submit text or a document for originality checks with comparison evidence and coverage information.

02

Marking

Send questions and answers, or a completed document, to receive proposed marks and feedback for review.

03

Questions

Generate questions with the types, difficulty, marks and answer guidance your application needs.

04

Assessment extraction

Turn assessment documents into structured questions and marking guidance, with uncertainty made visible.

Loading current API pricing… Pay per completed operation. No credit bundles. Retrieving progress and existing results is included.

Text, structured answers or a complete document

Provide question text, learner answers, question types, maximum marks and a marking guide. Or send a base64-encoded DOCX, PDF or TXT. Strict marking requests return missing context for review rather than silently inventing the marking basis.

A centre, a key and a payment method

Create a centre, then open Settings → Developer API. Authorised administrators and supervisors can manage scoped keys. An administrator connects billing, with the option to use an existing organisation card when available.

Control access and spending

Use keys from your server, choose the products each key can access, set expiry dates, rotate or revoke access, and set a monthly spending limit. Review request history and API invoices from the dashboard.

Keep people in the decision

Marking results are proposals for human review. Integrity results describe comparison coverage and uncertainty. Neither API output automatically releases an official learner grade or establishes misconduct.

One consistent workflow

Submit. Follow progress. Retrieve a result.

Versioned JSON endpoints use an API key and an idempotency key. Repeated submissions with the same request identity return the original job. The signed-in documentation includes examples, supported types and limits.

POST /v1/integrity/scans
POST /v1/marking/jobs
POST /v1/questions/generations
POST /v1/assessments/extractions

GET  /v1/jobs/{job_id}