Get an email

GET/v1/emails/{id}

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

Full message detail including the rendered HTML body and engagement counters.

Path parameters

  • idstringrequired

    Email id.

Response

200 · Email

  • emailIdstringrequired
  • toemailrequired
  • subjectstringrequired
  • fromEmailstring
  • fromNamestring | null
  • sourceenumrequired
    transactionalcampaignworkflowinbound
  • statusenumrequired
    queuedsendingsentdeliveredopenedclickedbouncedcomplainedfailedreceivedcancelled
  • campaignIdstring | null
  • workflowIdstring | null
  • testModeboolean
  • opensinteger
  • clicksinteger
  • errorstring | null
  • sentAtstring | null
  • scheduledForstring | null
  • createdAtdate-timerequired
  • projectIdstring
  • contactIdstring | null
  • bodystring

    The rendered HTML body.

  • providerMessageIdstring | null
  • deliveredAtstring | null
  • openedAtstring | null
  • clickedAtstring | null
  • latencyMsnumber | null

Errors

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

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

Request

curl https://api.volanea.com/v1/emails/id_123 \
  -H "Authorization: Bearer sk_..."

Response

200 · application/json

{
  "success": true,
  "data": {
    "emailId": "em_1c4f",
    "to": "ada@example.com",
    "subject": "Your order shipped",
    "fromEmail": "hello@yourdomain.com",
    "fromName": "Acme",
    "source": "transactional",
    "status": "queued",
    "campaignId": "cmp_2b8e",
    "workflowId": "wf_7d31",
    "testMode": true,
    "opens": 1,
    "clicks": 1,
    "error": "<error>",
    "sentAt": "2026-01-01T09:00:00.000Z",
    "scheduledFor": "2026-01-01T09:00:00Z",
    "createdAt": "2026-01-01T09:00:00.000Z",
    "projectId": "<projectId>",
    "contactId": "con_5e90",
    "body": "<p>On its way, {{firstName}}.</p>",
    "providerMessageId": "<providerMessageId>",
    "deliveredAt": "2026-01-01T09:00:00.000Z",
    "openedAt": "2026-01-01T09:00:00.000Z",
    "clickedAt": "2026-01-01T09:00:00.000Z",
    "latencyMs": 1
  }
}

92 endpoints · OpenAPI document