Update a catalog product price
Atomically replaces a product price by creating a new active price and archiving any existing active prices for the same product/merchant scope. Idempotent by Idempotency-Key header per merchant.
curl --request PUT \
--url https://api-sandbox.paygood.co/catalog/products/{productId}/price \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--data '
{
"merchantId": "mer_01hxy8m1nqk9g3x3y3p0azq2bg",
"amount": 2500,
"currency": "USD",
"type": "one_time"
}
'{
"priceId": "price_01hxy8m1nqk9g3x3y3p0azq2bg",
"merchantId": "mer_01hxy8m1nqk9g3x3y3p0azq2bg",
"productId": "prod_01hxy8m1nqk9g3x3y3p0azq2bg",
"amount": 2500,
"currency": "USD",
"type": "one_time",
"createdAt": "2026-07-28T20:37:00.000Z"
}Authorizations
Merchant API key bearer token.
Headers
Client-supplied unique key for safe retries of this mutating request. Scoped per merchant or resource as documented on each endpoint.
"idem-01"
Path Parameters
Product TypeID (prod_...) whose active price set should be replaced.
"prod_01hxy8m1nqk9g3x3y3p0azq2bg"
Body
Replacement price payload with merchant scope and money/type fields. Supply idempotency via the Idempotency-Key header.
Merchant TypeID (mer_...) that owns the product and replacement price.
Price amount in minor units (for example cents).
0 < x <= 9007199254740991ISO 4217 uppercase currency code for the replacement price.
3Price type. Use one_time for single-charge pricing or recurring for subscription-like pricing.
one_time, recurring Recurring interval label (for example month) required when type=recurring; omit for one_time.
Response
Replacement active price in canonical response shape. Previously active prices for this product are archived.
0 < x <= 9007199254740991Supported currency code (USD, CAD)
3one_time, recurring ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$curl --request PUT \
--url https://api-sandbox.paygood.co/catalog/products/{productId}/price \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--data '
{
"merchantId": "mer_01hxy8m1nqk9g3x3y3p0azq2bg",
"amount": 2500,
"currency": "USD",
"type": "one_time"
}
'{
"priceId": "price_01hxy8m1nqk9g3x3y3p0azq2bg",
"merchantId": "mer_01hxy8m1nqk9g3x3y3p0azq2bg",
"productId": "prod_01hxy8m1nqk9g3x3y3p0azq2bg",
"amount": 2500,
"currency": "USD",
"type": "one_time",
"createdAt": "2026-07-28T20:37:00.000Z"
}