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

# Submit signup form

`POST /forms/{companyIdOrFormId}`

Submit a public signup form. No API key is required.

When the path value is a saved form ID, the form's stored settings are used for audience targeting and success behavior. When the path value is a company ID, this endpoint uses the legacy company-level form behavior.

Omit `lists` to use the workspace default lists setting, provide `lists=` to add the subscriber to no lists, or provide comma-separated list IDs for specific lists. Provide stable `tags` IDs to apply existing tags to the subscriber.

## Path parameters

- `companyIdOrFormId` string, required

## Query parameters

- `lists` string
- `tags` string
- `duplicateStrategy` 'skip' | 'merge' | 'overwrite'
- `duplicateStrategyToken` string

## 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. Stored on the base subscriber profile and does not grant SMS consent.
  - `customAttributes` object — Subscriber custom attributes
  - `listIds` string[]
  - `tagIds` string[] — Existing tag IDs to apply to the subscriber
  - `duplicateStrategy` 'skip' | 'merge' | 'overwrite' — Body alternative to the duplicateStrategy query parameter. Query parameter takes precedence. Merge and overwrite require duplicateStrategyToken.
  - `duplicateStrategyToken` string — Body alternative to the duplicateStrategyToken query parameter.
  - `redirectUrl` string — Http(s) URL or bare domain to redirect to after successful submission
  - `website` string — Honeypot field. Leave empty.

## Response `200`

Form submitted successfully

- object
  - `success` boolean

## Other responses

- `303` — Redirect after successful form submission
- `400` — Invalid email, invalid redirect URL, or blocked address
- `404` — Company not found
- `429` — Rate limit exceeded
- `500` — Internal server error

---

[API](https://skmtc.net/sequenzy/apis/sequenzy-api.md) · [All operations](https://skmtc.net/sequenzy/apis/sequenzy-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/sequenzy/sequenzy-api/versions/af1cf9620482/schema)
