English EN
API Reference
API Reference

Products and files

Product details

GET / v1 / products / {product_id}

One product in full:

  • sales page texts (HTML), prices and installment plans, limited offer, variants and images
  • content blocks: texts, images, videos, audio, files (with file_id and name, but no download links), video links and buttons
  • linked course, bundle contents, checkout fields, stock and availability
  • sales page URL, checkout URL (live products only) and admin link

A buyer of a variant gets the files of that variant. The files of the product itself then only reach buyers from before the variants existed.

Times are UTC. link_url and access_text_html are not shown. The fields have the same names and formats as in PATCH /v1/products/{product_id}.

Reads only MCP tool get_product

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

  • product_id integer required

    The id from list_products.

    min 1 Example: 101

Response

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

  • id integer

    The ID.

  • name string

    Product name.

  • type string

    The type.

    Allowed values: downloadlinknewsletterbookingcoursebundleexternal

  • status string

    archived = deleted.

    Allowed values: livedraftarchived

  • price string

    Decimal string, like "19.90". Normal price.

  • current_price string

    Decimal string, like "19.90". What buyers pay now: a running limited offer replaces the price.

  • price_is_from boolean

    true = the product has variants and price is the lowest variant price.

  • billing string

    How the buyer pays: one_time, subscription or installments.

    Allowed values: one_timesubscription

  • billing_interval_months integer can be null

    Subscription: months between payments.

  • hide_in_shop boolean

    true = not shown on the shop page.

  • sales integer

    Paid orders and orders in payment of all time, refunded and free orders included.

  • paid_sales integer

    Orders with an amount above 0.

  • url string<uri>

    Sales page.

  • checkout_url string<uri> can be null

    Checkout page. Only for live products.

  • admin_url string<uri>

    The product in the Tentary app.

  • description_html string

    Sales page text.

  • checkout_description_html string

    Extra text on the checkout page.

  • checkout_banner_url string can be null

    Banner image on the checkout page.

  • buy_button_text string

    Empty = default text.

  • images array of string

    The first is the cover.

  • currency string

    Currency code, like EUR.

  • compare_at_price string can be null

    Decimal string, like "19.90". Crossed-out old price.

  • intro_price string can be null

    Decimal string, like "19.90". Subscription: price of the first period.

  • installment_plans array of object

    Payment plans that buyers can choose.

    Show 2 fields Hide fields
    • count integer

      Number of payments.

    • amount string

      Decimal string, like "19.90". Per payment.

  • limited_offer object can be null

    A lower price for a time. null = none.

    Show 5 fields Hide fields
    • price string can be null

      Decimal string, like "19.90".

    • starts_at string<date-time> can be null

      UTC, like 2026-01-31T14:05:00Z.

    • ends_at string<date-time> can be null

      UTC, like 2026-01-31T14:05:00Z.

    • running boolean

      true = the offer price applies now.

    • countdown object can be null

      Countdown to the end of the offer. null = none.

      Show 4 fields Hide fields
      • style string

        classic, classic_sticky, slim, slim_sticky, card_classic, card_slim or card_special_1.

      • text string can be null

        The text.

      • color string

        Background color, hex.

      • secondary_color string can be null

        Text or card color, hex.

  • variants array of object

    Options that buyers choose at checkout.

    Show 7 fields Hide fields
    • id integer

      The ID.

    • name string

      The name.

    • price string can be null

      Decimal string, like "19.90".

    • stock_limit integer can be null

      null = no limit.

    • course object can be left out can be null

      course products only.

      Show 2 fields Hide fields
      • id integer

        The ID.

      • name string

        The name.

    • course_id integer can be left out can be null

      course products only.

    • content array of object can be left out

      download products only.

      One of these variants:

      type: text · 3 fields

      Formatted text.

      • type string

        The block type.

        Allowed values: text

      • html string

        The text as HTML.

      • folder string can be null

        Folder name. Blocks with the same folder show together.

      type: image, video · 6 fields

      An uploaded image or video.

      • type string

        The block type.

        Allowed values: imagevideo

      • file_id integer

        The file ID (from upload_file).

      • name string

        The name.

      • file_type string

        File extension, like pdf.

      • size_bytes integer can be null

        File size in bytes.

      • folder string can be null

        Folder name. Blocks with the same folder show together.

      type: audio, file · 7 fields

      An audio player or a download.

      • type string

        The block type.

        Allowed values: audiofile

      • file_id integer

        The file ID (from upload_file).

      • name string

        The name.

      • description string

        file: text under the download. audio: title above the player.

      • file_type string

        File extension, like pdf.

      • size_bytes integer can be null

        File size in bytes.

      • folder string can be null

        Folder name. Blocks with the same folder show together.

      type: video_embed · 3 fields
      • type string

        The block type.

        Allowed values: video_embed

      • url string

        YouTube, Vimeo or Loom link.

      • folder string can be null

        Folder name. Blocks with the same folder show together.

      type: button · 4 fields

      A link button.

      • type string

        The block type.

        Allowed values: button

      • label string

        The text that buyers see.

      • url string

        The link.

      • folder string can be null

        Folder name. Blocks with the same folder show together.

  • content array of object

    download, link and booking: what buyers get, in order.

    One of these variants:

    type: text · 3 fields

    Formatted text.

    • type string

      The block type.

      Allowed values: text

    • html string

      The text as HTML.

    • folder string can be null

      Folder name. Blocks with the same folder show together.

    type: image, video · 6 fields

    An uploaded image or video.

    • type string

      The block type.

      Allowed values: imagevideo

    • file_id integer

      The file ID (from upload_file).

    • name string

      The name.

    • file_type string

      File extension, like pdf.

    • size_bytes integer can be null

      File size in bytes.

    • folder string can be null

      Folder name. Blocks with the same folder show together.

    type: audio, file · 7 fields

    An audio player or a download.

    • type string

      The block type.

      Allowed values: audiofile

    • file_id integer

      The file ID (from upload_file).

    • name string

      The name.

    • description string

      file: text under the download. audio: title above the player.

    • file_type string

      File extension, like pdf.

    • size_bytes integer can be null

      File size in bytes.

    • folder string can be null

      Folder name. Blocks with the same folder show together.

    type: video_embed · 3 fields
    • type string

      The block type.

      Allowed values: video_embed

    • url string

      YouTube, Vimeo or Loom link.

    • folder string can be null

      Folder name. Blocks with the same folder show together.

    type: button · 4 fields

    A link button.

    • type string

      The block type.

      Allowed values: button

    • label string

      The text that buyers see.

    • url string

      The link.

    • folder string can be null

      Folder name. Blocks with the same folder show together.

  • course object can be null

    The course that buyers get.

    Show 2 fields Hide fields
    • id integer

      The ID.

    • name string

      The name.

  • bundle_items array of object

    bundle products only.

    Show 4 fields Hide fields
    • product_id integer

      The product ID.

    • variant_id integer can be null

      The variant ID, if any.

    • name string

      The name.

    • variant string can be null

      The variant name, if any.

  • custom_fields array of object

    Extra fields at checkout.

    Show 3 fields Hide fields
    • label string

      The text that buyers see.

    • type string

      The type.

    • required boolean

      true = buyers must fill it.

  • stock_limit integer can be null

    null = no limit.

  • available_from string<date> can be null

    Like 2026-01-31.

  • available_until string<date> can be null

    Like 2026-01-31.

  • access_days integer can be null

    Access ends this many days after purchase. null = no end.

  • access_starts_on string<date> can be null

    Like 2026-01-31. Buyers get access from this day at the earliest.

  • lead_magnet boolean

    true = a free product that grows the e-mail list.

  • withdrawal_days integer

    Withdrawal period shown at checkout, in days.

  • url_slug string can be null

    The address part of the URL.

  • marketing_emails boolean

    true = buyers are subscribed to the marketing e-mails.

  • ebook boolean

    true = taxed as an e-publication.

  • pdf_stamp boolean

    true = PDFs are stamped with the buyer's e-mail address.

  • login_protection boolean

    true = buyers must log in to open the product.

  • show_in_search boolean

    true = search engines can show the sales page.

  • coupon_field boolean

    true = checkout shows the coupon field.

  • external_url string can be left out

    external products only.

  • course_id integer can be left out can be null

    course products only.

Start typing to search.