Skip to main content
POST
Pull changes from GitHub

Authorizations

Authorization
string
header
required

Personal access token, sent as Authorization: Bearer <token>. Each operation lists the permission it needs: read_only or full_access. A full-access token can call every operation. A read-only token can call only the operations that list read_only; anything else returns 403 read_only_credential_route_not_allowed.

Path Parameters

app_id
string
required

ID of the app whose GitHub sync this affects.

Query Parameters

branch_id
string

ID of the branch to work on, as returned by List branches. Omit it to work on the app's main branch.

Response

The outcome of the pull.

Outcome of a pull from the connected repository.

synced
boolean
required

Whether this call applied new commits to the app.

Example:

true

already_up_to_date
boolean
required

Whether the repository's head was already the last commit Base44 pulled, so there was nothing to do.

Example:

false

commits_pulled
integer
required

How many commits commits holds, so commits Base44 pushed itself aren't counted. The value is 0 when nothing was pulled.

Example:

2

latest_commit_hash
string | null

Repository head after the pull, or null when nothing was pulled.

Example:

"4c7e1f90ab3d5628e1a0f7b24c9d8e6350a1b2c4"

commits
GitHubPulledCommit · object[]

The commits this call applied, oldest first. Commits Base44 pushed itself are left out, so a pull of only those comes back with an empty list.

Example:
files_summary
GitHubPulledFiles · object | null

Change counts for the pulled commits, or null when nothing was pulled.

error
string | null

Why the pull didn't happen, or null when it succeeded. See Pull error codes for the possible values.

Example:

"merge_conflict"

error_message
string | null

Human-readable explanation of error, or null when the pull succeeded.

Example:

"Merge conflict while applying the pulled commits"

duration_ms
integer | null

How long the pull took, in milliseconds, or null when Base44 recorded no duration for it.

Example:

4120

build_check_started
boolean
default:false

Whether Base44 started a build of the new commits instead of pulling them straight into main. When true, nothing was pulled yet. Main gets the new commits only after the build passes.

Example:

false