Skip to content

Startup routes: launch, sell

The Startup Verbs launch, sell as api.sb routes, with inputs, result, refusals and an example.

Reference for Startup, one group of Startup routes.

Startup.launch

Launch puts a Startup live on its domain, serving its Offers to Customers. Verb page.

Text
POST /{namespace}/startups/{startup}/launch

Path: startup. Emits Startup.launched.

Inputs

InputTypeRequiredDescription
startupStartuprequiredThe Startup to launch.

Returns

OutputTypeRequiredDescription
startupStartuprequiredThe Startup, now live.

Refuses when

CheckErrorFixThen call
Offers published (live-offers)refusedPublish an Offer with a price and terms.Offer.publish
Work defined (live-work)refusedGive every published Offer a Workflow with each step assigned.Workflow.create
People assigned (live-people)refusedSeat an Agent or a person in every Role the Workflows need.Role.staff
Site published (live-site)refusedPublish the home, pricing, terms, and privacy Pages.Version.deploy
Test run passed (live-test-run)refusedHave a sample Customer accept every published Offer in test.Offer.accept
Portal ready (live-portal)refusedBuild the Startup so the Portal serves every Customer record.Startup.build
Agent API open (live-agent-api)refusedBuild the Startup and fix each conformance failure it names.Startup.build
Payouts connected (live-payouts)refusedHave a person claim the Startup and finish payouts onboarding.Startup.claim
Address resolves (live-address)refusedConnect the Domain, wait for its certificate, and check walletsEnabled.Domain.connect
Proof people want it (live-slots)refusedRun the cheapest test on each slot below Commitment, such as a fake door on the reserve page.Experiment.start
Sources secured (live-sources, Dataset API, Directory only)refusedRecord a licensed, crawled, or synthetic Source for every Dataset.Source.create
Evals passing (live-evals, Agent as a Service only)refusedRun the Evals again after fixing each failing task type.Action.evaluate
SLA published (live-sla, Services-as-Software, E2E managed service only)refusedState the outcome, the SLA, and the remedy on every service Offer.Offer.publish
Supply seeded (live-supply, Marketplace, Licensed-human marketplace only)refusedOnboard the first Suppliers and have each accept the supplier terms.Human.onboard
Credentials verified (live-credentials, Licensed-human marketplace only)refusedVerify a current credential for each Supplier in each jurisdiction served.Credential.verify
Human steps staffed (live-human-loop, E2E managed service only)refusedSeat a person in every human delivery step, with a response time.Role.staff
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/startups/startup_l3hr1EnUGY/launch \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"
JSON
{
  "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.launch",
    "status": "done"
  },
  "links": {
    "self": "https://api.sb/leaseline.app/actions/act_br07HsG8MG"
  }
}

Startup.sell

Sell transfers a Startup, with its Customers, Domains and records, to a buyer under a signed Agreement. Verb page.

Text
POST /{namespace}/startups/{startup}/sell

Path: startup. Body, as JSON: the other inputs. Emits Startup.sold.

Inputs

InputTypeRequiredDescription
startupStartuprequiredThe Startup to sell.
agreementAgreementrequiredThe signed sale Agreement.

Returns

OutputTypeRequiredDescription
startupStartuprequiredThe Startup, held by the buyer.

Refuses when

CheckErrorFixThen call
Own Domain (sell-domain)refusedMove each Domain into the Startup’s own registrar account and wait out any transfer lock; the account then moves whole at closing.Domain.transfer
Own payments account (sell-payments)refusedMove payments to a Stripe account the Startup holds alone.Startup.claim
Agreements transfer (sell-agreements)refusedSign assignable terms for each Agreement that names the Startup.Agreement.sign
Data exports (sell-export)refusedImport the latest export into an empty namespace and compare the replayed state.Startup.import
No shared credentials (sell-credentials)refusedReplace every shared key or login with one the Startup holds alone.None.
Sale agreed (sell-agreed)refusedA signed sale agreement names the buyer and schedules the transfer of Brand, domain, Customers, and records.None.
The input does not match the schema of the operation.invalid-inputRead the schema of the operation, then send every required field with the right type.None.
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/startups/startup_l3hr1EnUGY/sell \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"agreement":"agreement_zHIUnX8LwY"}'
JSON
{
  "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.sell",
    "status": "done"
  },
  "links": {
    "self": "https://api.sb/leaseline.app/actions/act_br07HsG8MG"
  }
}