Skip to main content

Cancel a subscription

DELETE 

https://api.freemius.com/v1/products/{product_id}/subscriptions/{subscription_id}.json

Auth:Bearer TokenSCOPE: PRODUCT

Product-scoped API tokens allow you to operate on the product itself. This token usually allows read-only access to the product configuration and write access to several operations on subscriptions, customers, payments, and more. For most SaaS or app integrations, this is the token you will need.

  1. Go to the Freemius Developer Dashboard.
  2. Open the Settings page of the relevant product.
  3. Click the API & Keys tab.
  4. Copy the API Bearer Authorization Token from the UI.

Use this endpoint to cancel the subscription. If the subscription is currently in a trialing state, this will also cancel the trial.

This is useful when you want to programmatically offer a cancellation feature from within your SaaS or custom dashboards. If you're integrating Freemius with your SaaS, please see our guide here.

⚠️ This action is irreversible and will immediately cancel the subscription or trial.

Cancelling an already cancelled subscription will not have any effect and the endpoint will return the same subscription details as before.

Request

Path Parameters

    product_id integer<int64>required

    The ID of the product.

    Possible values: >= 1

    Example: 1234
    subscription_id integer<int64>required

    The ID of the Subscription.

    Possible values: >= 1

    Example: 1234

Query Parameters

    reason_ids integer[]

    Optional cancellation reason IDs.

    Possible values: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

    reason string

Responses

Subscription retrieved.

Schema
user_idstring<int64>

The ID of the user the entity belongs to.

Possible values: >= 1

Example: 123456
install_idstring<int64>nullable

The ID of the installation or site the entity is associated with, a null value means it has not been associated with an installation yet.

Possible values: >= 1

Example: 123456
plan_idstring<int64>

The ID of the plan associated with the entity.

Possible values: >= 1

Example: 123456
pricing_idstring<int64>

The ID of the pricing associated with the entity.

Possible values: >= 1

Example: 123456
license_idstring<int64>

The ID of the license associated with the entity.

Possible values: >= 1

Example: 123456
ipstring<ipv4|ipv6>nullable

The IP address associated with the entity.

Example: 0.0.0.0
country_codestring

The ISO 3166-1 alpha 2 two-letter country code associated with the entity.

Example: us
zip_postal_codestringnullable

The postal/zip code of the location.

Example: 92710
vat_idstringnullable

The business VAT number (EU or UK territories) or other tax ID (for example Sales Tax ID for the US).

Example: GB12345678
coupon_idstring<int64>nullable

The ID of the coupon associated with the entity.

Possible values: >= 1

Example: 123456
user_card_idstring<int64>

The ID of the user card that was used for this payment.

Example: 12345
sourcenumber

The source of the migration data. To get support migrating from other platform please see our documentation.

  • 0 - Freemius
  • 1 - Other
  • 2 - Easy Digital Downloads (EDD)
  • 3 - WooCommerce (WC)
  • 4 - Rating Widget
  • 5 - Gumroad
  • 6 - CodeCanyon
  • 7 - ThemeForest
  • 8 - AppSumo
  • 9 - SendOwl
  • 10 - WHMCS
  • 11 - Lemon Squeezy

Possible values: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

plugin_idstring<int64>

The ID of the product the entity belongs to.

Possible values: >= 1

Example: 123456
external_idstring

The external ID of the gateway entity.

Example: abcde12345
gatewaystringnullable

The gateway used for the purchase. The gateway will be set to null when purchasing a product with a 100% discount.

environmentnumber

The environment the entity belongs to. 0 means it belongs to the production environment, 1 means it belongs to the sandbox environment.

Possible values: [1, 0]

Example: 0
idstring<int64>

The unique identifier of the entity.

Possible values: >= 1

Example: 123456
createdstring<date-time>

The date and time the entity was created, under UTC timezone.

Example: 2025-01-01 00:00:00
updatedstring<date-time>nullable

The date and time the entity was updated, under UTC timezone. If null then the entity was never updated since its creation.

Example: 2025-01-01 00:00:00
currencystring

3-char currency code.

Possible values: >= 3 characters and <= 3 characters, [usd, eur, gbp]

tax_ratenumber<float>

The tax rate as a fraction. It will either be US sales tax or VAT.

Possible values: >= 0

Example: 1.00
total_grossnumber<float>

The total gross amount of the subscription, including taxes.

Possible values: >= 0

Example: 1.21
amount_per_cyclenumber<float>

The plan's original amount per cycle (not including taxes).

Possible values: >= 0

Example: 1.00
initial_amountnumber<float>

The initial payment amount (not including taxes).

Possible values: >= 0

Example: 1.00
renewal_amountnumber<float>

The renewals amount (not including taxes).

Possible values: >= 0

Example: 1.00
renewals_discountinteger

The renewals discount that will be applied to the chosen plan.

Possible values: >= 0

Example: 1
renewals_discount_typestring

The type of renewals discount, percentage or dollar.

Possible values: [percentage, dollar]

billing_cyclenumber

The billing cycle of the subscription in number of months. 1 means monthly, 12 means annually, 0 means lifetime usually when subscriptions are created for lifetime trials.

Possible values: [1, 12, 0]

outstanding_balancenumber<float>

Any outstanding balance that the user has for this subscription.

Possible values: >= 0

Example: 1.00
failed_paymentsinteger

Number of failed payments associated with the subscription.

Possible values: >= 0

Example: 1
trial_endsstring<date-time>nullable

The date time when the trial period ends. If null the subscription is not associated with a trial.

Example: 2025-01-01 00:00:00
next_paymentstring<date-time>nullable

Datetime of the next payment, or null if cancelled.

Example: 2025-01-01 00:00:00
canceled_atstring<date-time>nullable

Datetime of the cancellation.

Example: 2025-01-01 00:00:00
We use essential cookies to enable our site to function. With your consent, we also use analytics and advertising cookies to understand how visitors interact with our site and to improve our services.
Learn More