Skip to content
APISpec and limitsAPI reference

Portfolio routes: brake, lift

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

Reference for Portfolio, one group of Portfolio routes.

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.

Text
POST /{namespace}/portfolios/{portfolio}/brake

Path: portfolio. Body, as JSON: the other inputs. Emits Portfolio.braked.

Inputs

InputTypeRequiredDescription
portfolioPortfoliorequiredThe Portfolio whose Startups the brake covers.
effectsstring[]requiredAny of send, spend, publish, and price.
reasontextrequiredWhy the effects stop.
untildatetimerequiredWhen the brake expires.
querystringNarrows the brake to the Startups that match, such as one Startup Template Version or one Cohort.

Returns

OutputTypeRequiredDescription
brakeSettingrequiredThe brake, held as a Setting that every matching Startup inherits.
portfolioPortfoliorequiredThe Portfolio under the brake.

Refuses when

CheckErrorFixThen call
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.

Example

Terminal
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.

Text
POST /{namespace}/portfolios/{portfolio}/lift

Path: portfolio. Body, as JSON: the other inputs. Emits Portfolio.lifted.

Inputs

InputTypeRequiredDescription
portfolioPortfoliorequiredThe braked Portfolio.
brakeSettingrequiredThe brake to lift.
reasontextrequiredWhy the effects may resume.

Returns

OutputTypeRequiredDescription
brakeSettingrequiredThe lifted brake, kept on record.
portfolioPortfoliorequiredThe Portfolio, its brake lifted.

Refuses when

CheckErrorFixThen call
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.

Example

Terminal
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"
  }
}