# List all app installs

Returns a list of app installs. An app developer filtering by its own app with its own key sees that app’s installs across the accounts that installed it. An app developer acting on a connected account through `Stripe-Account` and filtering by its app sees that account’s installs of the app, and an embedding platform acting on a connected account sees only the installs it created there. Other callers see the installs on their own account. A live key lists live installs and a test key lists test installs; the key of an app’s managed sandbox filtering by `app` lists that app’s installs across every sandbox.

## Request

```curl
curl -G https://api.stripe.com/v1/apps/installs \
  -u "<<YOUR_SECRET_KEY>>" \
  -d app=app_61VGZkQ7mRbN3xPa41LUZiLcTVChQ9Ye \
  -d limit=3
```

### Response

```json
{
  "object": "list",
  "url": "/v1/apps/installs",
  "has_more": false,
  "data": [
    {
      "id": "appinst_test_61VGZmT4pXc8Rk2w41LUZiLcTVChK7Ab",
      "object": "apps.install",
      "account": "acct_1LQeGxLUZiLcTVCh",
      "app": "app_61VGZkQ7mRbN3xPa41LUZiLcTVChQ9Ye",
      "approval_required": false,
      "auth_code": null,
      "channel": "public",
      "content_security_policy_granted": {
        "connect_src": [
          "https://api.example.com/"
        ],
        "image_src": [
          "https://cdn.example.com/"
        ]
      },
      "content_security_policy_pending": {
        "connect_src": [],
        "image_src": []
      },
      "created": 1725000000,
      "created_by": null,
      "endpoints_granted": [
        "https://example.com/stripe/webhook"
      ],
      "endpoints_pending": [],
      "livemode": false,
      "permissions_granted": [
        "customer_read",
        "event_read"
      ],
      "permissions_pending": [],
      "status": "installed"
    }
  ]
}
```

## Parameters

- `account` (string, optional)
  Only return installs made by this account. Only useful to an app developer filtering by its own app with its own key, whose list spans the accounts that installed the app; other lists only accept the authenticated account.

- `app` (string, optional)
  Only return installs for the app specified by this app ID.

- `approval_required` (boolean, optional)
  Only return installs whose installer must authorize pending permissions, content security policy entries, or endpoints.

- `channel` (enum, optional)
  Only return installs in the distribution channel specified by this channel name.
Possible enum values:
  - `private_live`
    A private app installed in live mode.

  - `private_test`
    A private app installed in test mode.

  - `public`
    The published version of the app.

  - `testing`
    A pre-release version of the app installed for external testing.

- [`created`](https://docs.stripe.com/api/apps/installs/list.md?query=created) (object, optional)
  Only return app installs that were created during the given date interval.

- `created_by` (string, optional)
  Only return installs created by the embedding platform specified by this account ID.

- `ending_before` (string, optional)
  A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.

- `limit` (integer, optional)
  A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

- `starting_after` (string, optional)
  A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.

- `status` (string, optional)
  Only return installs with the given status: `installed`, `installing`, `install_failed`, `uninstalling`, or `uninstall_failed`.

## Returns

A dictionary with a `data` property that contains an array of up to `limit` app installs, starting after app install `starting_after`. Each entry in the array is a separate app install object. If no more app installs are available, the resulting array will be empty.
