# Adds the Install API for Stripe Apps

## What’s new

Adds the Install API for [Stripe Apps](https://docs.stripe.com/stripe-apps.md). Use the [Install](https://docs.stripe.com/api/apps/installs/object.md?api-version=2026-09-30.endive) object to [list](https://docs.stripe.com/api/apps/installs/list.md?api-version=2026-09-30.endive), [create](https://docs.stripe.com/api/apps/installs/create.md?api-version=2026-09-30.endive), [retrieve](https://docs.stripe.com/api/apps/installs/retrieve.md?api-version=2026-09-30.endive), [reauthorize](https://docs.stripe.com/api/apps/installs/update.md?api-version=2026-09-30.endive), and [uninstall](https://docs.stripe.com/api/apps/installs/uninstall.md?api-version=2026-09-30.endive) app installs on your own account, on the accounts that installed your app, or on the connected accounts that your platform manages.

The Install object reports the app’s current access:

- [permissions_granted](https://docs.stripe.com/api/apps/installs/object.md?api-version=2026-09-30.endive#apps_install_object-permissions_granted): Permissions the installer has approved.
- [content_security_policy_granted](https://docs.stripe.com/api/apps/installs/object.md?api-version=2026-09-30.endive#apps_install_object-content_security_policy_granted): Content security policy settings the installer has approved.
- [endpoints_granted](https://docs.stripe.com/api/apps/installs/object.md?api-version=2026-09-30.endive#apps_install_object-endpoints_granted): Endpoints the installer has approved.
- [permissions_pending](https://docs.stripe.com/api/apps/installs/object.md?api-version=2026-09-30.endive#apps_install_object-permissions_pending): Permissions requested by the latest app version that the installer hasn’t approved yet.
- [content_security_policy_pending](https://docs.stripe.com/api/apps/installs/object.md?api-version=2026-09-30.endive#apps_install_object-content_security_policy_pending): Content security policy settings requested by the latest app version that the installer hasn’t approved yet.
- [endpoints_pending](https://docs.stripe.com/api/apps/installs/object.md?api-version=2026-09-30.endive#apps_install_object-endpoints_pending): Endpoints requested by the latest app version that the installer hasn’t approved yet.
- [approval_required](https://docs.stripe.com/api/apps/installs/object.md?api-version=2026-09-30.endive#apps_install_object-approval_required): `true` whenever a pending list is non-empty. For private apps this stays `false`; creating or reauthorizing the install through the API installs the newest completed upload and grants its permissions.
- [status](https://docs.stripe.com/api/apps/installs/object.md?api-version=2026-09-30.endive#apps_install_object-status): The install lifecycle: `installed`, `installing`, `install_failed`, `uninstalling`, or `uninstall_failed`.
- [channel](https://docs.stripe.com/api/apps/installs/object.md?api-version=2026-09-30.endive#apps_install_object-channel): The distribution channel: `public`, `private_live`, `private_test`, `testing`, or `review`.
- [created_by](https://docs.stripe.com/api/apps/installs/object.md?api-version=2026-09-30.endive#apps_install_object-created_by): The platform that created the install, if any.

The list method supports the following parameters:

- [limit](https://docs.stripe.com/api/apps/installs/list.md?api-version=2026-09-30.endive#list_apps_installs-limit): Limits the number of objects returned.
- [starting_after](https://docs.stripe.com/api/apps/installs/list.md?api-version=2026-09-30.endive#list_apps_installs-starting_after): Returns objects after the specified cursor.
- [ending_before](https://docs.stripe.com/api/apps/installs/list.md?api-version=2026-09-30.endive#list_apps_installs-ending_before): Returns objects before the specified cursor.
- [app](https://docs.stripe.com/api/apps/installs/list.md?api-version=2026-09-30.endive#list_apps_installs-app): Filters installs by app.
- [account](https://docs.stripe.com/api/apps/installs/list.md?api-version=2026-09-30.endive#list_apps_installs-account): Filters installs by account.
- [channel](https://docs.stripe.com/api/apps/installs/list.md?api-version=2026-09-30.endive#list_apps_installs-channel): Filters installs by distribution channel.
- [status](https://docs.stripe.com/api/apps/installs/list.md?api-version=2026-09-30.endive#list_apps_installs-status): Filters installs by lifecycle status.
- [created](https://docs.stripe.com/api/apps/installs/list.md?api-version=2026-09-30.endive#list_apps_installs-created): Filters installs by creation time.
- [created_by](https://docs.stripe.com/api/apps/installs/list.md?api-version=2026-09-30.endive#list_apps_installs-created_by): Filters installs by the platform that created them.
- [approval_required](https://docs.stripe.com/api/apps/installs/list.md?api-version=2026-09-30.endive#list_apps_installs-approval_required): Filters installs by whether they have changes awaiting approval.

## Impact

You can now manage app installs programmatically instead of only through the Dashboard. App developers can list every account that installed their app and find installs that need reauthorization by filtering on `approval_required`. Platforms that embed apps can install them on the connected accounts they manage after the app’s developer approves their request to embed the app, and are identified in `created_by`. Developers with private apps can install, update, and uninstall them from an automated workflow: [create an install](https://docs.stripe.com/api/apps/installs/create.md?api-version=2026-09-30.endive) after each upload, or [reauthorize](https://docs.stripe.com/api/apps/installs/update.md?api-version=2026-09-30.endive) an existing one; either call installs the newest completed upload.

To check whether an account has your app installed and usable, list installs with `app`, `account`, `channel`, `status=installed`, and `limit=1`; an empty `data` array means the app isn’t installed. Only `installed` represents a usable install.

When an API call fails with a permission error, compare the permission against `permissions_granted` and `permissions_pending` to tell an expected pending reauthorization from an unexpected problem. To prompt an installer to reauthorize, show them the entries in `permissions_pending`, `content_security_policy_pending`, and `endpoints_pending`.

## Changes

#### REST API

|  | Change | Resource |
| --- | --- | --- |
|  | Added | [Apps.Install](/api/apps/installs/object?api-version=2026-09-30.endive) |

| Endpoints | Change | Resource |
| --- | --- | --- |
| `create`, `list`, `retrieve`, `uninstall`, `update` | Added | [Apps.Install](/api/apps/installs/object?api-version=2026-09-30.endive) |

| Values | Change | Enums |
| --- | --- | --- |
| `apps.install.created`, `apps.install.deleted`, `apps.install.updated` | Added | [Event.type](/api/events/object?api-version=2026-09-30.endive#event_object-type), [WebhookEndpoint#update.enabled_events](/api/webhook_endpoints/update?api-version=2026-09-30.endive#update_webhook_endpoint-enabled_events), [WebhookEndpoint#create.enabled_events](/api/webhook_endpoints/create?api-version=2026-09-30.endive#create_webhook_endpoint-enabled_events) |

|  | Change | Event type |
| --- | --- | --- |
| `apps.install.created`, `apps.install.deleted`, `apps.install.updated` | Added | `Apps.Install` |

#### Ruby

|  | Change | Resource |
| --- | --- | --- |
|  | Added | [Apps::Install](/api/apps/installs/object?api-version=2026-09-30.endive) |

| Methods | Change | Resource |
| --- | --- | --- |
| `create`, `list`, `retrieve`, `uninstall`, `update` | Added | [Apps::Install](/api/apps/installs/object?api-version=2026-09-30.endive) |

#### Python

|  | Change | Resource |
| --- | --- | --- |
|  | Added | [apps.Install](/api/apps/installs/object?api-version=2026-09-30.endive) |

| Methods | Change | Resource |
| --- | --- | --- |
| `create`, `list`, `modify`, `retrieve`, `uninstall` | Added | [apps.Install](/api/apps/installs/object?api-version=2026-09-30.endive) |

| Values | Change | Enums |
| --- | --- | --- |
| `apps.install.created`, `apps.install.deleted`, `apps.install.updated` | Added | [Event.type](/api/events/object?api-version=2026-09-30.endive#event_object-type), [WebhookEndpointModifyParams.enabled_events](/api/webhook_endpoints/update?api-version=2026-09-30.endive#update_webhook_endpoint-enabled_events), [WebhookEndpointCreateParams.enabled_events](/api/webhook_endpoints/create?api-version=2026-09-30.endive#create_webhook_endpoint-enabled_events) |

|  | Change | Event type |
| --- | --- | --- |
| `apps.install.created`, `apps.install.deleted`, `apps.install.updated` | Added | `apps.Install` |

#### PHP

|  | Change | Resource |
| --- | --- | --- |
|  | Added | [Apps.Install](/api/apps/installs/object?api-version=2026-09-30.endive) |

| Methods | Change | Resource |
| --- | --- | --- |
| `all`, `create`, `retrieve`, `uninstall`, `update` | Added | [Apps.Install](/api/apps/installs/object?api-version=2026-09-30.endive) |

| Values | Change | Enum |
| --- | --- | --- |
| `apps.install.created`, `apps.install.deleted`, `apps.install.updated` | Added | [Event.type](/api/events/object?api-version=2026-09-30.endive#event_object-type) |

|  | Change | Event type |
| --- | --- | --- |
| `APPS_INSTALL_CREATED`, `APPS_INSTALL_DELETED`, `APPS_INSTALL_UPDATED` | Added | `Apps.Install` |

#### Java

|  | Change | Resource |
| --- | --- | --- |
|  | Added | [apps.Install](/api/apps/installs/object?api-version=2026-09-30.endive) |

| Methods | Change | Resource |
| --- | --- | --- |
| `create`, `list`, `retrieve`, `uninstall`, `update` | Added | [apps.Install](/api/apps/installs/object?api-version=2026-09-30.endive) |

| Values | Change | Enums |
| --- | --- | --- |
| `apps.install.created`, `apps.install.deleted`, `apps.install.updated` | Added | [WebhookEndpointUpdateParams.enabledEvents](/api/webhook_endpoints/update?api-version=2026-09-30.endive#update_webhook_endpoint-enabledEvents), [WebhookEndpointCreateParams.enabledEvents](/api/webhook_endpoints/create?api-version=2026-09-30.endive#create_webhook_endpoint-enabledEvents) |

|  | Change | Event type |
| --- | --- | --- |
| `apps.install.created`, `apps.install.deleted`, `apps.install.updated` | Added | `apps.Install` |

#### Node.js

|  | Change | Resource |
| --- | --- | --- |
|  | Added | [Apps.Install](/api/apps/installs/object?api-version=2026-09-30.endive) |

| Methods | Change | Resource |
| --- | --- | --- |
| `create`, `list`, `retrieve`, `uninstall`, `update` | Added | [Apps.Install](/api/apps/installs/object?api-version=2026-09-30.endive) |

| Values | Change | Enums |
| --- | --- | --- |
| `apps.install.created`, `apps.install.deleted`, `apps.install.updated` | Added | [Event.type](/api/events/object?api-version=2026-09-30.endive#event_object-type), [WebhookEndpointUpdateParams.enabled_events](/api/webhook_endpoints/update?api-version=2026-09-30.endive#update_webhook_endpoint-enabled_events), [WebhookEndpointCreateParams.enabled_events](/api/webhook_endpoints/create?api-version=2026-09-30.endive#create_webhook_endpoint-enabled_events) |

|  | Change | Event type |
| --- | --- | --- |
| `AppsInstallCreatedEvent`, `AppsInstallDeletedEvent`, `AppsInstallUpdatedEvent` | Added | `Apps.Install` |

#### Go

|  | Change | Resource |
| --- | --- | --- |
|  | Added | [AppsInstall](/api/apps/installs/object?api-version=2026-09-30.endive) |

| Methods | Change | Resource |
| --- | --- | --- |
| `Get`, `List`, `New`, `Uninstall`, `Update` | Added | [AppsInstall](/api/apps/installs/object?api-version=2026-09-30.endive) |

| Values | Change | Enum |
| --- | --- | --- |
| `apps.install.created`, `apps.install.deleted`, `apps.install.updated` | Added | [Event.Type](/api/events/object?api-version=2026-09-30.endive#event_object-Type) |

|  | Change | Event type |
| --- | --- | --- |
| `EventTypeAppsInstallCreated`, `EventTypeAppsInstallDeleted`, `EventTypeAppsInstallUpdated` | Added | `AppsInstall` |

#### .NET

|  | Change | Resource |
| --- | --- | --- |
|  | Added | [Apps.Install](/api/apps/installs/object?api-version=2026-09-30.endive) |

| Methods | Change | Resource |
| --- | --- | --- |
| `Create`, `Get`, `List`, `Uninstall`, `Update` | Added | [Apps.Install](/api/apps/installs/object?api-version=2026-09-30.endive) |

|  | Change | Event type |
| --- | --- | --- |
| `AppsInstallCreated`, `AppsInstallDeleted`, `AppsInstallUpdated` | Added | `Apps.Install` |

## Upgrade

#### REST API

1. [View your current API version](https://docs.stripe.com/workbench/guides.md#view-api-versions) in Workbench.
2. If you use an SDK, upgrade to the corresponding SDK version for this API version.
   - If you don’t use an SDK, update your [API requests](https://docs.stripe.com/api-versions.md#how-versions-are-specified-in-requests) to include `Stripe-Version: 2026-09-30.endive`
3. Upgrade the API version used for [webhook endpoints](https://docs.stripe.com/webhooks/versioning.md).
4. [Test your integration](https://docs.stripe.com/testing.md) against the new version.
5. If you use Connect, [test your Connect integration](https://docs.stripe.com/connect/testing.md).

Learn more about [Stripe API upgrades](https://docs.stripe.com/upgrades.md).

#### Ruby

1. [View your current API version](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) in Workbench.
2. Upgrade your Ruby SDK to the latest version.
3. Upgrade the API version used for [webhook endpoints](https://docs.stripe.com/webhooks/versioning.md).
4. [Test your integration](https://docs.stripe.com/testing.md) against the new version.
5. If you use Connect, [test your Connect integration](https://docs.stripe.com/connect/testing.md).
6. In Workbench, [perform the upgrade](https://docs.stripe.com/upgrades.md#perform-the-upgrade). You can [roll back the version](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) for 72 hours.

Learn more about [Stripe API upgrades](https://docs.stripe.com/upgrades.md).

#### Python

1. [View your current API version](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) in Workbench.
2. Upgrade your Python SDK to the latest version.
3. Upgrade the API version used for [webhook endpoints](https://docs.stripe.com/webhooks/versioning.md).
4. [Test your integration](https://docs.stripe.com/testing.md) against the new version.
5. If you use Connect, [test your Connect integration](https://docs.stripe.com/connect/testing.md).
6. In Workbench, [perform the upgrade](https://docs.stripe.com/upgrades.md#perform-the-upgrade). You can [roll back the version](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) for 72 hours.

Learn more about [Stripe API upgrades](https://docs.stripe.com/upgrades.md).

#### PHP

1. [View your current API version](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) in Workbench.
2. Upgrade your PHP SDK to the latest version.
3. Upgrade the API version used for [webhook endpoints](https://docs.stripe.com/webhooks/versioning.md).
4. [Test your integration](https://docs.stripe.com/testing.md) against the new version.
5. If you use Connect, [test your Connect integration](https://docs.stripe.com/connect/testing.md).
6. In Workbench, [perform the upgrade](https://docs.stripe.com/upgrades.md#perform-the-upgrade). You can [roll back the version](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) for 72 hours.

Learn more about [Stripe API upgrades](https://docs.stripe.com/upgrades.md).

#### Java

1. [View your current API version](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) in Workbench.
2. Upgrade your Java SDK to the latest version.
3. Upgrade the API version used for [webhook endpoints](https://docs.stripe.com/webhooks/versioning.md).
4. [Test your integration](https://docs.stripe.com/testing.md) against the new version.
5. If you use Connect, [test your Connect integration](https://docs.stripe.com/connect/testing.md).
6. In Workbench, [perform the upgrade](https://docs.stripe.com/upgrades.md#perform-the-upgrade). You can [roll back the version](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) for 72 hours.

Learn more about [Stripe API upgrades](https://docs.stripe.com/upgrades.md).

#### Node.js

1. [View your current API version](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) in Workbench.
2. Upgrade your Node SDK to the latest version.
3. Upgrade the API version used for [webhook endpoints](https://docs.stripe.com/webhooks/versioning.md).
4. [Test your integration](https://docs.stripe.com/testing.md) against the new version.
5. If you use Connect, [test your Connect integration](https://docs.stripe.com/connect/testing.md).
6. In Workbench, [perform the upgrade](https://docs.stripe.com/upgrades.md#perform-the-upgrade). You can [roll back the version](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) for 72 hours.

Learn more about [Stripe API upgrades](https://docs.stripe.com/upgrades.md).

#### Go

1. [View your current API version](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) in Workbench.
2. Upgrade your Go SDK to the latest version.
3. Upgrade the API version used for [webhook endpoints](https://docs.stripe.com/webhooks/versioning.md).
4. [Test your integration](https://docs.stripe.com/testing.md) against the new version.
5. If you use Connect, [test your Connect integration](https://docs.stripe.com/connect/testing.md).
6. In Workbench, [perform the upgrade](https://docs.stripe.com/upgrades.md#perform-the-upgrade). You can [roll back the version](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) for 72 hours.

Learn more about [Stripe API upgrades](https://docs.stripe.com/upgrades.md).

#### .NET

1. [View your current API version](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) in Workbench.
2. Upgrade your .NET SDK to the latest version.
3. Upgrade the API version used for [webhook endpoints](https://docs.stripe.com/webhooks/versioning.md).
4. [Test your integration](https://docs.stripe.com/testing.md) against the new version.
5. If you use Connect, [test your Connect integration](https://docs.stripe.com/connect/testing.md).
6. In Workbench, [perform the upgrade](https://docs.stripe.com/upgrades.md#perform-the-upgrade). You can [roll back the version](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) for 72 hours.

Learn more about [Stripe API upgrades](https://docs.stripe.com/upgrades.md).
