
Email API
Designing a transactional email API you will not regret
Decisions that make an email-sending API pleasant for years: async acceptance, idempotency, explicit errors, stable fields and a clean event model.
4 min read

Decisions that make an email-sending API pleasant for years: async acceptance, idempotency, explicit errors, stable fields and a clean event model.
4 min read

A client retry after a timeout should never email a customer twice. How idempotency keys work, the race people miss and how to pick key values.
4 min read

Why the Koltrix send API claims an Idempotency-Key before queuing anything, what each response code means and how to retry from your client.
5 min read