ResourcesSubscriptions

View subscription capabilities

Check which lifecycle actions are currently available for a subscription.

Use this endpoint before showing subscription management actions in your own UI.

GET
/v2/subscriptions/{productSubscription}/capabilities

Authorization

bearerAuth storeAuth
AuthorizationBearer <token>

Provide your SellApp API key as a bearer token.

In: header

X-STORE<token>

Select the SellApp store for this API request.

In: header

Path Parameters

productSubscription*integer

The productSubscription path parameter.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://sell.app/api/v2/subscriptions/0/capabilities"
{
  "data": {
    "id": 55,
    "subscription_id": "sub_1QwertyExample",
    "capabilities": {
      "pause": {
        "status": "available",
        "customer_reason": null,
        "seller_reason": null
      },
      "resume": {
        "status": "unsupported",
        "customer_reason": "This subscription is not paused.",
        "seller_reason": "This subscription is not paused."
      },
      "cancel_at_period_end": {
        "status": "available",
        "customer_reason": null,
        "seller_reason": null
      },
      "cancel_immediately": {
        "status": "available",
        "customer_reason": null,
        "seller_reason": null
      },
      "update_payment_method": {
        "status": "customer_only",
        "customer_reason": null,
        "seller_reason": "Customers update their own payment method from the customer portal."
      },
      "change_plan": {
        "status": "customer_only",
        "customer_reason": null,
        "seller_reason": "Customers change subscription plans from the customer portal."
      },
      "shift_billing_date": {
        "status": "available",
        "customer_reason": null,
        "seller_reason": null
      }
    }
  }
}
{
  "message": "Unauthenticated."
}
{
  "message": "This action is unauthorized."
}
{
  "message": "Rule not found."
}
{
  "message": "The given data was invalid.",
  "errors": {
    "data": [
      "The data field is required."
    ]
  }
}