Skip to main content
POST
cURL

Authorizations

Authorization
string
header
required

Merchant API V2 token. Pass as Authorization: Bearer <token>.

Body

application/json
name
string
required
Minimum string length: 1
price
integer
required
Required range: x >= 0
description
string

Supports a small Markdown subset: **bold**, _italic_, ~strike~, [text](url), ![alt](url), and bare http(s) URLs, which become links. Line breaks are kept. Headings, lists, tables and HTML are not parsed and render as literal text.

sku
string
reference_id
string
status
enum<string>
Available options:
VISIBLE,
HIDDEN
type
enum<string>
Available options:
PHYSICAL,
DIGITAL,
SUBSCRIPTION,
BOOKING,
OTHERS
original_price
integer

Compare-at price, struck through next to the price to show a markdown. Defaults to 0, which shows no strike-through. Set it above price to advertise a discount — the storefront does not check that it is higher, so a value at or below price reads as a mistake to shoppers.

Required range: x >= 0
cost_enabled
boolean
cost
integer
Required range: x >= 0
unit_enabled
boolean
unit
enum<string>
Available options:
QTY,
KG,
G,
ML,
L,
PCS,
PAX,
PACK,
PERSON,
ROOM,
LBS,
HOUR,
BOX
unit_value
number
weight
integer
tax_override
boolean
tax_rate
integer
tags
string[]
Pattern: ^https?:\/\//i
category_ids
string[]

Categories the product belongs to. A product with no category is not listed on the storefront.

daily_limit
integer
cart_limit
integer
cart_minimum
integer
inventory_enabled
boolean
inventory_quantity
integer
Required range: x >= 0
variants
object[]
options
object[]
images
string[]

Product images, in display order. Every image is copied onto Take App storage, so send a source URL once and use the URLs returned here from then on — a URL that is already ours is kept as-is, any other URL is fetched and stored again. Omitting the field leaves the images alone; sending an empty array removes them all.

Maximum array length: 10
Pattern: ^https?:\/\//i

Response

Product

id
string
required
object
enum<string>
required
Available options:
product
reference_id
string | null
required
name
string
required
description
string
required

Supports a small Markdown subset: **bold**, _italic_, ~strike~, [text](url), ![alt](url), and bare http(s) URLs, which become links. Line breaks are kept. Headings, lists, tables and HTML are not parsed and render as literal text.

sku
string
required
status
enum<string>
required
Available options:
VISIBLE,
HIDDEN
type
enum<string>
required
Available options:
PHYSICAL,
DIGITAL,
SUBSCRIPTION,
BOOKING,
OTHERS
price
integer
required

Integer amount in the smallest unit of the store currency (e.g. cents).

original_price
integer
required

Compare-at price, struck through next to the price to show a markdown. Defaults to 0, which shows no strike-through. Set it above price to advertise a discount — the storefront does not check that it is higher, so a value at or below price reads as a mistake to shoppers.

cost_enabled
boolean
required
cost
integer | null
required

Integer amount in the smallest unit of the store currency (e.g. cents).

unit_enabled
boolean
required
unit
enum<string>
required
Available options:
QTY,
KG,
G,
ML,
L,
PCS,
PAX,
PACK,
PERSON,
ROOM,
LBS,
HOUR,
BOX
unit_value
number
required
weight
integer
required
tax_override
boolean
required
tax_rate
integer
required
tags
string[]
required
category_ids
string[]
required
daily_limit
integer
required
cart_limit
integer
required
cart_minimum
integer
required
inventory_enabled
boolean
required
soldout
boolean
required
inventory
object
required
variants
object[]
required
options
object[]
required
images
string[]
required

Product images, in display order. Every image is copied onto Take App storage, so send a source URL once and use the URLs returned here from then on — a URL that is already ours is kept as-is, any other URL is fetched and stored again. Omitting the field leaves the images alone; sending an empty array removes them all.

created_at
string<date-time>
required
updated_at
string<date-time>
required