Track email open (pixel)

Overview

Email-open tracking pixel. Looks up a sent campaign email request by unique_code and, on first view, stamps opened_at (and delivered_at if unset). Returns an image/png response so it can be embedded as an <img> in the email body — not a JSON envelope on the happy path.

Prerequisites

  • No authentication — this endpoint is public.
  • The emailRequestUniqueCode of the record you are targeting.

Base URL

EnvironmentURL
Productionhttps://production-api.shoutaboutus.com
Developmenthttps://development-api.shoutaboutus.com

Endpoint

GET /api/v1/campaign/view-email/{emailRequestUniqueCode}

Authentication

  • No bearer token required.

  • Public — no bearer token (unauthenticated campaign group; item marked noauth). Requested by the recipient's mail client when the email is opened.

Rate limit

  • 30 requests/min per IP (public).

Path parameters

ParameterTypeRequiredDescription
emailRequestUniqueCodestringRequiredIdentifier for the record you are targeting.

How it works

  • 200 with Content-Type: image/png (tracking pixel) on success; caching disabled via Cache-Control/Pragma/Expires headers.
  • 200 Sent email not found with JSON response { "data": { "status": "failed", "message": "Sent email not found" } } when the email record cannot be located.

Response

200 OK (tracking pixel) · 200

<binary image/png body — tracking pixel; not JSON>

200 Sent email not found · 200

{
  "data": {
    "status": "failed",
    "message": "Sent email not found"
  }
}

Errors

StatusMeaning
500Unexpected server error (rare — handled failures come back as 200 with status: failed)

Example request

curl --request GET \
  --url "https://production-api.shoutaboutus.com/api/v1/campaign/view-email/<emailRequestUniqueCode>"

Note: Do not include an Accept: application/json header. The endpoint returns image/png by default. To embed the tracking pixel in an email, use an <img> tag:

<img src="https://production-api.shoutaboutus.com/api/v1/campaign/view-email/<emailRequestUniqueCode>" alt="" width="1" height="1" />

Did this page help you?