Skip to main content

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
app.segmailer.com/rest-api
SegMailer REST API reference
Reference doc for POST /api/v2/contacts.

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.

POST /api/v2/contacts// js
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 reconcile

FAQ

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 →