Create a module

POST/products/{product_id}/modules

Creates 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.

AuthorizationBearer <token>

Autonomous mode: the API credential secret, sent as a bearer token. Credential secrets are identified by a fixed prefix.

In: header

Path Parameters

product_id*string

Public ID of the product, prefixed with prd_.

Header Parameters

Idempotency-Key*string

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.

X-Client-Request-Id?string

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.

Lengthlength <= 64

Request 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"  }}