Delete an exam
/products/{product_id}/exams/{exam_id}Moves the exam and its questions to the trash. Recorded attempts do not prevent deletion.
An exam that is displayed by a lesson, required to unlock a certificate, or required by a release rule cannot be deleted. In that case the API returns state_conflict, and details[].reason indicates the dependency: lesson, certificate, or release_rule.
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_.
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 <= 64Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X DELETE "https://example.com/products/string/exams/string"Update an exam PATCH
Updates an exam. `settings` is applied partially: omitted keys keep their current values, and `null` in a numeric setting removes the limit. To avoid overwriting a newer version, send the `ETag` from the retrieve operation in the `If-Match` header.
Retrieve an exam answer key GET
Returns the correct alternatives for the exam questions. Requires the `exams.read_answer_key` permission; `exams.read` alone does not grant access to this operation.