Delete a lesson
/products/{product_id}/lessons/{lesson_id}Moves the lesson to the trash. Trashed lessons can be restored by setting deleted to false with the update operation.
A lesson that is the source of connected lessons cannot be deleted and returns state_conflict; disconnect those lessons first. Replicated lessons are read-only and cannot be deleted; such requests return replica_readonly.
Send the lesson's current ETag in the If-Match header to avoid deleting a newer version.
Autonomous mode: the API credential secret, sent as a bearer token. Credential secrets are identified by a fixed prefix.
In: header
Path Parameters
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. 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
curl -X DELETE "https://example.com/products/string/lessons/string"Update a lesson PATCH
Updates only the fields included in the request. Changing `status` requires the `lessons.publish` permission. Moving the lesson to another product with `target_product_id` requires the `lessons.update` permission on the destination product; lessons that are connected to a source lesson, or that are the source of connected lessons, cannot be moved. Setting `deleted` to `false` restores a lesson from the trash. The exam set in `exam_id` must belong to the same product. `position` is 1-based among the lesson's siblings, in the destination when the lesson is moved; a value greater than the number of siblings places the lesson at the end. A lesson moved to another module or product without `position` is placed at the end. Replicated lessons accept only `status`; any other field is rejected with `replica_readonly`. Lessons cannot be moved into replicated products. Send the lesson's current `ETag` in the `If-Match` header to avoid overwriting a newer version.
List lesson attachments GET
Returns the files and images attached to the lesson. Attachments are the file and image blocks of the lesson body, so they also appear in the lesson content.