# Portfolio routes: brake, lift

URL: /code/api/portfolio/verbs · Id: `page:code/api/portfolio/verbs`

> The Portfolio Verbs brake, lift as api.sb routes, with inputs, result, refusals and an example.

Reference for [Portfolio](/business/nouns/portfolio), one group of [Portfolio routes](/code/api/portfolio).

### Portfolio.brake
Brake stops one class of effects, such as sends, spend, publishes, or price changes, across a Portfolio query until it expires or is lifted. [Verb page](/business/nouns/portfolio/brake?interface=api).

```text
POST /{namespace}/portfolios/{portfolio}/brake
```

Path: `portfolio`. Body, as JSON: the other inputs. Emits [`Portfolio.braked`](/business/events/Portfolio.braked).

**Inputs**

| Input | Type | Required | Description |
| --- | --- | --- | --- |
| `portfolio` | [Portfolio](/business/nouns/portfolio) | Yes | The Portfolio whose Startups the brake covers. |
| `effects` | `string[]` | Yes | Any of `send`, `spend`, `publish`, and `price`. |
| `reason` | `text` | Yes | Why the effects stop. |
| `until` | `datetime` | Yes | When the brake expires. |
| `query` | `string` | No | Narrows the brake to the Startups that match, such as one Startup Template Version or one Cohort. |

**Returns**

| Output | Type | Required | Description |
| --- | --- | --- | --- |
| `brake` | [Setting](/business/nouns/setting) | Yes | The brake, held as a Setting that every matching Startup inherits. |
| `portfolio` | [Portfolio](/business/nouns/portfolio) | Yes | The Portfolio under the brake. |

**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
curl -X POST https://api.sb/leaseline.app/portfolios/portfolio_zkvUnP8LwY/brake \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"effects":["send"],"reason":"Example reason","until":"2026-10-22T12:00:00Z"}'
```

```json
{
  "api": "https://api.sb/leaseline.app",
  "brake": {
    "$id": "https://api.sb/leaseline.app/settings/setting_mfZPXxFQYD",
    "$type": "Setting",
    "key": "Example key",
    "value": {}
  },
  "portfolio": {
    "$id": "https://api.sb/leaseline.app/portfolios/portfolio_zkvUnP8LwY",
    "$type": "Portfolio",
    "id": "Example id",
    "type": [
      "noun_v0akLUrXCN"
    ]
  },
  "action": {
    "$id": "https://api.sb/leaseline.app/actions/act_br07HsG8MG",
    "operation": "Portfolio.brake",
    "status": "done"
  },
  "links": {
    "self": "https://api.sb/leaseline.app/actions/act_br07HsG8MG"
  }
}
```

### Portfolio.lift
Lift ends a brake before it expires, and the Actions it held resume their review and delay windows. [Verb page](/business/nouns/portfolio/lift?interface=api).

```text
POST /{namespace}/portfolios/{portfolio}/lift
```

Path: `portfolio`. Body, as JSON: the other inputs. Emits [`Portfolio.lifted`](/business/events/Portfolio.lifted).

**Inputs**

| Input | Type | Required | Description |
| --- | --- | --- | --- |
| `portfolio` | [Portfolio](/business/nouns/portfolio) | Yes | The braked Portfolio. |
| `brake` | [Setting](/business/nouns/setting) | Yes | The brake to lift. |
| `reason` | `text` | Yes | Why the effects may resume. |

**Returns**

| Output | Type | Required | Description |
| --- | --- | --- | --- |
| `brake` | [Setting](/business/nouns/setting) | Yes | The lifted brake, kept on record. |
| `portfolio` | [Portfolio](/business/nouns/portfolio) | Yes | The Portfolio, its brake lifted. |

**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
curl -X POST https://api.sb/leaseline.app/portfolios/portfolio_zkvUnP8LwY/lift \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"brake":"setting_mfZPXxFQYD","reason":"Example reason"}'
```

```json
{
  "api": "https://api.sb/leaseline.app",
  "brake": {
    "$id": "https://api.sb/leaseline.app/settings/setting_mfZPXxFQYD",
    "$type": "Setting",
    "key": "Example key",
    "value": {}
  },
  "portfolio": {
    "$id": "https://api.sb/leaseline.app/portfolios/portfolio_zkvUnP8LwY",
    "$type": "Portfolio",
    "id": "Example id",
    "type": [
      "noun_v0akLUrXCN"
    ]
  },
  "action": {
    "$id": "https://api.sb/leaseline.app/actions/act_br07HsG8MG",
    "operation": "Portfolio.lift",
    "status": "done"
  },
  "links": {
    "self": "https://api.sb/leaseline.app/actions/act_br07HsG8MG"
  }
}
```