Widgets
Submit Saved Popup
Submit a saved popup and create or update a subscriber.
POST
/
api
/
v1
/
forms
/
popups
/
{popupId}
Submit Saved Popup
curl --request POST \
--url https://api.sequenzy.com/api/v1/forms/popups/{popupId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"email": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"phone": "<string>",
"customAttributes[fieldKey]": "<string>",
"website": "<string>"
}
'import requests
url = "https://api.sequenzy.com/api/v1/forms/popups/{popupId}"
payload = {
"email": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"phone": "<string>",
"customAttributes[fieldKey]": "<string>",
"website": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
email: '<string>',
firstName: '<string>',
lastName: '<string>',
phone: '<string>',
'customAttributes[fieldKey]': '<string>',
website: '<string>'
})
};
fetch('https://api.sequenzy.com/api/v1/forms/popups/{popupId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sequenzy.com/api/v1/forms/popups/{popupId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'email' => '<string>',
'firstName' => '<string>',
'lastName' => '<string>',
'phone' => '<string>',
'customAttributes[fieldKey]' => '<string>',
'website' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.sequenzy.com/api/v1/forms/popups/{popupId}"
payload := strings.NewReader("{\n \"email\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"phone\": \"<string>\",\n \"customAttributes[fieldKey]\": \"<string>\",\n \"website\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.sequenzy.com/api/v1/forms/popups/{popupId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"email\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"phone\": \"<string>\",\n \"customAttributes[fieldKey]\": \"<string>\",\n \"website\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sequenzy.com/api/v1/forms/popups/{popupId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"email\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"phone\": \"<string>\",\n \"customAttributes[fieldKey]\": \"<string>\",\n \"website\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{"success": true}
{ "success": true, "redirectUrl": "https://example.com/thank-you" }
{ "success": false, "message": "Please enter a valid email address" }
{ "success": false, "message": "Invalid popup configuration" }
{ "success": false, "message": "Too many requests. Please try again later." }
{ "success": false, "message": "An error occurred. Please try again." }
Submit Saved Popup
Saved popup embeds submit here automatically. The popup’s stored content controls lists, tags, duplicate handling, 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.
curl -X POST "https://api.sequenzy.com/api/v1/forms/popups/popup_abc123" \
-H "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "email=user@example.com" \
--data-urlencode "customAttributes[company_size]=42"
Responses
{"success": true}
{ "success": true, "redirectUrl": "https://example.com/thank-you" }
{ "success": false, "message": "Please enter a valid email address" }
{ "success": false, "message": "Invalid popup configuration" }
{ "success": false, "message": "Too many requests. Please try again later." }
{ "success": false, "message": "An error occurred. Please try again." }
⌘I
Submit Saved Popup
curl --request POST \
--url https://api.sequenzy.com/api/v1/forms/popups/{popupId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"email": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"phone": "<string>",
"customAttributes[fieldKey]": "<string>",
"website": "<string>"
}
'import requests
url = "https://api.sequenzy.com/api/v1/forms/popups/{popupId}"
payload = {
"email": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"phone": "<string>",
"customAttributes[fieldKey]": "<string>",
"website": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
email: '<string>',
firstName: '<string>',
lastName: '<string>',
phone: '<string>',
'customAttributes[fieldKey]': '<string>',
website: '<string>'
})
};
fetch('https://api.sequenzy.com/api/v1/forms/popups/{popupId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sequenzy.com/api/v1/forms/popups/{popupId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'email' => '<string>',
'firstName' => '<string>',
'lastName' => '<string>',
'phone' => '<string>',
'customAttributes[fieldKey]' => '<string>',
'website' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.sequenzy.com/api/v1/forms/popups/{popupId}"
payload := strings.NewReader("{\n \"email\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"phone\": \"<string>\",\n \"customAttributes[fieldKey]\": \"<string>\",\n \"website\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.sequenzy.com/api/v1/forms/popups/{popupId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"email\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"phone\": \"<string>\",\n \"customAttributes[fieldKey]\": \"<string>\",\n \"website\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sequenzy.com/api/v1/forms/popups/{popupId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"email\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"phone\": \"<string>\",\n \"customAttributes[fieldKey]\": \"<string>\",\n \"website\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{"success": true}
{ "success": true, "redirectUrl": "https://example.com/thank-you" }
{ "success": false, "message": "Please enter a valid email address" }
{ "success": false, "message": "Invalid popup configuration" }
{ "success": false, "message": "Too many requests. Please try again later." }
{ "success": false, "message": "An error occurred. Please try again." }