Duplicate a lesson

POST/products/{product_id}/lessons/{lesson_id}/copies

Starts 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.

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

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