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/importsBatch CSV import — create, update, upsert, or suppression-only.

Campaigns

GET/POST/v1/campaignsList or create campaigns.
GET/PATCH/v1/campaigns/{id}Read or update a campaign.
POST/v1/campaigns/{id}/launchLaunch a campaign (quota-gated).

Templates & Sequences

GET/POST/v1/templatesList or create reusable templates.
GET/POST/v1/sequencesList or create automated sequences.
POST/v1/enrollmentsEnroll a contact into a sequence.

Sending

POST/v1/transactionalSend a 1:1 transactional message.
POST/v1/messagesSend a one-off message with attachments.
GET/POST/v1/domainsList or create verified sending domains.
POST/v1/domains/{id}/verifyRe-check a domain's DNS records.
GET/POST/v1/sendersManage sender identities.

Family integration

POST/v1/tenants/linkOne-click provision — link a family product's tenant to a Seven16 Email workspace.
POST/v1/outcomesRecord a downstream outcome (submission, quote, bind, premium) attributed to a campaign.

Analytics & Webhooks

GET/v1/analytics/overviewAccount-level send/engagement summary.
GET/v1/analytics/campaigns/{id}Per-campaign performance.
GET/POST/v1/webhooksList or register an outbound webhook endpoint.
GET/v1/platform/healthLiveness/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>.

Ready to build?

Sign in, create an API key, and start with an import.

Sign in to get a key