# List all updates

```
GET 
https://api.freemius.com/v1/products/{product_id}/installs/{install_id}/updates.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](https://dashboard.freemius.com/).
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.

***

Retrieve the product update collection available for an install.

## Request[​](#request "Direct link to request")

### Path Parameters

* **product\_id**
  <!-- -->
  integer\<int64>[](#param-property-installations-list-updates-param-path-product-id "Direct link to product_id")required

  The ID of the product.

  **Possible values:** `>= 1`

  **Example:<!-- -->&#x20;**`1234`

  **install\_id**
  <!-- -->
  integer\<int64>[](#param-property-installations-list-updates-param-path-install-id "Direct link to install_id")required

  The ID of the install.

  **Possible values:** `>= 1`

  **Example:<!-- -->&#x20;**`1234`

### Query Parameters

* **version**
  <!-- -->
  string[](#param-property-installations-list-updates-param-query-version "Direct link to version")required

  The product's version of the current install. The endpoint will return newer versions when set. This is a required param unless `older_than` is provided.

  **Example:<!-- -->&#x20;**`1.0.0`

  **older\_than**
  <!-- -->
  string[](#param-property-installations-list-updates-param-query-older-than "Direct link to older_than")

  If provided, only versions that are older than this will be returned.

  **Example:<!-- -->&#x20;**`1.0.0`

  **type**
  <!-- -->
  string[](#param-property-installations-list-updates-param-query-type "Direct link to type")

  **Default value:<!-- -->&#x20;**`released`

  The product type. If the type provide is `all`, the latest `released` or `pending` version will be returned, whichever has the higher version.

  **Possible values:** \[`released`, `pending`, `beta`, `all`]

  **count**
  <!-- -->
  integer[](#param-property-installations-list-updates-param-query-count "Direct link to count")

  **Default value:<!-- -->&#x20;**`25`

  The number of records to return.

  **Possible values:** `>= 1` and `<= 50`

  **Example:<!-- -->&#x20;**`10`

  **offset**
  <!-- -->
  integer[](#param-property-installations-list-updates-param-query-offset "Direct link to offset")

  **Default value:<!-- -->&#x20;**`0`

  The number of records to skip before starting to return records. Default is 0.

  **Possible values:** `>= 0`

  **Example:<!-- -->&#x20;**`10`

  **fields**
  <!-- -->
  string[](#param-property-installations-list-updates-param-query-fields "Direct link to fields")

  Comma separated list of fields to return in the response. If not specified, all fields are returned.

  **Example:<!-- -->&#x20;**`id,name,slug`

<!-- -->

## Responses[​](#responses "Direct link to Responses")

* 200
* 400
* 401
* 404

Updates collection.

application/json

**Schema**

**tags** <!-- -->object\[]

* Array \[

**id**string\<int64>[](#schema-property-installations-list-updates-response-schema-id-string-int64 "Direct link to id")

The unique identifier of the entity.

**Possible values:** `>= 1`

**Example:<!-- -->&#x20;**`123456`

**created**string\<date-time>[](#schema-property-installations-list-updates-response-schema-created-string-date-time "Direct link to created")

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

**Example:<!-- -->&#x20;**`2025-01-01 00:00:00`

**updated**string\<date-time>[](#schema-property-installations-list-updates-response-schema-updated-string-date-time "Direct link to updated")nullable

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

**Example:<!-- -->&#x20;**`2025-01-01 00:00:00`

**plugin\_id**string\<int64>[](#schema-property-installations-list-updates-response-schema-plugin-id-string-int64 "Direct link to plugin_id")

The ID of the product the entity belongs to.

**Possible values:** `>= 1`

**Example:<!-- -->&#x20;**`123456`

**developer\_id**string\<int64>[](#schema-property-installations-list-updates-response-schema-developer-id-string-int64 "Direct link to developer_id")

The ID of a developer.

**Possible values:** `>= 1`

**Example:<!-- -->&#x20;**`1234`

**slug**string[](#schema-property-installations-list-updates-response-schema-slug-string "Direct link to slug")nullable

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

**Example:<!-- -->&#x20;**`my-freemius-plugin`

**premium\_slug**string[](#schema-property-installations-list-updates-response-schema-premium-slug-string "Direct link to premium_slug")nullable

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

**Example:<!-- -->&#x20;**`my-freemius-plugin-pro`

**version**string\<semver>[](#schema-property-installations-list-updates-response-schema-version-string-semver "Direct link to version")

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

**Example:<!-- -->&#x20;**`1.0.0`

**sdk\_version**string[](#schema-property-installations-list-updates-response-schema-sdk-version-string "Direct link to sdk_version")

The Freemius SDK version. Only relevant for WordPress products using the Freemius [WP SDK](https://freemius.com/help/documentation/wordpress-sdk/).

**Example:<!-- -->&#x20;**`1.2.2`

**requires\_platform\_version**string[](#schema-property-installations-list-updates-response-schema-requires-platform-version-string "Direct link to requires_platform_version")nullable

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

**Example:<!-- -->&#x20;**`1.0.0`

**requires\_programming\_language\_version**string[](#schema-property-installations-list-updates-response-schema-requires-programming-language-version-string "Direct link to requires_programming_language_version")nullable

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

**Example:<!-- -->&#x20;**`5.6`

**tested\_up\_to\_version**string[](#schema-property-installations-list-updates-response-schema-tested-up-to-version-string "Direct link to tested_up_to_version")nullable

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

**Example:<!-- -->&#x20;**`1.0.0`

**downloaded**integer[](#schema-property-installations-list-updates-response-schema-downloaded-integer "Direct link to downloaded")

The number of times the product has been downloaded.

**Possible values:** `>= 0`

**Example:<!-- -->&#x20;**`1234`

**has\_free**boolean[](#schema-property-installations-list-updates-response-schema-has-free-boolean "Direct link to has_free")

If the product has a free version.

**has\_premium**boolean[](#schema-property-installations-list-updates-response-schema-has-premium-boolean "Direct link to has_premium")

If the product has a premium version.

**release\_mode**string[](#schema-property-installations-list-updates-response-schema-release-mode-string "Direct link to release_mode")

The release mode of the product.

**Possible values:** \[`released`, `pending`, `beta`]

**limit**integer[](#schema-property-installations-list-updates-response-schema-limit-integer "Direct link to limit")

The maximum number of downloads allowed for this version. This is used for [staged rollout](https://freemius.com/help/documentation/release-management/staged-rollouts/) of WordPress products. Unlimited number is set as `null`.

**Possible values:** `>= 1`

**Example:<!-- -->&#x20;**`50`

**uniques**integer[](#schema-property-installations-list-updates-response-schema-uniques-integer "Direct link to uniques")

The number of unique users that have downloaded the product.

**Possible values:** `>= 1`

**Example:<!-- -->&#x20;**`1234`

**is\_incremental**boolean[](#schema-property-installations-list-updates-response-schema-is-incremental-boolean "Direct link to is_incremental")

Determines whether the version is incremental or not.

**Example:<!-- -->&#x20;**`true`

**is\_released**boolean[](#schema-property-installations-list-updates-response-schema-is-released-boolean "Direct link to is_released")

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.

**url**string[](#schema-property-installations-list-updates-response-schema-url-string "Direct link to url")

The Installation zip file URL with authentication token.

**Example:<!-- -->&#x20;**`https://example.com/`

* ]

Bad request. The request could not be understood by the server due to malformed syntax or arguments.

application/json

**Schema**

**path**string[](#schema-property-installations-list-updates-response-schema-path-string "Direct link to path")

The API request path.

**Example:<!-- -->&#x20;**`:/products/product_id/users.json`

**error** <!-- -->object

This object contains the error details.

**type**string[](#schema-property-installations-list-updates-response-schema-type-string "Direct link to type")

The type of the error encountered by the server.

**Example:<!-- -->&#x20;**`UnauthorizedAccess`

**message**string[](#schema-property-installations-list-updates-response-schema-message-string "Direct link to message")

The descriptive error message.

**Example:<!-- -->&#x20;**`Some error has occured.`

**code**string[](#schema-property-installations-list-updates-response-schema-code-string "Direct link to code")

The error code.

**Example:<!-- -->&#x20;**`unauthorized_access`

**http**integer[](#schema-property-installations-list-updates-response-schema-http-integer "Direct link to http")

The HTTP status code returned by the server.

**Example:<!-- -->&#x20;**`401`

**timestamp**string[](#schema-property-installations-list-updates-response-schema-timestamp-string "Direct link to timestamp")

Current timestamp.

**Example:<!-- -->&#x20;**`Thu, 11 May 2023 11:45:30 +0000`

**request** <!-- -->object

This object sends back the request payload as received by the server (both from path and from body or query).

**property name\***&#x61;ny[](#schema-property-installations-list-updates-response-schema-property-name-any "Direct link to property name*")

This object sends back the request payload as received by the server (both from path and from body or query).

**Example:<!-- -->&#x20;**`{"beautify":true,"format":"json"}`

Unauthorized access error. The request requires [authentication](https://freemius.com/help/api/#bearer-token-authentication) but was not provided or the provided authentication does not satisfy the required permissions.

application/json

**Schema**

**path**string[](#schema-property-installations-list-updates-response-schema-path-string "Direct link to path")

The API request path.

**Example:<!-- -->&#x20;**`:/products/product_id/users.json`

**error** <!-- -->object

This object contains the error details.

**type**string[](#schema-property-installations-list-updates-response-schema-type-string "Direct link to type")

The type of the error encountered by the server.

**Example:<!-- -->&#x20;**`UnauthorizedAccess`

**message**string[](#schema-property-installations-list-updates-response-schema-message-string "Direct link to message")

The descriptive error message.

**Example:<!-- -->&#x20;**`Some error has occured.`

**code**string[](#schema-property-installations-list-updates-response-schema-code-string "Direct link to code")

The error code.

**Example:<!-- -->&#x20;**`unauthorized_access`

**http**integer[](#schema-property-installations-list-updates-response-schema-http-integer "Direct link to http")

The HTTP status code returned by the server.

**Example:<!-- -->&#x20;**`401`

**timestamp**string[](#schema-property-installations-list-updates-response-schema-timestamp-string "Direct link to timestamp")

Current timestamp.

**Example:<!-- -->&#x20;**`Thu, 11 May 2023 11:45:30 +0000`

**request** <!-- -->object

This object sends back the request payload as received by the server (both from path and from body or query).

**property name\***&#x61;ny[](#schema-property-installations-list-updates-response-schema-property-name-any "Direct link to property name*")

This object sends back the request payload as received by the server (both from path and from body or query).

**Example:<!-- -->&#x20;**`{"beautify":true,"format":"json"}`

The requested resource was not found.

application/json

**Schema**

**path**string[](#schema-property-installations-list-updates-response-schema-path-string "Direct link to path")

The API request path.

**Example:<!-- -->&#x20;**`:/products/product_id/users.json`

**error** <!-- -->object

This object contains the error details.

**type**string[](#schema-property-installations-list-updates-response-schema-type-string "Direct link to type")

The type of the error encountered by the server.

**Example:<!-- -->&#x20;**`UnauthorizedAccess`

**message**string[](#schema-property-installations-list-updates-response-schema-message-string "Direct link to message")

The descriptive error message.

**Example:<!-- -->&#x20;**`Some error has occured.`

**code**string[](#schema-property-installations-list-updates-response-schema-code-string "Direct link to code")

The error code.

**Example:<!-- -->&#x20;**`unauthorized_access`

**http**integer[](#schema-property-installations-list-updates-response-schema-http-integer "Direct link to http")

The HTTP status code returned by the server.

**Example:<!-- -->&#x20;**`401`

**timestamp**string[](#schema-property-installations-list-updates-response-schema-timestamp-string "Direct link to timestamp")

Current timestamp.

**Example:<!-- -->&#x20;**`Thu, 11 May 2023 11:45:30 +0000`

**request** <!-- -->object

This object sends back the request payload as received by the server (both from path and from body or query).

**property name\***&#x61;ny[](#schema-property-installations-list-updates-response-schema-property-name-any "Direct link to property name*")

This object sends back the request payload as received by the server (both from path and from body or query).

**Example:<!-- -->&#x20;**`{"beautify":true,"format":"json"}`
