List all Modules
Returns a list of modules within your organization. The modules are sorted by their creation date, with the most recently created modules appearing first.
query Parameters
pageA cursor for pagination across multiple pages of results.
A cursor for pagination across multiple pages of results.
Headers
AuthorizationContent-TypeAcceptList all Modules › Responses
Create a module
Create a module in the specified course. Returns the created module details upon successful creation.
Headers
AuthorizationContent-TypeAcceptCreate a module › Request Body
courseThe course id of the module.
nameThe module name. Must not be greater than 255 characters.
contentThe module content in markdown format. Supports headings, bold, italic, strikethrough, highlights, inline code, code blocks, blockquotes, lists, tables, images, links, and math (LaTeX).
availabilityDefines the availability of the module. Can be one of the following values: "CONTINUOUS" for an ongoing module or "SCHEDULED" for a module with specific start and end dates. Must be one of CONTINUOUS or SCHEDULED.
start_dateThe start date of the module. The date should be in ISO 8601 format (e.g., "2025-02-17T00:00:00Z"). This field is required if the availability is "SCHEDULED". This field is required when availability is SCHEDULED. Must be a valid date.
end_dateThe end date of the module. The date should be in ISO 8601 format (e.g., "2025-03-18T00:00:00Z"). This field is required if the availability is "SCHEDULED" and must be after the start date. This field is required when availability is SCHEDULED or date. Must be a date after or equal to start_date.
positionThe 0-indexed position of the module within its course. If omitted, the module is appended at the end. Values beyond the last sibling index are clamped to the last position. Siblings are re-ordered automatically. Must be at least 0.
metadataMetadata is an attribute that lets you store more information, structured as key-value pairs, for your own use and reference.
You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Keys and values are stored as strings and can contain any characters with one exception: you can't use square brackets ([ and ]) in keys.
Create a module › Responses
errorpayloadRetrieve a Module
Retrieves the details of an existing module in your organization based on the provided unique module ID. Returns comprehensive information about the module, including its name, type, availability, position, and dates.
path Parameters
idThe ID of the requested module to update.
Headers
AuthorizationContent-TypeAcceptRetrieve a Module › Responses
errorpayloadUpdate a module
Updates the details of an existing module based on the provided unique module ID. Any parameters not provided will be left unchanged. Returns the updated module details upon successful update.
path Parameters
idThe ID of the requested module to update.
Headers
AuthorizationContent-TypeAcceptUpdate a module › Request Body optional
nameThe module name. Must not be greater than 255 characters.
contentThe module content in markdown format. Supports headings, bold, italic, strikethrough, highlights, inline code, code blocks, blockquotes, lists, tables, images, links, and math (LaTeX).
availabilityDefines the availability of the module. Can be one of the following values: "CONTINUOUS" for an ongoing module or "SCHEDULED" for a module with specific start and end dates. Must be one of CONTINUOUS or SCHEDULED.
start_dateThe start date of the module. The date should be in ISO 8601 format (e.g., "2025-02-17T00:00:00Z"). This field is required if the availability is "SCHEDULED". This field is required when availability is SCHEDULED. Must be a valid date.
end_dateThe end date of the module. The date should be in ISO 8601 format (e.g., "2025-03-18T00:00:00Z"). This field is required if the availability is "SCHEDULED" and must be after the start date. This field is required when availability is SCHEDULED or date. Must be a date after or equal to start_date.
positionThe 0-indexed position of the module within its course. Siblings are re-ordered automatically. Values beyond the last sibling index are clamped to the last position. Must be at least 0.
metadataMetadata is an attribute that lets you store more information, structured as key-value pairs, for your own use and reference.
You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Keys and values are stored as strings and can contain any characters with one exception: you can't use square brackets ([ and ]) in keys.
Update a module › Responses
errorpayloadDelete a Module
Deletes an existing module in your organization. Returns an object with a deleted parameter upon successful deletion.
path Parameters
idThe ID of the requested module to update.
Headers
AuthorizationContent-TypeAcceptDelete a Module › Responses
errorpayloadSearch Modules
Search for existing modules in your organization. You can search by module name. The search is case-insensitive and supports partial matches.
Headers
AuthorizationContent-TypeAcceptSearch Modules › Request Body
qThe search query to filter modules by name.
Search Modules › Responses
List Module Elements
Returns a list of elements within the specified module.
path Parameters
idThe ID of the module.
query Parameters
pageA cursor for pagination across multiple pages of results.
A cursor for pagination across multiple pages of results.
Headers
AuthorizationContent-TypeAccept