API Reference
Every endpoint across the email (v1) and WhatsApp/Push/OTP (v2) APIs. Same
Authorization: Bearer $API_KEY on both.
Machine-readable: v1 OpenAPI JSON ·
v2 OpenAPI JSON.
v1 — Email
https://theaurapost.com/api/v1
API Keys 3 endpoints
/api-keys
List this tenant's API keys
Prefixes and metadata only — the key hash is never serialized.
/api-keys
Generate a new API key
The plaintext key is returned exactly once, in this response — it is never retrievable again.
/api-keys/{id}/revoke
Revoke an API key
Immediate and irreversible — a revoked key can never be un-revoked, only replaced by generating a new one.
Campaigns 4 endpoints
/campaigns
List campaigns
/campaigns
Create a campaign
/campaigns/{id}/estimate
Pre-send cost estimate + live balance
Returns estimated cost vs live balance + daily limit, and the projected sent/partial/blocked status.
/campaigns/{id}/send
Send a campaign (truthful status)
Enforces the pre-send credit gate; reports sent / partial / blocked, never a fake "sent".
Embedded Designer 2 endpoints
/embed/designer/token
Mint an embedded designer token (master key)
Returns { url, token, expires_at } scoped to one merchant, ~10 min TTL.
/embed/designer/context
Embedded designer bootstrap context
GDPR 6 endpoints
/gdpr/export
Request a data export for a contact
/gdpr/deletion
Request deletion of a contact's data
/gdpr/requests
List data export/deletion requests
/gdpr/requests/{id}
Check a data request's status
/gdpr/retention-policy
Get this tenant's data retention settings
/gdpr/retention-policy
Update data retention settings
Health 1 endpoint
/health/lanes
Per-channel, per-lane queue depth
Lets a partner's failover logic detect a backed-up lane (e.g. OTP) and reroute before it times out. Depth is 0 on the sync queue driver — meaningful under Redis/database queues.
Reseller 3 endpoints
/partners/sub-accounts
List merchants
/partners/sub-accounts
Create a merchant
/partners/sub-accounts/{id}/fund
Fund a merchant wallet
Sending 3 endpoints
/messages/send
Send a single transactional email
/messages/batch
Send a batch (<=50 recipients)
/messages/{id}/status
Message delivery status
Templates 4 endpoints
/templates
List templates
/templates
Create a template
/templates/{id}
Get a template
/templates/{id}
Update / save-back a template (API key or embed token)
Accepts a merchant-scoped embed token to persist design_json + html_body from the embedded designer.
Webhooks 3 endpoints
/webhooks
Get this tenant's webhook configuration
`secret` is reported as `"set"` or `null` — the plaintext signing secret is never returned by this endpoint.
/webhooks
Configure the webhook URL, mode, signing secret, and subscribed events
Sending `secret` rotates it (set-or-rotate — there is no separate rotate endpoint). Omit `events` to leave the subscription unchanged; `[]` subscribes to all events; a non-empty array subscribes to only those.
/webhooks/deliveries
Recent webhook delivery attempts
Paginated, newest first — status_code, attempt_count, and error_message per delivery.
v2 — WhatsApp, Push & OTP
https://theaurapost.com/api/v2
Push 4 endpoints
/push/send
Send a single transactional push notification
Targets a person by email OR phone (whichever you have) — delivered to every browser they're subscribed from.
/push/analytics
Push funnel analytics (views, clicks, conversions)
/activity/push
Per-notification push activity feed
/activity/push/summary
Push activity summary
Push Campaigns 4 endpoints
/push/campaigns
List push campaigns
/push/campaigns
Create a push campaign
/push/campaigns/{id}/send
Send a push campaign
/push/campaigns/{id}/report
Push campaign delivery report
Push Templates 2 endpoints
/push/templates
List push templates
/push/templates
Create a push template
WhatsApp 7 endpoints
/messages/whatsapp/send
Send a single WhatsApp message (approved template required)
/messages/whatsapp/batch
Send WhatsApp to multiple recipients
/messages/whatsapp/{id}/status
WhatsApp message delivery status
/messages/whatsapp/{id}/retry
Retry a failed WhatsApp message
/whatsapp/otp/send
Send a WhatsApp OTP
Idempotency-Key is MANDATORY here (422 without it) — a blind retry without one could deliver the same code twice.
/activity/whatsapp
Per-message WhatsApp activity feed
/activity/whatsapp/summary
WhatsApp activity summary (rates, category breakdown)
WhatsApp Campaigns 6 endpoints
/campaigns/whatsapp
List WhatsApp campaigns
/campaigns/whatsapp
Create a WhatsApp campaign
/campaigns/whatsapp/{id}/recipients/batch
Append recipients to a campaign (ingest, before seal)
/campaigns/whatsapp/{id}/seal
Seal a campaign's recipient list (no more appends after this)
/campaigns/whatsapp/{id}/send
Send a sealed WhatsApp campaign
/campaigns/whatsapp/{id}/report
WhatsApp campaign delivery report, incl. failure-category breakdown
WhatsApp Templates 4 endpoints
/whatsapp/templates
List WhatsApp templates
/whatsapp/templates
Create a WhatsApp template draft
/whatsapp/templates/{id}/publish
Submit a template to Meta for review
/whatsapp/templates/{id}/deploy
Deploy an approved template to a connection
SDKs
Node, PHP and Python clients cover both the v1 (email/template/campaign/suppression/usage/GDPR) and v2 (WhatsApp, Push, OTP) surfaces. Contact support@theaurapost.com for access.