Create/list/getReference

Longer-form assessments with sectioning, pacing, and difficulty controls

Exams API

Use the Exams API when you need a heavier-weight assessment than a quiz: larger question sets, section planning, difficulty shaping, and duration-aware output.

Manage keys
Route-accurate reference

Core routes

3

Create, list, and get.

Best fit

Higher-stakes assessment

Use exams when you need sectioned or longer-form evaluation.

Steering model

Exam parameters

Time density, difficulty, topic organization, question mix, and intentions.

Quiz vs. exam

Choose quizzes when you want diagnostic or study-oriented checks. Choose exams when you need larger, more deliberate assessment structures with pacing, longer duration, and a clearer sense of section planning.

The backend already treats exam generation as its own orchestration path, which is why the public contract deserves its own route family rather than being framed as just "a bigger quiz."

Routes

What this page actually points to

3 entries
POSTLive

/api/v1/exams/create

Generate a structured exam from a topic, source content, and exam controls.

Auth

API key via Authorization: Bearer or x-api-key

Maps to

/api/sandbox/create_test

Notes

The public route exists today. The docs describe the intended flat API contract while the service layer continues to normalize into exam settings internally.

Request fields

promptstringRequired

Primary user request, learning goal, or topic for generation.

contentstringOptional

Optional raw source material to generate from when you want to bypass a separate upload step.

contextobject[]Optional

Optional typed context objects. Supported types today are `text`, `doc`, `pdf`, `quickhit`, `roadmap`, `quiz`, `exam`, `project`, and `vidbyte_project`.

time_densitystringOptional

Optional time-pressure control.

difficulty_levelstringOptional

Optional exam difficulty control such as foundational, progressive, or expert.

reasoning_lensstringOptional

Optional reasoning lens selector.

topic_organizationstringOptional

Optional topic ordering / section flow control.

question_mixobjectOptional

Relative mix of multiple choice, true/false, and open-ended questions.

question_countintegerOptional

Optional target question count.

section_countintegerOptional

Optional target section count.

target_duration_minutesintegerOptional

Optional target duration for the finished exam.

intentionsstring | string[]Optional

Pedagogical intent summary or list.

Response shape

Public responses use the shared envelope: `success`, `id`, `message`, `data`, `token_stats`, `pricing`, and `error`.

The `id` field is always a public/encrypted identifier boundary, never a raw MongoDB `_id`.

Exam create returns a sanitized exam resource with `exam_data` and usage metadata.

GETLive

/api/v1/exams/list

List exams owned by the authenticated API principal.

Auth

API key via Authorization: Bearer or x-api-key

Maps to

/api/sandbox/exams/list

Notes

Returns only sanitized public exam resources.

Response shape

Public responses use the shared envelope: `success`, `id`, `message`, `data`, `token_stats`, `pricing`, and `error`.

The `id` field is always a public/encrypted identifier boundary, never a raw MongoDB `_id`.

GETLive

/api/v1/exams/get/{encrypted_id}

Fetch one exam by encrypted public id.

Auth

API key via Authorization: Bearer or x-api-key

Maps to

/api/sandbox/exams/get/{encrypted_id}

Notes

Use the `id` returned by create/list, never an internal database id.

Request fields

encrypted_idstringRequired

Encrypted public identifier returned by a create or list route.

Response shape

Public responses use the shared envelope: `success`, `id`, `message`, `data`, `token_stats`, `pricing`, and `error`.

The `id` field is always a public/encrypted identifier boundary, never a raw MongoDB `_id`.

Request details

Recommended top-level exam controls

The public v1 design keeps exam steering understandable at the route layer.

time_densitystringOptional

Time-pressure control for the exam.

difficulty_levelstringOptional

Exam difficulty control.

reasoning_lensstringOptional

Reasoning lens selector.

topic_organizationstringOptional

Topic ordering and grouping control.

question_mixobjectOptional

Relative mix of multiple choice, true/false, and open-ended items.

question_countintegerOptional

Target number of questions.

section_countintegerOptional

Target number of sections.

target_duration_minutesintegerOptional

Approximate intended completion time.

Related pages