English EN
API Reference
API Reference

Courses

Create module

POST / v1 / courses / {course_id} / modules

Adds a module, a group of lessons, to a course.

  • Without parent_module_id it is a main module. With it, it is a submodule.
  • The module is a draft unless draft is false. A draft module hides all items in it.
Changes at once MCP tool create_module

Authorization

  • Authorization string header required

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

Path parameters

  • course_id integer required

    The id from list_courses or create_course.

    min 1 Example: 202

Body application/json

  • parent_module_id integer can be null

    Make it a submodule of this module.

    min 1

  • title string required

    Title that buyers see.

    min length 1 max length 255

  • position integer

    Place among the items of the same module: 1 = first. Default: last.

    min 1

  • draft boolean

    true = buyers do not see it. New items are drafts unless draft is false. draft true removes the release rule.

  • release object can be null

    When buyers get the item. null = at once (also left out on create; left out on update = no change). One rule: days or hours after purchase, a date, or after another lesson is done (only if the course tracks progress). Days and dates unlock at drip_release_hour of get_course_outline. Needs draft false. The answers add lesson_title and enforced to after_lesson (read only; enforced false = the course does not track progress, so the rule has no effect).

    Show 5 fields Hide fields
    • type string required

      Allowed values: days_after_purchasehours_after_purchasedateafter_lesson

    • days integer

      min 1 max 9999

    • hours integer

      min 1 max 9999

    • date string

      Like 2026-12-01.

      pattern ^[0-9]{4}-[0-9]{2}-[0-9]{2}$

    • lesson_id integer

      after_lesson: a lesson of the same course.

      min 1

  • cover_image_url string can be null

    Module image: the image_url from finish_image, or a public image URL that Tentary copies. Buyers see it only with course layout cards, on the card of a main module (16:9). null removes it.

    max length 2048

Response

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

  • id integer

    The ID.

  • course_id integer

    The course ID.

  • parent_module_id integer can be null

    null = a main module.

  • title string

    The title.

  • cover_image_url string can be null

    Module image. Shows only with course layout cards.

  • position integer

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

  • draft boolean

    true = buyers see nothing of the module and the items in it.

  • 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.

  • admin_url string<uri>

    The page in the Tentary app.

Start typing to search.