Skip to main content

Base URL

https://api.openmail.sh

Request format

  • All request bodies are JSON (Content-Type: application/json)
  • All responses are JSON
  • Dates are ISO 8601 (2026-02-24T10:00:00.000Z)
  • IDs are UUIDs

Error format

All errors return a consistent structure:
{
  "error": "error_code",
  "message": "Human-readable description"
}

Common error codes

StatusCodeDescription
400invalid_usernameUsername doesn’t meet format requirements
400missing_idempotency_keySend endpoint requires Idempotency-Key header
401unauthorizedInvalid or missing API key
404not_foundResource doesn’t exist or doesn’t belong to your account
409address_takenUsername or address already in use
422recipient_suppressedRecipient is on the suppression list
429rate_limit_exceededToo many requests — check Retry-After header
429cold_outreach_limitCold send limit exceeded for new inbox

Idempotency

The POST /v1/inboxes/:id/send endpoint requires an Idempotency-Key header. If you retry a request with the same key, we return the original response without sending a duplicate email. Keys are scoped to your account and expire after 24 hours.