Create course
course_createCreate a new course on this site: settings only, no lessons yet; to copy an existing course with its lessons, use course_duplicate. The public catalog lists a course once it has a slug and isVisibleInCatalog is true (the default), so build with isVisibleInCatalog:false and publish later with course_update. Prerequisites, application questions and certificateConfig (completion and certificate rules) are not accepted here; set them afterwards with course_update. New courses start with the reading-time gate on, so a text unit counts as complete only after a minimum reading time (course_update's certificateConfig turns it off). Creating a course emails no one and fires no webhook. A rejected call (bad value, unknown instructor, taken slug) creates nothing, but names need not be unique, so every successful call adds another course. Returns the new course's name, id and slug; add lessons next with course_content_set.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| xp | No | Gamification points awarded (whole number). | |
| name | Yes | Course title (required, max 191 chars). | |
| slug | No | URL slug used in /course/<slug>/..., lowercased with other characters turned into hyphens. Must be unique across all Cubite sites (a taken slug is a 409 error). Without one the course is not listed in the catalog or reachable by learners. | |
| level | No | Difficulty label shown in the catalog, e.g. "Beginner" (max 191 chars). | |
| price | No | List price in US dollars; omit or 0 for a free course. | |
| banner | No | Wide banner image for the course about page. | |
| topics | No | Topic tag names; an existing tag with the same name is reused, otherwise it is created. | |
| credits | No | Credits/CEUs awarded on completion (decimals allowed). | |
| endDate | No | Course end, ISO 8601 date or date-time. | |
| discount | No | Sale price in US dollars that learners pay INSTEAD of `price` (the discounted price, not an amount off). Omit or 0 for no sale. | |
| duration | No | Content length in hours (whole number), shown in the catalog; not an access limit. | |
| featured | No | Highlight the course in featured catalog slots (default false). | |
| subjects | No | Subject tag names; an existing tag with the same name is reused, otherwise it is created. | |
| metaTitle | No | SEO meta title (<=60 chars recommended, max 191). | |
| startDate | No | Course start, ISO 8601 date or date-time. | |
| coverImage | No | Catalog card image: absolute URL or Cloudinary public id (max 191 chars). | |
| introVideo | No | Intro video: a YouTube or Loom URL, or a direct video file URL (max 191 chars). | |
| description | No | Catalog summary shown on the course page; not the lessons. | |
| instructors | No | Instructor user ids. Each must already be on this site (a site role or site admin); one unknown id fails the call and nothing is created. | |
| metaDescription | No | SEO meta description (<=155 chars recommended). | |
| discussionEnabled | No | Turn on the course discussion forum (default false). | |
| enrollmentEndDate | No | When enrollment closes, ISO 8601. | |
| isSyllabusVisible | No | Show the syllabus to visitors who are not enrolled (default true). | |
| accessDurationDays | No | Days of access from each enrollment (whole number); omit for unlimited access. | |
| isVisibleInCatalog | No | List the course in the public catalog. Defaults to TRUE, so pass false while you are still building the course. | |
| enrollmentStartDate | No | When enrollment opens, ISO 8601. | |
| requiresApplication | No | Learners must apply and be approved before they are enrolled (default false). |