Create a module
/products/{product_id}/modulesCreates a module or, when kind is group, a group of modules in the product. New modules are created as draft.
To create a submodule, set parent_id to the public ID of a group in the same product. position is 1-based among the module's siblings; a value greater than the number of siblings places the module at the end.
Modules cannot be created in replicated products. Attempts to do so return the replica_readonly error code.
Autonomous mode: the API credential secret, sent as a bearer token. Credential secrets are identified by a fixed prefix.
In: header
Path Parameters
Public ID of the product, prefixed with prd_.
Header Parameters
Client-generated key that makes the request safe to retry. Must be 1 to 128 characters from [A-Za-z0-9._:-]. Required by this operation: a missing key returns idempotency_key_required, and a malformed key returns idempotency_key_invalid. Repeating the request with the same key and the same body returns the stored result with Idempotent-Replayed: true.
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
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/products/string/modules" \ -H "Idempotency-Key: string" \ -H "Content-Type: application/json" \ -d '{ "kind": "group", "name": "string" }'{ "data": { "created_at": "2019-08-24T14:15:22Z", "deleted": true, "id": "string", "image": "string", "kind": "group", "lessons_count": 0, "name": "string", "object": "module", "parent_id": "string", "position": 0, "product_id": "string", "revision": "string", "settings": { "type": "module" }, "status": "published", "updated_at": "2019-08-24T14:15:22Z" }}List modules GET
Returns the modules and groups of a product, ordered by position and paginated with a cursor. The collection can be filtered by parent group, status, kind, and deletion state. If the product is not accessible with the current credentials, the API returns `404 Not Found` instead of an empty collection.
Retrieve a module GET
Retrieves a module by its public ID, including its typed `settings`. The response includes an `ETag` representing the current revision. Send this value in the `If-Match` header when updating the module or reordering its contents to avoid overwriting a newer version.