---
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 comes 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 you do in the Base44 online app editor rather than through this API.

When the app's workspace limits GitHub repositories to approved organizations, this returns only the approved ones, and otherwise it returns all of them. Call [Get GitHub organization policy](/api-reference/get-github-organization-policy) to see whether that limit is on.

If you're a workspace owner or admin, this list is filtered by the limit even though you aren't bound by it, so it can leave out an organization you're allowed to connect under.

## 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 — Either `User` for your personal account or `Organization` for an organization.
  - `repository_selection` 'all' | 'selected' — Whether the Base44 GitHub App can reach all repositories in this account or only chosen ones. Either `all` or `selected`. You can't create a new repository under an account set to `selected`, so switch that account to all repositories in GitHub first, under Settings > Applications > Base44 > Repository access.

## 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.

## Changes

- **2026-08-30** `394136a6cdd4` — 1 info
  - removed the non-success response with the status `422`
- **2026-08-27** `31ef75eb64ab` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/idealspot/apis/base44-app-management-api/changes/api/apps/:app_id/github/organizations/get.md)

---

[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/56dc45634956/schema)
