---
title: "Create a form: kind (inline, popup, bar, slide_in, page), list_id or list_name, optional mailbox_id, double_opt_in (default true) and partial config."
method: POST
path: "/v1/workspaces/{workspaceId}/signup-forms"
---

# Create a form: kind (inline, popup, bar, slide_in, page), list_id or list_name, optional mailbox_id, double_opt_in (default true) and partial config.

`POST /v1/workspaces/{workspaceId}/signup-forms`

## Request

- Base URL: `https://api.bangermail.com`
- URL: `https://api.bangermail.com/v1/workspaces/{workspaceId}/signup-forms`
- Auth: HTTP bearer

## Headers

- `Idempotency-Key` string, required

## Request body

- object
  - `name` string
  - `kind` 'inline' | 'popup' | 'bar' | 'slide_in' | 'page'
  - `list_id` string, uuid
  - `list_name` string
  - `mailbox_id` string, uuid, nullable
  - `double_opt_in` boolean
  - `config` SignupFormConfig
    - `eyebrow` string
    - `headline` string
    - `body` string
    - `button_label` string
    - `email_placeholder` string
    - `name_placeholder` string
    - `fine_print` string
    - `incentive` string
    - `success_headline` string
    - `success_body` string
    - `redirect_url` string
    - `image_url` string
    - `art` 'arcs' | 'blocks' | 'horizon' | 'confetti' | 'frame' | 'bands' | 'dots'
    - `style` '' | 'brand' | 'material' | 'clarity' | 'editorial' | 'bold' | 'luxe' | 'playful' | 'plain'
    - `count_noun` string
    - `confirm_promise` string
    - `locale` string
    - `collect_name` boolean
    - `show_logo` boolean
    - `show_count` boolean
    - `exit_intent` boolean
    - `delay_seconds` integer
    - `scroll_percent` integer
    - `frequency_days` integer
    - `image` 'none' | 'photo' | 'art'
    - `layout` 'stacked' | 'split'
    - `theme` 'light' | 'dark' | 'brand' | 'auto'
    - `position` 'bottom' | 'top' | 'right' | 'left'
    - `fields` object[]
      - `key` string
      - `label` string, required
      - `type` 'text' | 'select' | 'checkbox'
      - `required` boolean
      - `placeholder` string
      - `options` string[]

## Response `200`

Successful response.

- object
  - `data` object, required
    - `id` string, uuid
    - `product_id` string, uuid
    - `public_id` string
    - `name` string
    - `kind` 'inline' | 'popup' | 'bar' | 'slide_in' | 'page'
    - `list_id` string, uuid
    - `list_name` string
    - `mailbox_id` string, uuid, nullable
    - `double_opt_in` boolean
    - `config` SignupFormConfig
      - `eyebrow` string
      - `headline` string
      - `body` string
      - `button_label` string
      - `email_placeholder` string
      - `name_placeholder` string
      - `fine_print` string
      - `incentive` string
      - `success_headline` string
      - `success_body` string
      - `redirect_url` string
      - `image_url` string
      - `art` 'arcs' | 'blocks' | 'horizon' | 'confetti' | 'frame' | 'bands' | 'dots'
      - `style` '' | 'brand' | 'material' | 'clarity' | 'editorial' | 'bold' | 'luxe' | 'playful' | 'plain'
      - `count_noun` string
      - `confirm_promise` string
      - `locale` string
      - `collect_name` boolean
      - `show_logo` boolean
      - `show_count` boolean
      - `exit_intent` boolean
      - `delay_seconds` integer
      - `scroll_percent` integer
      - `frequency_days` integer
      - `image` 'none' | 'photo' | 'art'
      - `layout` 'stacked' | 'split'
      - `theme` 'light' | 'dark' | 'brand' | 'auto'
      - `position` 'bottom' | 'top' | 'right' | 'left'
      - `fields` object[]
        - `key` string
        - `label` string, required
        - `type` 'text' | 'select' | 'checkbox'
        - `required` boolean
        - `placeholder` string
        - `options` string[]
    - `status` 'active' | 'paused' | 'archived'
    - `views` integer
    - `submissions` integer
    - `confirmations` integer
    - `subscribers` integer
    - `version` integer
    - `created_at` string, date-time
    - `updated_at` string, date-time
    - `hosted_url` string
    - `embed_code` string
    - `embed_slot` string
    - `open_button` string
    - `conversion_rate` number
    - `replayed` boolean

## Other responses

- `201`: Successful response.

---

[API](https://skmtc.dev/bangermail/apis/banger-api.md) · [All operations](https://skmtc.dev/bangermail/apis/banger-api/llms.txt) · [OpenAPI document](https://skmtc.dev/bangermail/apis/banger-api/revisions/a149909267f9?raw)
