Question Papers

Start a teacher review, or view an approved paper

Get a teacher to a review/approval screen with no Acadine credential. The paper must be READY (GENERATED) or already APPROVED — the latter gets you a no-credential URL to view a paper that's already been signed off (e.g. to embed it for display) instead of re-opening the review flow. A paper still processing returns 409.

Flow

  1. Call this endpoint.
  2. Redirect the browser to the returned url.
  3. Acadine redeems the token, starts a 12h session, and renders the paper — no sign-in required.
  4. For a GENERATED paper, approving it redirects to return_url (if supplied) and sends a question_paper.approved webhook. For an already-APPROVED paper, there's nothing further to approve — it's a read-only view.

The rt= token in url is single-use and expires in 120 seconds — call this again for a fresh one if it isn't used in time.

post/v1/review-sessions

Request

  • Base URL: https://api.acadine.ai (the document declares no server; this is the origin it was published from)
  • URL: https://api.acadine.ai/v1/review-sessions
  • Auth: API key in header X-API-Key

Request body

question_paper_refstring required

Must be READY or APPROVED. See GET /v1/question-papers/{id}.

actor_refstring nullable

Opaque teacher identifier, recorded in the audit trail and echoed back on the question_paper.approved webhook.

return_urlstring nullable

Where Acadine redirects the teacher's browser after approval. question_paper_ref and status=approved are appended as query params so your landing page has something to render immediately — but the question_paper.approved webhook, not this redirect, is the authoritative signal; a closed tab or network hiccup can still leave the redirect undelivered.

Example request

{
  "question_paper_ref": "QPR_2msnplIgOEXImjfvuihUqhIqNJO",
  "actor_ref": "teacher-4471",
  "return_url": "https://partner.example.com/papers/4471"
}

Response

Successful Response

urlstring required

Redirect the teacher's browser here.

expires_atstring date-time required

The rt= token in url stops working at this time (120 seconds from issue) and can only be redeemed once. If it passes unused, call this endpoint again for a fresh one.

Example response

{
  "url": "https://app.acadine.com/review?rt=rt_9f2a..."
}

Changes

No recorded changes to this operation across all 1 revision of this API.