Updated March 2026
A headless form backend handles submissions, storage, and delivery without providing a frontend UI. You build the form however you want -- React, Vue, Svelte, plain HTML, a mobile app, or an agent generates it -- and point it at the backend's submission endpoint.
The term comes from headless CMSes. Same idea: the backend provides an API, you bring your own frontend. For agents, this is the web runtime pattern: agent creates the backend structure, humans interact with whatever frontend you deploy, agent gets the data back.
Sutrena is a headless form backend with an optional head. The core is the API: create form schemas, deploy pages, accept submissions, query data, configure webhooks. But Sutrena also hosts a form page for every form you create. So you can use it headless (your frontend, Sutrena's API) or headed (Sutrena's hosted form, embedded on your site). You don't have to choose upfront.
When does headless make sense? Three scenarios. First, you have an existing frontend and just need a backend for form data. You've already built your React app with your own styling. You just need somewhere to POST. Second, you're building multi-channel -- same form on web, mobile, and in-app. One API endpoint handles all three. Third, an AI agent is generating forms dynamically based on context, and the frontend needs to adapt to whatever structure the agent creates.
The submission endpoint is POST /api/forms/{id}/submit. It's public, no auth required. Your frontend submits directly from the browser without exposing API keys. Sutrena validates against the field schema, stores the data, triggers webhooks, returns a response.
The embed system is a middle ground. Two lines of HTML create an iframe with the hosted form. Pre-built UI without giving up control of your site's layout.
The API also supports reading submissions, CSV export, and dashboards. So the headless backend is a complete data collection pipeline, not just a submission endpoint. Framework-agnostic. Three primitives: pages, forms, dashboards.