Subscription

View your current subscription, create a new subscription, or cancel an existing one.

Get current subscription

GET /v1/subscription

Returns your current subscription status. If no subscription exists, returns a free plan default.

Required scope: read_subscription

Request

curl https://app.simpleproductfeeds.com/v1/subscription \
  -H "Authorization: Bearer spf_live_sk_your_key_here"

Response (active subscription)

{
  "data": {
    "object": "subscription",
    "plan": "growth",
    "plan_name": "Growth",
    "status": "active",
    "created_at": "2026-01-15T10:00:00Z"
  }
}

Response (no subscription)

{
  "data": {
    "object": "subscription",
    "plan": "free",
    "status": "none"
  }
}

Response fields

FieldTypeDescription
object string Always "subscription".
plan string Plan code name (e.g., "free", "starter", "growth", "premium").
plan_name string Human-readable plan name. Only present with an active subscription.
status string Subscription status: "active", "legacy", or "none".
created_at string ISO 8601 timestamp. Only present with an active subscription.

Create a subscription

POST /v1/subscription

Creates a new Shopify subscription for a paid plan. Returns a confirmation URL that the merchant must visit in the Shopify Admin to approve the charge.

Required scope: write_subscription

Parameters

ParameterTypeRequiredDescription
planstringYesPlan code name (e.g., starter, growth, premium). Alternatively use code_name.
discount_codestringNoOptional discount code to apply.

Request

curl -X POST https://app.simpleproductfeeds.com/v1/subscription \
  -H "Authorization: Bearer spf_live_sk_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"plan": "growth"}'

Response

{
  "data": {
    "object": "subscription",
    "confirmation_url": "https://admin.shopify.com/store/my-store/charges/confirm?...",
    "message": "Redirect the merchant to the confirmation URL to approve the subscription."
  }
}

The confirmation_url must be opened in the Shopify Admin by the store owner to approve the charge. The subscription is not active until approved.

Errors

StatusCodeDescription
422missing_paramThe plan parameter is required.
422subscription_failedFailed to create the subscription. See error message for details.

Cancel subscription

DELETE /v1/subscription

Cancels the active subscription. The shop reverts to the free plan.

Required scope: write_subscription

Request

curl -X DELETE https://app.simpleproductfeeds.com/v1/subscription \
  -H "Authorization: Bearer spf_live_sk_your_key_here"

Response

{
  "data": {
    "object": "subscription",
    "status": "cancelled",
    "message": "Subscription cancelled. Your shop is now on the free plan."
  }
}

Errors

StatusCodeDescription
500cancel_failedFailed to cancel the subscription.