# Startup commands: pause, pivot, read, resume

URL: /code/cli/startup/verbs-pause · Id: `page:code/cli/startup/verbs-pause`

> The Startup Verbs pause, pivot, read, resume as CLI commands, with inputs, result, refusals and an example.

Reference for [Startup](/business/nouns/startup), one group of [Startup commands](/code/cli/startup).

### Startup.pause
Pause moves a Startup to Dormant: its scheduled Workflows stop, and its Sites and records stay in place. [Verb page](/business/nouns/startup/pause?interface=cli).

```text
npx startup-builder do Startup.pause --json '<input>' [--try | --send | --do]
```

Emits [`Startup.paused`](/business/events/Startup.paused).

**Inputs**

| Input | Type | Required | Description |
| --- | --- | --- | --- |
| `startup` | [Startup](/business/nouns/startup) | Yes | The Startup to pause. |
| `reason` | `text` | No | Why the Startup pauses. |

**Returns**

| Output | Type | Required | Description |
| --- | --- | --- | --- |
| `startup` | [Startup](/business/nouns/startup) | Yes | The Startup, now Dormant. |

**Refuses when**

| Check | Error | Fix | Then call |
| --- | --- | --- | --- |
| The key is valid, but its scopes do not allow this operation. | [`forbidden`](/code/api/errors/forbidden) | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |
| The record is not in a state that allows this Verb, so the call is refused. | [`refused`](/code/api/errors/refused) | Read the record, run the Verb that moves it to an allowed state, then retry. | None. |

**Example**

```bash
npx startup-builder do Startup.pause --json '{"startup":"startup_l3hr1EnUGY"}'
```

### Startup.pivot
Pivot records a founder Decision, on an Experiment’s Evidence against one slot Hypothesis, and merges the new Founding Hypothesis Version. [Verb page](/business/nouns/startup/pivot?interface=cli).

```text
npx startup-builder do Startup.pivot --json '<input>' [--try | --send | --do]
```

Emits [`Startup.pivoted`](/business/events/Startup.pivoted).

**Inputs**

| Input | Type | Required | Description |
| --- | --- | --- | --- |
| `startup` | [Startup](/business/nouns/startup) | Yes | The Startup that pivots, in any state from Building to Scale. |
| `hypothesis` | [Hypothesis](/business/nouns/hypothesis) | Yes | The slot Hypothesis the Evidence went against: customer, problem, approach, switch or differentiation. |
| `experiment` | [Experiment](/business/nouns/experiment) | Yes | The Experiment whose Evidence the Decision cites; it tested that Hypothesis. |
| `decision` | [Decision](/business/nouns/decision) | Yes | The founder’s pivot Decision, citing the Evidence behind it. |

**Returns**

| Output | Type | Required | Description |
| --- | --- | --- | --- |
| `startup` | [Startup](/business/nouns/startup) | Yes | The Startup, in the Lifecycle state it held. |

**Refuses when**

| Check | Error | Fix | Then call |
| --- | --- | --- | --- |
| The key is valid, but its scopes do not allow this operation. | [`forbidden`](/code/api/errors/forbidden) | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |
| Unless the Experiment tested the named Hypothesis; a field change never starts a pivot | [`refused`](/code/api/errors/refused) | Clear what the check names, then call it again. | None. |

**Example**

```bash
npx startup-builder do Startup.pivot --json '{"startup":"startup_l3hr1EnUGY","hypothesis":"hypothesis_Z1gjx1kbtc","experiment":"experiment_IyIJJPngKt","decision":"decision_ipoch3tTJh"}'
```

### Startup.read
Read compiles a Startup’s records into one scoped room, such as a diligence room, with every number citing its Proof. [Verb page](/business/nouns/startup/read?interface=cli).

```text
npx startup-builder do Startup.read --json '<input>' [--try | --send | --do]
```

Emits [`Startup.read`](/business/events/Startup.read).

**Inputs**

| Input | Type | Required | Description |
| --- | --- | --- | --- |
| `startup` | [Startup](/business/nouns/startup) | Yes | The Startup to read. |
| `scope` | `string` | Yes | What the room holds: `diligence` for a raise, a sale or an LP look-through. |
| `reader` | [Party](/business/nouns/party) | No | Who reads it; access is a Permission that expires, readable over MCP. |

**Returns**

| Output | Type | Required | Description |
| --- | --- | --- | --- |
| `room` | `json` | Yes | Statements, Metrics, cap table, Agreements in force, Control Proofs and open Disputes, each linked to its record. |
| `gaps` | `json` | Yes | Each failed readiness check with its fix, such as a Period still open. |
| `startup` | [Startup](/business/nouns/startup) | Yes | The Startup the room was compiled from. |

**Refuses when**

| Check | Error | Fix | Then call |
| --- | --- | --- | --- |
| The key is valid, but its scopes do not allow this operation. | [`forbidden`](/code/api/errors/forbidden) | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |

**Example**

```bash
npx startup-builder do Startup.read --json '{"startup":"startup_l3hr1EnUGY","scope":"diligence"}'
```

### Startup.resume
Resume returns a Dormant Startup to the Lifecycle state it held when it paused. [Verb page](/business/nouns/startup/resume?interface=cli).

```text
npx startup-builder do Startup.resume --json '<input>' [--try | --send | --do]
```

Emits [`Startup.resumed`](/business/events/Startup.resumed).

**Inputs**

| Input | Type | Required | Description |
| --- | --- | --- | --- |
| `startup` | [Startup](/business/nouns/startup) | Yes | The Dormant Startup. |

**Returns**

| Output | Type | Required | Description |
| --- | --- | --- | --- |
| `startup` | [Startup](/business/nouns/startup) | Yes | The Startup in its prior state. |

**Refuses when**

| Check | Error | Fix | Then call |
| --- | --- | --- | --- |
| The key is valid, but its scopes do not allow this operation. | [`forbidden`](/code/api/errors/forbidden) | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |
| The record is not in a state that allows this Verb, so the call is refused. | [`refused`](/code/api/errors/refused) | Read the record, run the Verb that moves it to an allowed state, then retry. | None. |

**Example**

```bash
npx startup-builder do Startup.resume --json '{"startup":"startup_l3hr1EnUGY"}'
```