Emalc

Search Documentation

Quickly jump to any guide, document, or section...

Fetch Delivery Status (GET /api/public/email/:id)

Retrieve the real-time status and delivery event timeline of a dispatched email using its Emalc emailId.

  • HTTP Method: GET
  • Path: /api/public/email/:id
  • Required Scope: email:read or full_access

Headers & Path Parameters#

Headers#

HeaderTypeRequiredDescription
AuthorizationstringYesBearer <your_api_key> (must start with em_).

Path Parameters#

ParameterTypeRequiredDescription
idstring (UUID)YesThe Emalc emailId UUID returned by POST /api/public/email/send.

Response Schema (200 OK)#

json
{
  "success": true,
  "data": {
    "id": "7132fa69-9064-44d4-9d41-4560ea605dfa",
    "messageId": "0100018df5608034-7546e5fa-4965-4f46-99c0-9943630f55cf-000000",
    "status": "delivered",
    "to": "customer@example.com",
    "from": "Acme Store <orders@acme.com>",
    "subject": "Your Order Confirmation (#1042)",
    "createdAt": "2026-09-28T14:59:00.000Z",
    "sentAt": "2026-09-28T14:59:01.000Z",
    "events": [
      {
        "id": "0c9d7bf5-c603-4b68-b715-468bc7fba53e",
        "status": "sent",
        "message": "Dispatched via SES",
        "errorCode": null,
        "timestamp": "2026-09-28T14:59:01.000Z"
      },
      {
        "id": "a4d33eb4-7fe2-41eb-b352-25d2cba50f3b",
        "status": "delivered",
        "message": "Delivered to recipient mail server",
        "errorCode": null,
        "timestamp": "2026-09-28T14:59:03.000Z"
      }
    ]
  }
}

Email Status Definitions#

StatusDescription
queuedEmail payload accepted and queued for transmission.
sentDispatched to Amazon SES outbound mail gateways.
deliveredRecipient mail server acknowledged successful SMTP delivery.
bouncedRecipient server rejected message (Hard bounce: unknown user/domain).
complainedRecipient marked the email as spam/abuse complaint.
failedInfrastructure failure during send attempt. Credits automatically refunded.

Error Responses#

Not Found (404 NOT_FOUND)#

Returned if the emailId does not exist or belongs to another organization:

json
{
  "error": "NOT_FOUND",
  "message": "Email with ID '7132fa69-9064-44d4-9d41-4560ea605dfa' was not found.",
  "issues": []
}

Invalid UUID (400 BAD_REQUEST)#

json
{
  "error": "BAD_REQUEST",
  "message": "Invalid email ID path parameter. Must be a valid UUID string.",
  "issues": []
}