Create a release rule

POST/products/{product_id}/access-schedules/{access_schedule_id}/rules

Creates the release rule for a node of the product tree that does not yet have its own rule. The node is identified by level (product, section, or lesson) and target_id; a section is identified by its module ID (mod_).

If the node already has its own rule, the request returns the already_exists error code; use the update operation to change it instead.

The hidden type is not accepted at the product level, and the percentage type is read-only and cannot be set.

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

access_schedule_id*string

Public ID of the access schedule, prefixed with acs_.

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._:-]. 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.

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/access-schedules/string/rules" \  -H "Content-Type: application/json" \  -d '{    "level": "product",    "params": {},    "target_id": "string",    "type": "free"  }'
{  "data": {    "effective": {      "inherited_from": "string",      "params": {},      "type": "free"    },    "explicit": true,    "id": "string",    "level": "product",    "object": "release_rule",    "params": {},    "target_id": "string",    "type": "free"  }}