Developer API access to Seven16 Email with signed webhook events

Developers

A simple, headless API — no UI required.

Launch campaigns, send transactional messages, manage sending domains, record outcomes for attribution, and receive real-time delivery and engagement events. Every request is scope-checked and rate-limited; every write is idempotent.

Download the OpenAPI spec (.yaml) →Copy commercial-insurance recipes →

Authentication

Public API clients send one standard header: Authorization: Bearer s16_live_…. Trusted Seven16 product-to-product integrations may continue using the stronger signed HMAC request contract with timestamp and single-use nonce. Keys are issued by our team today — self-serve key creation is roadmap, not shipped. Reach out via the support page to get provisioned; the key value is shown once.

MCP for AI agents

Claude and Codex connections use OAuth—not a copied Seven16 API key—and are available only to an allow-listed private pilot. Each approval binds one user, one client, and one workspace. Its bounded analyst can return cited campaign metadata, audience and exclusion counts, performance/readiness, deliverability, aggregate suppressions, and minimized reply outcomes. Authorized writers may separately consent to saving typed, non-executable draft proposals for human review. Connected campaign proposals include an email, landing page, and qualification form; a human creates private drafts from their Seven16 review page. The assistant cannot export contacts, search arbitrary data, materialize campaigns, change suppression, approve, publish, enroll, or send. Legacy Seven16 family integrations retain their separate system-key contract. Authorized users can practice first in the provider-disconnected Claude/Codex training sandbox.

Quickstart

Once provisioned, listing your campaigns is the simplest call to verify your key and tenant mapping end to end.

curl https://app.seven16email.com/api/v1/campaigns   -H "Authorization: Bearer s16_live_..."

Prefer Node.js? The release-ready @seven16/email client and copyable insurance workflow recipes are available on the recipes page.

Endpoints

Contacts & Imports

GET/POST/v1/contactsList, find, or create contacts.
GET/PATCH/DELETE/v1/contacts/{id}Read, update, or archive a contact.
GET/POST/v1/audiencesManage static lists and tags.
GET/POST/v1/segmentsManage validated dynamic segments.
GET/POST/v1/fieldsManage custom-field definitions.
GET/POST/DELETE/v1/suppressionsManage tenant suppression records.
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.

AI agents (MCP)

POST/mcpOAuth resource server for allow-listed Claude/Codex private pilots; read-only by default and disabled by default.

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?

Request API access, then verify your provisioned key with the quickstart.

Request API access