Widgets
Submit Saved Popup
Submit a saved popup and create or update a subscriber.
POST
Submit Saved Popup
Saved popup embeds submit here automatically. The popup’s stored content controls lists, tags, duplicate handling, resubscribe behavior, custom fields, and redirect behavior.
Request
string
required
The saved popup ID.
string
required
The subscriber’s email address.
string
The subscriber’s first name, when the popup includes that field.
string
The subscriber’s last name, when the popup includes that field.
string
The subscriber’s phone number when the popup includes that field. It is
normalized onto the base subscriber profile without changing SMS consent.
string
Value for a custom popup field, stored as a subscriber custom attribute.
string
Honeypot field. Leave it empty.
string
Signed bot-protection token. The hosted popup script adds it automatically;
custom integrations can omit it. See Bot protection.
string
Cloudflare Turnstile token that the hosted popup script adds when bot
protection is on. Custom integrations cannot obtain one; see Bot
protection.
Bot protection
The hosted popup script sends a signedsequenzyToken with each submission. It proves the
signup came from a page that loaded your Sequenzy popup, 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 popup, 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 popup hasbotProtection on, the hosted popup 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, 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 popup’s lists, whatever theduplicateStrategy. When the popup’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.
Scratch-to-reveal rewards
When the popup has an enabled scratch-to-reveal reward, a successful response also includesreward: { "value": "...", "code": "..." | null }. The embed
script never contains the value or code; this response is where the browser
gets them. Every success response for that popup carries the
same reward, including submissions ignored by bot and abuse protection, so the
response never reveals whether the contact was stored. Error responses never
include a reward.
The reward is also saved on the contact as the discount custom attribute
before any welcome automation starts, so {{discount.code}} in the welcome
email matches what the visitor saw. A discount attribute the contact already
has from another source is kept.