Update a lesson

PATCH/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.

AuthorizationBearer <token>

Autonomous mode: the API credential secret, sent as a bearer token. Credential secrets are identified by a fixed prefix.

In: header

Path Parameters

product_id*string
lesson_id*string

Header Parameters

If-Match?string

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"  }}