Create a lesson
/products/{product_id}/lessonsCreates a lesson in the product, optionally inside a module. New lessons are created as drafts.
position is 1-based among the lesson's siblings; a value greater than the number of siblings places the lesson at the end.
The Location header of the response contains the URL of the new lesson. Lessons cannot be created in replicated products; such requests return replica_readonly.
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_.
Header Parameters
Client-generated key that makes the request safe to retry. Must be 1 to 128 characters from [A-Za-z0-9._:-]. Required by this operation: a missing key returns idempotency_key_required, and a malformed key returns idempotency_key_invalid. Repeating the request with the same key and the same body returns the stored result with Idempotent-Replayed: true.
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 <= 64Request 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
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/products/string/lessons" \ -H "Idempotency-Key: string" \ -H "Content-Type: application/json" \ -d '{ "format": "standard", "name": "string" }'{ "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": {}, "status": "published", "summary": "string", "updated_at": "2019-08-24T14:15:22Z" }}List lessons GET
Returns the lessons of a product, using cursor pagination. Lesson bodies are not included; use the content endpoint to retrieve them. The collection can be filtered by module, status, format, and name. Set `unassigned` to `true` to return only lessons that are not in a module. Trashed lessons are excluded by default; set `deleted` to `true` to return only lessons in the trash.
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.