Business Email

Send reliable transactional and marketing email under one Umney Connect bill. Enable Business Email in Billing, then create a product-scoped API token so backends and agents can send without sharing dashboard passwords.

Generally availableOpenAPIMarkdown

Overview

Business Email sends transactional mail (Amazon SES by default) and can sync marketing contacts to Resend, Mailgun, or Brevo when configured. Create a Business Email API token so your server or agent can only access email resources—the same least-privilege model as a Cloudflare API token.

ItemValue
ServiceBusiness Email
StatusPublic Email API live · dashboard Mail API live
Permissionsemail:send · email:read
Live token shapeumk_live_email_<prefix>_<secret>
Test token shapeumk_test_email_<prefix>_<secret>
DashboardDashboard → Business Email
OpenAPI/developers/openapi-business-email.json
Docs (AI)/developers/business-email.md
Two layers: (1) Public umk_* REST under /api/v1/email/* (live). (2) Signed-in dashboard Mail API under /api/mail/* for admins.

Get started

  1. Enable Business Email in Dashboard → Billing. Paid plans require an active Business Email subscription.
  2. Confirm email providers are configured (platform admin: Admin → Settings → Email). Default send provider is Amazon SES; optional Resend, Mailgun, or Brevo for marketing lists.
  3. Open Dashboard → Business Email to check provider status and send a test message.
  4. Dashboard → Developers → create an API token. Product: Business Email. Permissions: email:send and/or email:read. Environment: live or test. Optional IP allowlist.
  5. Copy the secret once. Store it only on your server or agent runtime—never in browsers or mobile apps.
  6. Call POST /v1/email/messages with your token.

API tokens

An API token lets an agent access Business Email only—not Live Chat, calling, or billing. Prefer the narrowest permissions for the job.

Authorization: Bearer umk_live_email_<prefix>_<secret>
# or
X-API-Key: umk_live_email_<prefix>_<secret>

API base: https://umneyconnect.com/api
PermissionAllows
email:sendSend messages and upsert marketing contacts on the public Email API
email:readRead message status and activity on the public Email API

Full token guide: /developers/api-tokens

Concepts

ResourceDescription
MessageOutbound transactional send (to/cc/bcc, subject, text/html, tags, attachments)
Marketing contactEmail + profile fields synced into configured provider lists/audiences
Provider statusWhich backends are ready—without exposing secrets
From identityWorkspace default From; optional per-send override when the domain is authorized
ActivityDelivery / send activity for operators (metadata.source=email_v1)

Dashboard Mail API

Uses the signed-in workspace session (JWT). Sending and contact sync require an organization or tenant administrator. If Business Email is a paid add-on for the workspace, that subscription must be active.

MethodPathWhoThrottlePurpose
GET/api/mail/statusSigned-in users—Provider readiness + whether Business Email is entitled
POST/api/mail/sendAdmins30 / minuteSend transactional mail
POST/api/mail/marketing/contactAdmins60 / minuteUpsert marketing contact

POST /api/mail/send

{
  "to": ["customer@example.com"],
  "cc": [],
  "bcc": [],
  "subject": "Your receipt",
  "text": "Thanks for your order",
  "html": "<p>Thanks for your order</p>",
  "from": "optional@your-verified-domain.com",
  "replyTo": "support@example.com",
  "headers": { "X-Campaign": "receipt" },
  "tags": ["receipt"],
  "attachments": [
    { "filename": "receipt.pdf", "contentBase64": "…", "contentType": "application/pdf" }
  ]
}

GET /api/mail/status returns which providers are ready (SES, Resend, Mailgun, Brevo), whether a default From is configured, marketing list configuration flags, and whether this workspace is entitled to Business Email. It never returns provider secrets.

Public Email API (token)

Stable paths for Business Email API tokens — live.

MethodPathPermissionStatus
POST/v1/email/messagesemail:sendLive
GET/v1/email/messagesemail:readLive
GET/v1/email/messages/{id}email:readLive
POST/v1/email/contactsemail:sendLive
GET/v1/email/statusemail:readLive

Public send

curl -X POST "https://umneyconnect.com/api/v1/email/messages" \
  -H "Authorization: Bearer $EMAIL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "to": ["customer@example.com"],
    "subject": "Your receipt",
    "html": "<p>Thanks for your order</p>",
    "text": "Thanks for your order",
    "tags": ["receipt"]
  }'

Providers

  • Transactional default: Amazon SES
  • Optional send backends: Resend, Mailgun, Brevo (when enabled in Admin → Settings → Email)
  • Marketing sync: Resend audience, Mailgun mailing list, Brevo lists
  • Secrets stay in platform settings—status endpoints never return API keys

Errors and limits

  • 403 — Business Email not entitled, wrong product token, or missing permission
  • 429 — send 30/min; contacts 60/min; list/status 120/min
  • Provider errors — misconfigured From domain or disabled provider (check GET /v1/email/status)

Agent recipe

# 1. Enable Business Email in Billing
# 2. Developers → create token → product "Business Email" → email:send
CONNECT_API_BASE=https://umneyconnect.com/api
EMAIL_API_KEY=umk_live_email_…

# 3. Read /developers/business-email.md before answering
# 4. Public token: POST /v1/email/messages
# 5. Dashboard admin JWT: POST /api/mail/send
# 6. Never embed the token in clients