Skip to main content
Start with the job your backend or marketing team is trying to do. Segmentflow keeps precise domain resources underneath each job, so the right API depends on whether you are sending one expected email, recording a business event, starting an automation, or preparing audience-based email.

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

Use emails.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.
Use 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.
Choose the simple 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 API send 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.

Emails

Send one expected email and retrieve the EmailSend status.

Events

Track server-side business events and trigger matching Journeys.