---
title: "Submit saved signup form"
method: POST
path: "/forms/{companyId}/{formId}"
tags: ["Widgets"]
---

# Submit saved signup form

`POST /forms/{companyId}/{formId}`

Submit a saved signup form created in the dashboard. No API key is required.

The form's stored settings are the source of truth for audience targeting (lists, tags) and success behavior (success message or redirect URL), so dashboard edits apply to deployed embeds without re-embedding. List, tag, and redirect values in the request are ignored.

## Path parameters

- `companyId` string, required
- `formId` string, required

## Request body

- object
  - `email` string, email, required — Subscriber email address
  - `firstName` string
  - `lastName` string
  - `website` string — Honeypot field. Leave empty.

## Response `200`

Form submitted successfully. Native HTML form posts that accept `text/html` receive a hosted confirmation page showing the form's success message instead of JSON.

- object
  - `success` boolean

## Other responses

- `303` — Redirect after successful form submission, using the redirect URL stored in the form's settings
- `400` — Invalid email or blocked address
- `404` — Form not found for this company
- `429` — Rate limit exceeded
- `500` — Internal server error

## Changes

- **2026-06-16** `b05d27aeca01` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/sequenzy/apis/sequenzy-api/changes/forms/:companyId/:formId/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/fd494fa7e64d/schema)
