Start a business
Say what the business does and what it charges, and get a Startup with its app, Site, domain, Offer, Stripe account, Teams, Roles and Systems.
For developers
One sentence creates a Startup from a Startup Template and builds it: Startup.create records the business, and Startup.build provisions what it declares.
For developers
What you get
- 1business named Leaseline, moved from Idea to BuildingStartup
- 1brand: name, logo, colors and voiceBrand
- 1app your customers sign in toApp
- 1site at leaseline.app with pricing, sign-up and termsSite
- 1domain with its DNS records and certificateDomain
- 1Offer at $29 a month, ready to publishOffer
- 1Stripe account in the business’s name, claimed in one stepStripe's Account
- 1product and monthly price on StripeStripe's Product and Price
- 4Interfaces to the business: API, SDK, CLI and MCP serverInterface
- 10Teams, from Product to LegalTeam
- 38Roles, an agent named in eachRole
- 56Processes, each owned by a RoleProcess
- 67Systems: billing, ledger, CRM, support and the restSystem
- 1connect providers runs on the first dayWorkflow
- 1publish terms runs on the first dayWorkflow
- 1staff roles runs on the first dayWorkflow
Your agent does
You, to your agent
Start a business that tracks lease renewals for small property managers, $29 a month.
Make me a business for landlords who keep missing renewal dates.
Turn my idea into a business: renewal reminders for managers with up to 200 units.
# 1. Startup.create
STARTUP= $(curl -X POST https: //api.sb/ leaseline.app/ startups \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
-H "Content-Type: application/ json" \
-d '{"name": "Leaseline", "idea": "Tracks lease renewals for small property managers, $29 a month."}' | jq -r '.startup["$id"] | split("/ ") | last')
# 2. Startup.build
curl -X POST https: //api.sb/ leaseline.app/ startups/ $STARTUP/ build \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"
import { $ } from 'startup-builder'
const startup = await $.Startup.create({ name: 'Leaseline', idea: 'Tracks lease renewals for small property managers, $29 a month.' })
await $.Startup.build({ startup: startup.$id })
STARTUP= $(npx startup-builder do Startup.create --json '{"name": "Leaseline", "idea": "Tracks lease renewals for small property managers, $29 a month."}' | jq -r '.startup["$id"] | split("/ ") | last')
npx startup-builder do Startup.build --json '{"startup": "'"$STARTUP"'"}'
{
"name": "do",
"arguments": {
"code": "const startup = await $.Startup.create({ name: 'Leaseline', idea: 'Tracks lease renewals for small property managers, $29 a month.' })\nreturn await $.Startup.build({ startup: startup.$id })"
}
}
Change it
- Call it Renewly instead.
- Charge $49 a month for up to 500 units.
- Sell to agencies as well as landlords.
- Use the Solo SaaS template instead.