Skip to main content
GET
Error

Authorizations

Authorization
string
header
required

A merchant secret key (sk_…) sent as Authorization: Bearer <key>.

Headers

Ionic-Account
string

Merchant ID when an authorized Platform acts for a connected Merchant. Omit when authenticating directly as that Merchant.

Pattern: ^mer_[0-9A-Za-z]{14}$

Path Parameters

id
string
required

The product id (prod_…).

Response

The product.

id
string
required

Product id (prod_…).

object
enum<string>
required
Available options:
product
merchant_id
string
required

ID of the account that owns the product (mer_…).

name
string
required

Product name.

description
string
required

Product description.

active
boolean
required

false when the product is archived.

images
string[]
required

Image URLs for the product.

metadata
object
required

Custom key-value pairs for your use.

livemode
boolean
required

true for live mode, false for test mode.

default_price_id
string | null
required

The product's default price (price_…), or null if none is set.

unit_label
string
required

Unit displayed at checkout.

product_kind
enum<string>
required

The kind of product, used to suggest checkout defaults. The fields a buyer completes are set on the payment link.

Available options:
digital,
physical,
service,
donation,
other
cross_sells
object[]
required

Cross-sell recommendations attached to the product, up to 10.

created_at
integer
required

Unix epoch seconds.

updated_at
integer
required

Unix epoch seconds.

default_price
object | null

Inline-expanded default price. Present on GET and list responses; omitted on mutation endpoints (create, update, set_default_price).

representative_price
object | null

Display-only fallback populated when no default is set but exactly one price exists. Present on GET and list responses; omitted on mutation endpoints. Must not be treated as the assigned default.

prices_count
integer | null

Total number of prices on this product. Present on GET and list responses; omitted on mutation endpoints.