---
title: "Edit a break-even — what it says, how it is known or what it compares is proposed again"
method: PATCH
path: "/workspaces/{id}/questions/{questionId}/break-evens/{breakEvenId}"
tags: ["switching"]
---

# Edit a break-even — what it says, how it is known or what it compares is proposed again

`PATCH /workspaces/{id}/questions/{questionId}/break-evens/{breakEvenId}`

## Request

- Base URL: `https://api.swingfactor.ai/v1`
- URL: `https://api.swingfactor.ai/v1/workspaces/{id}/questions/{questionId}/break-evens/{breakEvenId}`
- Auth: HTTP bearer

## Path parameters

- `id` string, uuid, required
- `questionId` string, uuid, required
- `breakEvenId` string, uuid, required

## Request body

- BreakEvenPatchBody
  - `threshold` number
  - `consequence` string
  - `basis` 'derived' | 'published' | 'criterion' | 'asserted': How it is known: derived (its arithmetic shown), published, a published criterion, or asserted by a named party — which records that they say so, not that they are right.
  - `derivation` string
  - `source` string
  - `assertedBy` string
  - `belowOutcome` string
  - `aboveOutcome` string
  - `compares` object[]
    - `optionId` string, uuid, required
    - `configurationId` string, uuid
  - `configurationId` union
    - string, uuid
    - ''
  - `horizon` union
    - 'transition' | 'early' | 'medium' | 'long' | 'every': The matched horizon: transition (Day One), early adjustment, medium term, long run, or every horizon. None: not stated — never every.
    - ''
  - `scenarioId` union
    - string, uuid
    - ''
  - `everyScenario` boolean: It holds whichever scenario happens. Never with a scenario. Neither: not stated.
  - `measuredAgainst` string
  - `reason` string: Why — kept in the history.

## Response `200`

The break-even.

- BreakEven
  - `id` string, uuid, required
  - `workspaceId` string, uuid, required
  - `questionId` string, uuid, required
  - `variableId` string, uuid, required
  - `threshold` number, required
  - `horizon` 'transition' | 'early' | 'medium' | 'long' | 'every' | 'null', nullable: The matched horizon: transition (Day One), early adjustment, medium term, long run, or every horizon. None: not stated — never every.
  - `consequence` string, required: What changes at the threshold.
  - `basis` 'derived' | 'published' | 'criterion' | 'asserted', required: How it is known: derived (its arithmetic shown), published, a published criterion, or asserted by a named party — which records that they say so, not that they are right.
  - `derivation` string, nullable: For a derived one: the arithmetic.
  - `source` string, nullable: Where it is published, or asserted.
  - `assertedBy` string, nullable: For an asserted one: who draws the line.
  - `belowOutcome` string, nullable: What occurs below the threshold.
  - `aboveOutcome` string, nullable: What occurs above it.
  - `compares` object[], required: The two options it compares, each perhaps one configuration, in no order; or none. Never which is ahead: which way a consequence counts is a judgement, not the model’s.
    - `optionId` string, uuid, required
    - `configurationId` string, uuid, nullable
  - `configurationId` string, uuid, nullable: For a break-even comparing no options: the configuration it holds under.
  - `scenarioId` string, uuid, nullable
  - `everyScenario` boolean
  - `measuredAgainst` string, nullable: What it is measured against: compared with a range’s baseline, never bridged.
  - `status` 'proposed' | 'accepted' | 'rejected', required: Changes only by a person’s decision.
  - `decidedBy` string, uuid
  - `decidedByName` string
  - `decidedAt` string
  - `createdBy` string, uuid
  - `createdAt` string, required
  - `draftId` string, uuid: Set where SwingFactor drafted it.
  - `updatedAt` string, required
  - `links` BreakEvenLinks, required: Relative /v1 URLs to follow.
    - `self` string, required
    - `decision` string, required
    - `variable` string, required

## Other responses

- `401`: No token, or not a valid one: `unauthorized`.
- `404`: No such break-even.

---

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