---
title: "Every break-even in a question"
method: GET
path: "/workspaces/{id}/questions/{questionId}/break-evens"
tags: ["switching"]
---

# Every break-even in a question

`GET /workspaces/{id}/questions/{questionId}/break-evens`

## Request

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

## Path parameters

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

## Response `200`

The break-evens.

- BreakEvenList
  - `items` BreakEven[], required
    - `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
  - `total` integer, required
  - `offset` integer, required
  - `limit` integer, required

## Other responses

- `401`: No token, or not a valid one: `unauthorized`.

---

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