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
