Developer documentation · beta
One workspace. Two integrations.
Use the REST API or connect an MCP client. Every key belongs to one account and has explicit permissions. Live delivery is not enabled in this beta deployment.
REST API
Base URL: https://app.nexiscomms.com/v1. Use Authorization: Bearer YOUR_KEY. Create keys in the workspace; the secret is shown once.
curl https://app.nexiscomms.com/v1/domains \
-H 'Authorization: Bearer YOUR_KEY'
curl https://app.nexiscomms.com/v1/contacts \
-H 'Authorization: Bearer YOUR_KEY' \
-H 'Content-Type: application/json' \
--data '{"email":"[email protected]","source":"https://example.com/contact","subject_key":"company:example.com","prior_contact_attestation":"Reviewed: no earlier requests or refusal known","collection_review":"Record the basis and review for collecting this address"}'| Resource | Methods | Purpose |
|---|---|---|
| /domains | GET / POST | Add domain; publish the returned TXT. POST /domains/{id}/verify checks ownership. |
| /contacts | GET / POST | Record source, recipient identity and review. Import never grants consent. |
| /templates | GET / POST | Plain-text templates with {{name}} and {{business}}. |
| /messages | GET / POST | Create a draft. Required: contact_id, domain_id, kind, sender, idempotency_key. Marketing additionally needs template_id and affirmative matching consent. |
| /messages/{id}/queue | POST | Explicit queue action. Currently rejects until delivery is approved. |
| /events | GET | Account-scoped delivery event history. |
| /suppressions | GET / POST | Suppress an email with a reason. No silent removal of refusals. |
| /webhooks | GET / POST | Register an HTTPS endpoint; signing secret is shown once. DELETE /webhooks/{id} disables it. |
Results return at most 300 rows per resource in this initial beta. Pagination, public SMTP submission, inbound routing, HTML campaigns and automatic recurring billing are not yet available.
MCP connection
Use Streamable HTTP at https://app.nexiscomms.com/mcp with the same bearer header. The key needs mcp plus each tool's API scope. Only permitted tools are advertised.
{
"mcpServers": {
"nexiscomms": {
"url": "https://app.nexiscomms.com/mcp",
"headers": {"Authorization": "Bearer YOUR_KEY"}
}
}
}Client configuration syntax varies. This server supports stateless JSON responses, initialize, ping, tools/list and tools/call. It does not provide an MCP OAuth authorization server.
Tools include domain verification, contacts, drafting, explicit queue requests, events and suppression. Drafting does not send a message.
Webhook verification
When delivery is enabled, verify the SHA-256 HMAC of timestamp + "." + raw_request_body using your webhook secret. Check timestamp freshness and deduplicate the event ID. Outbound webhooks cannot target private/reserved addresses.
Available scopes
contacts:read, contacts:write, domains:read, domains:write, events:read, mcp, messages:read, messages:write, suppressions:read, suppressions:write, templates:read, templates:write, webhooks:write