Register in the console, copy the API key (ab_…), then create an inbox and send.
curl -X POST https://voru.org/v1/inboxes \
-H "X-API-Key: ab_..." \
-H "Content-Type: application/json" \
-d '{"display_name":"support-bot"}'
curl -X POST https://voru.org/v1/inboxes/<id>/messages/send \
-H "X-API-Key: ab_..." \
-H "Content-Type: application/json" \
-d '{"to":"you@example.com","subject":"Hello","text":"Hi","labels":["outreach"]}'Full interactive reference (try it, schemas, auth): /v1/docs · openapi.json
Console login returns a JWT. Automation uses X-API-Key: ab_…. Humans register; agents must not self-signup.
POST /v1/auth/register — emails a confirmation linkPOST /v1/auth/verify and /verify/resendPOST /v1/auth/login · /forgot · /reset (send X-Device-ID on login)GET /v1/auth/devices — list signed-in devicesDELETE /v1/auth/devices/{id} — revoke a device sessionCurrent plan, limits, and usage.
GET /v1/meGET /v1/overviewGET /v1/metricsGET /v1/plansGET /v1/mail/statusOne address per customer. Send, reply, threads, attachments, search, labels.
POST/GET/PATCH/DELETE /v1/inboxesGET /v1/inboxes/{id}/credentials — IMAP 1993 / SMTP 465POST .../messages/send · reply · reply-all · forwardGET .../messages · /search · /{id} · attachmentsGET /v1/threads/{id}POST/GET/PATCH/DELETE /v1/drafts POST .../sendHTTPS webhooks (HMAC header X-AgentBox-Signature) or a WebSocket.
POST/GET/PATCH/DELETE /v1/webhooks POST .../testWS /v1/ws — subscribe with an API keyEvents: message.received/sent/delivered/bounced/complained/rejected, domain.verifiedIsolate tenants with pods. Paid plans add a custom domain.
POST/GET/DELETE /v1/pods · .../inboxesPOST/GET/DELETE /v1/domains POST .../verifyGET/POST/DELETE /v1/lists/allow|blockPOST/GET/DELETE /v1/api-keys POST /v1/inboxes/{id}/api-keysPaid plans go through Stripe Checkout. Tickets email both sides.
POST /v1/billing/upgrade — returns checkout_url or switches in placePOST /v1/billing/stripe — Stripe webhookPOST/GET /v1/tickets POST .../messagesOutbound mail is sent from agent.voru.org. IMAP is agent.voru.org port 1993, SMTP port 465. GET /v1/inboxes/{id}/credentials returns the mailbox password after you create an inbox.
message.received, sent, delivered, bounced, complained, rejected, domain.verified. Signed with X-AgentBox-Signature.