---
title: "Create a course"
method: POST
path: "/api/v1/courses"
tags: ["Courses"]
---

# Create a course

`POST /api/v1/courses`

## Request body

- object
  - `course` object
    - `title` string, required — Listing title
    - `description` string, required — Full listing description
    - `path` string, required — Path to the listing, used in URLs
    - `teaser` string — A shorter description of the listing
    - `enrollment_open` boolean
    - `visibility` string — listed, unlisted, or hidden
    - `enrollment_cap` integer
    - `enrollment_fee` number — Enrollment fee
    - `days_to_complete` integer
    - `waitlist` boolean
    - `waitlist_cap` integer
    - `list_order` integer
    - `sku` string
    - `canvas_course_id` integer, required — Id of the related Canvas course
    - `canvas_section_id` integer — The Canvas course section's id
    - `credits` number — Credit value of the course
    - `instructor_names` string[]
    - `primary_instructor_name` string
    - `tag_names` string[]

## Response `201`

course created

- object
  - `course` object
    - `id` integer, required — Identifier for this listing
    - `visibility` string, required — Visibility in the web UI: listed, unlisted, or hidden
    - `enrollment_open` boolean, required — Open for enrollment
    - `enrollment_open_from` string, nullable, required — Enrollment open from this date-time, if specified
    - `enrollment_open_to` string, nullable, required — Enrollment open until this date-time, if specified
    - `enrollment_cap` integer, nullable, required — Limit for the total number of enrollments
    - `hide_enrollment_info` boolean, required — Hide enrollment info when closed
    - `description` string, required — Full listing description
    - `enrollment_fee` number, required — Enrollment fee
    - `created_at` string, required — Creation timestamp (ISO 8601)
    - `credits` number, nullable, required — Credit value
    - `measurement` string, required
    - `updated_at` string, required — Last-updated timestamp (ISO 8601)
    - `short_description` string, required — A short description for this listing
    - `listing_path` string, required — Path to the listing, used in URLs
    - `listing_image` string, nullable, required
    - `currency` string, required — Three-character currency code for the enrollment fee
    - `catalog` object, required — Catalog that owns this listing
      - `id` integer, required
      - `name` string, required
    - `type` string, required — Listing type (Course or Program)
    - `title` string, required — Title of the listing
    - `list_order` integer, nullable, required — Order in which the listing is shown
    - `waitlist` boolean, required — Waitlist enabled
    - `waitlist_cap` integer, nullable, required — Waitlist limit
    - `sku` string, nullable, required — Listing SKU
    - `show_free_banner` boolean, required — Show the 'FREE' mark when free
    - `image_alt_text` string, nullable, required
    - `allowed_payment_types` string[], required — Allowed payment methods
    - `tag_names` string[], required — Tags applied to this listing
    - `listing_url` string, required — The URL of the listing
    - `start_date` string, nullable, required — When the Canvas course starts, if specified
    - `end_date` string, nullable, required — When the Canvas course ends, if specified
    - `canvas_section_id` integer, nullable, required — The Canvas course section's id
    - `associated_account_ids` integer[], required — Other account ids where this product is listed
    - `archived_at` string, nullable, required — Archival date (null if not archived)
    - `canvas_course` object, required — Corresponding Canvas course
      - `id` integer, nullable, required — Corresponding Canvas id (null if the Canvas course is unavailable)
    - `instructor_names` string[], required — Names of the course instructors
    - `primary_instructor_name` string, nullable, required — Name of the primary instructor

---

[API](https://skmtc.net/instructure/apis/canvas-catalog-api.md) · [All operations](https://skmtc.net/instructure/apis/canvas-catalog-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/instructure/canvas-catalog-api/revisions/78578cd3e37a/schema)
