Documentation Index
Fetch the complete documentation index at: https://docs.elasticfunnels.io/llms.txt
Use this file to discover all available pages before exploring further.
List All Products
Retrieve all products for a project with pagination.The brand/project ID
Page number for pagination (default: 1)
Number of results per page (default: 25)
Request
cURL
List All Products (Unpaginated)
Get all products without pagination for dropdown lists.The brand/project ID
Request
cURL
Get Product Details
Retrieve details about a specific product.The brand/project ID
The product ID
Request
cURL
Product Fields Reference
Basic Information
Basic Information
code- Unique product code/identifiertitle- Product display namecheckout_title- Alternative title for checkout (optional)type- Product type:physical,digitalclassification- Product classification:main,upsell,downsell,bump,bonus
Pricing
Pricing
price- Selling price (in currency units)retail_price- Suggested retail/original priceunits- Number of units included
Inventory & Fulfillment
Inventory & Fulfillment
sku- Stock Keeping Unit identifierunit_cost- Cost per unitunit_weight_oz- Weight per unit in ouncesfulfillment_cost- Cost to fulfill the orderpackaging_cost- Packaging costfuel_surcharge_cost- Fuel surchargecogs- Cost of Goods Soldphysical_units_per_product- Physical units per productfulfillment_multiply_sku- Multiply fulfillment by SKU quantityaverage_shipping_cost- Average shipping cost
Media
Media
image- Product image URLimage_link- Full URL to product imageproduct_files- Array of downloadable files attached to the product
Subscription Products
Subscription Products
is_subscription- Whether this is a subscription productsubscription_frequency- Billing frequency (e.g., 1, 2, 3)subscription_frequency_unit- Unit:day,week,month,yearsubscription_trial_days- Number of trial dayssubscription_first_charge_free- Whether first charge is free
Additional
Additional
custom_attributes- Array of custom key-value pairsmerchant_product_ids- Object mapping merchant names to product IDsproduct_specifications- Array of product specificationsshipping_profile_id- Associated shipping profilesku_category- SKU categorysku_subcategory- SKU subcategorybonuses- Array of bonus products associated with this product
Create Product
Create a new product.The brand/project ID
Unique product code
Product title
Product price
Product type:
physical or digitalClassification:
main, upsell, downsell, bump, or bonusRetail/original price
Number of units
Stock Keeping Unit
Product image URL
Whether this is a subscription product
Billing frequency (required if is_subscription is true)
Frequency unit:
day, week, month, yearRequest
cURL
Subscription Product Example
cURL
Update Product
Update an existing product.The brand/project ID
The product ID
Request
cURL
Delete Product
Delete a product.The brand/project ID
The product ID
Request
cURL
Clone Product
Create a copy of an existing product.The brand/project ID
The product ID to clone
Request
cURL
Product Classifications
| Classification | Description | Usage |
|---|---|---|
main | Main product offer | Primary product in funnel |
upsell | Upsell product | Offered after initial purchase |
downsell | Downsell product | Offered if upsell is declined |
bump | Order bump | Checkbox add-on at checkout |
bonus | Bonus product | Free gift or bonus item |
Product Bonuses
Products can have associated bonus products. Thebonuses array contains bonus product relationships:
Downloadable Files
Digital downloads and bonus downloads are stored inproduct_files.
Each file row can include:
-
purpose-digitalorbonus -
title- Optional display title -
description- Optional description shown in customer-facing download UIs -
image- Optional thumbnail/cover image URL for this file -
file- File URL -
kind- Coarse classification derived from the file extension andmetadata.mime_type. One ofaudio,video,document,image,archive,file. Lets clients branch on file type without re-parsing the URL. -
is_primary- Marks the default file for that purpose -
sort_order- Controls display order -
metadata- Public file metadata. Only the following fields are exposed:mime_type- MIME type of the file (e.g."audio/mpeg","application/pdf")size- Size in byteschecksum- Optional checksum recorded at upload (may benull)extension- Lowercase extension without the dot (e.g."pdf","mp3"). Derived from the file URL when possible, with a small mime-type fallback for opaque/signed URLs. Empty string when neither source can produce one.
provider,storage_path,brand_file_id) are intentionally not returned.
product_files for the actual downloadable assets those products expose.
Custom Attributes
Products support custom key-value attributes for flexibility:- Download links for digital products
- Access codes for member areas
- Special instructions
- Custom tracking parameters
Merchant Product IDs
Map your ElasticFunnels products to merchant platform product IDs:Subscription Tiers
Products can have tiered subscription billing — different prices at different intervals (e.g. monthly then annually). Passsubscription_tiers as an array in the Create or Update body.
Mark product as a subscription product
Default billing interval count (e.g.
1 for every-1-month)day, week, month, or yearFree trial length in days (min: 0)
Waive the first billing charge
Array of tier objects. When provided, overrides the flat
subscription_frequency / subscription_frequency_unit values.day, week, month, or yearHow many units of
interval between charges (min: 1)Billing amount for this tier (min: 0)
Optional tier label (max 64 chars)
Display label shown to the customer (max 255 chars)
Discount shown as “subscribe & save” (0–100%)
Subscription tiers example
Product Variants & Options
Products can have variants (e.g. size/colour combinations). Variants are managed inline via theproduct_fields and variants arrays on Create/Update.
Product Fields (variant dimensions)
product_fields defines the variant dimensions (e.g. “Size”, “Colour”):
Variants
Each variant is a combination of field values with an optional per-variant price and SKU:Existing variant ID for update (omit to create new)
Variant SKU/code (max 128 chars)
Value for the first product field (max 128 chars)
Value for the second product field (max 128 chars)
Value for the third product field (max 128 chars)
Override price for this variant (null = use product base price)
Variant image URL (max 512 chars)
3-letter ISO currency code (e.g.
USD)Variant Options
Variant options are brand-level reusable option sets (e.g. “Shoe Sizes”, “Colours”). They can be attached to multiple products.List Variant Options
Get All Variant Options (unpaginated)
Create Variant Option
Option set name (e.g.
Shirt Sizes)Array of option value strings (e.g.
["XS", "S", "M", "L", "XL"])cURL
Update Variant Option
Delete Variant Option
Product Categories
Organise products into a two-level category hierarchy (category → subcategory).List Categories
Get All Categories (unpaginated)
Create Category
Category name
Parent category ID — omit for top-level categories, provide for subcategories.
cURL — create top-level category
cURL — create subcategory
Update Category
Delete Category
Coupons
Create and manage discount codes for products.List Coupons
Results per page (max 100, default: 25)
Get Coupon
Create Coupon
Coupon code (max 64 chars). Must be unique per brand.
percent — percentage off, or fixed — fixed amount offDiscount value. For
percent, clamped to 0–100 automatically.Internal label (max 128 chars)
active (default), draft, or disabledLimit discount to specific product IDs. Empty/null means all products.
Product IDs to exclude from the discount.
Whether the coupon applies to order bump products.
ISO 8601 date — coupon becomes active from this date.
ISO 8601 date — coupon expires after this date. Must be on or after
valid_from.Maximum number of redemptions (null = unlimited).
cURL — 20% off all products
cURL — $10 off specific products
Update Coupon
cURL — disable coupon
Delete Coupon
Validate Coupon
Check if a coupon code is valid and get its details (useful for frontend validation before applying at checkout).Coupon code to validate
Notes
- Product
codemust be unique within the brand classificationofbonusproducts are automatically included with their parent products- Subscription products require
subscription_frequencyandsubscription_frequency_unit - All costs (COGS, fulfillment, packaging) are tracked for profit margin calculations
- Images are returned as both
image(relative path) andimage_link(full URL) - Downloadable assets live in
product_files, not top-levelbonus_file/digital_filecolumnsproduct_category_idmust be a root-level category; useproduct_subcategory_idfor sub-level- Coupon
type: "percent"values are clamped to 0–100 automatically