Docs
Open in panel → /app · sending
Sending
Two entry points share the same runSend pipeline:
POST /v1/sendwithx-api-key(Access → Create API key).POST /v1/panel/sendwith Supabase JWT + workspace membership.
Body (Zod):
{
"from": "ops@verified.example.com",
"to": ["a@example.com"],
"cc": [],
"bcc": [],
"subject": "Hello",
"text": "...",
"html": "...",
"idempotency_key": "..."
}
Verified From gate
If REQUIRE_VERIFIED_DOMAIN is on (or production default), the From domain
must be in domains.status IN ('verified','active') for that workspace.
On failure → 403 DOMAIN_UNVERIFIED.
Flow
runSend → credits.hold → kumo.inject → credits.commit on 2xx →
credits.void on failure. Returns 200 on inject success, 402 INSUFFICIENT,
409 DUPLICATE, 403 DOMAIN_UNVERIFIED.
Related
Last verified: Sat Jul 11 2026 17:00:00 GMT-0700 (Pacific Daylight Time). Cross-link maintained byscripts/check-docs-drift.sh (M54).