> ## Documentation Index
> Fetch the complete documentation index at: https://docs.buildpixel.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Build settings

> Manage the templates that drive your builds.

A build setting is the reusable preset that defines what gets built. See [Build settings](/builds/build-settings) for the conceptual reference.

## `GET /projects/:id/build-settings`

List build settings on a project.

## `GET /projects/:id/build-settings/:settingId`

Build setting detail.

```json theme={null}
{
  "id": "...",
  "projectId": "...",
  "platform": "Win64",
  "buildType": "Development",
  "branch": "main",
  "streamPath": null,
  "ueVersion": "5.4",
  "uprojectPath": "MyGame.uproject",
  "trigger": "push",
  "notifyOnComplete": false,
  "autoDeploy": false,
  "uploadBuildUrl": null
}
```

## `POST /projects/:id/build-settings`

Create a build setting.

```bash theme={null}
curl -X POST https://api.buildpixel.io/projects/$PROJECT_ID/build-settings \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "platform": "Win64",
    "buildType": "Development",
    "branch": "main",
    "ueVersion": "5.4",
    "trigger": "push",
    "notifyOnComplete": false
  }'
```

Required: `platform`, `buildType`, `ueVersion`, `trigger`, plus `branch` (GitHub) or `streamPath` (Perforce).

Returns `201 Created` with the full build setting document.

## `PATCH /projects/:id/build-settings/:settingId`

Update specific fields without affecting others.

```bash theme={null}
curl -X PATCH .../build-settings/$SETTING_ID \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "branch": "develop" }'
```

## `DELETE /projects/:id/build-settings/:settingId`

Delete a build setting. Past builds remain accessible by build ID.

## `POST /projects/:id/build-settings/:settingId/trigger`

Dispatch a build using this build setting.

```bash theme={null}
curl -X POST .../build-settings/$SETTING_ID/trigger \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'
```

Optional overrides:

```json theme={null}
{
  "branch": "feature/xyz",
  "commit": "abc123",
  "changelist": "12345"
}
```

Response:

```json theme={null}
{
  "buildId": "65f...",
  "projectId": "...",
  "buildSettingId": "...",
  "status": "pending"
}
```
