English EN
API Reference
API Reference

Courses

Create course

POST / v1 / courses

Creates an online course. A course is content only, without a price.

  1. Add modules with POST /v1/courses/{course_id}/modules and lessons with POST /v1/courses/{course_id}/lessons.
  2. To sell it, create a product with type course and this course_id with POST /v1/products.

Several products can sell the same course. To sell a course again, use its course_id. Do not create a copy.

The answer is the course, as in GET /v1/courses/{course_id}.

Changes at once MCP tool create_course

Authorization

  • Authorization string header required

    Bearer tnt_… · A personal API key (tnt_...). Create it in the Tentary app on the page AI & API. Introduction

Body application/json

  • name string required

    Course name.

    min length 1 max length 255

  • description_html string

    Introduction as HTML. Shows only with layout cards, above the modules.

    max length 65535

  • cover_image_url string can be null

    Course banner: the image_url from finish_image, or a public image URL that Tentary copies.

    max length 2048

  • layout string

    How buyers see the course. classic (default): sidebar and content. fullscreen: edge to edge. fokus: reading without distraction. cards: a start screen with module cards.

    Allowed values: classicfullscreenfokuscards

  • tracks_progress boolean

    Buyers can mark lessons as done (default true). Needed for release type after_lesson.

Response

Fields of the answer with status 200. Errors always have the same format, see Errors.

  • id integer

    The ID.

  • name string

    The name.

  • description_html string

    Shows only with layout cards.

  • cover_image_url string can be null

    Course banner.

  • layout string

    How buyers see the course: classic, fullscreen, fokus or cards.

    Allowed values: classicfullscreenfokuscards

  • tracks_progress boolean

    true = buyers can mark lessons as done.

  • lessons integer

    Lessons, drafts included.

  • participants integer

    Buyers and people with granted access, each e-mail address once.

  • drip_release_hour object

    Lessons with release days or a date unlock at this hour, in this time zone (not UTC).

    Show 2 fields Hide fields
    • hour integer

      0 to 23.

    • time_zone string can be null

      The seller's time zone, like Europe/Berlin.

  • products array of object

    Products that sell the course.

    Show 3 fields Hide fields
    • id integer

      The ID.

    • name string

      The name.

    • status string

      The status.

      Allowed values: livedraftarchived

  • items array of object

    Modules and lessons in order.

    Show 9 fields Hide fields
    • id integer

      The ID.

    • kind string

      module or lesson.

      Allowed values: modulelesson

    • title string

      The title.

    • cover_image_url string can be left out can be null

      Modules only.

    • position integer

      Place in its module or among the main items, 1 = first.

    • draft boolean

      A draft module hides all items in it.

    • free_preview boolean

      true = everyone can open it as a free preview, also without a purchase.

    • release object can be null

      When buyers get the item. null = at once.

      One of these variants:

      type: days_after_purchase · 2 fields
      • type string

        The rule type.

        Allowed values: days_after_purchase

      • days integer

        Days after the purchase.

      type: hours_after_purchase · 2 fields
      • type string

        The rule type.

        Allowed values: hours_after_purchase

      • hours integer

        Hours after the purchase.

      type: date · 2 fields
      • type string

        The rule type.

        Allowed values: date

      • date string<date>

        Like 2026-01-31.

      type: after_lesson · 4 fields
      • type string

        The rule type.

        Allowed values: after_lesson

      • lesson_id integer

        The lesson that the buyer must finish first.

      • lesson_title string can be null

        The title of that lesson.

      • enforced boolean

        false = the course does not track progress, so the rule has no effect.

    • items array of object

      The items of a module, in order (modules and lessons). Empty for a lesson.

      Show 9 fields Hide fields
  • admin_url string<uri>

    The page in the Tentary app.

Start typing to search.