Quolle Documentation
Transactional email API and SMTP relay built for African SaaS.
Naira pricing ยท AWS SES powered ยท NDPC compliant.
Quickstart
Send your first email in under 5 minutes.
API Reference
Full reference for every REST endpoint.
SMTP Setup
Use any framework that supports SMTP โ Laravel, Django, and more.
Domain Verification
Verify your sending domain with SPF, DKIM, and DMARC.
What is Quolle?
Quolle is a transactional email infrastructure built specifically for African developers and SaaS companies. Instead of paying in USD with US-centric compliance requirements, you pay in Nigerian Naira, operate under NDPC (Nigeria Data Protection Commission) guidelines, and get infrastructure optimised for the network conditions common across the continent.
Under the hood, email delivery is powered by Amazon SES โ one of the most reliable sending infrastructures in the world โ so your messages land in inboxes, not spam folders.
You can integrate via the REST API, the SMTP relay, or any HTTP client in any language. There are no special SDKs to install.
Key features
- REST API โ send transactional emails with a single POST request
- SMTP relay โ drop-in replacement for any SMTP-based framework
- Domain verification โ SPF, DKIM, and DMARC setup with one-click Cloudflare integration
- Real-time webhooks โ get notified on delivery, bounce, and complaint events
- Email logs โ full delivery history with status tracking
- Naira billing โ no forex fees, no USD surprises
- Suppression list โ automatic bounce and complaint management
Base URL
All API requests go to:
https://api.quolle.com
Authentication
Pass your API key in the Authorization header as a Bearer token. API keys
start with qle_ and are created in the dashboard under
API Keys.
Authorization: Bearer qle_your_api_key
Rate limits
Every API key is limited to 100 requests per minute. Exceeding this limit
returns a 429 Too Many Requests response. The following headers are included
on every authenticated response:
| Header | Description |
|---|---|
X-RateLimit-Limit | Maximum requests per window (100) |
X-RateLimit-Remaining | Requests left in current window |
X-RateLimit-Reset | Unix timestamp (seconds) when the window resets |
Response format
All responses are JSON. Successful responses return the resource or a confirmation object. Errors use the following shape:
{
"error": "Human-readable error message"
}
Need help?
support@quolle.com ยท Browse the guides in the sidebar to get started.