Skip to main content
These endpoints proxy GitHub through BuildPixel’s backend, using the org’s GitHub App installation. The dashboard uses them during project creation; you can call them directly if you’re scripting.

GET /github/repos/:installationId

List repositories the App can see.
curl https://api.buildpixel.io/github/repos/$INSTALLATION_ID \
  -H "Authorization: Bearer $TOKEN"
Response:
{
  "items": [
    {
      "id": 12345678,
      "fullName": "mystudio/mygame",
      "private": true,
      "defaultBranch": "main",
      "uprojectDetected": true
    }
  ],
  "nextCursor": null
}

GET /github/branches/:installationId

List branches for a repo. Query params:
  • repoFullName=mystudio/mygame (required)
  • q=<text> — branch name search
Response:
{
  "items": [
    {
      "name": "main",
      "commit": { "sha": "...", "message": "...", "author": "..." },
      "isDefault": true
    }
  ]
}

GET /github/uproject/:installationId

Detect the .uproject file and parse its key fields. Query params:
  • repoFullName=mystudio/mygame (required)
  • branch=main (optional, default branch if omitted)
Response:
{
  "path": "MyGame.uproject",
  "projectName": "MyGame",
  "engineVersion": "5.4",
  "modules": [
    { "name": "MyGame", "type": "Runtime", "loadingPhase": "Default" }
  ],
  "plugins": [
    { "name": "OnlineSubsystem", "enabled": true }
  ]
}
Errors:
  • 404 uproject_not_found — no .uproject at depth ≤ 3
  • 409 multiple_uprojects — multiple matches; pick one and pass uprojectPath explicitly when creating the project