---
title: "Create a threshold"
method: POST
path: "/v0/projects/{project}/thresholds"
tags: ["projects", "thresholds"]
---

# Create a threshold

`POST /v0/projects/{project}/thresholds`

Create a threshold for a project. The user must have `create` permissions for the project, or provide a valid project key for the project. There can only be one threshold for any unique combination of: branch, testbed, and measure.

## Path parameters

- `project` string, required

## Request body

- JsonNewThreshold
  - `branch` string, required
  - `lower_boundary` number, double
  - `max_sample_size` integer
  - `measure` string, required
  - `min_sample_size` integer
  - `test` 'static' | 'percentage' | 'z_score' | 't_test' | 'log_normal' | 'iqr' | 'delta_iqr', required
  - `testbed` string, required
  - `upper_boundary` number, double
  - `window` integer

## Response `201`

successful creation

- JsonThreshold
  - `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
  - `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

## 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)
