Reorder module contents
/products/{product_id}/modules/{module_id}/content/orderSets the display order of the submodules and lessons placed directly in the module.
The ids array accepts both module public IDs (mod_) and lesson public IDs (les_) in the desired order. For each kind of item you send, the array must contain the complete set of items of that kind currently in the module. If the supplied set does not match, the API returns the order_set_mismatch error code and the existing order remains unchanged.
To avoid overwriting concurrent changes, send the module ETag from the retrieve operation in the If-Match header.
Autonomous mode: the API credential secret, sent as a bearer token. Credential secrets are identified by a fixed prefix.
In: header
Path Parameters
Header Parameters
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.
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.
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.
length <= 64Request 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/modules/string/content/order" \ -H "Content-Type: application/json" \ -d '{ "ids": [ "string" ] }'{ "data": [ { "id": "string", "kind": "module", "name": "string", "object": "content_entry", "position": 0, "status": "published" } ], "page": { "limit": 1, "next_cursor": "string", "prev_cursor": "string" }}List module contents GET
Returns the direct contents of a module, meaning its submodules and the lessons placed directly in it, in display order. Items in the trash are not included. All entries are returned in a single response while preserving the standard collection response format.
Duplicate a module POST
Starts an asynchronous operation that copies the module, including its contents, into the product given in `target_product_id`. Optionally, use `parent_id` to place the copy inside a group of the target product and `name` to rename it. Requires the `modules.create` permission on the target product. Replicated modules cannot be copied, and modules cannot be copied into replicated products; both cases return the `replica_readonly` error code. The `Idempotency-Key` header is required. Track progress through the returned operation; when it completes, the item result contains `copy_id`, the public ID of the new module.