Headless partial saves

Use partial saves to store unfinished responses from a multi-step funnel built with a Page form and its Headless endpoint. Reuse the same session ID when you submit the completed form.

Beta

This feature is available to all accounts. Its request and response format can change without a new API version. Do not depend on it for anything you cannot update quickly.

Requirements

Partial saves work only for published Page forms with an attached Headless endpoint. The endpoint must use strict schema mode, and the form must have partial_submissions turned on. This setting requires a Pro or Business plan.

Send requests from a browser origin allowed by the endpoint. Send JSON with _session_id, a string of 16–128 letters, digits, underscores, or hyphens. A Headless-only form cannot use this endpoint; it returns 403 with code unsupported.

Save unfinished responses

Send a POST request to the endpoint’s partial URL. Use the same session ID for each partial save and the later final submission.

curl -X POST https://submit.makeform.ai/f/ENDPOINT_ID/partial \ -H "Origin: https://example.com" \ -H "Content-Type: application/json" \ -d '{ "name": "Ada Lovelace", "email": "[email protected]", "_session_id": "funnel-step-1-ada" }'

A successful partial save returns:

{ "ok": true }

When you submit the completed form with the same _session_id, the final submission has the same submission ID as the partial. A successful final submission returns:

{ "ok": true, "message": "Submission successful!", "submissionId": "SUBMISSION_ID" }