Skip to main content
Hiveku offers three ways to send email. Use the SDK when you can, fall back to REST when you cannot, and use SMTP when you need to plug Hiveku into a third-party service that only speaks SMTP (Supabase Auth, Firebase Auth, WordPress, etc.).

Choose an integration

Email parameters

string | string[]
required
Recipient address(es). Pass a string for one recipient or an array for many.
string
required
Sender address. Must be on a verified domain. Supports friendly format: Acme <noreply@mail.acme.com>.
string
required
Email subject line.
string
HTML body. At least one of html or text is required.
string
Plain-text body. Strongly recommended alongside html for deliverability.
string | string[]
CC recipients.
string | string[]
BCC recipients.
string | string[]
Reply-To address(es).
Attachment[]
File attachments. See Attachments below.
string[]
Tags for filtering analytics and webhooks. Up to 10 tags per email.
Record<string, string>
Custom headers (e.g., List-Unsubscribe).
string
Send with a template instead of raw html/text. See Templates.
Record<string, unknown>
Variable values for the template.
string (ISO 8601)
Schedule the send for a future time.
string
Client-generated key to prevent duplicate sends on retry.

Batch sending

Send up to 100 emails in a single request with POST /v1/email/batch:
Each item in the batch is validated and enqueued independently — a failure on one item does not block the others.

Template sending

If you have a saved template, reference it by ID and pass variables:
REST endpoint: POST /v1/email/send-template.

Scheduled delivery

Schedule a send for a future time by passing an ISO 8601 scheduled_at:
Scheduled emails can be canceled before their delivery window opens.

Attachments

Attachments are passed as base64-encoded content:
Total message size (including all attachments) is capped at 40 MB.

Custom headers

Pass arbitrary headers via the headers field. Common uses:

Tracking tags

Tags flow through to analytics, webhooks, and suppression filters. Use them to slice sends by feature, tenant, or campaign:

Idempotency

Pass an idempotency_key to make retries safe. If Hiveku receives the same key twice within 24 hours, the second request returns the original response without sending again.

Response format

All send endpoints return a consistent shape:
Track the message further via Webhooks or the dashboard logs.