Skip to content
Documentation/API reference
API · emails

Send email

POST /api/v2/emails

Authorization

emails:send. Use a workspace-scoped bearer key or an authorized user session.

Parameters

Required header: Idempotency-Key (1–100 alphanumeric, underscore or hyphen characters).

NameTypeContract
fromstring · requiredBare sender email; active inbox or verified workspace domain
tostring · requiredOne recipient address
subjectstring · requiredNonempty, at most 200 characters; no newlines
textstring · requiredNonempty plain text, at most 10,000 characters
htmlstring · optionalUp to 80,000 characters
trackingobject · optionalopens and clicks boolean flags, both default false; HTML only
from_namestring · optionalDisplay name up to 100 characters
reply_tostring · optionalValid reply destination
in_reply_tostring · optionalRFC Message-ID including <angle brackets>

Request

Set INBOXIT_API_KEY in your server environment. The CLI can also use an authenticated user session.

Example
curl -X POST 'https://inboxit.wtf/api/v2/emails' \
  -H "Authorization: Bearer $INBOXIT_API_KEY" \
  -H "Content-Type: application/json" --data @request.json \
  -H "Idempotency-Key: request-001"

JSON body

Save this JSON as request.json for the request above. Replace example values with your own.

Example
{
  "from": "hello@mail.yourbrand.com",
  "to": "recipient@example.com",
  "subject": "Welcome",
  "text": "Thanks for joining.",
  "html": "<h1>Welcome</h1><p>Thanks for joining.</p>",
  "tracking": {
    "opens": true,
    "clicks": true
  }
}

CLI equivalent

Use INBOXIT_TOKEN for a scoped key, or inboxit login for a user session.

Example
inboxit emails send --data @request.json --idempotency-key request-001

Response

HTTP 201. Example values are illustrative; excerpts are marked.

Example
{
  "id": "EMAIL_UUID",
  "status": "pending",
  "message_id": "<id@mail.yourbrand.com>"
}

Behavior & errors

Idempotency-Key is required. Same key and payload returns the existing result; a changed payload returns 409. Account quotas, suppression, verified sender and account verification checks apply. 201 is queue acceptance, not delivery. Common errors: 400 invalid input, 401 unauthenticated, 403 insufficient permission, 404 missing/inaccessible resource, 409 conflict, 429 rate/usage limit, 503 service unavailable. See Errors & retries for recovery guidance.