Widgets
Submit Saved Form
Submit a saved signup form and create or update a subscriber.
POST
Submit Saved Form
You can submit a saved signup form created in the dashboard without an API key. The endpoint accepts
application/x-www-form-urlencoded form posts and JSON.
The form’s stored settings are the source of truth for audience targeting (lists, tags) and success behavior (success message or redirect URL). When you change those settings in the dashboard, deployed embeds pick them up automatically - no re-embedding needed. List, tag, and redirect values in the request are ignored.
Request
string
required
The saved form ID. You can find it in the form’s embed code on the Forms
screen.
string
required
The subscriber’s email address.
string
The subscriber’s first name.
string
The subscriber’s last name.
string
The subscriber’s phone number when the saved form includes a phone field. It
is normalized onto the base subscriber profile without changing SMS consent.
string
Value for a custom field configured on the saved form. The
fieldKey is
stored as a subscriber custom attribute, for example
customAttributes[nickname]=Ace.object
JSON alternative for custom integrations. Saved forms only accept keys that
are configured as custom fields on the form. A hidden field that has a
configured value always stores that value and ignores the submitted one; a
hidden field with no configured value stores what you submit. See Update
Saved Form for the field schema.
string
Honeypot field. Leave it empty.
string
Signed bot-protection token. The hosted embed script adds it automatically;
custom integrations can omit it. See Bot protection.
string
Cloudflare Turnstile token that the hosted embed script adds when bot
protection is on. Custom integrations cannot obtain one; see Bot
protection.
Generated saved-form HTML renders built-in name fields first, then email, then
configured custom fields before the submit button. Custom fields cannot
currently be interleaved with built-in fields.
Existing company-scoped saved form submission URLs continue to work.
Bot protection
The hosted embed script sends a signedsequenzyToken with each submission. It proves the
signup came from a page that loaded your Sequenzy form, so Sequenzy can tell it
apart from scripts that post directly to this endpoint.
- You do not need to send a token from your own HTML or server code.
- Submissions without a valid token may be asked to confirm by email before they become active subscribers.
- When Sequenzy support turns on strict protection for your workspace after a bot attack, submissions without a token, or with a token issued for a different form, return the normal success response without subscribing anyone. Strict protection is only turned on when your signups all arrive through hosted embed scripts and popups. The native HTML and fetch snippets from the form code dialog do not send a token.
Bot protection toggle
When the form hasbotProtection on, the hosted embed script also runs a
Cloudflare Turnstile check, invisibly for most visitors, and sends its result as
sequenzyBotCheckToken.
- Signups that pass are subscribed as usual.
- Signups that fail the check, or arrive without a token (such as posts from the native HTML snippet, which cannot run the check), must confirm by email before they are subscribed.
- If the confirmation email or sender was removed after bot protection was turned on, those signups get a
400asking them to try again instead. - If Cloudflare cannot be reached, signups are accepted, so an outage never blocks them.
Returning unsubscribed contacts
Submitting again counts as a fresh opt-in. If a contact unsubscribed from all email, a new submission resubscribes them and restores the form’s lists, whatever theduplicateStrategy. When the form’s resubscribeBehavior is double_opt_in, or workspace double opt-in is on, they get your confirmation email instead and are resubscribed once they confirm. Contacts whose address bounced or who marked your email as spam are not resubscribed. The response is the same in every case, so it never reveals whether an address was subscribed.
Responses
Native HTML form posts that accepttext/html receive a hosted confirmation page that mirrors the form’s success screen (checkmark, heading, and message) instead of JSON. Forms configured to redirect respond with a 303 to the stored redirect URL.