Sending emails
What's the difference between send-email, send-template-email, and send-batch?
What's the difference between send-email, send-template-email, and send-batch?
send-emailwhen you generate HTML from your system (confirmations, alerts).send-template-emailwhen you have templates in the visual editor and only send variables.send-batchto send the same email (with personalized variables) to many recipients.
Can I send more than 10,000 emails?
Can I send more than 10,000 emails?
- Multiple calls to
/v1/send-batch— Split recipients into batches of up to 10,000 and make one call per batch. - Campaigns from the Dashboard — Create a campaign with no limit. The system automatically processes in batches with built-in rate limiting. Ideal for 50k+ emails.
What are the sending limits?
What are the sending limits?
Can I schedule a send for later?
Can I schedule a send for later?
scheduled_at field with ISO 8601:/send-email (accepts ISO 8601, natural language like "tomorrow at 3pm", and the timezone field) and in /v1/send-batch (ISO 8601 only). See Scheduling Sends.What happens if I send an email to someone who unsubscribed?
What happens if I send an email to someone who unsubscribed?
/v1/send-template-email: the suppression is detected at request time — it responds200with"skipped": trueandsuppression_reason(see v1 API)./v1/send-emailand/send-email: the suppression is detected at request time — it responds200with"suppressed": trueandreason: "recipient_suppressed", without queuing anything (see Suppressed recipient)./v1/send-batch: the API responds200and applies the suppression in the background. The email is never sent; the activity ends up withcurrent_status: "suppressed", which can be queried via the Activity API.
email.suppressed webhook is also emitted so you can sync your side.The suppression list includes recipients by:- Unsubscribe — click on an unsubscribe link
- Hard bounce — permanent bounce
- Complaint — marked as spam
How do I track whether an email was delivered?
How do I track whether an email was delivered?
activity_id (or email_id). Delivery events update the status:send-batch, there’s one activity_id per recipient.Domains and deliverability
Why do my emails land in spam?
Why do my emails land in spam?
- Unverified domain — DKIM, SPF, DMARC. Verify with
POST /domains/:domain/verify. - Cold domain — needs gradual warming: 150 emails on day 1, 250 on day 2, 400 on day 3, up to around 2,000 by day 7. Ramping all at once burns the domain.
- High bounce or complaint rate — clean your list. Above 4% bounces you should pause; above 0.1% complaints reputation drops fast.
- Links that don’t match your domain — if the
Fromis yours but links point elsewhere, filters read it as phishing. Fixed with a tracking domain. - Suspicious content — too many links, all caps, words like “FREE”/“OFFER”/“URGENT”, images without alt text.
- No unsubscribe link — ReallyQuickEmails adds
List-Unsubscribeautomatically, but include a visible link.
How do I verify my domain?
How do I verify my domain?
- Register the domain with
POST /domains/register - Configure the 8 DNS records at your provider:
- 1 TXT domain verification
- 3 CNAME DKIM
- 1 TXT SPF
- 1 TXT DMARC
- 1 MX
send(Return-Path) - 1 TXT
send(Return-Path)
- Wait 5–10 min for propagation
- Verify with
POST /domains/:domain/verify - When
can_send: true, you’re set
How long does DNS verification take?
How long does DNS verification take?
Templates
What syntax do variables use?
What syntax do variables use?
- Fallback —
{name || "Customer"} - Raw HTML —
{!htmlContent} - Loops —
{{#each products}}...{{/each}} - Conditionals —
{{#if premium}}...{{/if}}
What formatting helpers are available?
What formatting helpers are available?
Can I use the same template for send-email and send-batch?
Can I use the same template for send-email and send-batch?
POST /v1/send-template-email(individual,template_id+variables)POST /v1/send-batch(bulk,templateId+dataper recipient)- Campaigns from the Dashboard
Campaigns
Difference between send-batch and a campaign?
Difference between send-batch and a campaign?
send-batch for programmatic integrations. Campaigns for large sends from the UI.Can I pause a campaign in progress?
Can I pause a campaign in progress?
processing. Emails already queued keep sending, but no new batches are dispatched. Resume from the Dashboard.What happens if my campaign gets stuck in 'rate_limited'?
What happens if my campaign gets stuck in 'rate_limited'?
API and authentication
Where do I find my API keys?
Where do I find my API keys?
- Dashboard → your project → Settings → Integrations → API Keys
- Copy the corresponding key:
- Live (
sk_live_*orsk_proj_*) → production traffic - Test (
sk_test_*) → development, doesn’t consume quota
- Live (
Why am I getting a 401 error?
Why am I getting a 401 error?
Does the API have rate limiting?
Does the API have rate limiting?
How do I avoid double sends on retries?
How do I avoid double sends on retries?
Idempotency-Key: <unique-string> header (1–256 characters) in /send-email or /v1/send-batch. A retry with the same key within 24h returns the cached response with Idempotency-Replayed: true. See API Keys.