An organization owner or admin creates the program that holds one training journey. The visible result is a draft program in Management → Programs, ready for courses, lessons and milestones. A program is the learning destination; a commercial offer handles what a buyer can purchase. Creating one does not create the other.
You need owner/admin membership in the school and a name for the transformation. Decide what a member should be able to do at the end, not just which videos to upload. Mike Academy's example is Agentic AI Developer, promising that a member can build and demonstrate a working agent. The program's name is also the basis for its stable slug unless you supply one through the API.
| Program state | Meaning | Authoring consequence |
|---|---|---|
| Draft | Newly created; not visible to members | Prepare the content and proof branch before activation |
| Active | The program is available for delivery | You can continue editing permitted content; existing enrollments keep their assigned path version |
| Archived | Retired | Writes are refused; this is not a reversible pause |
As an owner/admin, open Management → Programs and choose the create action. Enter Agentic AI Developer and a short description of the outcome. Save it, then confirm it appears in the program list as Draft. The equivalent machine action is Create program; the API key binds the school and the command requires an idempotency key.
Select the new program. Its detail area separates learning content from the milestones and path that measure progress. Record the program identity before creating child resources so courses and tasks belong to the right school and program. Get program is the read counterpart for an integration.
Compose courses and sections, publish the lessons that members should see, and define proof of work. When ready, change the program state to Active through the program controls or Update program. Activation does not publish a draft lesson for you.
Warning
If the program is missing for a member, check the program state and each lesson state separately. A draft program is not member-visible; an active program can still contain draft lessons. Do not archive to hide a temporary draft: Archive program is terminal.
| Action | Owner/admin | Organization-scoped program director |
|---|---|---|
| Create, update or archive a program | Yes | No |
| Read a program for delivery | Yes | Yes, within assignment scope |
| Compose courses or lessons | Yes | No |
| Operate permitted paths and cohorts | Yes | See delivery roles |
For the complete machine contract, use the Programs API. Continue with courses and sections; a program without a cohort is valid.