Developer docs

Build on the Inboxili API

The API-key endpoint today is transactional sending; contacts, campaigns and automations are managed from the dashboard. For the full endpoint-by-endpoint reference — generated live from our OpenAPI schema, so it never drifts from what's deployed — open the interactive docs.

Quickstart

From signup to your first API call

1

Create your workspace

Sign up and verify a sending domain from the Deliverability Center — the API can only send from a verified sender.

2

Generate an API key

From Settings → Developer, create a key and choose the scopes it needs. The full key is shown once — store it somewhere safe.

3

Make your first request

Send it as a Bearer token on the Authorization header of any request below.

Core concepts

The modules you'll use most

Transactional email

POST /api/v1/transactional/send

API-key endpoint. Send one email immediately — receipts, resets, alerts — with raw HTML or a template plus merge data. Requires the transactional:send scope.

Templates

template_id + template_data

Build block-based templates in the dashboard, then reference them by ID from the send endpoint. {{merge_tags}} are filled from template_data.

Webhooks

X-Inboxili-Signature

Register endpoints in the dashboard. Inboxili POSTs JSON with an X-Inboxili-Signature header (hex HMAC-SHA256 of the raw body) and an X-Inboxili-Event header.

Verified domains

Deliverability Center

The from_email must be a registered sender on a verified domain. Verify DKIM, SPF and DMARC records from the dashboard.

API keys

Settings → Developer

Scoped keys prefixed ik_live_, shown once. Optional expiry and per-key IP allow/block lists. 120 requests per minute per key.

Sending logs

Dashboard → Transactional

Every API send is logged with its status and provider message ID, including failures.

Examples

Send from a template, and handle an error

Send with a template

POST /api/v1/transactional/send · scope: transactional:send
curl https://api.inboxili.com/api/v1/transactional/send \
  -H "Authorization: Bearer $INBOXILI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "ada@example.com",
    "from_email": "hello@yourdomain.com",
    "template_id": "00000000-0000-0000-0000-000000000000",
    "template_data": { "first_name": "Ada", "order_id": "A-1042" }
  }'

Error response shape

All errors use {error: {code, message}}
HTTP/1.1 422 Unprocessable Entity
{
  "error": {
    "code": "sender_not_verified",
    "message": "'hello@yourdomain.com' is not a registered sender on a verified domain for this workspace."
  }
}
Need more?

The interactive reference has every field

Request and response schemas, every status code, and a live 'try it out' console — generated straight from the deployed API.

Open interactive reference

Send your first email in minutes

Verify a domain, create an API key, and make your first request. Campaigns, automation and AI email are in the same workspace when you need them.

Need help moving over? Talk to us.