Docs

Collections

Collections group courses into curated learning paths. You can list, retrieve, create, update, delete, and restore collections.

info
Collection share traits like identified and private apply to the share link only, not to embeddables. Embeddables get the learner identifier from the embed token, not these flags.

Get collections Build and above

Use this endpoint to get a paginated list of collections.

GET/v1/headless/collections

Query parameters

FieldTypeRequiredDefaultDescriptionOptions
identifierstringNo——
clientIdentifierstringNo——
lengthnumberNo100—
pagenumberNo0—
deletedbooleanNofalse—

Get collection Build and above

Use this endpoint to get a collection by ID.

GET/v1/headless/collections/{id}

Path parameters

FieldDescriptionOptions
idCollection ID—

Create collection Build and above

Use this endpoint to create a new collection.

Optional share-link gates: identified, private, domain, domains, and emails. These control who can open the collection share link. They do not apply to embeddables.

POST/v1/headless/collection

Body parameters

FieldTypeRequiredDescOptions
titlestringYesTitle shown to learners—
descriptionstring | nullNoDescription shown on the collection landing screen—
identifierstringNoYour stable identifier for the collection owner—
clientIdentifierstringNoThe client this collection belongs to—
themeIdnumber | nullNoTheme ID applied to the collection—
courseIdsnumber[]NoInitial course IDs to include, in display order—
identifiedbooleanNoShare-link gate: learners must identify (typically by email) before opening the collection share link. Does not apply to embeddables.—
privatebooleanNoShare-link gate: only invited emails can open the collection share link. Does not apply to embeddables.—
domainbooleanNoShare-link gate: only learners on approved email domains can open the collection share link. Does not apply to embeddables.—
domainsstring[]NoShare-link gate: approved email domains for the collection share link. Does not apply to embeddables.—
emailsstring[]NoShare-link gate: invited learner emails for the collection share link. Does not apply to embeddables.—

Update collection Build and above

Use this endpoint to update an existing collection's metadata and share-link gates.

You can set title, description, identifier, clientIdentifier, themeId, and the share-link gates identified, private, domain, domains, and emails. This endpoint does not change which courses are in the collection.

PUT/v1/headless/collection/{id}

Path parameters

FieldDescriptionOptions
idCollection ID—

Body parameters

FieldTypeRequiredDescOptions
titlestringNoTitle shown to learners—
descriptionstring | nullNoDescription shown on the collection landing screen—
identifierstringNoYour stable identifier for the collection owner—
clientIdentifierstringNoThe client this collection belongs to—
themeIdnumber | nullNoTheme ID applied to the collection—
identifiedbooleanNoShare-link gate: learners must identify (typically by email) before opening the collection share link. Does not apply to embeddables.—
privatebooleanNoShare-link gate: only invited emails can open the collection share link. Does not apply to embeddables.—
domainbooleanNoShare-link gate: only learners on approved email domains can open the collection share link. Does not apply to embeddables.—
domainsstring[]NoShare-link gate: approved email domains for the collection share link. Does not apply to embeddables.—
emailsstring[]NoShare-link gate: invited learner emails for the collection share link. Does not apply to embeddables.—

Delete collection Build and above

Use this endpoint to soft-delete a collection by ID.

DELETE/v1/headless/collection/{id}

Path parameters

FieldDescriptionOptions
idCollection ID—

Restore collection Build and above

Use this endpoint to restore a soft-deleted collection.

POST/v1/headless/collection/{id}/restore

Path parameters

FieldDescriptionOptions
idCollection ID—