Skip to main content
POST
Prepare an enrollment

Authorizations

Authorization
string
header
required

Authenticate with a Bearer token: API key, OAuth token, or session token.

Path Parameters

id
string<uuid>
required

Campaign ID.

Body

application/json
from_email
string<email>
required

Mailbox to send from: the sender's own or one shared with them. See GET /v1/campaigns/mailboxes.

recipients
object[]
required

People to enroll, each person once. A batch holds up to your workspace's recipient limit (50 by default), and never more than 1,000.

Required array length: 1 - 1000 elements
sender_team_member_id
string<uuid>

Team member the emails are sent as. Required with an API key; signed-in users always send as themselves.

job_id
string<uuid> | null

Job to add everyone to, which also fills {{search_name}}, {{search_client}} and {{application_link}}.

job_pipeline_stage_id
string<uuid> | null

Pipeline stage of job_id to put everyone in. Left out, people already on the job keep their stage and new ones start in the job's first stage.

start_mode
enum<string>
default:next_window

next_window (default): the first step's wait counts from now, then the email goes out in its next sending window, skipping weekends and holidays the campaign doesn't send on. now: the first email goes out right away, even outside sending hours, on a weekend or holiday, or when the first step has a wait. scheduled: the first email goes out at start_at in start_timezone, even outside sending hours or on a weekend or holiday; if the first step has a wait, it counts from start_at and the email then goes out in the next sending window. The outside_sending_window warning tells you when the first email goes out off schedule or has to wait.

Available options:
next_window,
now,
scheduled
start_at
string | null

When to start, only with start_mode scheduled: a local date and time such as 2026-10-19T09:00:00, read in start_timezone, 5 minutes to 90 days ahead. A batch's timing can't be changed after it is prepared; to move it, discard the batch and prepare a new one.

start_timezone
string | null

IANA timezone for start_at, for example Europe/London. Required with start_mode scheduled.

email_preference
enum<string>
default:auto

Which email to pick for people without one given. auto: work emails for business development and client nurture campaigns, personal emails otherwise. The person's preferred email always wins.

Available options:
auto,
work,
personal
variable_values
object

Values used for everyone in the batch. A person's own variable_values win.

blank_variables
string[]

Variables to leave out for everyone in the batch.

Maximum array length: 100
Required string length: 1 - 100
override_reason
string | null

Reason used for every person with overrides and no own reason.

Required string length: 1 - 1000

Response

Batch prepared

success
enum<boolean>
required
Available options:
true
data
object
required