Skip to main content

Update a deployment

PUT 

https://api.freemius.com/v1/products/{product_id}/tags/{tag_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.

Update a specific deployed version of the product. This applies to WordPress products only. Use this endpoint to update the release_mode of a deployment to make it available to your customers.

Release Modes

Defined by the release_mode property, with the following possible values:

  • pending – The deployment is pending and not visible to customers. This is the default value.
  • beta – The deployment is in beta mode. Only customers with beta access will see this version.
  • released – The deployment is released and visible to all customers.

Additionally, WordPress plugins and themes support incremental releases and staged rollouts:

  • Incremental Release: Controlled via the is_incremental flag, incremental releases enforce sequential updates, requiring users to install designated intermediate versions before proceeding to newer ones.
  • Staged Rollout: Managed through the limit and percentage_limit flags, staged rollouts enable gradual deployment of updates to a subset of users, allowing for monitoring and issue resolution before full release.

Note: Incremental Release and Staged Rollout are not supported for templates and widgets.

Request

Path Parameters

    product_id integer<int64>required

    The ID of the product.

    Possible values: >= 1

    Example: 1234
    tag_id integer<int64>required

    The ID of the product version.

    Possible values: >= 1

    Example: 1234

Body

    release_modestring

    The release mode of the product.

    Possible values: [released, pending, beta]

    limitinteger

    The maximum number of downloads allowed for this version. This is used for staged rollout of WordPress products. Unlimited number is set as null.

    Possible values: >= 1

    Example: 50
    percentage_limitinteger

    Instead of limit, you can use this property to limit the percentage of license owners that will receive an update. The value must be between 0 and 100. Behind the scenes the system will count the current active license owners and convert it into an absolute value.

    Possible values: >= 0 and <= 100

    is_incrementalboolean

    Determines whether the version is incremental or not.

    Example: true

Responses

The updated deployment.

Schema
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
plugin_idstring<int64>

The ID of the product the entity belongs to.

Possible values: >= 1

Example: 123456
developer_idstring<int64>

The ID of a developer.

Possible values: >= 1

Example: 1234
slugstringnullable

The slug of the product. This is auto-generated from your product settings.

Example: my-freemius-plugin
premium_slugstringnullable

The slug of the premium product. This is auto-generated from your product's settings.

Example: my-freemius-plugin-pro
versionstring<semver>

The version of the product. For WordPress.org products (plugins and themes), we recommend using semver semantics to support composer integration.

Example: 1.0.0
sdk_versionstring

The Freemius SDK version. Only relevant for WordPress products using the Freemius WP SDK.

Example: 1.2.2
requires_platform_versionstringnullable

The platform version required (e.g WordPress version).

Example: 1.0.0
requires_programming_language_versionstringnullable

The programming language version (e.g PHP version).

Example: 5.6
tested_up_to_versionstringnullable

The tested platform version that the product is compatible (e.g WordPress version).

Example: 1.0.0
downloadedinteger

The number of times the product has been downloaded.

Possible values: >= 0

Example: 1234
has_freeboolean

If the product has a free version.

has_premiumboolean

If the product has a premium version.

release_modestring

The release mode of the product.

Possible values: [released, pending, beta]

limitinteger

The maximum number of downloads allowed for this version. This is used for staged rollout of WordPress products. Unlimited number is set as null.

Possible values: >= 1

Example: 50
uniquesinteger

The number of unique users that have downloaded the product.

Possible values: >= 1

Example: 1234
is_incrementalboolean

Determines whether the version is incremental or not.

Example: true
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