Status Tracking

Track the delivery status of your emails using the status endpoint.

Endpoint

GET /status/{message_id}

Get the status of an email message by its message ID.

GET https://client.heliossend.com/status/{message_id}

Request Example

Get Status

curl https://client.heliossend.com/status/msg_abc123xyz

Replace msg_abc123xyz with your actual message ID from the send response.

Response Format

Success Response (200 OK)

{
  "id": "msg_abc123xyz",
  "status": "sent",
  "message_id": "0100018a-1234-5678-9abc-def012345678-000000",
  "created_at": "2024-01-15T10:30:00Z",
  "updated_at": "2024-01-15T10:30:05Z"
}

id: The internal message ID

status: Current status of the message

message_id: AWS SES message ID (if sent)

created_at: Timestamp when message was created

updated_at: Timestamp when message was last updated

Message Statuses

Status Values

Possible status values for email messages

queued

Message is queued for sending. This is the initial status when a message is created.

sent

Message has been successfully sent to AWS SES. This means the message was accepted by SES for delivery.

failed

Message sending failed. This could be due to invalid email addresses, SES errors, or other issues.

Error Responses

Error Handling

404 Not Found

Message ID not found:

{
  "detail": "Message not found"
}

Usage Tips

Best Practices

  • Store the message_id from the send response to track status later
  • Poll the status endpoint periodically if you need real-time updates
  • Consider implementing webhooks for status updates in production
  • The status endpoint does not require authentication
  • Status updates are near real-time but may have slight delays