Send your first email
in five minutes.
Three steps. No SDK to install (we don't have one yet — REST is enough). The same flow works in any language that can make an HTTPS request.
Mint an API key.
From your dashboard at /dashboard/api-tokens. Click + New token, give it a name (e.g. “local dev”), copy the value once. We store only the hash; if you lose the plaintext you'll have to mint a new one. Give it the email:send scope. An ed_test_… key records and renders everything and delivers nothing; ed_live_… sends for real. Start on test.
export ED_TOKEN="ed_test_qm4x7ptbz2hs6kdrfw3nyc5jvea7lqtm"
Create a journey and give it a trigger key.
Your app fires a trigger, not a body of HTML — the email itself lives in a journey you write once. Create one at /dashboard/transactional, or describe the sequence and let us draft it. The trigger_key you choose (e.g. welcome) is what your code calls. A live key needs the journey activated; an ed_test_ key works against a draft.
POST to /api/transactional/send.
One endpoint. The key already knows its workspace — no X-Workspace-Id header required. Returns 202 Accepted with the enrollment; pass the same idempotency_key on a retry and it's a no-op.
# Fire the trigger — one authenticated POST
curl -X POST https://api.emaildigit.com/api/transactional/send \
-H "Authorization: Bearer $ED_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"trigger_key": "welcome",
"to": "you@yourcompany.com",
"variables": { "first_name": "Ada" },
"idempotency_key": "signup_8f21c"
}'
# → 202 Accepted
{
"trigger_key": "welcome",
"status": "enrolled",
"mode": "live",
"enrolled_steps": 1,
"message_ids": ["9f2c1a4e-..."]
}What to read next.
- → Webhooks — receive events when sends land, replies arrive, domains verify.
- → Full REST reference — every endpoint with multi-language samples.
- → Domain setup — three DNS records to start sending from your own domain.
Five minutes done.
Now build something.
Subscribe to webhooks, connect a mailbox for reply intelligence, add a domain. Each takes about as long as the quickstart.