Skip to content

Demand Budget

A Demand Budget is the money a founder commits each month to demand Plays, recorded as a Decision with a target and a stop rule.

A Startup without one runs at $0, on free Plays only.

Properties

PropertyTypeRequiredDescription
amountmoneyrequiredThe monthly spend it funds; zero is the default.
tierstringrequiredOne of $0, $100, $1k, $10k or $100k: the highest tier at or below the amount, whose Play mix it buys.
targetstringrequiredThe Metric value the spend must reach, such as cost per first Order under $40.
stopRulestringrequiredThe reading that closes the budget, such as acquisition cost above margin for two weeks.
untildateThe last day the budget runs before its Decision is read.
statusstringrequiredOne of Open, Stopped or Closed. A closed budget is kept with its Evidence.

Object

JSON
{
  "$id": "https://api.sb/routewise.dev/demand-budgets/demand_budget_1",
  "$type": "DemandBudget",
  "amount": {
    "amount": 25,
    "currency": "USD"
  },
  "tier": "$0",
  "target": "Example target",
  "stopRule": "Example stop rule",
  "until": "2026-10-22",
  "status": "Open"
}

Relationships

  • A Demand Budget is allocated by many Play Mixes: each Play Mix version splits one Demand Budget across its paid Plays. allocatedBy, inverse allocates.
  • A Demand Budget is funded by one Startup: a Startup commits monthly Demand Budgets, each with a target and a stop rule. fundedBy, inverse funds.
  • A Demand Budget pays many Plays: a Demand Budget’s spend buys demand Plays. pays, inverse paidBy.
  • A Demand Budget is recorded as one Decision: each Demand Budget is committed as one Decision, read again when it closes. recordedAs, inverse records.

Verbs

  1. createCreates a Demand Budget.
    POST /{namespace}/demand-budgetsdoDemandBudget.created
  2. getReturns one Demand Budget by id.
    GET /{namespace}/demand-budgets/{id}readNo Event
  3. listReturns Demand Budgets, newest first, one page at a time.
    GET /{namespace}/demand-budgetsreadNo Event
  4. updateChanges the given properties of a Demand Budget.
    PATCH /{namespace}/demand-budgets/{id}doDemandBudget.updated

Permissions

Which Access level may call each Verb. One-way Verbs wait their delay window.

Operationowneradminmemberviewer
DemandBudget.createYesYesYesNo
DemandBudget.getYesYesYesYes
DemandBudget.listYesYesYesYes
DemandBudget.updateYesYesYesNo

Call it

Text
Add a demand budget to TutorLoop.

Example

A founder funds a $1,000 Demand Budget for a Startup selling a scheduling app to dental offices. Its target is cost per first Order under $90, and its stop rule closes it if cost runs higher for two weeks. Marketing spends it on one paid search Campaign.