create_promotion
Create a new promotion without coupons for your LearnWorlds school. Define name, discount type (percentage, fixed, or flat), value, and apply it to selected products or all courses and bundles.
Instructions
🟡 WRITE · creates data · POST /v2/promotions
Create a new Promotion without coupons. The endpoint response is the created Promotion resource.
Behavior: creates a record or triggers an action in the live school. Not idempotent: a repeated call can duplicate the effect. Auth (admin API token + Lw-Client id) is injected server-side, never by the model; calls are throttled to stay under LearnWorlds' 30-per-10s cap and retried on 429/5xx.
Parameters: the whole JSON payload goes in the single body argument, forwarded verbatim (the spec leaves body optional, but this endpoint expects one).
Returns: HTTP <status> followed by the LearnWorlds JSON response body. A non-2xx reply surfaces as a tool error with that status and the API error payload — 401 bad/expired token, 403 not permitted, 404 no such record, 422 rejected input.
Use when: only when the user asked to create this. Check with a 🟢 read tool that the target exists and the record is not already there. Related Promotions tools: create_coupon_promotion, create_coupons_promotion_bulk, get_coupon_usage, get_promotion, get_promotions.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Request body (application/json). |