Skip to main content
PATCH
Update a product

Authorizations

X-Suby-Api-Key
string
header
required

Secret API key. sk_live_… (production) or sk_sandbox_… (sandbox).

Path Parameters

id
string
required
Example:

"pro_abc123"

Body

application/json
name
string
Maximum string length: 200
description
string | null
Maximum string length: 2000
imageUrl
string<uri> | null
status
enum<string>

Toggle DRAFT↔ACTIVE to unpublish/publish; ARCHIVED to retire.

Available options:
DRAFT,
ACTIVE,
ARCHIVED
billingMode
enum<string>

Switching to pay_as_you_go must clear the price in the same call (priceCents: null). Into or out of subscription is refused (PRODUCT_BILLING_MODE_LOCKED) · create a new product and move subscribers with a plan change. Past Payments keep their snapshot.

Available options:
onetime,
pay_as_you_go
priceCents
string | null

Minor units as a string of digits, at least "100" (1.00). Future charges only; leave it out to keep the current price.

Pattern: ^\d+$
currency
enum<string> | null
Available options:
EUR,
USD
quantity
integer | null

Stock cap; null = unlimited.

Required range: x >= 0
taxBehavior
enum<string>

Future charges only · existing Payments and Subscriptions keep what they were priced with.

Available options:
inclusive,
exclusive
customFields
object[]

Extra fields collected on the hosted checkout page (max 10).

Maximum array length: 10
paymentMethods
enum<string>[] | null

Replaces the whole whitelist. null / [] inherits the account's set.

Available options:
CARD,
APPLE_PAY,
GOOGLE_PAY,
KLARNA,
IDEAL,
BANCONTACT,
TWINT,
BLIK,
AFFIRM,
ALMA,
BILLIE,
SCALAPAY,
MULTIBANCO,
PAYPAL,
SEPA_DIRECT_DEBIT,
ACH_DIRECT_DEBIT,
STABLECOIN,
VOLATILE_CRYPTO
successUrl
string<uri> | null
cancelUrl
string<uri> | null

Response

Product updated

success
boolean
required
Example:

true

data
object
required

Endpoint-specific payload.

message
string