Submit a response to a published form by slug.
Submit a response to a published form by slug.
POST
https://app.softsolz.uk/api/v1/services/forms/forms/{slug}/submitRecent Requests
Kept only in this browserTimeStatusTook
Send a request with Try it to see it here.
Path Params
slugstringrequiredHeaders
AuthorizationstringrequiredBearer token: `Bearer sk_live_...` (or `sk_test_...` for sandbox). A login token will not work here.
Body Params
dataobjectOptional container for the field values keyed by field id. If omitted, top-level keys are treated as the field payload.
Response
Response Body
idinteger | nullCreated submission id (null when a honeypot trap silently drops it).created_atstringSubmission timestamp.success_messagestring | nullThe form's configured success message, or null.redirect_urlstringPresent when the form sends people to a page of yours after submitting.nextobjectPresent when the form continues to a payment or a booking. url is null and code is payment_unavailable when the payment could not be started; the answers are still saved.Request
curl --request POST \ --url https://app.softsolz.uk/api/v1/services/forms/forms/{slug}/submit \ --header 'Authorization: Bearer sk_live_your_key' \ --header 'Content-Type: application/json' \ --data '{ "data": { "full_name": "Jane Doe", "email": "jane@example.com", "message": "Hello" }}'Credentials
Sent as a Bearer token and used in the samples above and in Try it. Kept only in this browser tab until you close it. Use an sk_test_ key to stay in your sandbox.
Response · 201
{ "data": { "id": 1001, "created_at": "2026-06-05T12:00:00.000Z", "success_message": "Thanks, we got it!", "redirect_url": "https://example.com/thanks", "next": { "kind": "booking", "url": "/book/intro-call", "code": "payment_unavailable" } }}