---
title: "Where the viewer may install an app"
method: GET
path: "/api/apps/catalog/{slug}/install-targets"
tags: ["Apps"]
---

# Where the viewer may install an app

`GET /api/apps/catalog/{slug}/install-targets`

## Request

- Base URL: `https://git.cafe`
- URL: `https://git.cafe/api/apps/catalog/{slug}/install-targets`
- Auth: one of:
  - API key in cookie `gc-session`
  - HTTP bearer
  - HTTP token

Returns the app and the caller's organizations: whether the caller may install it in each, whether it may be installed there, whether it is, and the caller's newest request there. An unlisted app shows only to members of an organization that may install it. Requires authenticated authority and enforces current resource policy.

## Path parameters

- `slug` string, required

## Response `200`

Response for status 200

- object
  - `app` object, required
    - `slug` string, required
    - `name` string, required
    - `publisher` string, required
    - `iconUrl` string, nullable, required
    - `summary` string, required
    - `category` 'coding-agents' | 'code-review' | 'ci-deploy' | 'security-quality' | 'workflow-automation' | 'null', nullable, required
    - `description` string, required
    - `links` object, required
      - `homepage` string, required
      - `support` string, required
      - `privacy` string, required
    - `bot` object, required
      - `displayName` string, required
      - `assignable` boolean, required
      - `mentionable` boolean, required
    - `permissions` object[], required
      - `kind` 'repo' | 'branch' | 'pr' | 'issue' | 'comment' | 'org' | 'team', required
      - `family` string, required
      - `level` 'read' | 'write' | 'admin', required
    - `user` object, nullable, required
      - `permissions` object[], required
        - `kind` 'repo' | 'branch' | 'pr' | 'issue' | 'comment' | 'org' | 'team', required
        - `family` string, required
        - `level` 'read' | 'write' | 'admin', required
      - `audiences` string[], required
    - `events` string[], required
    - `listed` boolean, required
  - `organizations` object[], required
    - `org` string, required
    - `displayName` string, nullable, required
    - `avatarUrl` string, nullable, required
    - `canInstall` boolean, required
    - `installable` boolean, required
    - `installed` boolean, required
    - `installationId` string, nullable, required
    - `request` object, nullable, required
      - `id` string, required
      - `app` string, required
      - `appId` string, required
      - `name` string, required
      - `publisher` string, required
      - `iconUrl` string, nullable, required
      - `org` string, required
      - `requester` object, required
        - `handle` string, required
        - `displayName` string, nullable, required
        - `avatarUrl` string, nullable, required
      - `reason` string, nullable, required
      - `state` 'pending' | 'approved' | 'denied', required
      - `decidedBy` object, nullable, required
        - `handle` string, required
        - `displayName` string, nullable, required
        - `avatarUrl` string, nullable, required
      - `decisionReason` string, nullable, required
      - `createdAt` string, required
      - `decidedAt` string, nullable, required

## Other responses

- `400`: The request is invalid.
- `401`: Authentication is required, or the supplied credential is invalid.
- `403`: The credential does not permit this operation. A `code`, when present, names the refusal.
- `404`: The resource does not exist or is not visible to the caller.
- `409`: The request conflicts with the current state. A `code`, when present, names the refusal; `retryable` says whether the same request can succeed later, and `operationId` names the operation in the way.
- `429`: A rate limit is exhausted. Wait Retry-After seconds; the value is a hint, so back off on a repeat 429.
- `503`: A required service is temporarily unavailable; retry later.

---

[API](https://skmtc.dev/gitcafe/apis/git-cafe-api.md) - [All operations](https://skmtc.dev/gitcafe/apis/git-cafe-api/llms.txt) - [OpenAPI document](https://skmtc.dev/gitcafe/apis/git-cafe-api/revisions/9fa233d2986d?raw)
