Skip to main content

Update a product

PUT 

https://api.freemius.com/v1/products/{product_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 product by ID.

Request

Path Parameters

    product_id integer<int64>required

    The ID of the product.

    Possible values: >= 1

    Example: 1234

Body

    iconstring<binary>

    The icon of the entity, must be a valid JPG, PNG or GIF image, with dimension not exceeding 300px by 300px. Max allowed size is 200KB

    datastring<json>

    The JSON data of the endpoint, matching the same schema as the json request body. Must be a valid JSON object.

    Example: {"name":"My Product"}

Responses

OK

Schema
selling_unit_labelstring

The selling unit label of the product. For example, 'site', 'user', 'language', 'credit', etc. This is used in the pricing page and in the license key information to indicate the unit of the license key. If not set, it defaults to 'site' for plugins and themes, 'unit' for SaaS products, and 'activation' for Apps.

Example: site
enable_after_purchase_email_login_linkboolean

Indicates whether the customer portal login link is included in the after-purchase emails.

Example: true
restrict_single_subscription_per_userboolean

Indicates whether Freemius will enforce single active susbcription per user. This is available for SaaS products only.

Example: false
secret_keystring

The secret key associated with the entity for authorization.

Example: sk_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6
public_keystring

The public key associated with the entity for authorization.

Example: pk_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6
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
parent_plugin_idstring<int64>nullable

If the product is an add-on then this is the ID of the parent product.

Possible values: >= 1

Example: 123456
developer_idstring<int64>

The ID of the developer that owns the product.

Possible values: >= 1

Example: 123456
store_idstring<int64>

The ID of the store that the product is being sold on.

Possible values: >= 1

Example: 123456
slugstring

The slug of the product. If your plugin is listed on WordPress.org repository, use the exact slug.

Example: my-freemius-plugin
titlestring

The title of the product.

Example: My Freemius Plugin
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
iconstringnullable

Product's icon (profile picture).

Example: https://img.freemius.com/plugin-icon-blue.png
default_plan_idstring<int64>

Default plan ID of the product.

plansstring

Comma separated, ordered plans collection.

Example: 123456,123457,123458
featuresstring

Comma separated, ordered features collection.

Example: 123456,123457,123458
money_back_periodinteger

Money-back guarantee in days.

refund_policystring

Possible values: [flexible, moderate, strict]

is_consumptive_usageboolean

Indicates whether the product follows a consumptive usage. Use this if your product includes one-off or consumptive usage like AI credits, API usage etc. It affects how the refund policy is generated for your product. Check our documentation to learn more.

This is applicable for SaaS products only.

annual_renewals_discountintegernullable

Renewals discount that will be applied to the chosen plan.

renewals_discount_typestring

The type of renewals discount, percentage or dollar.

Possible values: [percentage, dollar]

lifetime_license_proration_daysintegernullable

Number of days to allow proration when upgrading from one lifetime license to another. Can be a number greater than 30 or null for unlimited.

Possible values: >= 30 and <= 65535

Example: 30
is_releasedboolean

A flag that controls the visibility of add-ons in the in-dashboard add-ons marketplace. Defaults to true. Only applicable if the product is an add-on.

is_sdk_requiredboolean

A flag that controls whether the SDK should be required or not during deployment of a version. It defaults to true.

is_pricing_visibleboolean

Determines if the pricing should be visible in the in-SDK pricing page. Defaults to true. Turn this off during the development of a new product.

is_wp_org_compliantboolean

Set to true if the free version of the module is hosted on WordPress.org. Defaults to true.

installs_countinteger

Total number of opted in sites which were logged with the SDK.

active_installs_countinteger

Total number of active sites where the SDK is active.

free_releases_countinteger

The number of "free" version of the product that were deployed from Freemius.

premium_releases_countinteger

The number of "premium" version of the product that were deployed from Freemius.

total_purchasesinteger

Total number of payments recorded for the product.

total_subscriptionsinteger

Total number of subscriptions recorded for the product.

total_renewalsinteger

Total number of renewals recorded for the product.

total_failed_purchasesinteger

Total number of failed payments recorded for the product.

Example: 1234
earningsnumber<float>

Total gross revenues.

Example: 1234.56
typestring

Possible values: [plugin, theme, widget, template]

type_aliasstring

The alias type of the product. For example, 'extension', 'chrome extension', 'desktop app'.

is_staticboolean

Determines whether the product is categorized as a static product (for example, a widget or a template).

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