Booting neural core...
Booting neural core...
dispatch.cybernethicc.comDispatch is a high-performance transactional email service. Send emails via HTTP API or SMTP relay, manage sending domains, track delivery status, and handle bounces automatically.
Base URL
https://dispatch.cybernethicc.com/api/v1SMTP Server
dispatch.cybernethicc.com:2525Content Type
application/jsonGetting Started
/send endpoint.Dispatch supports two authentication methods. Use Basic Auth with your Dispatch credentials for programmatic access (HTTP API and SMTP), or Bearer JWT from the portal session.
Use the username and password from your Dispatch credentials. Base64-encode username:password and pass it in the Authorization header.
curl https://dispatch.cybernethicc.com/api/v1/dispatch/tenants/{tenant_id}/send \
-u "[email protected]:your-password" \
-H "Content-Type: application/json" \
-d '{"from":"[email protected]","to":["[email protected]"],"subject":"Hello","html_body":"<h1>Hi</h1>"}'If you are calling the API from the portal frontend, use the JWT access token from your session.
curl https://dispatch.cybernethicc.com/api/v1/dispatch/tenants/{tenant_id}/send \
-H "Authorization: Bearer eyJhbGciOi..." \
-H "Content-Type: application/json" \
-d '{ ... }'Connect to dispatch.cybernethicc.com on port 2525 with STARTTLS. Authenticate with the same username and password from your Dispatch credentials.
Host: dispatch.cybernethicc.com
Port: 2525
Security: STARTTLS
Username: {credential_username}@dispatch.cybernethicc.com
Password: {credential_password}All endpoints are prefixed with /api/v1. Replace {tenant_id} with your tenant UUID.
/dispatch/tenants/{id}/sendSend a single email
/dispatch/tenants/{id}/send-bulkSend up to 100 emails in one request
/dispatch/tenants/{id}/domainsAdd a sending domain
/dispatch/tenants/{id}/domainsList domains with DNS records
/dispatch/tenants/{tid}/domains/{did}/verifyVerify domain DNS records
/dispatch/tenants/{tid}/domains/{did}/dns-setupAuto-configure DNS via provider
/dispatch/tenants/{tid}/domains/{did}Remove a domain
/dispatch/tenants/{id}/templatesCreate an email template
/dispatch/tenants/{id}/templatesList all templates
/dispatch/tenants/{tid}/templates/{tmpl_id}Update a template
/dispatch/tenants/{tid}/templates/{tmpl_id}Delete a template
/dispatch/tenants/{id}/credentialsCreate SMTP/API credential
/dispatch/tenants/{id}/credentialsList credentials
/dispatch/tenants/{tid}/credentials/{cred_id}Revoke a credential
/dispatch/tenants/{id}/suppressionsAdd email to suppression list
/dispatch/tenants/{id}/suppressionsList suppressed emails
/dispatch/tenants/{tid}/suppressions/{sup_id}Remove from suppression list
/dispatch/tenants/{id}/webhooksRegister a webhook endpoint
/dispatch/tenants/{id}/webhooksList webhooks
/dispatch/tenants/{tid}/webhooks/{wh_id}Delete a webhook
/dispatch/tenants/{id}/emailsList sent emails (paginated)
/dispatch/tenants/{id}/emails/{log_id}Get email detail with body
/dispatch/tenants/{id}/emails/{log_id}Delete an email log entry
/dispatch/plansList available plans
/dispatch/tenantsList your tenants
/dispatch/tenants/{id}Get tenant details with usage
/dispatch/tenants/{id}Update tenant settings
/dispatch/tenants/{id}/usageGet usage stats and rates
/dispatch/tenants/{id}/queueView email queue summary
/user/dns-providersConnect a DNS provider (Cloudflare, Route53, GCP)
/user/dns-providersList connected DNS providers
/user/dns-providers/{id}/zonesList DNS zones from provider
/user/dns-providers/{id}Disconnect a DNS provider
Send a single email via the HTTP API. Supports raw HTML, templates with variable substitution, file attachments (base64-encoded), and the master email template wrapper.
/dispatch/tenants/{tenant_id}/send| Field | Type | Required | Description |
|---|---|---|---|
| from | string | Required | Sender email address (must be on a verified domain) |
| to | string[] | Required | Array of recipient email addresses |
| subject | string | Required | Email subject line (overridden by template if template_id is set) |
| html_body | string | Optional | HTML email body (ignored if template_id is set) |
| text_body | string | Optional | Plain text fallback body |
| template_id | string | Optional | Template UUID or slug. Overrides html_body and subject. |
| template_variables | object | Optional | Key-value pairs to substitute {{variable}} placeholders in the template |
| use_master_template | boolean | Optional | Wrap html_body with the portal master email template (default: false) |
| attachments | array | Optional | File attachments (see attachment object below) |
| Field | Type | Description |
|---|---|---|
| filename | string | Original filename (e.g. "report.pdf") |
| content_type | string | MIME type (e.g. "application/pdf", "image/png") |
| content | string | Base64-encoded file content |
| inline | boolean | If true, attach inline with Content-ID for use in HTML as cid:<content_id> |
| content_id | string | Content-ID for inline images (without angle brackets) |
curl -X POST https://dispatch.cybernethicc.com/api/v1/dispatch/tenants/{tenant_id}/send \
-u "[email protected]:your-password" \
-H "Content-Type: application/json" \
-d '{
"from": "[email protected]",
"to": ["[email protected]"],
"subject": "Welcome to our platform",
"html_body": "<h1>Welcome!</h1><p>Thanks for signing up.</p>",
"text_body": "Welcome! Thanks for signing up."
}'{
"data": { ... },
"message": "1 email(s) queued for delivery"
}curl -X POST https://dispatch.cybernethicc.com/api/v1/dispatch/tenants/{tenant_id}/send \
-u "[email protected]:your-password" \
-H "Content-Type: application/json" \
-d '{
"from": "[email protected]",
"to": ["[email protected]"],
"subject": "unused (overridden by template)",
"template_id": "welcome-email",
"template_variables": {
"user_name": "John Doe",
"company": "Acme Inc"
}
}'curl -X POST https://dispatch.cybernethicc.com/api/v1/dispatch/tenants/{tenant_id}/send \
-u "[email protected]:your-password" \
-H "Content-Type: application/json" \
-d '{
"from": "[email protected]",
"to": ["[email protected]"],
"subject": "Your Invoice #1234",
"html_body": "<p>Please find your invoice attached.</p>",
"attachments": [
{
"filename": "invoice-1234.pdf",
"content_type": "application/pdf",
"content": "JVBERi0xLjQK..."
}
]
}'Rate Limiting & Quotas
Send up to 100 emails in a single API call. Each message goes through individual quota, rate-limit, and suppression checks. The response includes per-message success or failure details.
/dispatch/tenants/{tenant_id}/send-bulkcurl -X POST https://dispatch.cybernethicc.com/api/v1/dispatch/tenants/{tenant_id}/send-bulk \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"messages": [
{
"from": "[email protected]",
"to": ["[email protected]"],
"subject": "Hello Alice",
"html_body": "<p>Hi Alice!</p>"
},
{
"from": "[email protected]",
"to": ["[email protected]"],
"subject": "Hello Bob",
"template_id": "welcome-email",
"template_variables": { "user_name": "Bob" }
}
]
}'{
"data": {
"sent": 2,
"failed": 0,
"results": [
{ "index": 0, "success": true, "message": "1 recipient(s) queued" },
{ "index": 1, "success": true, "message": "1 recipient(s) queued" }
]
},
"message": "2 email(s) queued, 0 failed"
}Create reusable email templates with variable placeholders. Templates can be referenced by UUID or slug when sending emails. Variables use double-brace syntax: {{variable_name}}.
/dispatch/tenants/{tenant_id}/templatescurl -X POST https://dispatch.cybernethicc.com/api/v1/dispatch/tenants/{tenant_id}/templates \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"name": "Welcome Email",
"slug": "welcome-email",
"subject": "Welcome, {{user_name}}!",
"html_body": "<h1>Hello {{user_name}}</h1><p>Welcome to {{company}}.</p>",
"text_body": "Hello {{user_name}}, welcome to {{company}}."
}'Variables are auto-extracted from the subject and html_body. You can also explicitly define them with the variables field as a JSON object.
/dispatch/tenants/{tenant_id}/templates/{template_id}curl -X PUT https://dispatch.cybernethicc.com/api/v1/dispatch/tenants/{tenant_id}/templates/{template_id} \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"subject": "Welcome aboard, {{user_name}}!",
"html_body": "<h1>Welcome {{user_name}}</h1><p>Updated template content.</p>"
}'/dispatch/tenants/{tenant_id}/templates/dispatch/tenants/{tenant_id}/templates/{template_id}Add sending domains to your tenant and verify ownership via DNS TXT records. Once verified, emails sent from that domain are automatically signed with DKIM.
curl -X POST https://dispatch.cybernethicc.com/api/v1/dispatch/tenants/{tenant_id}/domains \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{ "domain": "yourdomain.com" }'{
"data": {
"domain": { "id": "...", "domain": "yourdomain.com", "verified": false, ... },
"dns_records": [
{
"record_type": "TXT",
"host": "_cybdispatch.yourdomain.com",
"value": "cyb-verify-abc123...",
"purpose": "Domain verification"
},
{
"record_type": "TXT",
"host": "dispatch._domainkey.yourdomain.com",
"value": "v=DKIM1; k=rsa; p=MIIBIj...",
"purpose": "DKIM signing"
},
{
"record_type": "TXT",
"host": "yourdomain.com",
"value": "v=spf1 include:dispatch.cybernethicc.com ~all",
"purpose": "SPF - authorize sending servers"
},
{
"record_type": "TXT",
"host": "_dmarc.yourdomain.com",
"value": "v=DMARC1; p=none; rua=mailto:...",
"purpose": "DMARC policy"
},
{
"record_type": "MX",
"host": "dispatch.yourdomain.com",
"value": "10 dispatch.cybernethicc.com",
"purpose": "Bounce handling return path"
}
]
}
}After adding the DNS records, call the verify endpoint. Dispatch checks for the TXT record at _cybdispatch.yourdomain.com via DNS.
curl -X POST https://dispatch.cybernethicc.com/api/v1/dispatch/tenants/{tenant_id}/domains/{domain_id}/verify \
-H "Authorization: Bearer {token}"{
"data": { "verified": true, "domain": { ... } }
}| Record | Type | Host | Purpose |
|---|---|---|---|
| Verification | TXT | _cybdispatch.yourdomain.com | Proves domain ownership |
| DKIM | TXT | dispatch._domainkey.yourdomain.com | Email signature verification |
| SPF | TXT | yourdomain.com | Authorizes sending servers |
| DMARC | TXT | _dmarc.yourdomain.com | Alignment policy for SPF + DKIM |
| Return Path | MX | dispatch.yourdomain.com | Bounce handling |
Connect your DNS provider (Cloudflare, AWS Route 53, or Google Cloud DNS) and Dispatch will create SPF, DKIM, and DMARC records automatically. No manual DNS editing required.
# Cloudflare
curl -X POST https://dispatch.cybernethicc.com/api/v1/user/dns-providers \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"provider": "cloudflare",
"label": "My Cloudflare",
"token": "your-cloudflare-api-token"
}'
# AWS Route 53
curl -X POST https://dispatch.cybernethicc.com/api/v1/user/dns-providers \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"provider": "route53",
"label": "My AWS",
"access_key": "AKIAIOSFODNN7EXAMPLE",
"secret_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"region": "us-east-1"
}'
# Google Cloud DNS
curl -X POST https://dispatch.cybernethicc.com/api/v1/user/dns-providers \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"provider": "gcp",
"label": "My GCP",
"service_account_json": "{...}",
"project_id": "my-gcp-project"
}'curl https://dispatch.cybernethicc.com/api/v1/user/dns-providers/{provider_id}/zones \
-H "Authorization: Bearer {token}"{
"data": [
{ "id": "abc123", "name": "yourdomain.com" },
{ "id": "def456", "name": "otherdomain.com" }
]
}curl -X POST https://dispatch.cybernethicc.com/api/v1/dispatch/tenants/{tenant_id}/domains/{domain_id}/dns-setup \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"provider_id": "{dns_provider_uuid}",
"zone_id": "abc123",
"zone_name": "yourdomain.com",
"spf_action": "append",
"dmarc_action": "create",
"dmarc_rua_email": "[email protected]"
}'spf_action: append (add include to existing SPF),overwrite, orskip.
dmarc_action: create,update, orskip.
Create API credentials for authenticating HTTP API and SMTP requests. The password is only shown once at creation time -- store it securely.
curl -X POST https://dispatch.cybernethicc.com/api/v1/dispatch/tenants/{tenant_id}/credentials \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{ "label": "Production API" }'{
"data": {
"id": "uuid-here",
"username": "[email protected]",
"password": "dp_sk_a1b2c3d4e5f6...",
"label": "Production API",
"smtp_host": "dispatch.cybernethicc.com",
"smtp_port": 2525,
"note": "Save this password now - it will not be shown again."
}
}Important
The password is returned only once when the credential is created. It is stored as a hash and cannot be retrieved later. If lost, revoke the credential and create a new one.
curl https://dispatch.cybernethicc.com/api/v1/dispatch/tenants/{tenant_id}/credentials \
-H "Authorization: Bearer {token}"curl -X DELETE https://dispatch.cybernethicc.com/api/v1/dispatch/tenants/{tenant_id}/credentials/{credential_id} \
-H "Authorization: Bearer {token}"The suppression list prevents emails from being sent to specific addresses. Hard bounces are automatically added to the suppression list. You can also manually add or remove entries.
curl -X POST https://dispatch.cybernethicc.com/api/v1/dispatch/tenants/{tenant_id}/suppressions \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"email": "[email protected]",
"reason": "User requested removal"
}'Paginated with limit (max 100) and offset query parameters.
curl "https://dispatch.cybernethicc.com/api/v1/dispatch/tenants/{tenant_id}/suppressions?limit=50&offset=0" \
-H "Authorization: Bearer {token}"curl -X DELETE https://dispatch.cybernethicc.com/api/v1/dispatch/tenants/{tenant_id}/suppressions/{suppression_id} \
-H "Authorization: Bearer {token}"Automatic Suppression
Hard bounces (InvalidRecipient, BadDomain, InvalidMailbox, NoMailbox) are automatically added to the suppression list. One-click unsubscribe requests (RFC 8058) also add entries automatically.
Register webhook endpoints to receive real-time notifications about email delivery events. Dispatch will POST event payloads to your URL when events occur.
curl -X POST https://dispatch.cybernethicc.com/api/v1/dispatch/tenants/{tenant_id}/webhooks \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"url": "https://yourapp.com/webhooks/dispatch",
"events": ["delivered", "bounced", "complained"],
"secret": "your-webhook-secret"
}'| Event | Description |
|---|---|
| sent | Email accepted and queued for delivery |
| delivered | Remote mail server confirmed delivery |
| bounced | Email bounced (hard or soft bounce) |
| complained | Recipient marked email as spam (feedback loop) |
{
"recipient": "[email protected]",
"sender": "[email protected]",
"message_id": "abc123-spool-id",
"bounce_classification": "InvalidRecipient",
"response": { "code": 550, "content": "User not found" }
}# List webhooks
curl https://dispatch.cybernethicc.com/api/v1/dispatch/tenants/{tenant_id}/webhooks \
-H "Authorization: Bearer {token}"
# Delete webhook
curl -X DELETE https://dispatch.cybernethicc.com/api/v1/dispatch/tenants/{tenant_id}/webhooks/{webhook_id} \
-H "Authorization: Bearer {token}"View sent email history with delivery status tracking. Email bodies are encrypted at rest and decrypted on demand when viewing individual log entries. Log retention depends on your plan.
Paginated list of sent emails (body not included). Use page and limit (max 100) query params.
curl "https://dispatch.cybernethicc.com/api/v1/dispatch/tenants/{tenant_id}/emails?page=1&limit=50" \
-H "Authorization: Bearer {token}"{
"data": [
{
"id": "uuid",
"message_id": "[email protected]",
"from_address": "[email protected]",
"to_addresses": ["[email protected]"],
"subject": "Welcome",
"body_size_bytes": 2048,
"has_attachments": false,
"status": "delivered",
"bounce_type": null,
"queued_at": "2026-03-29T10:00:00Z",
"delivered_at": "2026-03-29T10:00:05Z",
"bounced_at": null,
"expires_at": "2026-04-12T10:00:00Z"
}
],
"pagination": { "total": 150, "page": 1, "limit": 50, "total_pages": 3 }
}Returns the full email including decrypted body, HTML body, and bounce details.
curl https://dispatch.cybernethicc.com/api/v1/dispatch/tenants/{tenant_id}/emails/{log_id} \
-H "Authorization: Bearer {token}"curl -X DELETE https://dispatch.cybernethicc.com/api/v1/dispatch/tenants/{tenant_id}/emails/{log_id} \
-H "Authorization: Bearer {token}"Monitor your sending volume, delivery rates, and quota consumption for the current billing period.
curl https://dispatch.cybernethicc.com/api/v1/dispatch/tenants/{tenant_id}/usage \
-H "Authorization: Bearer {token}"{
"data": {
"period_start": "2026-03-01T00:00:00Z",
"period_end": "2026-04-01T00:00:00Z",
"emails_sent": 4250,
"monthly_quota": 10000,
"overage_enabled": false,
"stats": { ... },
"breakdown": {
"total": 4250,
"delivered": 4100,
"hard_bounce": 50,
"soft_bounce": 80,
"complaint": 2
},
"rates": {
"delivery_rate_pct": 96,
"hard_bounce_rate_pct": 1.2,
"soft_bounce_rate_pct": 1.9,
"complaint_rate_pct": 0.047
}
}
}Enable overage to continue sending after your monthly quota is reached (additional charges apply per your plan).
curl -X PUT https://dispatch.cybernethicc.com/api/v1/dispatch/tenants/{tenant_id} \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"tenant_name": "My App Emails",
"overage_enabled": true
}'Check the current email delivery queue to see pending, deferred, or retrying messages.
curl https://dispatch.cybernethicc.com/api/v1/dispatch/tenants/{tenant_id}/queue \
-H "Authorization: Bearer {token}"The API returns standard HTTP status codes. Error responses include a message describing what went wrong.
| Status | Meaning | Common Causes |
|---|---|---|
| 400 | Bad Request | Invalid request body, recipient on suppression list, quota exceeded |
| 401 | Unauthorized | Missing or invalid authentication credentials |
| 403 | Forbidden | Tenant not active (suspended/blocked), credential mismatch |
| 404 | Not Found | Tenant, domain, template, or credential not found |
| 429 | Rate Limited | Per-minute rate limit exceeded for your plan |
| 500 | Internal Error | Server error, contact support |
{
"error": {
"code": "QUOTA_EXCEEDED",
"message": "Monthly quota exceeded (10000/10000). Enable overage or upgrade plan."
}
}Cybernethicc Dispatch API v1