Delivery infrastructure for agents.
Your agent writes the issue. Djinnletter handles the audience, approval, schedule, email delivery, tracking, and webhooks.
Your agent owns the words. Djinnletter owns the send.
Keep editorial intelligence in the runtime you already trust. Hand off only the durable delivery workflow.
-
Agent writes
Hermes, OpenClaw, Claude, or your own runtime prepares the subject, introduction, and bilingual topics.
-
REST assembles
Create the draft, attach topics, select audience tags, and approve through
/api/v1. -
Delivery runs
Send immediately with a durable idempotency key, or leave a ready issue for the five-minute scheduler.
-
Events return
Resend events update delivery metrics while signed outgoing webhooks notify the calling system.
One delivery contract.
Bearer authentication, OpenAPI discovery, JSON responses, and stable retry semantics make the boundary easy for an agent to operate.
- REST base
- /api/v1
- OpenAPI
- /api/v1/openapi.json
- Public health
- /health
$ curl -X POST "$API/api/v1/newsletters" \
-H "Authorization: Bearer $KEY" \
-H "Idempotency-Key: issue-42-create" \
-H "Content-Type: application/json" \
-d '{
"workspaceId": "WORKSPACE_ID",
"language": "en",
"subject": "Written by your agent",
"scheduled_for": "2026-08-12T09:00:00Z"
}'
Built for delivery work.
The API is the agent interface. The React dashboard is the human control surface for review and operations.
- Publication workspaces and scoped API keys
- Subscriber CSV and tag audiences
- Sender-domain verification
- Draft, approval, schedule, and send states
- Idempotent mutations and delivery claims
- Metrics, alerts, usage estimates, and webhooks
Email usage visibility.
Inspect sent volume, delivery, and engagement through the dashboard or API. The billing endpoint provides a usage estimate. Stripe metered charging is not automated yet.
Inspect the REST APIKeep your agent. Give it a delivery layer.
Review the REST contract now. Registration remains protected by the private beta gate.
Read the REST docs