Connect a lesson

PUT/products/{product_id}/lessons/{lesson_id}/connection

Connects the lesson to the source lesson given by source_lesson_id. A connected lesson mirrors the content of its source lesson and takes on its format, name, summary, and thumbnail.

Requires the lessons.connect permission on the lesson being connected. The source lesson must be readable with the current credentials; otherwise the API returns 404 Not Found. The source lesson must have the same format, must not be the lesson itself, and must not be connected to another lesson.

Send the lesson's current ETag in the If-Match header to avoid overwriting a newer version. Replicated lessons are read-only, and requests to change them 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

Header Parameters

Idempotency-Key?string

Client-generated key that makes the request safe to retry. Must be 1 to 128 characters from [A-Za-z0-9._:-]. Optional on this operation; when sent, a malformed key returns idempotency_key_invalid, and repeating the request with the same key and the same body returns the stored result with Idempotent-Replayed: true.

If-Match?string

Expected revision of the resource, in the same format as the ETag header (W/"<type>:<id>:<revision>"). If the resource has changed since that revision, the request fails with 412 and the revision_mismatch error code. When omitted, the update is applied to the current revision.

X-Client-Request-Id?string

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.

Lengthlength <= 64

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 PUT "https://example.com/products/string/lessons/string/connection" \  -H "Content-Type: application/json" \  -d '{    "source_lesson_id": "string"  }'
{  "data": {    "connected": true,    "connected_at": "2019-08-24T14:15:22Z",    "object": "lesson_connection",    "source": {      "lesson_id": "string",      "module_id": "string",      "name": "string",      "product_id": "string"    }  }}