Hello,
I want to update the prices in all territories of an auto-renewable subscription at once (in a single request). I know it's possible to do it territory by territory using the Create a Subscription Price Change API endpoint, but this means I need to call this API for every territory. And I have a lot of subscriptions I need to update.
There is an another API endpoint that seems to allow to Modify an Auto-Renewable Subscription.
For the countries where I want to change the price, I fetch the subscription price points using the List All Price Points for a Subscription API endpoint.
When I call this API endpoint with the following body (that is the expected body content for this endpoint):
{ "data": { "type": "subscriptions", "relationships": { "prices": { "data": [ { "id": "eyJzIjoiNjc0MDAyMTQ5NiIsInQiOiJDQU4iLCJwIjoiMTAwMDEifQ", "type": "subscriptionPrices" }, { "type": "subscriptionPrices", "id": "eyJzIjoiNjc0MDAyMTQ5NiIsInQiOiJVU0EiLCJwIjoiMTAwMDEifQ" } ] } }, "id": "6740021496" }, "included": [ { "relationships": { "subscriptionPricePoint": { "data": { "id": "eyJzIjoiNjc0MDAyMTQ5NiIsInQiOiJDQU4iLCJwIjoiMTAwMDEifQ", "type": "subscriptionPricePoints" } }, "territory": { "data": { "type": "territories", "id": "CAN" } }, "subscription": { "data": { "id": "6740021496", "type": "subscriptions" } } }, "id": "eyJzIjoiNjc0MDAyMTQ5NiIsInQiOiJDQU4iLCJwIjoiMTAwMDEifQ", "attributes": { "preserveCurrentPrice": true }, "type": "subscriptionPrices" }, { "attributes": { "preserveCurrentPrice": true }, "id": "eyJzIjoiNjc0MDAyMTQ5NiIsInQiOiJVU0EiLCJwIjoiMTAwMDEifQ", "type": "subscriptionPrices", "relationships": { "subscription": { "data": { "type": "subscriptions", "id": "6740021496" } }, "subscriptionPricePoint": { "data": { "type": "subscriptionPricePoints", "id": "eyJzIjoiNjc0MDAyMTQ5NiIsInQiOiJVU0EiLCJwIjoiMTAwMDEifQ" } }, "territory": { "data": { "type": "territories", "id": "USA" } } } } ] }
I receive a 409 error:
{ "errors" : [ { "id" : "5b6a4b62-686c-4a65-87ba-e16131db517b", "status" : "409", "code" : "ENTITY_ERROR", "title" : "There is a problem with the request entity", "detail" : "User is not allowed to edit.", "source" : { "pointer" : "subscriptionPrices" } } ] }
I made sure
- my bearer authorisation token is correct and still valid (not expired).
- the p8 key has Admin rights
Can this PATCH endpoint be used for what I want to do? If yes, is there anything special to do to use this PATCH endpoint?
Thanks, Axel