---
title: "List reports for a project"
method: GET
path: "/v0/projects/{project}/reports"
tags: ["projects", "reports"]
---

# List reports for a project

`GET /v0/projects/{project}/reports`

List all reports for a project. If the project is public, then the user does not need to be authenticated. If the project is private, then the user must be authenticated and have `view` permissions for the project, or provide a valid project key for the project. By default, the reports are sorted by date time in reverse chronological order. By default, the results and alerts for each report are omitted and only their counts are included. Set the `expand` query param to `true` to include the full results and alerts. The HTTP response header `X-Total-Count` contains the total number of reports.

## Path parameters

- `project` string, required

## Query parameters

- `direction` 'asc' | 'desc'
- `page` integer, nullable
- `per_page` integer, nullable
- `sort` 'date_time' — Sort by date time.
- `archived` boolean, nullable
- `branch` string, nullable
- `end_time` integer
- `expand` boolean, nullable
- `start_time` integer
- `testbed` string, nullable

## Response `200`

successful operation

- JsonReport[]
  - `adapter` 'magic' | 'json' | 'rust' | 'rust_bench' | 'rust_criterion' | 'rust_iai' | 'rust_gungraun' | 'cpp' | 'cpp_google' | 'cpp_catch2' | 'go' | 'go_bench' | 'java' | 'java_jmh' | 'c_sharp' | 'c_sharp_dot_net' | 'js' | 'js_benchmark' | 'js_time' | 'js_vitest' | 'python' | 'python_asv' | 'python_pytest' | 'ruby' | 'ruby_benchmark' | 'shell' | 'shell_hyperfine' | 'dart' | 'dart_benchmark_harness', required
  - `alerts` JsonAlert[], nullable — The report alerts. Omitted by default from the reports list endpoint; use the `expand` query param to include them.
    - `benchmark` JsonBenchmark, required
      - `archived` string, date-time
      - `created` string, date-time, required
      - `modified` string, date-time, required
      - `name` string, required
      - `project` string, uuid, required
      - `slug` string, required
      - `uuid` string, uuid, required
    - `boundary` JsonBoundary, required
      - `baseline` number, double, nullable
      - `lower_limit` number, double, nullable
      - `upper_limit` number, double, nullable
    - `created` string, date-time, required
    - `iteration` integer, required
    - `limit` 'lower' | 'upper', required
    - `metric` JsonMetric, required
      - `lower_value` number, double, nullable
      - `upper_value` number, double, nullable
      - `uuid` string, uuid, required
      - `value` number, double, required
    - `modified` string, date-time, required
    - `report` string, uuid, required
    - `status` union, required
      - 'active' — The alert is active.
      - 'dismissed' — The alert has been dismissed by a user.
      - 'silenced' — The alert has been silenced by the system.
    - `threshold` JsonThreshold, required
      - `branch` JsonBranch, required
        - `archived` string, date-time
        - `created` string, date-time, required
        - `head` JsonHead, required
          - `created` string, date-time, required
          - `replaced` string, date-time
          - `start_point` JsonStartPoint
            - `branch` string, uuid, required
            - `head` string, uuid, required
            - `version` JsonVersion, required
              - …
          - `uuid` string, uuid, required
          - `version` JsonVersion
            - `hash` string
            - `number` integer, required
        - `modified` string, date-time, required
        - `name` string, required
        - `project` string, uuid, required
        - `slug` string, required
        - `uuid` string, uuid, required
      - `created` string, date-time, required
      - `measure` JsonMeasure, required
        - `archived` string, date-time
        - `created` string, date-time, required
        - `modified` string, date-time, required
        - `name` string, required
        - `project` string, uuid, required
        - `slug` string, required
        - `units` string, required
        - `uuid` string, uuid, required
      - `model` JsonModel
        - `created` string, date-time, required
        - `lower_boundary` number, double
        - `max_sample_size` integer
        - `min_sample_size` integer
        - `replaced` string, date-time
        - `test` 'static' | 'percentage' | 'z_score' | 't_test' | 'log_normal' | 'iqr' | 'delta_iqr', required
        - `upper_boundary` number, double
        - `uuid` string, uuid, required
        - `window` integer
      - `modified` string, date-time, required
      - `project` string, uuid, required
      - `testbed` JsonTestbed, required
        - `archived` string, date-time
        - `created` string, date-time, required
        - `modified` string, date-time, required
        - `name` string, required
        - `project` string, uuid, required
        - `slug` string, required
        - `spec` JsonSpec — A hardware spec
          - `architecture` 'x86_64' | 'aarch64', required
          - `archived` string, date-time
          - `cpu` integer, required
          - `created` string, date-time, required
          - `disk` integer, required
          - `fallback` string, date-time
          - `memory` integer, required
          - `modified` string, date-time, required
          - `name` string, required
          - `network` boolean, required
          - `os` 'linux' | 'macos' | 'windows', required
          - `sandbox` 'firecracker'
          - `slug` string, required
          - `uuid` string, uuid, required
        - `uuid` string, uuid, required
      - `uuid` string, uuid, required
    - `uuid` string, uuid, required
  - `branch` JsonBranch, required
    - `archived` string, date-time
    - `created` string, date-time, required
    - `head` JsonHead, required
      - `created` string, date-time, required
      - `replaced` string, date-time
      - `start_point` JsonStartPoint
        - `branch` string, uuid, required
        - `head` string, uuid, required
        - `version` JsonVersion, required
          - `hash` string
          - `number` integer, required
      - `uuid` string, uuid, required
      - `version` JsonVersion
        - `hash` string
        - `number` integer, required
    - `modified` string, date-time, required
    - `name` string, required
    - `project` string, uuid, required
    - `slug` string, required
    - `uuid` string, uuid, required
  - `counts` JsonReportCounts — Counts for a report.
    - `alerts` JsonReportAlertsCounts, required — Counts for the alerts of a report.
      - `active` integer, required — The number of active alerts.
      - `total` integer, required — The total number of alerts.
    - `results` JsonReportIterationCounts[], required — Counts for the report results, one entry per iteration.
      - `benchmarks` integer, required — The number of benchmarks in this iteration.
      - `measures` integer, required — The number of distinct measures in this iteration.
  - `created` string, date-time, required
  - `end_time` string, date-time, required
  - `job` string, uuid
  - `project` JsonProject, required
    - `claimed` string, date-time
    - `created` string, date-time, required
    - `modified` string, date-time, required
    - `name` string, required
    - `organization` string, uuid, required
    - `slug` string, required
    - `url` string
    - `uuid` string, uuid, required
    - `visibility` 'public' | 'private', required
  - `results` array[], nullable — The report results, one list of results per iteration. Omitted by default from the reports list endpoint; use the `expand` query param to include them.
    - JsonReportResult[]
      - `benchmark` JsonBenchmark, required
        - `archived` string, date-time
        - `created` string, date-time, required
        - `modified` string, date-time, required
        - `name` string, required
        - `project` string, uuid, required
        - `slug` string, required
        - `uuid` string, uuid, required
      - `iteration` integer, required
      - `measures` JsonReportMeasure[], required
        - `boundary` JsonBoundary
          - `baseline` number, double, nullable
          - `lower_limit` number, double, nullable
          - `upper_limit` number, double, nullable
        - `measure` JsonMeasure, required
          - `archived` string, date-time
          - `created` string, date-time, required
          - `modified` string, date-time, required
          - `name` string, required
          - `project` string, uuid, required
          - `slug` string, required
          - `units` string, required
          - `uuid` string, uuid, required
        - `metric` JsonMetric, required
          - `lower_value` number, double, nullable
          - `upper_value` number, double, nullable
          - `uuid` string, uuid, required
          - `value` number, double, required
        - `threshold` JsonThresholdModel
          - `created` string, date-time, required
          - `model` JsonModel, required
            - `created` string, date-time, required
            - `lower_boundary` number, double
            - `max_sample_size` integer
            - `min_sample_size` integer
            - `replaced` string, date-time
            - `test` 'static' | 'percentage' | 'z_score' | 't_test' | 'log_normal' | 'iqr' | 'delta_iqr', required
            - `upper_boundary` number, double
            - `uuid` string, uuid, required
            - `window` integer
          - `project` string, uuid, required
          - `uuid` string, uuid, required
  - `start_time` string, date-time, required
  - `testbed` JsonTestbed, required
    - `archived` string, date-time
    - `created` string, date-time, required
    - `modified` string, date-time, required
    - `name` string, required
    - `project` string, uuid, required
    - `slug` string, required
    - `spec` JsonSpec — A hardware spec
      - `architecture` 'x86_64' | 'aarch64', required
      - `archived` string, date-time
      - `cpu` integer, required
      - `created` string, date-time, required
      - `disk` integer, required
      - `fallback` string, date-time
      - `memory` integer, required
      - `modified` string, date-time, required
      - `name` string, required
      - `network` boolean, required
      - `os` 'linux' | 'macos' | 'windows', required
      - `sandbox` 'firecracker'
      - `slug` string, required
      - `uuid` string, uuid, required
    - `uuid` string, uuid, required
  - `user` JsonPubUser
    - `name` string, required
    - `slug` string, required
    - `uuid` string, uuid, required
  - `uuid` string, uuid, required

## Other responses

- `4XX` — Error
- `5XX` — Error

---

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