Publish before it takes orders
status publishes a Service before it sells. A roadmap Service shows its types and price everywhere and answers not_live with a waitlist; a preview takes test keys only.
status answers one question: can a buyer order this Service yet? Publish a Service before it sells, and its demand is on the record the day it opens.
status: 'roadmap',
price: 39,npx services.dev checkservices/subtitles.ts · 5 lines · roadmap · $39 per job, within 48 hours, charged on delivery.
who AI delivers every job.
steps draft · ai → review · ai · adversarial
agent order_subtitles · 23 of 30 words · on the roadmap, so an order answers not_live with the waitlistWhether the Service takes orders: live; preview, on test keys only; or roadmap, published with its types and price, answering not_live.
On the Service
| Key | Written | Left out | Does |
|---|---|---|---|
status | Status | 'live' | 'live', 'preview' (test keys only) or 'roadmap' (published, answering not_live). |
A roadmap Service is published on every surface with its types and its price, so buyers and agents can see what's coming and plan for it. An order answers 403 not_live, and next is the waitlist:
→ POST /subtitles {"video":"https://example.com/launch.mp4","to":"es","max_usd":39,"key":"roadmap"} "code": "not_live",
"reason": "Subtitles is on the roadmap: published with its price, and taking no orders yet.",
"do": "waitlist",
"email": null
"http": "POST http://localhost:8787/subtitles/waitlist",→ POST /subtitles/waitlist {"email":"ada@example.com"}{
"object": "waitlist",
"service": "subtitles",
"status": "roadmap",
"position": 1,
"simulated": true
}next carries the call to make, POST /subtitles/waitlist, with the one argument to fill. Nothing is charged.
A rules row does the same per region. Where it isn't ratified, an order answers 403 region_not_ratified at $0, naming the regions where it is, and next is the same waitlist. The legal example's contract review is ratified in three states:
→ POST /matters {"service":"contract-review","contract":{"url":"data:text/plain,A%20lease.","name":"lease.pdf"},"client":{"name":"Ada Lovelace","email":"ada@example.com"},"client_region":"US-FL","max_usd":99,"key":"lease-fl"} "code": "region_not_ratified",
"reason": "advise is ratified in US-CA, US-NY, US-TX under rules 2026-10, and this order's region is US-FL.",
"do": "waitlist",
"http": "POST http://localhost:8787/contract-review/waitlist",A preview Service takes orders on test keys only, so you and your first buyers can run it end to end before it goes live. On localhost every call is a test call:
→ POST /dubbing {"video":"https://example.com/launch.mp4","to":"es","max_usd":149,"key":"preview"}← 202 · job_7Hq2 · delivered · audio.txt · $149.00 charged| Op | API | CLI | MCP | SDK | Site | Docs | App |
|---|---|---|---|---|---|---|---|
service.waitlist | POST /:service/waitlist | /<service>: the waitlist | 2 error pages |
Operations has every column of every row.
| Code | Category | HTTP | Why |
|---|---|---|---|
not_live | unavailable | 403 | This Service takes no orders yet. |
The lines that use it in the example brands, as their files write them, and what check read aloud for each file.
status: 'roadmap',services/transcript.ts · 18 lines · roadmap · $12 per job, within 48 hours, charged on order's receipt, or at disclose for a return the brand filed.
steps disclose · the brand · on the §7216 consent, when the source is filed → consent · taxpayer · sign · Form 4506-C, when the source is ives → review · ai · adversarial → order · IRS, through the participant program, when the source is ives → fields · ai · cites the filing by its receipt, or the transcript: each field by its form, tax year and line → income · code · cites Form 1084, 24-month averageThe tax example runs every one of its files, captured.