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

# List GitHub organizations

`GET /api/apps/{app_id}/github/organizations`

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

Lists the GitHub accounts you can create the app's repository in: your personal account first, then your organizations alphabetically.

Only accounts with the Base44 GitHub App installed appear, so install it on the account you want before you call this. Your own GitHub account also has to be connected to Base44, which happens in the builder and is not part of this API.

When the app's workspace limits GitHub repositories to approved organizations, this returns only the approved ones. That filtering applies to workspace admins too, so a missing organization does not mean you can't use it. Call [Get GitHub organization policy](/api-reference/get-github-organization-policy) to see whether the limit is on.

Read `repository_selection` before you connect. An account set to `selected` rejects a new repository until its installation covers all repositories.

Pass an account's `login` and `installation_id` to [Connect a GitHub repository](/api-reference/connect-a-github-repository).

<Note>This endpoint accepts a personal API key. Workspace API keys are not authorized for it and are rejected with a 403.</Note>

## Path parameters

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

## Response `200`

The GitHub accounts you can create the app's repository in.

- GitHubOrganization[]
  - `id` integer, required — GitHub's numeric ID for the account.
  - `login` string, required — GitHub username or organization name. Pass it as `org_name` to [Connect a GitHub repository](/api-reference/connect-a-github-repository).
  - `avatar_url` string, required — URL of the account's GitHub profile picture.
  - `installation_id` string, required — ID of the Base44 GitHub App installation on this account. Pass it as `installation_id` to [Connect a GitHub repository](/api-reference/connect-a-github-repository).
  - `type` 'User' | 'Organization', required — `User` for your personal account, `Organization` for an organization.
  - `repository_selection` 'all' | 'selected' — Which repositories the Base44 GitHub App can reach on this account. `selected` means it is installed on specific repositories only, so creating a new repository under this account fails until you switch the installation to all repositories.

## Other responses

- `400` — Your GitHub account isn't connected to Base44.
- `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.
- `422` — Validation Error

---

[API](https://skmtc.dev/idealspot/apis/base44-app-management-api.md) · [All operations](https://skmtc.dev/idealspot/apis/base44-app-management-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/idealspot/base44-app-management-api/revisions/31ef75eb64ab/schema)
