Skip to content
SDKSpec and limitsSDK reference

Portfolio methods: brake, lift

The Portfolio Verbs brake, lift as typed SDK methods, with inputs, result, refusals and an example.

Reference for Portfolio, one group of Portfolio methods.

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.

TypeScript
interface PortfolioVerbs {
  brake(input: PortfolioBrakeInput, options?: SB.CallOptions): SB.Call<PortfolioBrakeOutput>
}

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

TypeScript
import { $ } from 'startup-builder'

const { brake, portfolio } = await $.Portfolio.brake({ portfolio: 'portfolio_zkvUnP8LwY', effects: ['send'], reason: 'Example reason', until: '2026-10-22T12:00:00Z' })

Portfolio.lift

Lift ends a brake before it expires, and the Actions it held resume their review and delay windows. Verb page.

TypeScript
interface PortfolioVerbs {
  lift(input: PortfolioLiftInput, options?: SB.CallOptions): SB.Call<PortfolioLiftOutput>
}

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

TypeScript
import { $ } from 'startup-builder'

const { brake, portfolio } = await $.Portfolio.lift({ portfolio: 'portfolio_zkvUnP8LwY', brake: 'setting_mfZPXxFQYD', reason: 'Example reason' })