Skip to main content

Base URL

https://app.usesendi.com/api

Authentication

All requests require an API key passed as a Bearer token:
Authorization: Bearer snd_your_api_key

Send an email

curl -X POST https://app.usesendi.com/api/emails \
  -H "Authorization: Bearer snd_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "you@yourdomain.com",
    "to": ["user@example.com"],
    "subject": "Hello from Sendi",
    "html": "<p>It just works.</p>"
  }'

With sender name

curl -X POST https://app.usesendi.com/api/emails \
  -H "Authorization: Bearer snd_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "Your App <noreply@yourdomain.com>",
    "to": ["user@example.com"],
    "subject": "Welcome",
    "html": "<h1>Welcome aboard</h1>"
  }'

Batch send

curl -X POST https://app.usesendi.com/api/emails/batch \
  -H "Authorization: Bearer snd_your_api_key" \
  -H "Content-Type: application/json" \
  -d '[
    {"from": "you@yourdomain.com", "to": ["user1@example.com"], "subject": "Hi", "text": "Hello"},
    {"from": "you@yourdomain.com", "to": ["user2@example.com"], "subject": "Hi", "text": "Hello"}
  ]'

Schedule an email

curl -X POST https://app.usesendi.com/api/emails \
  -H "Authorization: Bearer snd_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "you@yourdomain.com",
    "to": ["user@example.com"],
    "subject": "Scheduled email",
    "html": "<p>This was scheduled.</p>",
    "send_at": "2026-03-08T15:00:00Z"
  }'

With attachments

curl -X POST https://app.usesendi.com/api/emails \
  -H "Authorization: Bearer snd_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "you@yourdomain.com",
    "to": ["user@example.com"],
    "subject": "Invoice attached",
    "html": "<p>Please find your invoice attached.</p>",
    "attachments": [
      {
        "filename": "invoice.pdf",
        "content": "base64_encoded_content_here",
        "contentType": "application/pdf"
      }
    ]
  }'