Quick decision table
The API reference documents the current v1 launch endpoints. This guide also
names adjacent job-oriented surfaces so you can choose the right product path
before you design an integration.
One email versus a Journey
Useemails.send when your application already made the decision to send one message. The request creates one durable EmailSend from either a saved Email Template or rendered JSX Email content. Marketing-class saved Template purposes and rendered purpose: "marketing" or purpose: "newsletter" require subscriptionGroupId. It does not require a Journey.
events.track when the backend is reporting a fact and Segmentflow should decide what happens through active Journey configuration. The request writes a UserEvent; any Journey that listens for password_reset.requested can enroll the Profile.
emails.send version when password reset is only one service-requested message. Choose the events.track version when the reset request should enter an automation, branch, wait, send follow-ups, or be handled by multiple active Journeys. Prefer a reset request id or another safe lookup value in event data; send raw reset tokens only when your retention policy allows them.
Profile, send, and event data
Keep state in the bucket that matches its lifetime:
Do not copy one-time reset URLs, order line items, or event metadata into durable Profile properties unless they are truly long-lived Profile attributes.
Bulk emails
“Bulk emails” can mean three different jobs:emails.batchSend is not a Broadcast and not a NewsletterIssue. It creates independent EmailSend records, so one bad item should not redefine the whole batch. Broadcasts and Newsletter Issues are audience-send carriers with preview, scheduling, compliance, and send-safety controls.
Audience send guardrails
Broadcasts and Newsletter Issues can fan out to a computed audience, so their first developer surface is intentionally guarded. When these surfaces are available, use developer APIs to draft, update, duplicate, preview or preflight the audience, send a single-recipient test, schedule a future send, cancel a scheduled send, inspect results, or create a dashboard confirmation handoff. Do not expect a direct SDK or APIsend now primitive for these carriers in the first public surface. The final immediate send action stays behind an authenticated dashboard confirmation, where a human can review audience size, sender/domain readiness, consent state, and content before dispatch.
This is the main difference from emails.batchSend: batch email sends only the caller-enumerated items in the request, while Broadcasts and Newsletter Issues compute or manage an audience and send one shared campaign or issue to that audience.
Naming boundary
Use email-specific names for today’s email sending APIs:emails.send, emails.batchSend, Broadcasts, and Newsletter Issues.
Messaging is reserved for the future cross-channel product umbrella. It may eventually include email plus SMS, WhatsApp, or other channels, but it is not today’s name for the email-send API.
Related guides
Emails
Send one expected email and retrieve the EmailSend status.
Events
Track server-side business events and trigger matching Journeys.

