Import a GitHub branch

Changed on

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

Creates a Base44 branch from a branch that already exists in the connected GitHub repository.

The two are one line of work. Base44 commits to the GitHub branch you name and never creates a separate branch in the repository.

Name a GitHub branch that already exists and isn't the repository's default branch, which the app's main chat already uses. The name also has to be free among the app's active and merged Base44 branches, so you can import a given GitHub branch once.

If Base44 can't read the branch from GitHub, nothing is created and you can retry.

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

post/api/apps/{app_id}/github/branches/import

Request

  • Base URL: https://app.base44.com
  • URL: https://app.base44.com/api/apps/{app_id}/github/branches/import
  • Auth: HTTP bearer

Path parameters

app_idstring required

ID of the app to import the branch into.

Request body

branch_namestring required

Name of the branch to import, as it exists in the connected repository. Can't be the repository's default branch.

Example request

{
  "branch_name": "feature/reporting"
}

Response

The imported branch.

idstring required

ID of the new Base44 branch.

branch_namestring required

The GitHub branch name, stored exactly as you sent it. Base44's own commits go to this same branch.

conversation_idstring required

ID of the branch's own conversation with the AI. The branch's chat history is separate from the app's main chat.

base_git_commit_hashstring required

Commit where the branch forked off the repository's default branch.

last_git_commit_hashstring required

Head commit of the GitHub branch at the moment it was imported.

created_datestring required

When the branch was created, in YYYY-MM-DDTHH:MM:SS.ffffffZ format (UTC).

Example response

{
  "id": "68b1c0d4e7b91d003c45a1f7",
  "branch_name": "feature/reporting",
  "conversation_id": "68b1c0d4e7b91d003c45a1f8",
  "base_git_commit_hash": "9f2c1ab7d4e58036bb1f4c0a7de92b41c0d5e8a3",
  "last_git_commit_hash": "4c7e1f90ab3d5628e1a0f7b24c9d8e6350a1b2c4",
  "created_date": "2026-08-15T09:10:00.123456Z"
}

Changes

    • info

      the endpoint scheme security PersonalAccessTokenAuth was added to the API

    • breaking

      removed the media type application/json for the response with the status

    • info

      added the non-success response with the status