Update a lesson
/products/{product_id}/lessons/{lesson_id}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.
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
Request 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
curl -X PATCH "https://example.com/products/string/lessons/string" \ -H "Content-Type: application/json" \ -d '{}'{ "data": { "connection": { "connected": true, "source_lesson_id": "string", "source_product_id": "string" }, "created_at": "2019-08-24T14:15:22Z", "deleted": true, "exam_id": "string", "format": "standard", "id": "string", "image": "string", "module_id": "string", "name": "string", "object": "lesson", "pinned": true, "position": 0, "product_id": "string", "published_at": "2019-08-24T14:15:22Z", "revision": "string", "settings": null, "status": "published", "summary": "string", "updated_at": "2019-08-24T14:15:22Z" }}Retrieve a lesson GET
Retrieves a lesson by its public ID. The lesson body is available through the content endpoint. The response includes an `ETag` representing the current revision. Send this value in the `If-Match` header when changing the lesson to avoid overwriting a newer version.
Delete a lesson DELETE
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.