LogoLogo
Build appsContact API support
  • Build apps
  • Site Templates
  • API Reference
  • Changelog
  • REST API
    • REST API overview
    • Store Profile
      • Get store profile
      • Update store profile
      • Upload store logo image
      • Delete store logo image
      • Store reports
        • Get store reports
        • Get latest store update stats
        • Get deleted items history
    • Orders
      • Search orders
      • Get order
      • Get last order
      • Calculate order details
      • Update order
      • Create order
      • Delete order
      • Get repeat order URL
      • Order invoices
        • Get order receipt PDF
        • Get tax invoices for order
        • Generate tax invoice for order
      • Order statuses
        • Search order statuses
        • Get order status
        • Update custom order status
      • Order extra fields
        • Search order extra fields
        • Update order extra field
        • Add extra fields to order
        • Delete order extra field
      • Abandonned carts
        • Search abandoned carts
        • Get abandoned cart
        • Update abandoned cart
        • Convert abandoned cart to order
      • Recurring subscriptions
        • Search recurring subscriptions
        • Get recurring subscription
        • Update recurring subscription
    • Products
      • Search products
      • Get product
      • Update product
      • Create product
      • Delete product
      • Delete all products
      • Adjust product stock
      • Get product filters
      • Get recently used product swatches
      • Search product brands
      • Product images and videos
        • Upload main product image
        • Upload main product image (async)
        • Upload gallery product image
        • Upload gallery product image (async)
        • Delete main product image
        • Delete gallery product image
        • Delete all gallery product images
        • Upload main product video
        • Upload gallery product video
        • Upload cover for gallery video
        • Delete main product video
        • Delete gallery product video
        • Download gallery product video
        • Bulk update product images and videos
      • Product files
        • Upload product file
        • Download product file
        • Delete product file
        • Delete all product files
        • Change product file description
      • Product variations
        • Search product variations
        • Get product variation
        • Update product variation
        • Create product variation
        • Delete product variation
        • Delete all product variations
        • Adjust product variation stock
        • Upload product variation image
        • Upload product variation image (async)
        • Delete product variation image
      • Product types and attributes
        • Search product types
        • Get product type
        • Update product type and attributes
        • Create product type
        • Delete product type
      • Product reviews
        • Search product reviews
        • Get product reviews stats
        • Update product review status
        • Bulk update/delete product reviews
        • Delete product review
    • Categories
      • Search categories
      • Search categories by path
      • Get category
      • Update category
      • Create category
      • Delete category
      • Category images
        • Upload category image
        • Upload category image (async)
        • Delete category image
      • Manage order of categories in the store
        • Get order of categories
        • Update order of categories
      • Manage order of products in the category
        • Get order of products
        • Update order of products
        • Assign products to the category
        • Unassign products from the category
    • Customers
      • Search customers
      • Get customer
      • Update customer
      • Create customer
      • Delete customer
      • Customer groups
        • Search customer groups
        • Get customer group
        • Update customer group name
        • Create customer group
        • Delete customer group
      • Customer contacts
        • Search customer contacts
        • Get customer contact
        • Update customer contact
        • Create customer contact
        • Delete customer contact
      • Customer extra fields
        • Search customer extra fields
        • Get customer extra field
        • Update customer extra field
        • Create customer extra field
        • Delete customer extra field
    • Discounts
      • Promotions
        • Search promotions
        • Update promotion
        • Create promotion
        • Delete promotion
      • Discount coupons
        • Search discount coupons
        • Get discount coupon
        • Update discount coupon
        • Create discount coupon
        • Delete discount coupon
    • Domains
      • Search store domains
      • Update store domains
      • Search domains for purchase
      • Purchase domain
      • Send domain verification email
      • Reset domain password
    • Dictionaries
      • Country codes
      • Currency codes
      • Currency codes by country
      • State codes by country
      • Tax classes by country
    • Staff accounts
      • Search staff accounts
      • Get staff account
      • Get staff account scopes
      • Update staff account
      • Create staff account
      • Delete staff account
      • Resend staff account invite
      • Cancel staff account invite
    • Application
      • Get app subscription status
      • Cancel app subscription
      • Get all app storage data
      • Get specific app storage data
      • Update specific app storage data
      • Delete specific app storage data
      • Add app storage data
      • Custom charge with Ecwid billing
    • Batch requests
      • Create batch request
      • Get batch status
      • Search batch requests by status
      • Stop batch request
      • Stop and delete batch request
    • Shipping options
      • Search shipping options
      • Update shipping option
      • Create shipping option
      • Delete shipping option
    • Payment options
      • Search payment options
      • Get payment option
      • Update payment option
      • Create payment option
      • Delete payment option
    • Checkout extra fields
      • Add checkout extra fields with JavaScript
      • Manage checkout extra fields with REST API
        • Search checkout extra fields
        • Get checkout extra field
        • Update checkout extra field
        • Create checkout extra field
        • Delete checkout extra field
    • Storefront widget details
      • Get page slug and static code
      • Set base URL for storefront widgets
      • Optimize custom website SEO with better URLs
        • Enable Clean Store URLs on a custom website
        • Set Custom Page Slugs on a custom website
      • Dynamic loading for storefront widget
      • SSO (Single-Sign-On) for websites
        • Add SSO to the website
        • Customize SSO on the website
        • SSO code examples
      • Static store pages
        • Static code for home page
        • Static code for category page
        • Static code for product page

Lightspeed® 2025

On this page
  • Required access scopes
  • Path params
  • Headers
  • Request JSON
  • Response JSON

Was this helpful?

  1. REST API
  2. Products

Create product

POST https://app.ecwid.com/api/v3/{storeId}/products

Required access scopes

Your app must have the following access scopes to make this request: create_catalog

Path params

All path params are required.

Param
Type
Description

storeId

number

Ecwid store ID.

Headers

The Authorization header is required.

Header
Format
Description

Authorization

Bearer secret_ab***cd

Access token of the application.

Request JSON

A JSON object with the following fields:

Field
Type
Description

sku

string

Product SKU. Items with options can have several SKUs specified in the product variations.

quantity

number

Amount of product items in stock (available for purchase).

If the product has unlimited stock (unlimited is true), this field is not returned.

unlimited

boolean

Defines if the product has unlimited stock.

inStock

boolean

Defines if the product or any of its variations are in stock (quantity is more than 0).

name

string

Product name visible on the storefront.

nameTranslated

string

Available translations for the product name.

price

number

Base product price without any modifiers.

tax

Detailed information about product's taxes.

wholesalePrices

Sorted list of wholesale price tiers: "minimum quantity = price" pairs.

compareToPrice

number

Product pre-sale price with the same value as specified in Ecwid admin (without taxes), e.g. 40.

lowestPriceSettings

isShippingRequired

boolean

Defines if the product requires shipping.

weight

number

Product weight in the units defined in store settings. If the product doesn't have weight, this field is not returned.

customSlug

string

Custom slug defined by the store owner. Affects product page URL.

productClassId

number

enabled

boolean

Defines if the product is enabled and visible on the storefront. If false, the product can't be opened on the storefront or added to the cart.

options

Detailed list of product options. Empty ([]) if no options are specified for the product.

warningLimit

number

Minimum amount of products in stock to trigger an automated "low stock" email notification for the store owner.

fixedShippingRateOnly

boolean

Legacy feature – see shipping field instead. true if shipping cost for this product is calculated as 'Fixed rate per item' (managed under the "Tax and Shipping" section of the product management page in Ecwid Control panel). false otherwise. With this option on, the fixedShippingRate field specifies the shipping cost of the product.

fixedShippingRate

number

Legacy feature – see shipping field instead. When fixedShippingRateOnly is true, this field sets the product fixed shipping cost per item. When fixedShippingRateOnly is false, the value in this field is treated as an extra shipping cost the product adds to the global calculated shipping

shipping

Shipping settings specific to the product.

description

string

Product description in HTML format. Scripts inside product descriptions are not supported.

descriptionTranslated

Available translations for the product description.

categoryIds

array of numbers

List of the category IDs the product belongs to.

defaultCategoryId

number

Default category ID of the product. If value is 0, then product does not have a default category and is not shown anywhere in storefront

seoTitle

string

Page title for search engines. Recommended length < 55 characters.

seoTitleTranslated

Translations for the SEO page title.

seoDescription

string

Page description for search engines. Recommended length < 160 characters.

seoDescriptionTranslated

Translations for the SEO page description.

attributes

List of product attributes and their values.

files

Details about downloadable files attached to the product.

relatedProducts

List of related products displayed as "You may also like" products of the product.

dimensions

Product's dimensions.

volume

number

Product volume for calculations shipping costs, fractional number, 0 by default.

showOnFrontpage

number

Product index on the main storefront page starting with 1.

isGiftCard

boolean

Defines if a product is a gift card.

subtitle

string

Small product description visible on category and product pages under the product title.

subtitleTranslated

Available translations for product subtitles.

discountsAllowed

boolean

Defines if Ecwid can apply discounts to the product.

externalReferenceId

string

External ID for products synced from external services, for example, POS.

outOfStockVisibilityBehaviour

boolean

Defines if a product is visible and/or can be pre-ordered when out-of-stock. Requires enabled pre-orders on the store level: allowPreordersForOutOfStockProducts setting in /profile endpoint. Supported values: SHOW - Show out-of-stock products, but adding them to the cart is impossible. HIDE - Hide out-of-stock products. ALLOW_PREORDER - Show out-of-stock products and allow them to be added to the cart.

minPurchaseQuantity

number

Sets minimum product purchase quantity. Default value is null.

maxPurchaseQuantity

number

Sets maximum product purchase quantity. Default value is null.

reviewsCollectingAllowed

boolean

When true, allows to collect, check, and publish reviews for this product in store.

wholesalePrices

Field
Type
Description

quantity

number

Number of product items on this wholesale tier.

price

number

Product price on the tier.

lowestPriceSettings

Field
Type
Description

lowestPriceEnabled

boolean

Defines if the lowest price is enabled for the product and shown on the storefront.

manualLowestPrice

number

Manually entered lowest price for the last 30 days before any discounts or taxes applied.

options

choices

shipping

Field
Type
Description

type

string

One of: "GLOBAL_METHODS", "SELECTED_METHODS", "FLAT_RATE", "FREE_SHIPPING". "GLOBAL_METHODS" – all standard shipping methods set up in store settings; "SELECTED_METHODS" – Ecwid will use enabledMethods and disabledMethods list to make shipping calculations; "FLAT_RATE" – sets flat rate for product's shipping, see flatRate field.

methodMarkup

number

Additional product shipping cost added to any shipping methods.

flatRate

number

Flat rate cost for shipping the product. If set, shipping costs for it will not be calculated.

disabledMethods

array of strings

enabledMethods

array of strings

categories

Field
Type
Description

id

number

Internal category ID.

enabled

boolean

Defines if the category is enabled.

attributes

Field
Type
Description

id

number

Internal attribute ID.

name

string

Attribute name visible on the storefront.

nameTranslated

Available translations for the attribute name.

value

string

Value of the attribute for this product.

valueTranslated

Available translations for the attribute value.

type

string

Attribute type. There are user-defined attributes, general attributes and attributes pre-defined by Ecwid, for example, "price per unit". One of: CUSTOM UPC BRAND GENDER AGE_GROUP COLOR SIZE PRICE_PER_UNIT UNITS_IN_PRODUCT

show

string

Defines if an attribute is visible on a product page. One of: NOTSHOW - Not visible. DESCR - Visible under the product description. PRICE - Visible under the product price

files

Field
Type
Description

id

number

Internal ID of the file attached to the product.

name

string

File name visible to clients.

description

string

File description visible to clients.

size

number

File size in bytes (64-bit integer).

adminUrl

string

Direct link to the file. Important: to download the file, add your API access token to this URL like this: https://app.ecwid.com/api/v3/4870020/products/37208340/files/7215102?token=YOUR-API-TOKEN Do not share links containing access tokens.

relatedProducts

Field
Type
Description

productIds

array of numbers

List of related product IDs.

relatedCategory

Describes the "N random related products from a category" option.

relatedCategory

Field
Type
Description

enabled

boolean

Defines if the "N random related products from a category" option is enabled.

categoryId

number

ID of the related category. Empty value means that related products can be from any category.

productCount

number

Number of random products from the given category.

dimensions

Field
Type
Description

length

number

Length of a product for calculating shipping costs.

width

number

Width of a product for calculating shipping costs.

height

number

Height of a product for calculating shipping costs.

tax

Field
Type
Description

taxable

boolean

Defines if taxes can be applied to the product.

enabledManualTaxes

array of numbers

List of internal IDs for manual taxes. Empty if no manual taxes are enabled or automatic taxes are enabled.

taxClassCode

string

Tax class code for the product that determines the taxability of the products for a certain region.

translations

Object with text field translations in the "lang": "text" format, where the "lang" is an ISO 639-1 language code. For example:

{
    "en": "Sample text",
    "nl": "Voorbeeldtekst"
}

Translations are available for all active store languages. Only the default language translations are returned if no other translations are provided for the field. Find active store languages with GET /profile request > languages > enabledLanguages.

Response JSON

A JSON object with the following fields:

Field
Type
Description

id

number

Internal ID of the created product.

Last updated 1 month ago

Was this helpful?

object

array of objects

object

Product lowest price settings for EU stores. Read more on lowes price settings in .

ID of the product class that affects attributes management. If it's 0 the product belongs to the default "General" class. Read more on product types and attributes in .

array

object

object

object

object

array of objects

array of objects

object

object

object

IDs of shipping methods that need to be excluded from calculation when this product is in cart. Full list of shipping method IDs is available thorugh the call.

IDs of shipping methods which will only be shown when this product is in cart. No other shipping methods will be shown. Full list of shipping method IDs is available thorugh the call.

object

object

object

Help Center
Help Center
Store profile
Store profile
tax
wholesalePrices
lowestPriceSettings
options
shipping
translations
translations
translations
attributes
files
relatedProducts
dimensions
translations
translations
translations
relatedCategory
Field
Type
Description

type

string

Option type that defines its functionality. One of:

SELECT - Drop-down list with several options. Users can select only one of the options provided.

RADIO - Radio buttons. Users can select only one of the options provided.

CHECKBOX - Checkbox options. Users can select several options at the same time.

TEXTFIELD - Single-line text input field.

TEXTAREA - Multi-lines text input field.

DATE - Date and time selector.

FILES - File uploader for users.

SIZE - Selector for the product sizes. Works the same way as radio buttons.

SWATCHES - Selector for the product colors. Works the same way as radio buttons.

name

string

Product option name. For example: Color or Size.

nameTranslated

object

Available translations for product option name.

choices

array of objects

List of available option choices for users. Only works for the following option types: SELECT, CHECKBOX, RADIO, SIZE, or SWATCHES.

defaultChoice

number

Index of the option's default selection. Can be null (no default option), otherwise starts with 0. Only works for the following option types: SELECT, CHECKBOX, RADIO, SIZE, or SWATCHES.

required

boolean

Defines if this option is required to add product to the cart.

useImageAsSwatchSelector

boolean

Display mode for the color swatches option. Only works with SWATCHES option type.

One of:

  • true - show specific product images when a user choses different color at the storefront.

  • false - show color swatches defines as hex codes when user chooses different color at the storefront.

translations
choices
Field
Type
Description

text

string

Text displayed near the option choise or as it at the storefront. For example, a text near the radio button or a checkbox, choice name in the dropdown list, etc.

textTranslated

object

Available translations for choice's text field.

priceModifier

number

Value of the option's price markup. Positive, negative (in case the option reduces the pice) and zero values are allowed. Default is 0

priceModifierType

string

Option markup calculation type. One of:

PERCENT - price modifier applied as a percent increase to the product price.

ABSOLUTE - price modifier applied as an absolute increase to the product price (default).

hexCodes

array of strings

List of HEX codes.

Defines what color must be displayed when user changes color in the SWATCHES option, for example: ["#fff000"]. Requires useImageAsSwatchSelector to be true.

imageId

string

Internal ID of the product image. Defines what product image must be displayed when user changes color in the SWATCHES option. Requires useImageAsSwatchSelector to be true.

translations