Skip to main content

Start public contest attempt (v1)

Method & Path

POST /api/v1/public/contest/:token/start

Optional:

POST /api/v1/public/:workspaceSlug/contest/:token/start

Description

Validates intro responses, randomly selects questionsToShowCount questions from the pool, shuffles each question's options, creates an attempt, and returns questions without correct answers.

Authentication

None.

Request Body

{
"introResponses": {
"f1": "أحمد"
}
}

Response 201 Created

{
"attemptId": "...",
"serverNow": "2026-01-01T12:00:00.000Z",
"expiresAt": "2026-01-01T12:05:00.000Z",
"questions": [
{
"id": "...",
"text": "سؤال؟",
"options": [{ "id": "opt_a", "label": "خيار" }]
}
]
}

Common Errors

  • 404 Not Found
  • 409 Conflict: Contest not open
  • 422 Unprocessable: Missing required intro field
  • 500 Internal Server Error