---
title: "List workspace GitHub installations"
method: GET
path: "/api/apps/{app_id}/github/workspace-installations"
---

# List workspace GitHub installations

`GET /api/apps/{app_id}/github/workspace-installations`

## Request

- Base URL: `https://app.base44.com`
- URL: `https://app.base44.com/api/apps/{app_id}/github/workspace-installations`
- Auth: HTTP bearer

<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Lists the GitHub organizations connected to the app's workspace that you can create the app's repository in. Pass an installation's `id` as `workspace_installation_id` to [Connect a GitHub repository](/api-reference/connect-a-github-repository).

Only active installations on GitHub organizations appear, and only those the workspace allows for new apps. Organizations are connected to the workspace in its settings rather than through this API. Calling this re-checks `repository_selection` with GitHub for installations set to `selected`.

This endpoint is limited to 30 requests per minute. Some workspaces have a different limit.

<Warning>The response includes fields beyond the ones documented here. Don't rely on undocumented response fields, as they can change at any time.</Warning>

## Path parameters

- `app_id` string, required: ID of the app whose workspace decides which GitHub organizations you can use.

## Response `200`

The workspace's GitHub installations you can use.

- GitHubWorkspaceInstallation[]: The workspace's GitHub installations you can use.
  - `id` string, required: ID of the installation in Base44. Pass it as `workspace_installation_id` to [Connect a GitHub repository](/api-reference/connect-a-github-repository).
  - `github_installation_id` string, required: ID of the Base44 GitHub App installation on GitHub.
  - `account_login` string, required: GitHub organization the installation is on.
  - `account_avatar_url` string, nullable: URL of the organization's GitHub avatar, or `null` when GitHub didn't return one.
  - `repository_selection` 'all' | 'selected', required: Whether the Base44 GitHub App can reach all of the organization's repositories (`all`) or only chosen ones (`selected`). You can't create a repository through an installation set to `selected`, so switch it to all repositories in GitHub first.

## Other responses

- `401`: Missing or invalid credentials.
- `402`: Your workspace plan doesn't include the GitHub integration.
- `403`: You don't have access to this app, or you used a workspace API key. These endpoints take a personal API key.
- `404`: App not found.
- `429`: Rate limit exceeded. The base limit is 30 requests per minute. See [Rate limits](/developers/references/apps-api/get-started/rate-limits) for the multiplier your plan gets.

## Changes

> 58 revisions in range; 1 not diffed.

- **2026-10-12** `5e139db2e643`: 1 info
  - the endpoint scheme security `PersonalAccessTokenAuth` was added to the API
- **2026-10-09** `fc604cdcc3a2`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/adexad/apis/base44-app-management-api/changes/api/apps/:app_id/github/workspace-installations/get.md)

---

[API](https://skmtc.dev/adexad/apis/base44-app-management-api.md) · [All operations](https://skmtc.dev/adexad/apis/base44-app-management-api/llms.txt) · [OpenAPI document](https://skmtc.dev/adexad/apis/base44-app-management-api/revisions/fa29e915c226?raw)
