Add or update an attachment

PUT/products/{product_id}/lessons/{lesson_id}/attachments/{file_id}

Attaches a file to the lesson body, or updates the title and kind of an existing attachment for the same file. The operation is idempotent per file ID: it returns 201 when the attachment is added and 200 when an existing attachment is updated.

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
file_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 PUT "https://example.com/products/string/lessons/string/attachments/string" \  -H "Content-Type: application/json" \  -d '{}'
{  "data": {    "file_id": "string",    "kind": "file",    "object": "lesson_attachment",    "position": 0,    "title": "string",    "url": "string"  }}