Returns configuration and the complete ordered question array.
Requires a community API key with quizzes permission; personal keys are rejected. Tenant comes from authentication. Unknown/system-owned body fields are rejected. JSON UTF-8 bodies are limited to 1 MiB. All responses use Cache-Control: no-store. Question mutations require a previous successful separate PATCH {"isActive":false}. Concurrent publication/configuration changes return 409 QUIZ_CONFLICT; fetch current detail before retrying.
GET /apis/v1/quizzes/{quizId}
Path parameter quizId: required 24-character MongoDB id scoped to the authenticated community. Example: 507f1f77bcf86cd799439011. No body or query params.
200 returns the full quiz including metadata, viewPermission, theme configuration, isActive, configuration.quizMode, screens, settings and ordered questions.
Example request: GET /apis/v1/quizzes/507f1f77bcf86cd799439011
Authorization: Bearer
Errors: 400 invalid id, 401 authentication, 403 permission, 404 QUIZ_NOT_FOUND (also foreign community/non-quiz), 429 configured limit, 500 safe failure.
curl --location 'https://sgtr-integration.returning.ai/apis/v1/quizzes/507f1f77bcf86cd799439011' \
--header 'Authorization: <api-key>'{
"meta": {
"status": "success",
"statusCode": 200,
"requestId": "req_example"
},
"message": "Quiz retrieved success.",
"data": {
"_id": "507f1f77bcf86cd799439011",
"serverId": "507f191e810c19729de860ea",
"type": "quiz",
"name": "Product knowledge",
"description": "",
"timezone": "UTC",
"isActive": false,
"viewPermission": {
"roles": [],
"users": []
},
"useServerTheme": true,
"customThemes": [],
"configuration": {
"quizMode": "knowledge",
"startScreen": {
"title": "Start Quiz",
"description": "",
"startButtonText": "Start the Quiz"
},
"endScreen": {
"title": "You have completed this quiz.",
"description": "",
"completeButtonText": "Done",
"reAttemptButtonText": "Try Again",
"showUserScore": true
},
"settings": {
"showQuizProgress": false,
"backNavigation": false,
"questionSkips": false,
"numberOfAttempts": 1,
"pointsPerQuestion": 1,
"answerConfiguration": {
"mode": "score_only"
},
"showUserScore": true,
"passingMarkEnabled": true,
"passingPercentage": 50
},
"questions": [
{
"id": "q1",
"type": "single_select",
"question": "Which option is correct?",
"options": [
{
"id": "a",
"label": "A",
"value": "A"
},
{
"id": "b",
"label": "B",
"value": "B"
}
],
"correctAnswer": "a"
}
]
},
"createdAt": "2026-10-03T00:00:00.000Z",
"updatedAt": "2026-10-03T00:00:00.000Z"
}
}