Exams (GroutCode)
File uploads and hidden-test key custody for coding exams. Guide: GroutCode Coding Exams.
post
/exams/{id}/filesput/exams/{id}/code-secretget/exams/{id}/code-secret/statuspost/exams/{id}/code-secret/releasepost
/exams/{id}/filesUpload an exam file (starter.zip, sample-tests.zip, hidden-tests.zip.enc)
Scope exams:write
Parameters
idpath · stringrequired
Multipart form with a single file field (≤ 50 MB).
curl -X POST "https://serverless.grout.app/v1/exams/$ID/files" \
-H "Authorization: Bearer $GROUT_API_KEY"
-F "file=@./starter.zip"put
/exams/{id}/code-secretStore the hidden-tests AES key (write-only custody)
Scope exams:write
Parameters
idpath · stringrequired
Body
hidden_key_b64string
curl -X PUT "https://serverless.grout.app/v1/exams/$ID/code-secret" \
-H "Authorization: Bearer $GROUT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"hidden_key_b64":"<hidden_key_b64>"}'get
/exams/{id}/code-secret/statusWhether a key is stored and how many students received it
Scope exams:read
Parameters
idpath · stringrequired
curl -X GET "https://serverless.grout.app/v1/exams/$ID/code-secret/status" \
-H "Authorization: Bearer $GROUT_API_KEY"post
/exams/{id}/code-secret/releaseRead back the hidden-tests key (institution role)
Scope exams:write
Parameters
idpath · stringrequired
curl -X POST "https://serverless.grout.app/v1/exams/$ID/code-secret/release" \
-H "Authorization: Bearer $GROUT_API_KEY"