Ingest an inbound email

POST/v1/inbound

Secret key — sk_… or sk_test_… · Base URL https://api.volanea.com

Store an inbound message, upsert the sender as a contact, and emit email.received (which fans out to webhooks and workflow triggers). Normally called by the SMTP relay's unauthenticated listener, but you can post parsed mail yourself.

Body

Required · application/json

  • fromemailrequired
  • fromNamestring
  • toemailrequired
  • subjectstring
  • htmlstring
  • textstring

Response

Stored.

  • emailIdstringrequired

    The stored email id.

Errors

Every failure returns the standard envelope — branch on `code`, never on the wording of `error`.

  • 401Missing or invalid API key.
  • 422Request validation failed (code `validation_error`, 422).

Request

curl https://api.volanea.com/v1/inbound \
  -X POST \
  -H "Authorization: Bearer sk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "from": "hello@yourdomain.com",
    "to": "ada@example.com",
    "fromName": "Acme",
    "subject": "(no subject)"
  }'

Response

201 · application/json

{
  "success": true,
  "data": {
    "emailId": "em_1c4f"
  }
}

92 endpoints · OpenAPI document