Reopen an exam attempt
/products/{product_id}/exams/{exam_id}/attempts/{exam_attempt_id}Reopens an exam attempt by setting status to open. A reason is required and no other fields can be changed.
Reopening discards this attempt and any earlier attempts by the same user on this exam, marks the lesson that displays the exam as not completed, reverses the points awarded, and records the adjustment with its reason and author. Certificates that were already issued are not revoked.
Attempts that are already open or already discarded cannot be reopened.
Autonomous mode: the API credential secret, sent as a bearer token. Credential secrets are identified by a fixed prefix.
In: header
Path Parameters
Public ID of the product, prefixed with prd_.
Public ID of the exam, prefixed with exm_.
Public ID of the exam attempt, prefixed with exa_.
Header Parameters
Client-generated key that makes the request safe to retry. Must be 1 to 128 characters from [A-Za-z0-9._:-]. Optional on this operation; when sent, a malformed key returns idempotency_key_invalid, and repeating the request with the same key and the same body returns the stored result with Idempotent-Replayed: true.
Expected revision of the resource, in the same format as the ETag header (W/"<type>:<id>:<revision>"). If the resource has changed since that revision, the request fails with 412 and the revision_mismatch error code. * matches the current revision. Any other value fails with 400 and the if_match_invalid error code. When omitted, the update is applied to the current revision.
Optional client-generated identifier of the request, up to 64 characters from [A-Za-z0-9._-]. Echoed back in the response and recorded in the request log; it never replaces the server-generated X-Request-Id.
length <= 64Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PATCH "https://example.com/products/string/exams/string/attempts/string" \ -H "Content-Type: application/json" \ -d '{ "reason": "string", "status": "open" }'{ "data": { "correct_count": 0, "exam_id": "string", "finished_at": "2019-08-24T14:15:22Z", "id": "string", "lesson_id": "string", "min_score": 0, "object": "exam_attempt", "passed": true, "product_id": "string", "revision": "string", "score": 0, "started_at": "2019-08-24T14:15:22Z", "status": "open", "user": { "id": "string", "name": "string" }, "wrong_count": 0 }}Retrieve an exam attempt GET
Retrieves an exam attempt by its public ID. The user who took the exam is identified by ID and name; the email address is not included. The response includes an `ETag` representing the current revision. Send this value in the `If-Match` header when reopening the attempt to avoid acting on an outdated version.
Retrieve the answers for an exam attempt GET
Returns the answers the user submitted in the attempt. Requires the `exams.attempts.read_answers` permission; `exams.attempts.read` alone does not grant access to this operation.