Push changes to GitHub

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

Pushes the app's latest saved version to the connected repository.

Base44 pushes each saved version by itself while automatic sync is on. Use this when a push failed, or when you've turned automatic sync off, since it pushes regardless of that setting.

The push commits the app's latest saved version on the main line, so it publishes saved work rather than the current chat turn, and it never pushes a Base44 branch.

A failed push is reported in the response body rather than as an error, so read success and error.

<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/sync/manual

Path parameters

app_idstring required

ID of the app whose GitHub sync this affects.

ID of the app whose GitHub sync this affects.

Response

The outcome of the push.

successboolean required

Whether the push succeeded.

commit_hashstring nullable

Commit pushed to the repository, or null when nothing was pushed.

commits_pushedboolean required

Whether the push moved the repository forward. The value is false both when the repository already had this commit and when nothing was pushed at all.

skippedboolean required

Whether the push was skipped. This is true for exactly one reason, which is that the connection carries no GitHub App installation. Every other reason nothing was pushed comes back false, including no connection at all and a connection in error or revoked, so read error rather than this flag.

errorstring nullable

Why the push didn't happen, or null when it succeeded. Plain text, not a code you can branch on.

duration_msinteger nullable

How long the push took, in milliseconds, or null when Base44 rejected the request before starting one.

Example response

{
  "success": true,
  "commit_hash": "4c7e1f90ab3d5628e1a0f7b24c9d8e6350a1b2c4",
  "commits_pushed": true,
  "error": "App not connected to GitHub",
  "duration_ms": 2860
}

Changes