Skip to content

API Reference

Submissions

Read submissions, proctoring events, grade and void. Guide: Submissions & Grading.

get/submissions

List submissions

Scope submissions:read

Parameters

  • exam_idquery · string
  • student_idquery · string
  • statusquery · string
  • sincequery · string
  • pagequery · integer
  • limitquery · integer
cURL
curl -X GET "https://serverless.grout.app/v1/submissions" \
  -H "Authorization: Bearer $GROUT_API_KEY"
get/submissions/{id}

Get a submission (signed attachment URLs, AI usage, proctoring summary)

Scope submissions:read

Parameters

  • idpath · stringrequired
cURL
curl -X GET "https://serverless.grout.app/v1/submissions/$ID" \
  -H "Authorization: Bearer $GROUT_API_KEY"
get/submissions/{id}/events

Proctoring event feed for the attempt

Scope submissions:read

Parameters

  • idpath · stringrequired
cURL
curl -X GET "https://serverless.grout.app/v1/submissions/$ID/events" \
  -H "Authorization: Bearer $GROUT_API_KEY"
post/submissions/{id}/grade

Grade (score −1 requests resubmission)

Scope submissions:write

Parameters

  • idpath · stringrequired

Body

  • scorenumber
  • feedbackstring
  • graded_bystring
cURL
curl -X POST "https://serverless.grout.app/v1/submissions/$ID/grade" \
  -H "Authorization: Bearer $GROUT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"score":0,"feedback":"<feedback>","graded_by":"<graded_by>"}'
post/submissions/{id}/void

Void a submission

Scope submissions:write

Parameters

  • idpath · stringrequired

Body

  • reasonstring
cURL
curl -X POST "https://serverless.grout.app/v1/submissions/$ID/void" \
  -H "Authorization: Bearer $GROUT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"reason":"<reason>"}'