---
title: "Retrieve an app install"
method: GET
path: "/v1/apps/installs/{id}"
---

# Retrieve an app install

`GET /v1/apps/installs/{id}`

## Request

- Base URL: `https://api.stripe.com`
- URL: `https://api.stripe.com/v1/apps/installs/{id}`
- Auth: one of:
  - HTTP basic
  - HTTP bearer

Retrieves an app install. The installing account, the app’s developer (with the keys of the account that owns the app or of the app’s managed sandbox), and the embedding platform that created the install can retrieve it.

## Path parameters

- `id` string, required

## Query parameters

- `expand` string[]

## Response `200`

Successful response.

- AppsInstall: An app install represents a Stripe App that is installed on an account. It reports the permissions, content security policy entries, and endpoints that the installing account has authorized, along with any that the app's latest version requests but the account has not authorized yet. Use the Install API to install, reauthorize, and uninstall apps, and to check the state of existing installs.
  - `account` string, required: The ID of the account that the app install belongs to.
  - `app` string, required: The ID of the app installed.
  - `approval_required` boolean, required: Whether the installer must authorize pending permissions, content security policy entries, or endpoints. For private apps, `approval_required` stays `false`; creating or reauthorizing the install through the API installs the newest completed upload and grants its permissions.
  - `auth_code` string, nullable: The authorization code for an oauth app install.
  - `channel` 'private_live' | 'private_test' | 'public' | 'review' | 'testing', required: The distribution channel associated with the app install.
  - `content_security_policy_granted` AppServiceResourceInstallContentSecurityPolicy, required
    - `connect_src` string[], required: The URLs that the app can make network requests to.
    - `image_src` string[], required: The URLs that the app can load images from.
  - `content_security_policy_pending` AppServiceResourceInstallContentSecurityPolicy, required
    - `connect_src` string[], required: The URLs that the app can make network requests to.
    - `image_src` string[], required: The URLs that the app can load images from.
  - `created` integer, required: Time at which the object was created. Measured in seconds since the Unix epoch.
  - `created_by` string, nullable: The ID of the embedding platform that created the install, if applicable.
  - `endpoints_granted` string[], required: The endpoint URLs authorized by the installer.
  - `endpoints_pending` string[], required: The endpoint URLs requested by the latest app version that the installer has not authorized.
  - `id` string, required: Unique identifier for the object.
  - `livemode` boolean, required: If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`.
  - `object` 'apps.install', required: String representing the object's type. Objects of the same type share the same value.
  - `permissions_granted` string[], required: The permissions authorized by the installer.
  - `permissions_pending` string[], required: The permissions requested by the latest app version that the installer has not authorized.
  - `status` 'install_failed' | 'installed' | 'installing' | 'uninstall_failed' | 'uninstalling', required: The status of the app install.

## Other responses

- `default`: Error response.

## Changes

> 19 revisions in range; 7 not diffed, 2 could not be searched.

- **2026-09-25** `8b5c2f03d4cd`: 11 info
  - added the optional property `error/payment_intent/latest_charge/anyOf[subschema #2: Charge]/payment_method_details/anyOf[subschema #1: payment_method_details]/bancontact/generated_sepa_debit_mandate/anyOf[subschema #2: Mandate]/payment_method_details/card/india` to the response with the `default` status
  - added the optional property `error/payment_intent/latest_charge/anyOf[subschema #2: Charge]/payment_method_details/anyOf[subschema #1: payment_method_details]/card/mandate/anyOf[subschema #2: Mandate]/payment_method_details/card/india` to the response with the `default` status
  - added the optional property `error/payment_intent/latest_charge/anyOf[subschema #2: Charge]/payment_method_details/anyOf[subschema #1: payment_method_details]/ideal/generated_sepa_debit_mandate/anyOf[subschema #2: Mandate]/payment_method_details/card/india` to the response with the `default` status
  - added the optional property `error/payment_intent/latest_charge/anyOf[subschema #2: Charge]/payment_method_details/anyOf[subschema #1: payment_method_details]/sofort/generated_sepa_debit_mandate/anyOf[subschema #2: Mandate]/payment_method_details/card/india` to the response with the `default` status
  - …7 more
  - …this revision’s changelog is incomplete

[Operation history](https://skmtc.dev/stainless-api/apis/stripe-api/changes/v1/apps/installs/:id/get.md)

---

[API](https://skmtc.dev/stainless-api/apis/stripe-api.md) · [All operations](https://skmtc.dev/stainless-api/apis/stripe-api/llms.txt) · [OpenAPI document](https://skmtc.dev/stainless-api/apis/stripe-api/revisions/7cff4cc46d06?raw)
