Get GitHub connection

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

Returns the app's GitHub repository connection, if it has one.

Calling this re-checks the connection against GitHub and tries to repair a broken one, so what it reports can change between two calls even when nobody has touched the app.

An app that never connected and one whose repository was disconnected look the same here, so this response can't tell you which happened.

get/api/apps/{app_id}/github/connection

Path parameters

app_idstring required

ID of the app whose GitHub connection to use.

ID of the app whose GitHub connection to use.

Response

The app's GitHub connection.

connectedboolean required

Whether the app still has its repository connection, including one whose status is error or revoked. The value is false only when the app never connected and when its repository was disconnected.

repo_full_namestring nullable

Full repository name, as owner/repo, or null when connected is false.

repo_urlstring nullable

URL of the repository on GitHub, or null when connected is false.

org_namestring nullable

GitHub username or organization that owns the repository, or null when connected is false.

status'active' | 'disconnected' | 'error' | 'revoked'

Health of an app's GitHub repository connection.

  • active works normally.
  • disconnected was disconnected by a user.
  • error hit a technical failure.
  • revoked means the GitHub App access was withdrawn.
installation_idstring nullable

ID of the Base44 GitHub App installation backing this connection, or null when connected is false and on a connection stored without one.

webhook_activeboolean

Whether the repository has the Base44 webhook that triggers automatic pulls. While this is false on a connected app, GitHub isn't telling Base44 about pushes, so nothing arrives until you pull.

connected_by_user_idstring nullable

ID of the Base44 user who connected the repository, or null when connected is false.

Example response

{
  "connected": true,
  "repo_full_name": "base44/lead-tracker",
  "repo_url": "https://github.com/base44/lead-tracker",
  "clone_urls": {
    "https": "https://github.com/base44/lead-tracker.git",
    "ssh": "git@github.com:base44/lead-tracker.git",
    "gh_cli": "gh repo clone base44/lead-tracker"
  },
  "org_name": "base44",
  "installation_id": "58231904",
  "webhook_active": true,
  "connected_by_user_id": "6820f3a4e7b91d003c45a1f0"
}

Changes