Collapse Menu
Docs Home
Extensibility Options
Contact Support

/subscriptions

Overview

The /subscriptions endpoint allows you to retrieve complete details of one or more specific subscription instances.

Each subscription instance has a unique subscription ID, which can be obtained by subscribing to webhooks or through various API requests.

You can also search for subscription instances using a variety of parameters, modify subscription instances, and create new subscription charges for Managed Subscriptions.

Get All Subscription Instances

GET /subscriptions?page=2&limit=15
Response Example
{
  "action": "subscription.getall",
  "result": "success",
  "nextPage": 3,
  "subscriptions": [
    "khyNPLY3TYiQhBfHyjZINg",
    "w46bQ2-gTayzJfFXbV1VWg",
    "86cFjtgCRlSmOPbLcX_mCA",
    "v0yPCSTLSyarVe9NlNalSA",
    "FWhWZ3b6StyfiJ_GnyHswQ",
    "A5xx9TF_R26PcCMdagAC8Q",
    "pgNumDwTSbaLeNY6FtUF3Q",
    "IK2eD1nvSP-L3yilE6K7BQ",
    "iZ8qUO-MSwuezTn_elPb3g",
    "gLspcP3NRqmdOm615HSTig",
    "HYKxh1JfTcyUhTgJxAxfWg",
    "1RkJixj_QKOg_c7G_wGIZA",
    "LiPzVuKnT2Go1WWteQkZtw",
    "V5wXtLilSsWGkMYSiLVy2g",
    "MseNZ_LBRu63R84k9knIKg"
  ]
}

Get One or More Subscription Instances

GET /subscriptions/{id1},{id2},{id3},...

 Tip

If you have previously posted an update to a subscription instance to apply a customReferenceId value, you can retrieve that subscription using GET /subscriptions?customReferenceId=.
Response Example
{
    "id": "AmYzjmPbSbWYkESv7MnwwA",
    "subscription": "AmYzjmPbSbWYkESv7MnwwA",                           // subscription ID
    "active": true,                                                     // false if subscription has been deactivated
    "state": "trial",                                                   // current status of the subscription: "active", "overdue", "canceled", "deactivated", "trial"
    "changed": 1573257599032,                                           // date of the most recent update to this subscription record, in milliseconds
    "changedValue": 1573257599032,
    "changedInSeconds": 1573257599,                                     // date of the most recent update to this subscription record, in seconds
    "changedDisplay": "11/8/19",                                        // date of the most recent update to this subscription record, formatted for display based on the language in which the order was processed, as selected by the customer
    "live": false,                                                      // true if not a test order
    "currency": "USD",
    "account": "N8FjcSWcQNeYCc-suM1O8g",                                // FastSpring-generated customer account ID
    "product": "example-monthly-subscription",
    "sku": "skusub1",
    "display": "Example Monthly Subscription",
    "quantity": 1,
    "adhoc": false,                                                     // true if managed subscription
    "autoRenew": true,
    "price": 14.95,
    "priceDisplay": "$14.95",
    "priceInPayoutCurrency": 14.95,
    "priceInPayoutCurrencyDisplay": "$14.95",
    "discount": 3.74,
    "discountDisplay": "$3.74",
    "discountInPayoutCurrency": 3.74,
    "discountInPayoutCurrencyDisplay": "$3.74",
    "subtotal": 16.21,
    "subtotalDisplay": "$16.21",
    "subtotalInPayoutCurrency": 16.21,
    "subtotalInPayoutCurrencyDisplay": "$16.21",
    "attributes": {                                                     // optional custom product attributes
        "Furious": "Falcon",
        "CustomAttribute2": "CustomValue2",
        "CustomAttribute1": "CustomValue1"
    },
    "discountDuration": 1,
    "next": 1574380800000,                                              // date of the next event (e.g. charge, notification, deactivation, trial period end date), in milliseconds
    "nextValue": 1574380800000,
    "nextInSeconds": 1574380800,                                        // date of the next event (e.g. charge, notification, deactivation, trial period end date), in seconds
    "nextDisplay": "11/22/19",                                          // date of the next event, formatted for display based on the language in which the order was processed, as selected by the customer
    "end": null,
    "endValue": null,
    "endInSeconds": null,
    "endDisplay": null,
    "canceledDate": null,
    "canceledDateValue": null,
    "canceledDateInSeconds": null,
    "canceledDateDisplay": null,
    "deactivationDate": null,                                           // scheduled deactivation date if rebill payment failed, see cancellation setting
    "deactivationDateValue": null,
    "deactivationDateInSeconds": null,
    "deactivationDateDisplay": null,
    "sequence": 1,                                                      // sequence number of the current period
    "periods": null,                                                    // expected total number of periods, if limited (null = unlimited)
    "remainingPeriods": null,
    "begin": 1573171200000,                                             // date on which the subscription began, in milliseconds
    "beginValue": 1573171200000,                                        // date on which the subscription began, in milliseconds (backward compatibility)
    "beginInSeconds": 1573171200,                                       // date on which the subscription began, in seconds
    "beginDisplay": "11/8/19",                                          // date on which the subscription began, formatted for display based on the language selected for the original subscription order
    "intervalUnit": "month",                                            // "adhoc", "day", "week", "month", "year"
    "intervalLength": 1,
    "nextChargeCurrency": "USD",
    "nextChargeDate": 1574380800000,                                    // date of the next scheduled charge, in milliseconds
    "nextChargeDateValue": 1574380800000,
    "nextChargeDateInSeconds": 1574380800,                              // date of the next scheduled charge, in seconds
    "nextChargeDateDisplay": "11/22/19",                                // date of the next scheduled charge, formatted for display based on the language in which the order was processed, as selected by the customer
    "nextChargePreTax": 16.21,
    "nextChargePreTaxDisplay": "$16.21",
    "nextChargePreTaxInPayoutCurrency": 16.21,
    "nextChargePreTaxInPayoutCurrencyDisplay": "$16.21",
    "nextChargeTotal": 16.21,
    "nextChargeTotalDisplay": "$16.21",
    "nextChargeTotalInPayoutCurrency": 16.21,
    "nextChargeTotalInPayoutCurrencyDisplay": "$16.21",
    "nextNotificationType": "PAYMENT_REMINDER",
    "nextNotificationDate": 1574294400000,
    "nextNotificationDateValue": 1574294400000,
    "nextNotificationDateInSeconds": 1574294400,
    "nextNotificationDateDisplay": "11/21/19",
    "trialReminder": {                                                  // configured at the subscription product level with read-only default value; indicates when trial reminder message will be sent relative to end of trial
        "intervalUnit": "day",
        "intervalLength": 3
      },
    "paymentReminder": {                                                // configured at the subscription product level via the Pricing field
        "intervalUnit": "day",
        "intervalLength": 1
    },
    "paymentOverdue": {                                                 // configured at the subscription product level via the Pricing field
        "intervalUnit": "week",
        "intervalLength": 2,
        "total": 1,
        "sent": 0
    },    
    "cancellationSetting": {                                            // configured at the subscription product level via the Pricing field
        "cancellation": "AFTER_LAST_NOTIFICATION",                      // or AFTER_PAYMENT_FAILURE if no paymentOverdue notices are configured
        "intervalUnit": "week",
        "intervalLength": 1
    },
    "addons": [                                                         // subscription addons included in the subscription, if any
        {
            "product": "example-product-3",
            "sku": "skuex3",
            "display": "Example Product 3",
            "quantity": 1,
            "price": 5.0,
            "priceDisplay": "$5.00",
            "priceInPayoutCurrency": 5.0,
            "priceInPayoutCurrencyDisplay": "$5.00",
            "discount": 0.0,
            "discountDisplay": "$0.00",
            "discountInPayoutCurrency": 0.0,
            "discountInPayoutCurrencyDisplay": "$0.00",
            "subtotal": 5.0,
            "subtotalDisplay": "$5.00",
            "subtotalInPayoutCurrency": 5.0,
            "subtotalInPayoutCurrencyDisplay": "$5.00",
            "discounts": []
        }
    ],
    "discounts": [                                                      // information about the coupon or product-level discount applied to the subscription order, if any
        {
            "discountPath": "example-monthly-subscription",
            "discountDuration": 1,
            "percentValue": 25.0
        }
    ],
    "setupFee": {                                                       // details of the one-time setup fee associated with the subscription, if any
        "price": {
            "USD": 9.95
        },
        "title": {
            "en": "One-time Setup Fee"
        }
    },
    "instructions": [
        {                                                               // only exists if there is a free trial
            "type": "trial",
            "periodStartDate": 1573171200000,
            "periodStartDateValue": 1573171200000,
            "periodStartDateInSeconds": 1573171200,
            "periodStartDateDisplay": "11/8/19",
            "periodEndDate": 1574294400000,
            "periodEndDateValue": 1574294400000,
            "periodEndDateInSeconds": 1574294400,
            "periodEndDateDisplay": "11/21/19",
            "discountDurationUnit": "day",
            "discountDurationLength": 14,
            "discountPercent": 100,
            "discountPercentValue": 100,
            "discountPercentDisplay": "100%",
            "unitDiscount": 14.95,
            "unitDiscountDisplay": "$14.95",
            "unitDiscountInPayoutCurrency": 14.95,
            "unitDiscountInPayoutCurrencyDisplay": "$14.95",
            "discountTotal": 14.95,
            "discountTotalDisplay": "$14.95",
            "discountTotalInPayoutCurrency": 14.95,
            "discountTotalInPayoutCurrencyDisplay": "$14.95",
            "total": 0.0,
            "totalDisplay": "$0.00",
            "totalInPayoutCurrency": 0.0,
            "totalInPayoutCurrencyDisplay": "$0.00",
            "price": 14.95,
            "priceDisplay": "$14.95",
            "priceInPayoutCurrency": 14.95,
            "priceInPayoutCurrencyDisplay": "$14.95",
            "priceTotal": 14.95,
            "priceTotalDisplay": "$14.95",
            "priceTotalInPayoutCurrency": 14.95,
            "priceTotalInPayoutCurrencyDisplay": "$14.95",
            "unitPrice": 0.0,
            "unitPriceDisplay": "$0.00",
            "unitPriceInPayoutCurrency": 0.0,
            "unitPriceInPayoutCurrencyDisplay": "$0.00"
        },
        {                                                              // exists only if there is a discount associated with the subscription
            "product": "example-monthly-subscription",
            "type": "discounted",
            "periodStartDate": 1574380800000,
            "periodStartDateValue": 1574380800000,
            "periodStartDateInSeconds": 1574380800,
            "periodStartDateDisplay": "11/22/19",
            "periodEndDate": 1576886400000,
            "periodEndDateValue": 1576886400000,
            "periodEndDateInSeconds": 1576886400,
            "periodEndDateDisplay": "12/21/19",
            "discountIntervalUnit": "month",
            "discountIntervalLength": 1,
            "discountDuration": 1,
            "discountDurationUnit": "month",
            "discountDurationLength": 1,
            "unitDiscount": 3.74,
            "unitDiscountDisplay": "$3.74",
            "unitDiscountInPayoutCurrency": 3.74,
            "unitDiscountInPayoutCurrencyDisplay": "$3.74",
            "discountPercent": 25.0,
            "discountPercentValue": 25.0,
            "discountPercentDisplay": "25%",
            "discountTotal": 3.74,
            "discountTotalDisplay": "$3.74",
            "discountTotalInPayoutCurrency": 3.74,
            "discountTotalInPayoutCurrencyDisplay": "$3.74",
            "price": 14.95,
            "priceDisplay": "$14.95",
            "priceInPayoutCurrency": 14.95,
            "priceInPayoutCurrencyDisplay": "$14.95",
            "priceTotal": 14.95,
            "priceTotalDisplay": "$14.95",
            "priceTotalInPayoutCurrency": 14.95,
            "priceTotalInPayoutCurrencyDisplay": "$14.95",
            "unitPrice": 11.21,
            "unitPriceDisplay": "$11.21",
            "unitPriceInPayoutCurrency": 11.21,
            "unitPriceInPayoutCurrencyDisplay": "$11.21",
            "total": 11.21,
            "totalDisplay": "$11.21",
            "totalInPayoutCurrency": 11.21,
            "totalInPayoutCurrencyDisplay": "$11.21"
        },
        {                                                              // defines the structure of the specific subscription instance; if "type":"discount" is also present, this defines future periods after the discount no longer applies
            "product": "example-monthly-subscription",
            "type": "regular",
            "periodStartDate": 1576972800000,
            "periodStartDateValue": 1576972800000,
            "periodStartDateInSeconds": 1576972800,
            "periodStartDateDisplay": "12/22/19",
            "periodEndDate": null,
            "periodEndDateValue": null,
            "periodEndDateInSeconds": null,
            "periodEndDateDisplay": null,
            "intervalUnit": "month",
            "intervalLength": 1,
            "discountPercent": 0,
            "discountPercentValue": 0,
            "discountPercentDisplay": "0%",
            "discountTotal": 0.0,
            "discountTotalDisplay": "$0.00",
            "discountTotalInPayoutCurrency": 0.0,
            "discountTotalInPayoutCurrencyDisplay": "$0.00",
            "unitDiscount": 0.0,
            "unitDiscountDisplay": "$0.00",
            "unitDiscountInPayoutCurrency": 0.0,
            "unitDiscountInPayoutCurrencyDisplay": "$0.00",
            "price": 14.95,
            "priceDisplay": "$14.95",
            "priceInPayoutCurrency": 14.95,
            "priceInPayoutCurrencyDisplay": "$14.95",
            "priceTotal": 14.95,
            "priceTotalDisplay": "$14.95",
            "priceTotalInPayoutCurrency": 14.95,
            "priceTotalInPayoutCurrencyDisplay": "$14.95",
            "unitPrice": 14.95,
            "unitPriceDisplay": "$14.95",
            "unitPriceInPayoutCurrency": 14.95,
            "unitPriceInPayoutCurrencyDisplay": "$14.95",
            "total": 14.95,
            "totalDisplay": "$14.95",
            "totalInPayoutCurrency": 14.95,
            "totalInPayoutCurrencyDisplay": "$14.95"
        }
    ]
}
Possible Error Response Example
{

  "subscriptions": [
    {
      "action": "subscription.get",
      "subscription": "LiPzVuKnT2Go1WWteQkZtx",                         // subscription ID requested
      "result": "success",                         
      "error": {
        "subscription": "Subscription not found"
      }
  ]
}

Look Up Subscriptions by Parameters

Append one or more parameters to the URL to filter the results in a variety of ways. Append the first parameter using a question mark (?); use an ampersand (&) for any subsequent parameters.

Parameters and Values

accountId

  • account id - specify a specific customer account whose subscriptions you want to retrieve
begin
  • date - specify the beginning of a date range in yyyy-mm-dd-format
end
  • date - specify the end of a date range in yyyy-mm-dd format
event
  • canceled - use with begin and end to retrieve subscriptions that were canceled within a given date range
  • charged - use with begin and end to retrieve subscriptions that were charged within a given date range; specify a future date range to retrieve subscriptions with upcoming charges
  • created - use with begin and end to retrieve subscriptions that were created within a given date range
  • deactivated - use with begin and end to retrieve subscriptions that were deactivated within a given date range
  • trialended - use with begin and end to retrieve subscriptions for which the trial period ended within a given date range
  • trialstarted - use with begin and end to retrieve subscriptions for which the trial period began within a given date range
products
  • product ids - enter one or more product ids to filter the response to include only subscriptions for the specified products; use commas to separate multiple values
scope
  • all - *scope=all is unnecessary; if you do not pass a scope parameter, the API returns both live and test-mode subscriptions by default
  • live - specify scope=live to retrieve only live (non-test-mode) subscriptions
  • test - specify scope=test to retrieve only test-mode (non-live) subscriptions
status
  • active - specify status=active to retrieve only subscriptions that are currently active (note: this includes subscriptions with free trial days that are still in trial status)
  • canceled - specify status=canceled to retrieve only subscriptions that have been canceled but not yet deactivated
  • deactivated - specify status=deactivated to retrieve only subscriptions that have been deactivated
  • overdue - specify status=overdue to retrieve only subscriptions that are currently overdue due to a failed rebill charge
  • trial - specify status=trial to retrieve only subscriptions that are currently in trial status (i.e., via the Free Trial Days feature of the subscription product's pricing configuration)
Example of retrieving only active subscriptions for two specific products where the trial period ended within a given date range
GET /subscriptions?status=active&products=example-monthly-subscription-3,example-monthly-subscription-2,&event=trialended&begin=2018-12-31&end=2019-06-30

Get Subscription Instance Entries

Returns an array of order objects, one for each transaction associated with the specified subscription ID. The array includes the original order by which the subscription was created, all subscription billings, and any transactions resulting from prorated subscription edits. There are two ways to identify the original order: identify the object with the earliest changed date, or identify the object for which the order.reference does not include a "B" at the end of the string (the "B" denotes a subscription billing).

GET /subscriptions/{id1}/entries
Response Example
{
  [
    {
	 "id": "entryId",
	 "beginEntryDate": "yyyy_MM_dd",
	 "beginPeriodDate": "yyyy_MM_dd",
	 "endPeriodDate": "yyyy_MM_dd",
	 "order": {
		// order resource response
	  }
    }
  ]
}

Update Existing Subscription Instances

POST /subscriptions

If you change the product on an active subscription to a different subscription product via the API:

  • Any free trial period associated with the new product is ignored. In case you need to change the product on a subscription and have the new product's free trial period take effect, you can make this change via the FastSpring App under the Activity menu. Note, however, that any free trial period associated with the original product continues and is not affected by the update.
  • The product price of the new product is used for future billings. In case you need to change the product on a subscription but leave the original product's price in effect, you can also pass the optional pricing info, as shown in the third example below.
  • If the product price of the new product is higher than the price of the original product, the change is recorded as an upgrade. If the price of the new product is lower than the original product, the change is recorded as a downgrade.
  • If you pass "prorate": true on a subscription change and the automatic prorated billing is declined or fails, the subscription is still updated successfully. The subscription.charge.failed webhook event - and the associated customer-facing email message - are fired, and the subscription goes into an overdue state.
  • For more information about proration with subscription upgrades and downgrades, please see Prorating When Upgrading Or Downgrading Subscription Plans.
  • You can optionally apply a custom identifier to a subscription instance, to be included in future webhook events or for use in making a GET request to /subscriptions. To do this, pass "customReferenceId":"<yourvalue>".
  • If you want to replace the order tags or product attributes associated with an existing subscription instance, you should update the original order via POST /orders. Posting new order tags or product attributes replaces any existing ones on the order. Future webhook events and API responses about the updated subscription instance will reflect the updated values.

Changing a subscription instance from automatic to manual renewal:

A subscription instance for which "autoRenew" is currently "true" can be changed to a manual renewal subscription by posting "manualRenew":"true".

Changing a subscription instance from automatic to manual renewal results in the payment method associated with the subscription being permanently deleted. This change cannot be undone. Once you have made this change, the customer must log on to account management and make a payment manually before the next billing date to prevent the subscription from being canceled due to non-payment. If a customer has multiple subscriptions, subscriptions other than the one(s) associated with the ID specified in the body of your POST are not affected.

Request example - Changing the product for an active subscription

{
    "subscriptions": [
	{
        "subscription": "m6s7NWxJQum8GIklEqnHHQ",  // subscription ID to be updated
        "product": "soar-monthly-subscription",    // product path of the new product
        "quantity": 1,                              // quantity of the new product
        "coupons": ["coupon_code"]                // only supports one coupon to be applied, pass an empty array to remove coupon
    }
  ]
}
Request example - Changing the date, quantity, or applied coupon for an active subscription
{
  "subscriptions": [
    {
      "subscription": "subscription-id-1",
      "next": 1448496000000 or "yyyy-mm-dd",      	// Next charge date
      "end": 1449496000000 or "yyyy-mm-dd" or 0,  	// Last charge date will be on or before this date. 0 as unlimited subscription
      "product": "subscription-product-1",
      "quantity": 1,
      "coupons": ["coupon_code"],			// only support one coupon to be applied, pass an empty array to remove coupon
      "prorate": true            			// when implementing proration. *Cannot prorate with updating next charge date
    }, ...
  ]
}
Request example - Changing the price or discount for an active subscription without changing the product
  {
     "subscriptions":  [
        {
           "subscription":"subscription-id-1",
           "pricing":{
              "price":10 or {"USD":10}                      // see note below
              "discount":{
                 "type":"percent"/"amount",
                 "percentage"/"amount":5 or {"USD":},       // see note below
                 "duration":2 or "all"
              }
           }
        }
     ]
 }
// Note:  If the currency is not specified, the currency of the subscription instance will be used; if the currency is specified and differs to the subscription's currency, the amount will be converted to subscription's currency.
Request example - Adding or editing a subscription addon to an active subscription
{
  "subscriptions": [
    {
      "subscription": "subscription-id",
      "addons": [
        {
          "product": "add-on-product-being-added-or-updated",
          "quantity": 2,            			// update quantity
          "pricing":{          
            "price": {"USD":10},     			// update pricing            
            "discount":{                		// update discount
              "type":"percent"/"amount",
              "percentage"/"amount":10 or {"USD":5},
              "duration":2 or "all"
            }
          }
        }
      ]
    }
  ]
}
Request example - Removing a subscription addon from an active subscription
{
  "subscriptions": [
    {
      "subscription": "subscription-id",
      "addons": [
        {
          "product": "existing-add-on-product-being-removed",
          "quantity": 0
        }
      ]
    }
  ]
}
Request example - Changing a subscription from automatic renewal to manual
{
    "subscriptions": [
	{
        "subscription": "subscription-id",
        "manualRenew": "true"
    }
  ]
}
Response Example
{
  "subscriptions": [
    // Successful response
    {
      "subscription": "subscription-id-1",
      "action": "subscription.update",
      "result": "success"
    },
    // Possible errors
    {
      "subscription": "subscription-id-2",
      "action": "subscription.update",
      "result": "error"
      "error": {
        "subscription": "Not found",
        "subscription" : "Subscription is not changeable" // Canceled or ended
        "next": "Date format yyyy-mm-dd or milliseconds",
        "end": "Set 0 for no end date or Date format yyyy-mm-dd or milliseconds",
        "product": "Not found",
        "product": "Not a subscription product",
        "quantity": "Must be greater than zero",
        "coupons": "coupon_code is not a valid coupon: DOES_NOT_EXIST/USE_LIMIT_REACHED/NOT_VALID_TODAY",
        "prorate": "Cannot prorate with updating next period date",
        "prorate": "The order is no longer refundable",
        "prorate": "Can't prorate on-demand subscription",
		"manualRenew": "Subscription is already set to manual renew"
      }
    },...
  ]
}

Cancel Subscription Instances

Cancel after the current period is ended (default behavior).

DELETE /subscriptions/{id1},{id2},{id3},...

Cancel immediately

DELETE /subscriptions/{id1},{id2},{id3},...?billingPeriod=0
Response Example
{
  "subscriptions": [
 
    // Successful response
    {
      "subscription": "id1",
      "action": "subscription.cancel",
      "result": "success"
    },
 
    // Possible errors
    {
      "subscription": "id2",
      "action": "subscription.cancel",
      "result": "error"
      "error": {
         "subscription":"The subscription is already canceled",
         "subscription":"The subscription is not active",
         "subscription":"The subscription is in the last billing period",
         "subscription":"Subscription not found",
         "billingPeriod":"billingPeriod must be a number",
         "billingPeriod":"billingPeriod=0 to cancel immediately or billingPeriod=1 to cancel at the next period."
      }
    },
    ...
  ]
}

Uncancel a Canceled Subscription Instance Before Deactivation

If you need to reverse or undo the cancelation of a subscription instance before the subscription's deactivation, you can uncancel the subscription instance by passing in "deactivation": null. However, if the subscription has already reached its deactivation date, it cannot be uncanceled. You can also pass other values in the same uncancel request.

POST /subscriptions  
Request Example
{  
   "subscriptions":[  
      {  
         "subscription":"u5UUIZ7ISk68eT1P9lje_w",
         "deactivation":null
      }
   ]
}
Response Example
{
	"subscriptions": [
	{
		"action": "subscription.update",
		"result": "success",
		"subscription": "u5UUIZ7ISk68eT1P9lje_w"
	},
  
	// Possible errors: attempting to uncancel a subscription that has already been deactivated
	{
	        "action": "subscription.update",
	        "subscription": "u5UUIZ7ISk68eT1P9lje_w",
	        "result": "error",
	        "error": {
	          "uncancel": "Subscription is not active."
	    	}
	},
	// Passing a value other than 'null' for "deactivation"
	{
	        "action": "subscription.update",
	        "subscription": "u5UUIZ7ISk68eT1P9lje_w",
	        "result": "error",
	        "error": {
	          "deactivation": "Pass null to uncancel the subscription"
		}
	}

	// Attempting to uncancel a subscription that has not been canceled:
	{
		"action": "subscription.update",
		"result": "success",
		"subscription": "u5UUIZ7ISk68eT1P9lje_w"		
	}
    ]
}

Rebill Managed Subscription Instances

To learn more about managed subscriptions, see Managed Subscriptions and Usage-Based Billing.

To change the rebill amount or the subscription contents, update the subscription instance using the corresponding operation above before triggering the rebill.

On-demand billings for a managed subscription are limited on a per-subscription basis to no more than one transaction per day, and no more than four transactions per 30-day period.

POST /subscriptions/charge
Request Example
{  
   "subscriptions":[  
      {  
         "subscription":"subscription-id"
      }
   ]
}
Response Example
{
  "subscription": [
    {
      "subscription": "subscription-id-1",
      "action": "subscription.charge",
      "result": "success"
    },
    // Possible errors
    {
      "subscription": "subscription-id-2",
      "action": "subscription.charge",
      "result": "error",
      "error": {
          "subscription": "EXPIRED_CARD",
          "subscription": "Subscription not found",
          "subscription": "Subscription is not active.",
          "subscription": "Only 1 successful rebill per day and 4 successful rebills per 30 days allowed."
      }
    }
  ]
}

Try FastSpring

Get a free account and see why FastSpring is the ecommerce partner of choice for software providers around the world. Try our full-service ecommerce solution today to unlock revenue growth for your online company.