Skip to main content
PATCH
Set Lesson Details

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

id
string
required

Lesson ID.

Body

Send fields directly or inside attributes. Omitted fields keep their current values. JSON numbers and booleans must use their native types. Form requests accept number and boolean values, including nested fields such as attributes[is_published]. Use JSON for null values. Empty strings and the text null are not treated as null.

section_id
string

Move this lesson to another section in the school, keeping its steps, content and attachments. Requires edit access to both programs. If position is omitted, the lesson is placed last in the destination section. Null is not accepted.

Required string length: 1 - 255
name
string

Lesson title, up to 255 characters. Cannot be blank or null.

Required string length: 1 - 255
description
string | null

Lesson description, up to 200000 characters. Send null to clear it. Use content_format=markdown to convert Markdown to HTML.

Maximum string length: 200000
body
string | null

Lesson content in HTML, or Markdown with content_format=markdown. Maximum 200000 characters. Send null to clear it. Responses return HTML. Scripts, iframes, object and embed tags, and attachment markup are not accepted. Use the video or embed fields for embedded media. Use HTML blockquote tags for quotes because Markdown blockquotes display as ordinary text.

Maximum string length: 200000
content_format
enum<string> | null

Format of the body and description sent in this request. Use html (default when omitted or null) or markdown. Responses return HTML. This does not change content omitted from the request.

Available options:
html,
markdown,
null
Maximum string length: 200000
position
integer

Position in the section, starting at 1. Inserting at an occupied position moves later lessons down. Omit to keep the current order, or place the lesson last when moving sections. Null is not accepted. Zero is accepted, but positions starting at 1 are recommended. Deleting a lesson does not renumber the others.

Required range: x >= 0
is_progression_locked
boolean | null

Lock the rest of the program until members complete all steps in this lesson. If a drip delay also applies, both conditions must be met. Send false or null to turn the lock off.

is_published
boolean

Publish this lesson or send false to keep it as a draft. Program publication and member access still apply. Null is not accepted.

settings_embed_wistia
string | null

Wistia video ID or supported HTTP(S) share, watch or embed URL for lesson_type=video. URLs are saved as IDs. Send null or an empty string to clear it. A changed nonblank value clears the other video providers and settings_embed_code, while keeping embed_code. Supply one video source. For multiple changed sources, priority is Wistia, YouTube, Vimeo, Loom, then settings_embed_code.

Maximum string length: 200000
settings_embed_vimeo
string | null

Vimeo video ID or supported HTTP(S) share, watch or embed URL for lesson_type=video. URLs are saved as IDs. Send null or an empty string to clear it. A changed nonblank value clears the other video providers and settings_embed_code, while keeping embed_code. Supply one video source. For multiple changed sources, priority is Wistia, YouTube, Vimeo, Loom, then settings_embed_code.

Maximum string length: 200000
settings_embed_youtube
string | null

YouTube video ID or supported HTTP(S) share, watch or embed URL for lesson_type=video. URLs are saved as IDs. Send null or an empty string to clear it. A changed nonblank value clears the other video providers and settings_embed_code, while keeping embed_code. Supply one video source. For multiple changed sources, priority is Wistia, YouTube, Vimeo, Loom, then settings_embed_code.

Maximum string length: 200000
settings_embed_loom
string | null

Loom video ID or supported HTTP(S) share, watch or embed URL for lesson_type=video. URLs are saved as IDs. Send null or an empty string to clear it. A changed nonblank value clears the other video providers and settings_embed_code, while keeping embed_code. Supply one video source. For multiple changed sources, priority is Wistia, YouTube, Vimeo, Loom, then settings_embed_code.

Maximum string length: 200000
settings_embed_code
string | null

Custom video embed HTML for lesson_type=video. Send null or an empty string to clear it. A changed nonblank value clears video provider fields unless a changed provider takes precedence. The separate embed_code field is kept. Supply one video source per request.

Maximum string length: 200000
embed_code
string | null

Custom HTML for lesson_type=embed. Send null or an empty string to clear it. This is separate from settings_embed_code and keeps any video provider settings. Changing lesson_type selects which content to display.

Maximum string length: 200000
lesson_type
enum<string>

Lesson type. Changing it keeps existing steps and media. Null is not accepted.

Available options:
video,
text,
pdf,
embed,
audio
Maximum string length: 200000
drip_delay
integer

Additional delay in days, from 0 to 32767. Null is not accepted. Adds to the section unlock time, including the member drip boost. If program access has a drip start date, uses the earliest start date plus section and lesson delays, without the boost. Progression locks and access restrictions still apply.

Required range: 0 <= x <= 32767

Response

Successful request.

id
string
required
section_id
string
required
name
string
required
position
integer | null
required
lesson_type
enum<string>
required
Available options:
video,
text,
pdf,
embed,
audio
drip_delay
integer
required
is_published
boolean
required
is_progression_locked
boolean | null
required
settings_embed_wistia
string | null
settings_embed_vimeo
string | null
settings_embed_youtube
string | null
settings_embed_loom
string | null
settings_embed_code
string | null
embed_code
string | null
description
string
body
string

Rendered HTML.

transcripts
object[]
media
object