---
title: "Say an option’s answer to a factor, or a way of taking it — or, empty, unsay it"
method: PUT
path: "/workspaces/{id}/questions/{questionId}/frontier/cells"
tags: ["model"]
---

# Say an option’s answer to a factor, or a way of taking it — or, empty, unsay it

`PUT /workspaces/{id}/questions/{questionId}/frontier/cells`

## Request

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

## Path parameters

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

## Request body

- FrontierCellBody
  - `optionId` string, uuid: The option, for its own answer.
  - `configurationId` string, uuid: A way of taking an option, for its answer.
  - `dimensionId` string, uuid, required
  - `answer` string, required: Empty unsays it.
  - `source` string
  - `reason` string: Why — kept in the history.

## Response `200`

The frontier.

- object: The configuration frontier: each way of taking an option, asked the same questions. Counts what is said; compares nothing.
  - `dimensions` object[], required: The factors: what every option is compared on.
    - `id` string, uuid, required
    - `label` string, required
    - `description` string, nullable
    - `position` integer, required
    - `suggested` boolean
    - `status` 'proposed' | 'accepted' | 'rejected': Proposed by a draft, or decided by a person. Absent from an older snapshot.
    - `drafted` boolean
    - `decidedByName` string, nullable
  - `configurations` object[], required
    - `id` string, uuid, required
    - `optionId` string, uuid, required
    - `label` string, required
    - `description` string, nullable
    - `position` integer, required
    - `said` integer, required: How many dimensions it has an answer for.
    - `status` 'proposed' | 'accepted' | 'rejected': Proposed by a draft, or decided by a person. Absent from an older snapshot.
    - `drafted` boolean
    - `decidedByName` string, nullable
  - `cells` object[], required
    - `id` string, uuid, required
    - `optionId` string, uuid: Absent from a snapshot before 0047.
    - `configurationId` string, uuid, nullable: With one, the way of taking the option it answers for; without, the option's own.
    - `dimensionId` string, uuid, required
    - `answer` string, required
    - `source` string, nullable
    - `status` 'proposed' | 'accepted' | 'rejected': Proposed by a draft, or decided by a person. Absent from an older snapshot.
    - `drafted` boolean
    - `decidedByName` string, nullable
  - `assessments` object[]: How each proposition fares under a configuration, and a scenario where it turns on one. Absent from an older snapshot.
    - `id` string, uuid, required
    - `propositionId` string, uuid, required
    - `configurationId` string, uuid, required
    - `scenarioId` string, uuid, nullable
    - `verdict` 'survives' | 'weakened' | 'conditional' | 'fails', required: How the proposition fares under the configuration: survives, weakened, conditional or fails.
    - `conditions` string, nullable
    - `source` string, nullable
    - `status` 'proposed' | 'accepted' | 'rejected'
    - `drafted` boolean
    - `decidedByName` string, nullable
    - `basisChangedAt` string, nullable: When an accepted answer of its configuration changed after it was made: part of the configuration basis it was assessed against changed — nothing more. Cleared by a person.
    - `basisChangedLabel` string, nullable
    - `basisChangedKind` 'answer' | 'answered' | 'configuration' | 'question-removed' | 'null', nullable
    - `basis` string[], nullable: The frontier questions that form part of its stated basis — a person's statement, never inferred. Absent: none is stated, and every accepted answer of its configuration counts.
  - `said` integer, required
  - `possible` integer, required: Configurations times dimensions: what could be said.

## Other responses

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

---

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