Developers
A signed, headless API — no UI required.
Import contacts, launch campaigns, send transactional messages, manage sending domains, and receive real-time delivery and engagement events. Every request is HMAC-signed and rate-limited; every write is idempotent.
Download the OpenAPI spec (.yaml) →Authentication
Every request carries six headers: your product slug, environment, API key, an ISO-8601 timestamp (within 5 minutes of server time), a single-use nonce, and an HMAC-SHA256 signature over the method, path, timestamp, nonce, and body hash — keyed by your API key. Create a key at Settings → Integrations → API keys once signed in; the value is shown once.
Quickstart
Importing contacts is usually the first call — every other endpoint assumes contacts already exist.
curl -X POST https://app.seven16email.com/api/v1/imports \
-H "X-Seven16-Product: your_product_slug" \
-H "X-Seven16-Environment: production" \
-H "X-Seven16-Api-Key: s16_live_..." \
-H "X-Seven16-Timestamp: 2026-07-06T12:00:00Z" \
-H "X-Seven16-Nonce: a-unique-value" \
-H "X-Seven16-Signature: sha256=..." \
-H "Content-Type: application/json" \
-d '{"product_tenant_id":"...","csv":"email,first_name\njane@acme.com,Jane"}'Endpoints
Contacts & Imports
| POST | /v1/imports | Batch CSV import — create, update, upsert, or suppression-only. |
Campaigns
| GET/POST | /v1/campaigns | List or create campaigns. |
| GET/PATCH | /v1/campaigns/{id} | Read or update a campaign. |
| POST | /v1/campaigns/{id}/launch | Launch a campaign (quota-gated). |
Templates & Sequences
| GET/POST | /v1/templates | List or create reusable templates. |
| GET/POST | /v1/sequences | List or create automated sequences. |
| POST | /v1/enrollments | Enroll a contact into a sequence. |
Sending
| POST | /v1/transactional | Send a 1:1 transactional message. |
| POST | /v1/messages | Send a one-off message with attachments. |
| GET/POST | /v1/domains | List or create verified sending domains. |
| POST | /v1/domains/{id}/verify | Re-check a domain's DNS records. |
| GET/POST | /v1/senders | Manage sender identities. |
Family integration
| POST | /v1/tenants/link | One-click provision — link a family product's tenant to a Seven16 Email workspace. |
| POST | /v1/outcomes | Record a downstream outcome (submission, quote, bind, premium) attributed to a campaign. |
Analytics & Webhooks
| GET | /v1/analytics/overview | Account-level send/engagement summary. |
| GET | /v1/analytics/campaigns/{id} | Per-campaign performance. |
| GET/POST | /v1/webhooks | List or register an outbound webhook endpoint. |
| GET | /v1/platform/health | Liveness/readiness for platform monitoring. |
Webhooks
Register an endpoint to receive delivery and engagement events — sent, delivered, opened, clicked, replied, bounced, and unsubscribed — in real time. Failed deliveries retry with exponential backoff.
Rate limits
120 requests/minute per API key. A 429 response carries a Retry-After header.
Errors
Every non-2xx response is { ok: false, error: "<code>" }. A missing scope returns 403 with missing_scope:<scope>.