Grow LMS API Documentation
Grow by Plenum — Commerce & Monetization
For organizations that sell or monetize training — products, payments, and promotions.
Most workforce-compliance programs are sponsored by the organization, and for those this document doesn’t apply. But where you sell training — to members, contractors, partners, or the public — Grow includes commerce capabilities, and this covers the products, payment records, and promotions involved, and how to read them into your finance and revenue systems.
Every call uses the Pl-Client header and Authorization: Bearer <ACCESS_TOKEN> from Authentication & Access Setup. <SCHOOL_ID> is your environment.
1. Products you can sell
| Product | What it is |
|---|---|
| Course | A single course sold on its own. |
| Bundle | A set of courses sold together (products/courses, access: draft or public). |
| Subscription plan | Recurring access on a billing interval (day / week / month), with optional trial_period_days. Backed by Stripe (stripePlanId). |
A bundle groups courses for a single purchase; a subscription plan grants ongoing access for recurring billing.
2. Payments
A Payment record captures a transaction:
| Field | Description |
|---|---|
id / transaction_id |
The payment and its processor transaction reference. |
type |
subscription, installment, or one-off. |
product |
The thing purchased — id, type (course / bundle / subscription), and name. |
Installments / payment plans let a purchase be paid over time; each installment is its own payment event. You can pull payment records to feed revenue reporting, reconcile against your processor, or recognize training revenue in your finance systems.
Card data never touches the platform. Payment processing is offloaded to Stripe / PayPal (see Security & Data Governance); Grow records that a transaction occurred and its reference, not card details.
3. Promotions and coupons
Promotions drive discounts. A promotion carries one or more coupons, each with:
| Field | Description |
|---|---|
code |
The coupon code. |
quantity |
Allowed redemptions (null = unlimited). |
expires |
Expiration date (YYYY-MM-DD), or none. |
bulk / prefix |
Whether a bulk set of codes was generated, and their prefix. |
times_used |
How many times the coupon has been redeemed. |
You can create promotions and coupons (including bulk code sets), and pull redemption/usage data for campaign reporting.
4. Reading commerce data into your systems
- Revenue reporting. Pull payment records on a schedule into your finance/BI stack, joined to product and customer.
- Reconciliation. Match
transaction_idagainst your payment processor’s records. - Campaign analysis. Track coupon
times_usedagainst promotions to measure discount performance.
The same authentication, pagination, and event-log patterns from Pull-Based Data Access apply here.
5. Where to go next
- Pull-Based Data Access — retrieving and paginating these records.
- Security & Data Governance — the PCI/payment-handling posture.
- Affiliates & Referral Programs — partner-driven sales, if that’s part of your model.
Prepared by Plenum Solutions for your evaluation. “Grow by Plenum” is operated and supported by Plenum on your behalf. Exact endpoint paths are confirmed for your environment during onboarding. For integration design support, contact your Plenum engagement lead.


