Skip to content

Read a Startup

Judge any Startup from its records: its Lifecycle state, the checks before its next state, its Metrics, its Decisions, and how it stood at launch.

A Startup is its records, so you judge it by reading them, not a deck. Five reads return its Lifecycle state, its next checks, its Metrics, its Decisions, and its record at launch.

Prerequisites

  • A key that reads the Startup: one its owner grants, or a Studio key that reaches its Portfolio.
  • The CLI, npx startup-builder. Every read below is also a GET on api.sb.

The examples read permitfeed.dev, which sells building-permit records to contractors by the call.

Steps

Terminal5 steps
  1. To read the Startup, show its root:

    npx startup-builder show / --fields 'name,domain,launchedAt'
    { "name": "Permitfeed", "domain": "permitfeed.dev", "launchedAt": "2026-09-01T14:02:11Z" }

    A launched Startup is Live. Its state is derived from checks, never set by hand.

  2. To see what stands between it and the next state, preview advance:

    npx startup-builder do Startup.advance --json '{"startup":"startup_1"}' --try
    Refused: 2 of 11 Repeatable checks failpass  Ten outside Customers from Plays  14 in the last 30 daysfail  Customers stay                    31% still pay at month 3; needs 40%fail  Runs without its founder          9 human hours per $1k; needs 5 or fewer
  3. To read its numbers, list its Metrics:

    npx startup-builder show /metrics --fields '$id,query,unit'

    Each value is computed from Events by the Metric's query. Nobody types it.

  4. To read why it changed, list its Decisions:

    npx startup-builder show /decisions --fields 'choice,reason,stakes'

    Each Decision records the choice, the reason and its stakes. Its Action records who made it, and the Changes it caused.

  5. To see the Startup as it stood at launch, add @launch to the namespace:

    Terminal
    curl "https://api.sb/permitfeed.dev@launch/offers" \
      -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"

    @launch reads the record at the moment the Startup went Live. @v3 reads a Version, and @2026-09-15 reads a date. Nothing is deleted, so every past state stays readable.

Result

You hold the Startup's state, the checks before its next state, its numbers, the reason behind each choice, and its record at launch. Every figure comes from Events, so two readers get the same answer.

Next steps

  • Lifecycle states: every state and its entry checks.
  • Decision: every field a Decision records.
  • Live: the checks every Startup passed to launch.