---
title: "Trigger a new build/pipeline"
method: POST
path: "/apps/{app-slug}/builds"
tags: ["builds"]
---

# Trigger a new build/pipeline

`POST /apps/{app-slug}/builds`

Trigger a new build/pipeline. Specify an app slug and at least one parameter out of three: a git tag or git commit hash, a branch, or a workflow/pipeline ID. You can also set specific parameters for Pull Request builds/pipelines and define additional environment variables for your build/pipeline. [Check out our detailed guide](https://devcenter.bitrise.io/api/build-trigger/).

## Path parameters

- `app-slug` string, required

## Request body

- V0BuildTriggerParams
  - `build_params` V0BuildTriggerParamsBuildParams
    - `base_repository_url` string
    - `branch` string
    - `branch_dest` string
    - `branch_dest_repo_owner` string
    - `branch_repo_owner` string
    - `build_request_slug` string
    - `commit_hash` string
    - `commit_message` string
    - `commit_paths` V0CommitPaths[]
      - `added` string[]
      - `modified` string[]
      - `removed` string[]
    - `diff_url` string
    - `environments` V0BuildParamsEnvironment[]
      - `is_expand` boolean
      - `key` string
      - `mapped_to` string — Deprecated. Please use `key` instead.
      - `value` string
    - `head_repository_url` string
    - `machine_type_id` string — The machine type to run the build on. Overrides the app's default machine type.
    - `pipeline_id` string
    - `priority` integer
    - `pull_request_author` string
    - `pull_request_head_branch` string
    - `pull_request_id` unknown
    - `pull_request_merge_branch` string
    - `pull_request_repository_url` string
    - `pull_request_unverified_merge_branch` string
    - `secrets` V0Secret[]
      - `is_expand` boolean
      - `key` string
      - `value` string
    - `skip_git_status_report` boolean
    - `stack` string — The stack to run the build on. Overrides the app's default stack.
    - `tag` string
    - `workflow_id` string
  - `hook_info` V0BuildTriggerParamsHookInfo
    - `type` string — Should be "bitrise"

## Response `201`

Created

- V0BuildTriggerRespModel
  - `build_number` integer — Deprecated
  - `build_slug` string — Deprecated
  - `build_url` string — Deprecated
  - `message` string
  - `results` V0BuildTriggerRespItemModel[]
    - `build_number` integer
    - `build_slug` string
    - `build_url` string
    - `message` string
    - `status` string
    - `triggered_pipeline` string
    - `triggered_workflow` string
  - `service` string
  - `slug` string
  - `status` string
  - `triggered_workflow` string — Deprecated

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `404` — Not Found
- `500` — Internal Server Error

---

[API](https://skmtc.net/bitrise/apis/bitrise-api.md) · [All operations](https://skmtc.net/bitrise/apis/bitrise-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bitrise/bitrise-api/versions/89468e4a014b/schema)
