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
Response Body
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. 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.