---
title: "Get the step summary of a build"
method: GET
path: "/apps/{app-slug}/builds/{build-slug}/log/summary"
tags: ["builds"]
---

# Get the step summary of a build

`GET /apps/{app-slug}/builds/{build-slug}/log/summary`

## Request

- Base URL: `https://api.bitrise.io/v0.1`
- URL: `https://api.bitrise.io/v0.1/apps/{app-slug}/builds/{build-slug}/log/summary`
- Auth: one of:
  - API key in header `Authorization`
  - API key in header `Bitrise-Addon-Auth-Token`

Get the workflows and steps of a build with their status, timing and versions. For failed or aborted steps, `errors` holds why the step failed; for skipped steps, `status_reason` holds why it was skipped. The summary is updated as steps finish, so it can be polled while the build is running.

## Path parameters

- `app-slug` string, required
- `build-slug` string, required

## Query parameters

- `status` string[]
- `step_id` string

## Response `200`

OK

- ServiceDtoBuildLogSummaryRespModel
  - `agent_info` object: Information about the build machine
  - `cli_info` ServiceDtoBuildLogSummaryCLIInfo
    - `bitrise_cli_version` string
    - `ci_mode` boolean
    - `debug_mode` boolean
    - `log_format_version` string
    - `no_output_timeout_mode` boolean
    - `pr_mode` boolean
    - `secret_envs_filtering_mode` boolean
    - `secret_filtering_mode` boolean
  - `execution` ServiceDtoBuildLogSummaryExecution
    - `build_environment_setup` object
      - `finished_at` string, date-time
      - `started_at` string, date-time
      - `status` string
    - `step_bundles` object: Step bundles, keyed by the `step_bundle_uuid` of their steps
    - `with_groups` object: Step groups that run in a container, keyed by the `with_group_uuid` of their steps
    - `workflows` ServiceDtoBuildLogSummaryWorkflow[]: Workflows in execution order, including before_run and after_run workflows
      - `steps` ServiceDtoBuildLogSummaryStep[]
        - `collection` string
        - `deprecation_notice` string
        - `errors` ServiceDtoBuildLogSummaryStepError[]: Why the step failed or was aborted, including the exit code or timeout. Only set for `failed`, `failed_skippable`, `preparation_failed` and `aborted_with_*` steps.
          - `code` integer
          - `message` string
        - `finished_at` string, date-time
        - `latest_version` string
        - `release_notes` string
        - `source_code_url` string
        - `started_at` string, date-time
        - `status` 'not_started' | 'started' | 'success' | 'failed' | 'failed_skippable' | 'preparation_failed' | 'skipped' | 'skipped_with_run_if' | 'aborted' | 'aborted_with_custom_timeout' | 'aborted_with_no_output'
        - `status_reason` string: Why the step was skipped, or why its failure did not fail the build. Only set for `skipped`, `skipped_with_run_if` and `failed_skippable` steps.
        - `step_bundle_uuid` string
        - `step_id` string
        - `support_url` string
        - `title` string
        - `uuid` string: Use it to fetch the log of this step
        - `version` string
        - `with_group_uuid` string
      - `uuid` string
      - `workflow_id` string
  - `has_build_environment_setup_logs` boolean
  - `is_log_archived` boolean

## Other responses

- `400`: Bad request - unknown step status in the `status` filter
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not found - build does not exist, or it has no step summary yet

## Changes

- **2026-11-05** `859a161f2622`: 3 info
  - added the new optional `query` request parameter `status`
  - added the new optional `query` request parameter `step_id`
  - added the non-success response with the status `400`
- **2026-10-27** `722618b87755`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/bitrise/apis/bitrise-api/changes/apps/:app-slug/builds/:build-slug/log/summary/get.md)

---

[API](https://skmtc.dev/bitrise/apis/bitrise-api.md) - [All operations](https://skmtc.dev/bitrise/apis/bitrise-api/llms.txt) - [OpenAPI document](https://skmtc.dev/bitrise/apis/bitrise-api/revisions/859a161f2622?raw)
