Feedback and surveys are about getting answers into one place you can actually read. Lanes Forms handles capture, storage, and export so you can focus on the questions.
A survey here is a schema: one POST /v1/forms with the list of questions as fields returns a live endpoint. Responses can arrive as JSON, form-urlencoded posts, or multipart data, from a page you own or a script you run. See provisioning for the create call and submitting for the endpoint contract.
How Lanes Forms does it
- Any fields. Text, long text, numbers, and checkboxes, whatever the survey needs. Schema types are text, email, textarea, number, checkbox, and hidden, each with an optional required flag. A response that skips a required question is refused with a
422that lists exactly which fields were missing. - Stored and exportable. Submissions are held in Lanes with CSV export. Responses are listed in the dashboard, and the submissions endpoint exports them as CSV with
?format=csv, so the analysis happens in whatever tool you already use. See the API reference. - Route it too. Send responses to email, a webhook, or Supabase as they arrive. Email forwarding and Lanes-hosted storage are live today; webhook and Supabase delivery are on the roadmap and return
422 action_not_availableuntil they ship. See integrating. - Protected. Rate limits and honeypots keep bots from skewing your results. A bot that fills the hidden
_gotchafield is marked as spam silently, with success still returned, and each IP is limited to 10 submissions per minute. Every stored response carries a spam score, so junk stays separable from signal.
Why it matters
You get clean responses in one place, ready to read or export, without standing up and maintaining a survey backend.
Surveys also change mid-flight. Values you post that are not in the schema are stored under extra rather than rejected, so adding a question to your markup does not break collection, and the schema itself can be updated later with a PATCH on the form.
Both audiences are served by the same endpoint. A respondent submitting from a browser lands on a hosted thank-you page, while a script or API caller gets a JSON receipt with a submission id, so panel tools and embedded pages can feed the same survey.
Set it up
- Provision the survey. One request with the questions as fields:
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": "rating", "type": "number", "required": true},
{"name": "comments", "type": "textarea"}
]
}'- Collect responses. Point a page at the
endpoint_url, or submit directly from any client:
curl -X POST https://api.lanes.sh/v1/f/YOUR_FORM_ID \
-H "Content-Type: application/json" \
-d '{"rating": 4, "comments": "Loved the onboarding"}'- Read and export. Claim the form, watch responses arrive in the dashboard, and pull the CSV when you are ready to analyze.
Further reading
- Provisioning a form: field types, required flags, and schema options.
- Submitting data: accepted content types, validation, and what each response stores.
- API reference: the submissions endpoint and CSV export.
- Forms for prototypes and side projects: the same zero-setup endpoint for experiments.