Documentation / Your first email
GET STARTED

Your first email

Go from a new workspace to a durably accepted message with a small, server-side integration.

1. Get your workspace ready

Sign in to the dashboard. Have an administrator create and approve your workspace, then request a plan under Plans & billing. Free also requires approval; paid plans additionally require settlement or explicit administrator credit. Pending workspaces cannot set up sending resources.

2. Verify a sending domain

Open Sending domains and add a domain you control. Publish the displayed TXT ownership challenge and authentication records at your DNS provider, then select Verify. Cloudflare native DNS setup is available only when enabled by the operator. Verification is never granted just by opening a setup link.

3. Create a scoped API key

Under API keys, create a key with notifications:write. Store the returned secret in your server environment; it is shown only once. Set BASE_URL to your dashboard origin (locally http://localhost:3000). /api/v1 is the same-origin proxy; the direct API at /v1 has the same contract.

export BASE_URL="https://notifications-dashboard.bytefoundry.co.in"
export API_KEY="your-secret-api-key"

4. Send a message

Replace the sender with an address at your verified domain. Each logical send needs its own idempotency key. Reuse the same key and identical body to safely retry the same request.

curl -X POST "$BASE_URL/api/v1/notifications" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "hello@yourdomain.com",
    "to": "alex@example.com",
    "subject": "A warm welcome",
    "html": "<h1>Good to have you here.</h1>",
    "idempotency_key": "welcome-alex-001"
  }'

5. Follow the delivery

Use the returned message ID to inspect Message activity or GET /api/v1/notifications/:id. Delivery is asynchronous. Configure a webhook if your application needs delivery, bounce, or complaint updates.

Building something interesting?We’d love to help