Skip to main content
POST
/
api
/
v0
/
sessions
/
{sessionId}
/
git-ai
/
checkpoints
Push git-ai checkpoints
curl --request POST \
  --url https://api.factory.ai/api/v0/sessions/{sessionId}/git-ai/checkpoints \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "baseSha": "<string>",
  "branch": "<string>",
  "isDefaultBranch": true,
  "commitSha": "<string>",
  "repoUrl": "<string>",
  "repoName": "<string>",
  "droidVersion": "<string>",
  "checkpoints": [
    {
      "kind": "AiAgent",
      "diff": "<string>",
      "author": "<string>",
      "entries": [
        {
          "file": "<string>",
          "blob_sha": "<string>",
          "attributions": [
            {
              "start": 123,
              "end": 123,
              "author_id": "<string>",
              "ts": 123
            }
          ],
          "line_attributions": [
            {
              "start_line": 123,
              "end_line": 123,
              "author_id": "<string>",
              "overrode": "<string>"
            }
          ]
        }
      ],
      "timestamp": 123,
      "agent_id": {
        "tool": "<string>",
        "id": "<string>",
        "model": "<string>"
      },
      "agent_metadata": {
        "transcript_path": "<string>",
        "settings_path": "<string>",
        "tool_name": "<string>"
      },
      "line_stats": {
        "additions": 123,
        "deletions": 123,
        "additions_sloc": 123,
        "deletions_sloc": 123
      },
      "api_version": "<string>",
      "git_ai_version": "<string>"
    }
  ]
}
'
{
  "success": true
}

Authorizations

Authorization
string
header
required

Factory API key or JWT token for authentication

Path Parameters

sessionId
string
required

Session ID

Body

application/json
baseSha
string
required
branch
string
required
isDefaultBranch
boolean
required
commitSha
string | null
required
repoUrl
string
required
repoName
string
required
droidVersion
string
required
checkpoints
object[]
required
Minimum array length: 1

Response

Response for status 200

success
boolean
required