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