Updated March 2026
Three steps: create the survey, share the URL, read the data.
The fast way is Sutrena's compound tool. Call POST /api/pipeline with your survey fields to get a form with optional webhook notifications in one call. Want full control? Call POST /api/forms with your own field definitions instead. Select fields with predefined options work well for constraining responses.
Once created, you get two URLs: the hosted form (sutrena.com/f/{id}) for browser responses, and the submission endpoint (/api/forms/{id}/submit) for programmatic submissions. Most surveys use the hosted URL -- share it via email, social media, or embed it on your site.
For programmatic collection -- submitting from a mobile app or custom frontend -- POST to /api/forms/{id}/submit with field values as JSON. This endpoint is public, no auth required, so your frontend can submit directly without exposing API keys.
To read responses, call GET /api/forms/{id}/submissions with your API key. You get all submissions with timestamps and pagination.
Want real-time analysis? Set up a webhook for each new response. Pipe survey data into your own database, a spreadsheet, or an analytics tool without polling. Pro ($29/month) and Scale plans support CSV export.
# Create a survey form
curl -X POST https://sutrena.com/api/pipeline \
-H "Authorization: Bearer st_live_your_key" \
-H "Content-Type: application/json" \
-d '{ "name": "Customer Survey", "fields": [{"name": "satisfaction", "label": "Satisfaction", "type": "select", "options": ["Very satisfied", "Satisfied", "Neutral", "Dissatisfied", "Very dissatisfied"], "required": true}, {"name": "recommendation", "label": "Would you recommend us?", "type": "select", "options": ["Yes", "Maybe", "No"]}, {"name": "improvements", "label": "What can we improve?", "type": "textarea"}] }'
# Read collected responses
curl https://sutrena.com/api/forms/FORM_ID/submissions \
-H "Authorization: Bearer st_live_your_key"