When you are prototyping, the form is never the interesting part, but it still blocks the demo. Lanes Forms gets it out of the way: a live endpoint with no backend and no signup.
The whole integration is one POST /v1/forms with a schema, the list of fields. The response returns a live endpoint_url plus a claim link, and the endpoint accepts submissions immediately. The quickstart covers the full loop in three steps.
How Lanes Forms does it
- Zero setup. One request and the form works. Only the field list is required; types are text, email, textarea, number, checkbox, and hidden. Details in provisioning.
- No account to start. Provision anonymously, then claim it later if the project grows. Possession of the claim link is the authorization: whoever opens it and signs in becomes the owner, so you can build the prototype and hand the link to whoever should run it. See claiming.
- Real submissions. Data is captured and stored from the first send, so your demo is real. An unclaimed form holds up to 25 submissions, and claiming releases all of them into the dashboard, so nothing collected during the demo is lost.
- Cheap to abandon. If the idea does not stick, there is nothing to tear down. An unclaimed form freezes after 7 days and its data is hard-deleted 30 days later. Walking away is the teardown.
Why it matters
Great for hackathons, landing pages, and "let me test whether anyone wants this" moments, where standing up a backend would cost more than the experiment is worth.
It is also script-friendly. Every call creates its own form, so two prototypes that happen to share a schema stay separate. When you do want a rerun to be safe, send an Idempotency-Key with your call: repeating it replays the same form for 24 hours instead of leaving a growing pile of duplicates, which suits scaffolding tools and setup scripts that may run more than once.
The demo loop is finished out of the box, too. A browser post lands the visitor on a hosted thank-you page with no JavaScript, and the claim link can be previewed without consuming it, so an email scanner prefetching the link cannot burn the token before you get to it.
Set it up
- Provision the endpoint. No auth, one request:
curl -X POST https://api.lanes.sh/v1/forms \
-H "Content-Type: application/json" \
-d '{
"recipients": ["you@company.com"],
"allowed_origins": ["example.com"],
"schema": [
{"name": "email", "type": "email", "required": true},
{"name": "message", "type": "textarea"}
]
}'- Send a test submission. Confirm the loop works before wiring any UI:
curl -X POST https://api.lanes.sh/v1/f/YOUR_FORM_ID \
-H "Content-Type: application/json" \
-d '{"email": "visitor@site.com", "message": "Hello"}'- Point the prototype at it. Use a plain HTML form or a fetch call; the quickstart has both snippets.
- Claim it if the idea sticks. Open the claim link, sign in, and the held submissions plus the form move into your dashboard.
Further reading
- Quickstart: provision, wire, and claim in three steps.
- Provisioning a form: idempotency, unclaimed limits, and the form lifecycle.
- Claiming a form: how ownership transfers by link.
- Let your AI agent provision a form: have the agent create the endpoint mid-task.