---
title: "Add someone to an email sequence"
method: POST
path: "/email-sequences/{id}/enrollments"
tags: ["Email"]
---

# Add someone to an email sequence

`POST /email-sequences/{id}/enrollments`

## Request

- Base URL: `https://api.hypamoon.com/api/v1`
- URL: `https://api.hypamoon.com/api/v1/email-sequences/{id}/enrollments`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://app.hypamoon.com/oauth/authorize`, token URL `https://api.hypamoon.com/oauth/token`, scopes: `messages:write`)

Only someone the project already knows, like any recipient (a form submission with in_reply_to, a document, an app user, a buyer, a confirmed list contact, or an address the owner confirmed). data fills the variables of every step. Someone who is already in the sequence stays where they are (200).

## Path parameters

- `id` string, uuid, required

## Request body

- object
  - `email` string, required: The person's address. It must appear in the project, like any recipient.
  - `data` object: The values for the variables, like { "name": "Sam", "order_number": "1042" }. Text, numbers or true/false.
  - `in_reply_to` string, uuid: The form submission or chat conversation this person came from, when that is the only place the address appears.

## Response `200`

Already in the sequence.

- object
  - `id` string, uuid, required
  - `sequence_id` string, uuid, required
  - `email` string, required
  - `status` 'active' | 'completed' | 'stopped', required
  - `step` integer, required: The step that is next (0 is the first).
  - `next_send_at` string, date-time, nullable, required
  - `stop_reason` string, nullable, required: Why it stopped: unsubscribed, stopped, or the event (like order.paid).
  - `created_at` string, date-time, required

## Other responses

- `201`: Added; the first step goes after its wait.
- `400`: Bad Request: invalid_json.
- `401`: Unauthorized: unauthorized, missing_api_key, invalid_api_key, api_key_revoked, project_deleted.
- `403`: Forbidden: project_not_enabled, key_mode_mismatch, missing_scope, verification_required, recipient_not_allowed.
- `404`: Not Found: not_found.
- `422`: Unprocessable Content: validation_failed.
- `429`: Too Many Requests: rate_limited.
- `500`: Internal Server Error: internal_error.
- `503`: Service Unavailable: service_unavailable.

---

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