Startup routes: pause, pivot, read, resume
The Startup Verbs pause, pivot, read, resume as api.sb routes, with inputs, result, refusals and an example.
Reference for Startup, one group of Startup routes.
Startup.pause
Pause moves a Startup to Dormant: its scheduled Workflows stop, and its Sites and records stay in place. Verb page.
POST /{namespace}/ startups/ {startup}/ pausePath: startup. Body, as JSON: the other inputs. Emits Startup.paused.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
startup | Startup | required | The Startup to pause. |
reason | text | Why the Startup pauses. |
Returns
| Output | Type | Required | Description |
|---|---|---|---|
startup | Startup | required | The Startup, now Dormant. |
Refuses when
| Check | Error | Fix | Then call |
|---|---|---|---|
| The key is valid, but its scopes do not allow this operation. | forbidden | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |
| The record is not in a state that allows this Verb, so the call is refused. | refused | Read the record, run the Verb that moves it to an allowed state, then retry. | None. |
Example
curl -X POST https: //api.sb/ leaseline.app/ startups/ startup_l3hr1EnUGY/ pause \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"{
"api": "https: //api.sb/ leaseline.app",
"startup": {
"$id": "https: //api.sb/ leaseline.app/ startups/ startup_l3hr1EnUGY",
"$type": "Startup",
"name": "Leaseline"
},
"action": {
"$id": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG",
"operation": "Startup.pause",
"status": "done"
},
"links": {
"self": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG"
}
}Startup.pivot
Pivot records a founder Decision, on an Experiment’s Evidence against one slot Hypothesis, and merges the new Founding Hypothesis Version. Verb page.
POST /{namespace}/ startups/ {startup}/ pivotPath: startup. Body, as JSON: the other inputs. Emits Startup.pivoted.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
startup | Startup | required | The Startup that pivots, in any state from Building to Scale. |
hypothesis | Hypothesis | required | The slot Hypothesis the Evidence went against: customer, problem, approach, switch or differentiation. |
experiment | Experiment | required | The Experiment whose Evidence the Decision cites; it tested that Hypothesis. |
decision | Decision | required | The founder’s pivot Decision, citing the Evidence behind it. |
Returns
| Output | Type | Required | Description |
|---|---|---|---|
startup | Startup | required | The Startup, in the Lifecycle state it held. |
Refuses when
| Check | Error | Fix | Then call |
|---|---|---|---|
| The key is valid, but its scopes do not allow this operation. | forbidden | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |
| Unless the Experiment tested the named Hypothesis; a field change never starts a pivot | refused | Clear what the check names, then call it again. | None. |
Example
curl -X POST https: //api.sb/ leaseline.app/ startups/ startup_l3hr1EnUGY/ pivot \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
-H "Content-Type: application/ json" \
-d '{"hypothesis": "hypothesis_Z1gjx1kbtc", "experiment": "experiment_IyIJJPngKt", "decision": "decision_ipoch3tTJh"}'{
"api": "https: //api.sb/ leaseline.app",
"startup": {
"$id": "https: //api.sb/ leaseline.app/ startups/ startup_l3hr1EnUGY",
"$type": "Startup",
"name": "Leaseline"
},
"action": {
"$id": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG",
"operation": "Startup.pivot",
"status": "done"
},
"links": {
"self": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG"
}
}Startup.read
Read compiles a Startup’s records into one scoped room, such as a diligence room, with every number citing its Proof. Verb page.
POST /{namespace}/ startups/ {startup}/ readPath: startup. Body, as JSON: the other inputs. Emits Startup.read.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
startup | Startup | required | The Startup to read. |
scope | string | required | What the room holds: diligence for a raise, a sale or an LP look-through. |
reader | Party | Who reads it; access is a Permission that expires, readable over MCP. |
Returns
| Output | Type | Required | Description |
|---|---|---|---|
room | json | required | Statements, Metrics, cap table, Agreements in force, Control Proofs and open Disputes, each linked to its record. |
gaps | json | required | Each failed readiness check with its fix, such as a Period still open. |
startup | Startup | required | The Startup the room was compiled from. |
Refuses when
| Check | Error | Fix | Then call |
|---|---|---|---|
| The key is valid, but its scopes do not allow this operation. | forbidden | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |
Example
curl -X POST https: //api.sb/ leaseline.app/ startups/ startup_l3hr1EnUGY/ read \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
-H "Content-Type: application/ json" \
-d '{"scope": "diligence"}'{
"api": "https: //api.sb/ leaseline.app",
"room": {},
"gaps": {},
"startup": {
"$id": "https: //api.sb/ leaseline.app/ startups/ startup_l3hr1EnUGY",
"$type": "Startup",
"name": "Leaseline"
},
"action": {
"$id": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG",
"operation": "Startup.read",
"status": "done"
},
"links": {
"self": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG"
}
}Startup.resume
Resume returns a Dormant Startup to the Lifecycle state it held when it paused. Verb page.
POST /{namespace}/ startups/ {startup}/ resumePath: startup. Emits Startup.resumed.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
startup | Startup | required | The Dormant Startup. |
Returns
| Output | Type | Required | Description |
|---|---|---|---|
startup | Startup | required | The Startup in its prior state. |
Refuses when
| Check | Error | Fix | Then call |
|---|---|---|---|
| The key is valid, but its scopes do not allow this operation. | forbidden | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |
| The record is not in a state that allows this Verb, so the call is refused. | refused | Read the record, run the Verb that moves it to an allowed state, then retry. | None. |
Example
curl -X POST https: //api.sb/ leaseline.app/ startups/ startup_l3hr1EnUGY/ resume \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"{
"api": "https: //api.sb/ leaseline.app",
"startup": {
"$id": "https: //api.sb/ leaseline.app/ startups/ startup_l3hr1EnUGY",
"$type": "Startup",
"name": "Leaseline"
},
"action": {
"$id": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG",
"operation": "Startup.resume",
"status": "done"
},
"links": {
"self": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG"
}
}