# Minimum Success Criteria

URL: /business/nouns/minimum-success-criteria · Id: `noun:minimum-success-criteria`

> Minimum Success Criteria is the one number a Startup must reach by a date to stay worth running: a Goal the Founder sets once.

Minimum Success Criteria is the one number a [Startup](/business/nouns/startup) must reach by a date to stay worth running: a [Goal](/business/nouns/goal) the [Founder](/agents/founding/founder) sets once. At that date, the Startup perseveres or pivots on it.

## Properties
| Property | Type | Required | Description |
| --- | --- | --- | --- |
| `metric` | [Metric](/business/nouns/metric) | Yes | The Metric the number is measured in. |
| `value` | `number` | Yes | The number to reach. |
| `by` | `date` | Yes | The date it must be reached. |
| `fermi` | `json` | No | The Price, rates and volumes that show the number is reachable. |

<details>
<summary>Inherited from [Goal](/business/nouns/goal): 2 properties</summary>

| Property | Type | Required | Description |
| --- | --- | --- | --- |
| `objective` | `text` | Yes | The qualitative outcome. |
| `horizon` | `string` | No | One of `day`, `week`, `quarter`, `year`, or `three-years`. |

</details>

## Object
```json
{
  "$id": "https://api.sb/kilnbakery.com/minimum-success-criteria/minimum_success_criteria_1",
  "$type": "MinimumSuccessCriteria",
  "objective": "Example objective",
  "horizon": "day",
  "metric": "metric_1",
  "value": 1,
  "by": "2026-10-22",
  "fermi": {}
}
```

## Relationships
- <a id="rel-set-for"></a>The Minimum Success Criteria **is set for** one [Startup](/business/nouns/startup): the one number that decides whether the [Startup](/business/nouns/startup) keeps running. `setFor`, inverse [`mustReach`](/business/nouns/startup#rel-must-reach).

## Verbs
| Verb | Description | Subject | Event | Class |
| --- | --- | --- | --- | --- |
| <a id="create"></a>[MinimumSuccessCriteria.create](/business/nouns/minimum-success-criteria/create) | Creates a Minimum Success Criteria. Inherited from [Noun](/business/nouns/noun). | None. | `MinimumSuccessCriteria.created` | Two-way: `try`, `send`, `do` |
| <a id="get"></a>[MinimumSuccessCriteria.get](/business/nouns/minimum-success-criteria/get) | Returns one Minimum Success Criteria by id. Inherited from [Noun](/business/nouns/noun). | None. | None. | Read: `try`, `do` |
| <a id="list"></a>[MinimumSuccessCriteria.list](/business/nouns/minimum-success-criteria/list) | Returns Minimum Success Criteria, newest first, one page at a time. Inherited from [Noun](/business/nouns/noun). | None. | None. | Read: `try`, `do` |
| <a id="update"></a>[MinimumSuccessCriteria.update](/business/nouns/minimum-success-criteria/update) | Changes the given properties of a Minimum Success Criteria. Inherited from [Noun](/business/nouns/noun). | None. | `MinimumSuccessCriteria.updated` | Two-way: `try`, `send`, `do` |
| <a id="delete"></a>[MinimumSuccessCriteria.delete](/business/nouns/minimum-success-criteria/delete) | Deletes a Minimum Success Criteria; its history is kept. Inherited from [Noun](/business/nouns/noun). | None. | `MinimumSuccessCriteria.deleted` | One-way: `send`, `do` |

## Permissions
Which Access level may call each Verb. One-way Verbs wait their delay window.

| Operation | `owner` | `admin` | `member` | `viewer` |
| --- | --- | --- | --- | --- |
| `MinimumSuccessCriteria.create` | Yes | Yes | Yes | No |
| `MinimumSuccessCriteria.get` | Yes | Yes | Yes | Yes |
| `MinimumSuccessCriteria.list` | Yes | Yes | Yes | Yes |
| `MinimumSuccessCriteria.update` | Yes | Yes | Yes | No |
| `MinimumSuccessCriteria.delete` | Yes | Yes | Yes | No |

## Call it

**Ask**

```text
Add a minimum success criteria to QuietCopy with a metric.
```

**API**

```bash
curl -X POST https://api.sb/quietcopy.com/minimum-success-criteria \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"objective":"Example objective","metric":"metric_1","value":1,"by":"2026-10-22"}'
```

```json
{
  "api": "https://api.sb/quietcopy.com",
  "minimumSuccessCriteria": {
    "$id": "https://api.sb/quietcopy.com/minimum-success-criteria/minimum_success_criteria_1",
    "$type": "MinimumSuccessCriteria",
    "objective": "Example objective",
    "metric": "metric_1",
    "value": 1,
    "by": "2026-10-22"
  },
  "action": {
    "$id": "https://api.sb/quietcopy.com/actions/action_1",
    "operation": "MinimumSuccessCriteria.create",
    "status": "done"
  },
  "links": {
    "self": "https://api.sb/quietcopy.com/actions/action_1"
  }
}
```

**SDK**

```ts
import { $ } from 'startup-builder'

const minimumSuccessCriteria = await $.MinimumSuccessCriteria.create({ objective: 'Example objective', metric: 'metric_1', value: 1, by: '2026-10-22' })
```

**CLI**

```bash
npx startup-builder do MinimumSuccessCriteria.create --json '{"objective":"Example objective","metric":"metric_1","value":1,"by":"2026-10-22"}'
```

**MCP**

```json
{
  "name": "do",
  "arguments": {
    "code": "return await $.MinimumSuccessCriteria.create({ objective: 'Example objective', metric: 'metric_1', value: 1, by: '2026-10-22' })"
  }
}
```

## Example
A bookkeeping Startup sets `value: 8000` in monthly revenue from outside [Customers](/business/nouns/customer), `by` its sixth month. Its `fermi` shows the path: 20 Customers at a $400 [Price](/business/nouns/price).