---
title: "List a project's installations of every project plugin"
method: GET
path: "/api/v1/plugins/projects/{projectId}/installations"
tags: ["Management"]
---

# List a project's installations of every project plugin

`GET /api/v1/plugins/projects/{projectId}/installations`

## Request

- Base URL: `https://entire.io` (the document declares no server; this is the origin it was published from)
- URL: `https://entire.io/api/v1/plugins/projects/{projectId}/installations`
- Auth: none declared

Each installation carries its plugin, unlisted ones included. Requires project read.

## Path parameters

- `projectId` string, required

## Response `200`

Installations

- object
  - `installations` object[], required
    - `plugin` object, required
      - `slug` string, required
      - `name` string, required
      - `description` string
      - `logo_url` string, required: A path without a host is on the web app's origin.
      - `permissions` object[], required
        - `resource` string, required
        - `access` string, required
        - `description` string, required: The permission as an installer reads it.
      - `installable_project_id` string: The only project that can install the plugin. Absent when any project can.
      - `install_url` string: Where Install sends a customer, so the plugin starts the install from its own side. Absent means install in Entire.
    - `installation_id` string, required
    - `account` string, required
    - `created_at` string, required
    - `repository_selection` 'all' | 'selected', required
    - `lifecycle_state` 'active' | 'suspended' | 'deleting', required
    - `suspended_at` string
    - `suspended_by` 'plugin' | 'customer': While suspended: the side that suspended it, which is the only one that resumes.
    - `permissions` string[], required: The permissions the installation holds, as resource:access.
    - `pending_permissions` string[], required: The plugin's permissions that wait for a project manager to accept them.

## Other responses

- `400`: Invalid request
- `401`: Not authenticated
- `403`: Access denied
- `404`: Resource not found
- `409`: Resource conflict
- `412`: Precondition failed
- `422`: Validation failed
- `429`: Too many requests
- `502`: Entire Core request failed
- `503`: Entire Core is unavailable

## Changes

- **2026-10-27** `b5f5651bc1a0`: 2 info
  - added the required property `installations/items/pending_permissions` to the response with the `200` status
  - added the required property `installations/items/permissions` to the response with the `200` status
- **2026-10-23** `0fae0ac69fe2`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/entire/apis/entire-api/changes/api/v1/plugins/projects/:projectId/installations/get.md)

---

[API](https://skmtc.dev/entire/apis/entire-api.md) - [All operations](https://skmtc.dev/entire/apis/entire-api/llms.txt) - [OpenAPI document](https://skmtc.dev/entire/apis/entire-api/revisions/a24dfcc828d7?raw)
