Update a product price
Update a product price by its ID. Setting `active: false` on the parent product's default price returns 409 DEFAULT_PRICE_CONFLICT, and on a price still referenced by a live payment link/subscription returns 409 PRICE_REFERENCED with `details.references` (same guards as the archive endpoint).
Authorization
apiKey Merchant API key. Publishable keys (pk_test_* / pk_live_) are safe for browser/frontend use and carry a limited scope set (sessions, payment_instruments, customers, orders writes; products, product_prices, payment_links reads). Secret keys (sk_test_ / sk_live_*) grant full admin access and must only be used server-side.
In: header
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PATCH "https://loading/v1/api/product-prices/string" \ -H "Content-Type: application/json" \ -d '{ "active": true, "description": "Updated description", "metadata": { "key": "value" } }'{
"success": true,
"timestamp": "2026-02-06T12:00:00.000Z",
"message": "Product price updated",
"data": {
"id": "price_abc123",
"product_id": "prod_abc123",
"active": true,
"description": "Updated description",
"metadata": {
"key": "value"
},
"updated_at": "2026-02-06T12:00:00.000Z"
}
}{
"success": false,
"timestamp": "2019-08-24T14:15:22Z",
"error": {
"code": "string",
"message": "string",
"details": null
}
}{
"success": false,
"timestamp": "2019-08-24T14:15:22Z",
"error": {
"code": "string",
"message": "string",
"details": null
}
}{
"success": false,
"timestamp": "2019-08-24T14:15:22Z",
"error": {
"code": "string",
"message": "string",
"details": null
}
}{
"success": false,
"timestamp": "2019-08-24T14:15:22Z",
"error": {
"code": "string",
"message": "string",
"details": null
}
}{
"success": false,
"timestamp": "2019-08-24T14:15:22Z",
"error": {
"code": "string",
"message": "string",
"details": null
}
}Archive a product price
Archive a product price by its ID. Returns 409 DEFAULT_PRICE_CONFLICT if it is the parent product's default price, or 409 PRICE_REFERENCED (with `details.references`) if it is still referenced by a live payment link, subscription, or legacy subscription plan — see GET /:id/references.
Update a product
Update a product by its ID