---
title: "Create email sequence step"
method: POST
path: "/email-sequences"
---

# Create email sequence step

`POST /email-sequences`

## Request

- Base URL: `https://api.web2wave.com/api`
- URL: `https://api.web2wave.com/api/email-sequences`
- Auth: API key in header `api_key`

Create one email of a sequence. `content` is HTML; a link `href="#unsubscribe"` is rewritten to the unsubscribe URL.
`track_opens`, `track_clicks`, `add_utm_tags` default to true on create. Empty `subscription_price_ids` / `quiz_ids` mean "no filter".
To generate several emails with AI use `POST /email-sequences/ai-generate`.

## Headers

- `api_key` string, required

## Request body

- EmailSequenceStepInput
  - `subject` string, required
  - `content` string, required: HTML body
  - `language` string: Required on create (e.g. `en`); ignored on update
  - `send_trigger_event` 'no_trigger' | 'lead_registration' | 'any_purchase' | 'purchase' | 'subscribe' | 'start_trial' | 'app_installed', required
  - `delay_value` integer, required
  - `delay_unit` 'minutes' | 'hours' | 'days', required
  - `stop_trigger` 'no_trigger' | 'any_purchase' | 'purchase' | 'subscribe' | 'start_trial' | 'app_installed', required
  - `status` 'draft' | 'active', required
  - `require_user_language_match` boolean
  - `subscription_price_ids` integer[]: Only send for these prices (see GET /email-sequences/prices)
  - `quiz_ids` integer[]: Only send for users of these quizzes (see GET /email-sequences/quizzes)
  - `track_opens` boolean
  - `track_clicks` boolean
  - `add_utm_tags` boolean

## Response `201`

Created

- object
  - `success` boolean
  - `step` EmailSequenceStep
    - `id` integer
    - `project_id` integer
    - `subject` string
    - `content` string: Only in single-step responses
    - `language` string
    - `send_trigger_event` string
    - `delay_value` integer
    - `delay_unit` string
    - `stop_trigger` string
    - `status` string
    - `subscription_price_ids` integer[], nullable
    - `quiz_ids` integer[], nullable
    - `source_email_sequence_step` integer, nullable
    - `is_translation` boolean
    - `deleted_at` string, nullable

## Other responses

- `403`: Email sequences feature is not enabled for this project
- `422`: Validation error (`errors` map)

## Changes

- **2026-11-03** `eb8b2d9124ac`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/web2wave/apis/web2wave-api/changes/email-sequences/post.md)

---

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