---
title: "Submit saved popup"
method: POST
path: "/forms/popups/{popupId}"
tags: ["Widgets"]
---

# Submit saved popup

`POST /forms/popups/{popupId}`

Submit a saved popup without an API key. The popup's stored content is the source of truth for audience targeting, duplicate handling, custom fields, and success behavior.

## Path parameters

- `popupId` string, required

## Request body

- object
  - `email` string, email, required — Subscriber email address
  - `firstName` string
  - `lastName` string
  - `phone` string — Subscriber phone number in E.164 or US national format, when configured on the popup. Stored on the base subscriber profile and does not grant SMS consent.
  - `customAttributes` object — Subscriber custom attributes for custom fields configured on the popup
  - `website` string — Honeypot field. Leave empty.

## Response `200`

Popup submitted successfully

- object
  - `success` boolean
  - `redirectUrl` string, uri — Present when the popup is configured to redirect after submission

## Other responses

- `400` — Invalid email, required field missing, or blocked address
- `404` — Popup not found or not published
- `429` — Rate limit exceeded
- `500` — Internal server error

## Changes

- **2026-07-16** `ad2202945c5b` — 2 info
  - added the new optional request property `phone` (media type: application/x-www-form-urlencoded)
  - added the new optional request property `phone` (media type: application/json)
- **2026-07-16** `d7ea66dede72` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/sequenzy/apis/sequenzy-api/changes/forms/popups/:popupId/post.md)

---

[API](https://skmtc.dev/sequenzy/apis/sequenzy-api.md) · [All operations](https://skmtc.dev/sequenzy/apis/sequenzy-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/sequenzy/sequenzy-api/revisions/73f826277d9a/schema)
