Fixture schemas
Fixtures are synthetic documentation examples, not default application data and not copies of prototype data. They model the stable fields the harness reads.
context.json
{
"userId": 1001,
"tenantId": 2001,
"tenantName": "Local Pilot School",
"displayName": "Local Pilot School"
}
question-collection.json
{
"id": "collection-local-001",
"name": "Synthetic practice collection",
"collectionType": "QUESTION_BANK",
"questionCount": 3,
"status": "PUBLISHED"
}
practice-session.json
{
"id": 9001,
"clientSessionId": "local-session-001",
"status": "ACTIVE",
"questionCount": 3,
"sessionVersion": 1,
"questions": [
{
"sequence": 1,
"questionId": "question-local-001",
"contentVersion": "v1",
"stem": "Synthetic question content",
"type": "choice",
"options": [{ "label": "A", "content": "Synthetic option" }],
"selectedAnswer": null
}
]
}
page.json
{
"list": [],
"total": 0
}
Do not add correctAnswer, explanation, access tokens, phone numbers, real names, provider identifiers, or licensed question text to pre-submission fixtures. Post-submission report examples may include answer/explanation fields only when explicitly needed to document the permitted post-submit response boundary.