Feature / REST API
One API call. Segments update everywhere.
Push an event from your app, watch segments and workflows react. Clean REST API with simple API-key auth, documented in the kind of prose you actually want to read.
- API-key auth per workspace
- CRUD on contacts + attribute updates
- Event ingestion for behavioral triggers
- Webhooks for outbound events (open, click, bounce, unsubscribe)
- Bulk endpoints for batch imports / syncs

How it works
A closer look at what makes it tick.
One endpoint for the 90% case
POST /api/v2/contacts is idempotent on the email field, send the same payload twice and you update the same contact. Send it with new attributes, the contact's segments re-evaluate in real time. This is the entire integration for most SaaS: call this endpoint whenever your backend state changes.
Events for behavior
If you want to trigger workflows from product events (user_upgraded, feature_X_used) without mutating attributes, POST /v1/events. Events can carry structured data and can target workflows directly.
Webhooks back to your app
Subscribe to outbound events: email opened, clicked, bounced, marked as spam, unsubscribed. Use these to update your own analytics, CRM, or product state. HMAC-signed for verification.
Example use cases
Who this is actually for.
User signup
Create contact with email, plan, signup_date. Trigger onboarding workflow.
Plan upgrade
Update plan attribute. User exits Free segment, enters Pro segment, relevant workflows fire.
Feature activation
POST /v1/events with feature_name. Triggers feature-specific nurture.
Account deletion
DELETE /api/v2/contacts/{id}. GDPR-clean, contact removed from all segments.
await fetch('https://api.segmailer.com/api/v2/contacts', {
method: 'POST',
headers: { 'Authorization': `Bearer ${API_KEY}` },
body: JSON.stringify({
identifier: {
email: 'user@example.com'
},
attributes: {
firstName: 'Jane',
lastName: 'Doe',
plan: 'premium',
signupDate: '2024-01-15'
}
})
})
// → segments re-evaluate within 1s
// → active workflows targeting this contact reconcileFAQ
REST API, answered.
Plain HTTP is the primary interface, you don't need an SDK. We also publish a minimal TypeScript client for convenience. Any language that can make an HTTPS request works.
Ready to try rest api?
Free forever up to 500 contacts. No credit card. Set up in minutes.
Start free →