Update product variant pricing
Update pricing, subscription cadence, quantity tiers, and payment-method selection through the shared variant pricing action.
Use this endpoint for pricing-specific mutations. Amounts are integer minor units, so 1000 represents USD 10.00.
Subscription pricing requires a positive amount, a supported cadence, and subscription-capable payment methods. Custom payment method IDs must belong to the current store and are never accepted for subscriptions.
Pass the variant's current updated_at value as expected_updated_at when you want stale writes rejected.
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Select the SellApp store for this API request.
In: header
Path Parameters
The product path parameter.
The variant path parameter.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X PATCH "https://sell.app/api/v2/products/0/variants/0/pricing" \ -H "Content-Type: application/json" \ -d '{ "pricing": { "type": "SUBSCRIPTION", "price": { "price": 1000, "currency": "USD" }, "compare_at_price": null, "humble": false, "frequency": { "value": 1, "interval": "MONTH" } }, "payment_methods": [ "STRIPE" ], "custom_payment_method_ids": [], "bulk_discount": [], "expected_updated_at": "2026-07-12T18:30:00.000000Z" }'{
"data": {
"id": 2,
"product_id": 1,
"title": "Variant Title",
"description": "Variant Description",
"deliverable": {
"data": {
"removeDuplicate": false,
"parsingMode": "COMMA",
"stock": 3,
"comment": "Thanks for the purchase! I'll send you a contract by email. Make sure to sign it with your blood.",
"serials": [
"1",
"2",
"3"
]
},
"types": [
"TEXT",
"MANUAL"
]
},
"pricing": {
"humble": true,
"frequency": {
"value": 1,
"interval": "MONTH"
},
"type": "SINGLE_PAYMENT",
"price": {
"price": "1999",
"currency": "USD"
}
},
"minimum_purchase_quantity": 1,
"maximum_purchase_quantity": 3,
"bulk_discount": [
{
"discount_percentage": 10,
"minimum_purchase_amount": 10
}
],
"payment_methods": [
"BTC",
"STRIPE"
],
"other_settings": {
"quantity_increments": 2,
"discord_data_required": false
},
"order": 1,
"created_at": "2024-01-10T18:47:22.000000Z",
"updated_at": "2024-01-10T18:47:22.000000Z",
"deleted_at": null,
"product": {
"additional_information": [
{
"required": true,
"key": "5ebae238c0afae7f4a4b96b30ff6f34c",
"type": "CHECKBOX",
"label": "I agree to handing over my soul"
}
]
}
}
}{
"message": "Unauthenticated."
}{
"message": "This action is unauthorized."
}{
"message": "Rule not found."
}{
"message": "The given data was invalid.",
"errors": {
"data": [
"The data field is required."
]
}
}