Duplicate a lesson
/products/{product_id}/lessons/{lesson_id}/copiesStarts an asynchronous operation that copies the lesson into the product given by target_product_id, optionally into a specific module and under a new name. The copy is always created as a draft.
This operation requires an Idempotency-Key header. The response returns the operation, and the Location header points to it; retrieve the operation to track its progress and obtain the new lesson once it completes.
Requires the lessons.create permission on the destination product. Replicated lessons cannot be copied, and lessons cannot be copied into replicated products; both cases 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
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
curl -X POST "https://example.com/products/string/lessons/string/copies" \ -H "Content-Type: application/json" \ -d '{ "target_product_id": "string" }'{ "data": { "attempt": { "number": 0, "status": "running" }, "cancellation_requested": true, "created_at": "2019-08-24T14:15:22Z", "error": {}, "expires_at": "2019-08-24T14:15:22Z", "finished_at": "2019-08-24T14:15:22Z", "id": "string", "items_url": "string", "object": "operation", "progress": { "done": 0, "failed": 0, "total": 0 }, "result_url": "string", "started_at": "2019-08-24T14:15:22Z", "status": "queued", "type": "string" }}Replace lesson content PUT
Replaces the lesson body and, when `video` is included, the lesson video. The `inherited` field returned by the retrieve operation is accepted and ignored, so retrieved content can be sent back as is. `raw` blocks are not accepted, embed blocks must use a recognized provider, and quiz lessons do not accept a video. The request body must not exceed 1 MiB. The content of a connected lesson belongs to its source lesson and cannot be changed; such requests fail with `state_conflict`. Replicated lessons are read-only, and requests to change them return `replica_readonly`. Send the lesson's current `ETag` in the `If-Match` header to avoid overwriting a newer version.
List lesson taxonomy terms GET
Returns the taxonomy terms assigned to the lesson. Only lessons in products with the `blog` format support taxonomies. For products in other formats, the API returns `format_unsupported` instead of an empty list.