# Retrieve the latest update

```
GET 
https://api.freemius.com/v1/products/{product_id}/installs/{install_id}/updates/latest.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 latest product update available for an install.

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

### Path Parameters

* **product\_id**
  <!-- -->
  integer\<int64>[](#param-property-installations-retrieve-latest-update-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-retrieve-latest-update-param-path-install-id "Direct link to install_id")required

  The ID of the install.

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

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

### Query Parameters

* **is\_premium**
  <!-- -->
  boolean[](#param-property-installations-retrieve-latest-update-param-query-is-premium "Direct link to is_premium")

  If set, tries to fetch the requested version. If requires premium but no license, will throw an error. Otherwise, fetch version based on license.

  **readme**
  <!-- -->
  boolean[](#param-property-installations-retrieve-latest-update-param-query-readme "Direct link to readme")

  If set, tries to fetch the readme information.

  **newer\_than**
  <!-- -->
  boolean[](#param-property-installations-retrieve-latest-update-param-query-newer-than "Direct link to newer_than")

  If set, return the latest version's data only if it's newer than this property's value.

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

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

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

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

<!-- -->

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

* 200
* 400
* 401
* 402
* 404

Updates collection.

application/json

**Schema**

**id**string\<int64>[](#schema-property-installations-retrieve-latest-update-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-retrieve-latest-update-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-retrieve-latest-update-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-retrieve-latest-update-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-retrieve-latest-update-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-retrieve-latest-update-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-retrieve-latest-update-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-retrieve-latest-update-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-retrieve-latest-update-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-retrieve-latest-update-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-retrieve-latest-update-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-retrieve-latest-update-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-retrieve-latest-update-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-retrieve-latest-update-response-schema-has-free-boolean "Direct link to has_free")

If the product has a free version.

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

If the product has a premium version.

**release\_mode**string[](#schema-property-installations-retrieve-latest-update-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-retrieve-latest-update-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-retrieve-latest-update-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-retrieve-latest-update-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-retrieve-latest-update-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-retrieve-latest-update-response-schema-url-string "Direct link to url")

The Installation zip file URL with authorization 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-retrieve-latest-update-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-retrieve-latest-update-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-retrieve-latest-update-response-schema-message-string "Direct link to message")

The descriptive error message.

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

**code**string[](#schema-property-installations-retrieve-latest-update-response-schema-code-string "Direct link to code")

The error code.

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

**http**integer[](#schema-property-installations-retrieve-latest-update-response-schema-http-integer "Direct link to http")

The HTTP status code returned by the server.

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

**timestamp**string[](#schema-property-installations-retrieve-latest-update-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-retrieve-latest-update-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-retrieve-latest-update-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-retrieve-latest-update-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-retrieve-latest-update-response-schema-message-string "Direct link to message")

The descriptive error message.

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

**code**string[](#schema-property-installations-retrieve-latest-update-response-schema-code-string "Direct link to code")

The error code.

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

**http**integer[](#schema-property-installations-retrieve-latest-update-response-schema-http-integer "Direct link to http")

The HTTP status code returned by the server.

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

**timestamp**string[](#schema-property-installations-retrieve-latest-update-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-retrieve-latest-update-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 request is missing the specified argument.

application/json

**Schema**

**path**string[](#schema-property-installations-retrieve-latest-update-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-retrieve-latest-update-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-retrieve-latest-update-response-schema-message-string "Direct link to message")

The descriptive error message.

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

**code**string[](#schema-property-installations-retrieve-latest-update-response-schema-code-string "Direct link to code")

The error code.

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

**http**integer[](#schema-property-installations-retrieve-latest-update-response-schema-http-integer "Direct link to http")

The HTTP status code returned by the server.

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

**timestamp**string[](#schema-property-installations-retrieve-latest-update-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-retrieve-latest-update-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-retrieve-latest-update-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-retrieve-latest-update-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-retrieve-latest-update-response-schema-message-string "Direct link to message")

The descriptive error message.

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

**code**string[](#schema-property-installations-retrieve-latest-update-response-schema-code-string "Direct link to code")

The error code.

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

**http**integer[](#schema-property-installations-retrieve-latest-update-response-schema-http-integer "Direct link to http")

The HTTP status code returned by the server.

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

**timestamp**string[](#schema-property-installations-retrieve-latest-update-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-retrieve-latest-update-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"}`
