courses
Courses: view · Read only
See courses: their chapters and slides, slide content, drip rules, invite links and prices, and a quality check of a course before it is submitted.
Parameters
Parameters
string
required
The action to run:
list, get, get_slide, schema, brief_checklist, review, drip, invites, get_invite, payment_setup, sessions_levels.string
—
string
—
string
—
string
get: read the tree through this batch (default: the course’s first).
string
list: DRAFT, IN_REVIEW or ACTIVE.
string
list: part of the course name.
What your AI app is told about this tool
What your AI app is told about this tool
course_drip_edit
Courses: drip rules · Makes changes · Only touches courses that are not live yet.
Let the connected AI app set content release (drip) rules on courses that are not live yet. Never changes the institute-wide drip switches.
What keeps it safe: not-live only: drip rules of DRAFT / IN_REVIEW courses; never flips the institute switches
Parameters
Parameters
string
required
The action to run:
set_rules, schedule, remove_rules.string
required
—
object[]
set_rules / remove_rules: [{level, id?, target?, behavior?, rules?}]
string
schedule: what is released. One of:
chapter, slide.integer
—
integer
—
string
HH:mm
string
One of:
enrollment, session_start.string
One of:
lock, hide, both.What your AI app is told about this tool
What your AI app is told about this tool
course_edit
Courses: build drafts · Makes changes · Drafts only — nothing goes live until someone publishes it in the admin portal.
Let the connected AI app build courses — outline, reading pages, YouTube videos, PDFs, quizzes, questions and assignments — and publish slides when you ask it to. Courses are saved as DRAFT and go live only when an admin approves them in the dashboard. It can also set a course’s preview image, banner and intro video, on live courses too. The AI app writes the content itself, so it uses no AI credits.
What keeps it safe: draft-only: creates DRAFT courses and edits only DRAFT courses; slides are DRAFT unless the admin asks to publish them (publish_slides); a course goes live only through dashboard approval. Exception by the admin’s choice: update_media sets a course’s images on any course and only fills invite image slots that are empty
Parameters
Parameters
string
required
The action to run:
create_course, add_chapter, add_slide, update_slide, reorder, import_image, import_pdf, discard_slide, publish_slides, submit_for_review, update_media.object
create_course: course metadata (name required).
object
create_course: {course_id, batch_id?} — copy an existing course’s content into the new course, then extend it.
object[]
create_course depth 2/3: [{name, slides:[…]}].
object[]
create_course depth 4: [{name, chapters:[…]}].
object[]
create_course depth 5: [{name, modules:[…]}].
any[]
create_course: sessions → batches, [{name | id, start_date?, levels?:[name | {id}]}]. Omit for a course without sessions.
any[]
create_course: levels (names or {id}); with no sessions, one batch per level. Omit for a course without levels.
string
—
string
—
string
add_chapter (depth ≥ 4): the module to add it to.
string
—
string[]
—
string
add_chapter: chapter name.
object
add_slide / update_slide: the slide spec (may carry its own status).
string
Slide status for create_course / add_slide / update_slide. Default DRAFT; PUBLISHED only when the admin asks for published slides. One of:
DRAFT, PUBLISHED.integer
add_slide: 1-based position (default: last).
string
import_image / import_pdf: public https URL.
object
create_course / update_media: MEDIA {preview?, banner?, intro?}.
What your AI app is told about this tool
What your AI app is told about this tool
course_invites_edit
Courses: invite links & payment plans · Makes changes · Changes live data — the change applies straight away.
Let the connected AI app create invite links and payment plans for courses, and edit an invite’s page (name, dates, text, images, where learners land after enrolling) and its registration form (add your existing fields, remove, reorder, make required). Invite edits apply right away, also on live courses. Payment plans are never edited or removed.
What keeps it safe: creates invites and payment plans (re-pointing / default only on non-live courses); edits an invite’s page and form in place — the admin’s explicit choice, live courses included — but only binds existing fields and never changes a field’s shared label / type / options or the invite’s payment links
Parameters
Parameters
string
required
The action to run:
create_invite, create_payment_plan, make_default, update_invite, update_form_fields.string
—
string
—
object
PAYMENT (see description).
string
create_invite: reuse an existing plan from courses(action=‘payment_setup’).
string
create_invite / update_invite: invite name (create default: course name).
string
YYYY-MM-DD (create default: today).
string
YYYY-MM-DD, optional (link closes after it).
integer
Days of access after enrolling (FREE invites).
object
—
object[]
—
boolean
create_invite: also make it the default.
boolean
update_invite: remove the end date.
object
update_invite: {preview?, banner?, media?}.
string
update_invite: learner-app path, e.g. /study-library/courses.
object
update_invite: {content?, show_login_button?}.
object[]
update_form_fields: [{field_id, required?}].
string[]
update_form_fields.
object
update_form_fields: {field_id: bool}.
string[]
update_form_fields.
string[]
Which batches (session × level, ids from courses(action=‘get’)) the invite enrols into. Needed when the course has several; several make one bundled invite. make_default: limit to these batches.
What your AI app is told about this tool
What your AI app is told about this tool
course_structure_edit
Courses: change structure / depth · Makes changes · Changes live data — the change applies straight away. · Turned on separately (opt-in)
Let the connected AI app change how many levels a course has (subjects / modules / chapters) or regroup its content — for example turn a chapters-only course into modules of chapters, with groups it proposes from the content and you adjust. It always shows you the new structure first and changes it only after you confirm. Works on live courses too: learners see the new structure at once and keep their slide progress. Nothing is copied or deleted.
What keeps it safe: LIVE, confirm-gated, the admin’s explicit choice: changes a course’s depth / grouping in ONE admin-core transaction for every batch; nothing is copied or deleted — slides and kept containers keep their ids, emptied containers are soft-deleted; refuses content shared with another course and trees that drop or duplicate a slide; every write needs the confirm_token of a dry-run preview of the identical request
Parameters
Parameters
What your AI app is told about this tool
What your AI app is told about this tool