Authentication
All API requests go to https://api.wzrd.tech/v0 and authenticate with an API key prefixed wm_ (wm_live_… for live keys, wm_test_… for test mode).
Pass the key either way:
curl https://api.wzrd.tech/v0/auth/me \
-H "Authorization: Bearer $WZRDMAIL_API_KEY"
curl https://api.wzrd.tech/v0/auth/me \
-H "x-api-key: $WZRDMAIL_API_KEY"
GET /v0/auth/me
Returns the identity behind the key:
{
"organization_id": "org_01J…",
"pod_id": "pod_01J…",
"verified": true
}
API keys
GET /v0/api-keys— list keys (hashes only; plaintext is shown once at creation)POST /v0/api-keys— mint a keyDELETE /v0/api-keys/{id}— revoke a key
Errors
Every error uses the same envelope with the correct HTTP status:
{ "name": "forbidden", "message": "verify your account to email external recipients" }
Error names include validation_error, forbidden, not_found, rate_limited, message_too_large, and plan_limit_exceeded. 429 responses always carry a Retry-After header.
Pagination
Collections take limit (default 20, max 100) and page_token, and return { "items": […], "next_page_token": "…" }.
Idempotency
All create operations accept a client_id and return the prior result on replay.