/v1/brands/{brand_id}/emails/{email_id} Retrieve an outreach email
One outreach email with its status and what it got. Requires the brand owner on Pro. A client seat cannot reach emails.
Path parameters
-
Email id.
-
Brand UUID.
Query parameters
-
Preview the call without executing it. Runs auth, scope, eligibility and body validation, then returns
200with adry_runobject reporting the request-unit and credit cost plus a non-consuming quota snapshot. Nothing is debited, reserved, dispatched or mutated. An invalid body still returns422.default: false
Responses
-
Whether the pitched page now links to the brand.
-
HTML body.
-
Owning brand id.
-
0 for the first email of a thread, then 1, 2...
-
Email id.
-
Recipient.
-
draft,scheduled(queued to go out),sent,opened,replied,bounced,failedorunsubscribed. -
Subject.
-
professional,casual,friendlyorformal. - body_text string (nullable) nullable
Plain-text body.
- bounced_at string (nullable) nullable
When it bounced.
- campaign_id string (nullable) nullable
The campaign that created it.
- citation_id string (nullable) nullable
That page's id, when it is in Backlink outreach.
- citation_url string (nullable) nullable
The cited page the pitch is about.
- contact_id string (nullable) nullable
The contact it goes to.
- created_at string (nullable) nullable
When it was created.
- error_message string (nullable) nullable
Why a
failedemail did not go out. - mailbox_id string (nullable) nullable
The Gmail mailbox it goes out from.
- object string
- opened_at string (nullable) nullable
When it was first opened.
- parent_email_id string (nullable) nullable
The thread's first email, for a follow-up or reply.
- recipient_name string (nullable) nullable
The recipient's name.
- replied_at string (nullable) nullable
When it got a reply.
- scheduled_for string (nullable) nullable
When a queued email goes out.
- sent_at string (nullable) nullable
When it went out.
- template_type enum (nullable) nullable
What the email asks for.
- updated_at string (nullable) nullable
Last change.
Example response
{
"backlink_verified": false,
"body": "<p>Hi Alex, the Allbirds Tree Runner fits your list.</p>",
"body_text": "Hi Alex, the Allbirds Tree Runner fits your list.",
"brand_id": "3f9c7e8a-1b6a-4d8e-92cf-7d9c8b1e2a04",
"citation_id": "3c1f5a7e-8b2d-4e6f-9a0b-1c2d3e4f5a6b",
"citation_url": "https://www.runnersworld.com/gear/a20865766/best-running-shoes/",
"contact_id": "7a8b9c0d-1e2f-4a3b-8c4d-5e6f7a8b9c0d",
"created_at": "2026-10-01T10:00:00+00:00",
"follow_up_number": 0,
"id": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"mailbox_id": "5e6f7081-92a3-4b4c-8d5e-6f708192a3b4",
"object": "email",
"recipient_email": "alex.rivera@e2e.test",
"recipient_name": "Alex Rivera",
"status": "draft",
"subject": "A shoe for your best running shoes list",
"template_type": "request_inclusion",
"tone": "friendly",
"updated_at": "2026-10-01T10:00:00+00:00"
}-
Show fields
-
Stable machine-readable error code from the catalog.
-
Human-readable description suitable for logging.
- details object
Optional, code-specific context (e.g.
errorsarray forvalidation_error,retry_afterforservice_unavailable). Shape depends onerror.code; treat as opaque otherwise.Show fields
Empty object (no properties).
-
- request_id string
Server-generated correlation id for the request. Mirrors the
X-Correlation-IDresponse header. Include this when contacting support.
Example response
{
"error": {
"code": "validation_error",
"message": "Request validation failed"
},
"request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}-
Show fields
-
Stable machine-readable error code from the catalog.
-
Human-readable description suitable for logging.
- details object
Optional, code-specific context (e.g.
errorsarray forvalidation_error,retry_afterforservice_unavailable). Shape depends onerror.code; treat as opaque otherwise.Show fields
Empty object (no properties).
-
- request_id string
Server-generated correlation id for the request. Mirrors the
X-Correlation-IDresponse header. Include this when contacting support.
Example response
{
"error": {
"code": "unauthorized",
"message": "Missing or invalid credentials"
},
"request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}-
Show fields
-
Stable machine-readable error code from the catalog.
-
Human-readable description suitable for logging.
- details object
Optional, code-specific context (e.g.
errorsarray forvalidation_error,retry_afterforservice_unavailable). Shape depends onerror.code; treat as opaque otherwise.Show fields
Empty object (no properties).
-
- request_id string
Server-generated correlation id for the request. Mirrors the
X-Correlation-IDresponse header. Include this when contacting support.
Example response
{
"error": {
"code": "forbidden",
"message": "You do not have permission to access this resource"
},
"request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}-
Show fields
-
Stable machine-readable error code from the catalog.
-
Human-readable description suitable for logging.
- details object
Optional, code-specific context (e.g.
errorsarray forvalidation_error,retry_afterforservice_unavailable). Shape depends onerror.code; treat as opaque otherwise.Show fields
Empty object (no properties).
-
- request_id string
Server-generated correlation id for the request. Mirrors the
X-Correlation-IDresponse header. Include this when contacting support.
Example response
{
"error": {
"code": "not_found",
"message": "Resource not found"
},
"request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}-
Show fields
-
Stable machine-readable error code from the catalog.
-
Human-readable description suitable for logging.
- details object
Optional, code-specific context (e.g.
errorsarray forvalidation_error,retry_afterforservice_unavailable). Shape depends onerror.code; treat as opaque otherwise.Show fields
Empty object (no properties).
-
- request_id string
Server-generated correlation id for the request. Mirrors the
X-Correlation-IDresponse header. Include this when contacting support.
Example response
{
"error": {
"code": "conflict",
"message": "Resource conflict"
},
"request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}-
Show fields
-
Stable machine-readable error code from the catalog.
-
Human-readable description suitable for logging.
- details object
Optional, code-specific context (e.g.
errorsarray forvalidation_error,retry_afterforservice_unavailable). Shape depends onerror.code; treat as opaque otherwise.Show fields
Empty object (no properties).
-
- request_id string
Server-generated correlation id for the request. Mirrors the
X-Correlation-IDresponse header. Include this when contacting support.
Example response
{
"error": {
"code": "rate_limit_exceeded",
"message": "Per-minute rate limit exceeded"
},
"request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}-
Show fields
-
Stable machine-readable error code from the catalog.
-
Human-readable description suitable for logging.
- details object
Optional, code-specific context (e.g.
errorsarray forvalidation_error,retry_afterforservice_unavailable). Shape depends onerror.code; treat as opaque otherwise.Show fields
Empty object (no properties).
-
- request_id string
Server-generated correlation id for the request. Mirrors the
X-Correlation-IDresponse header. Include this when contacting support.
Example response
{
"error": {
"code": "internal_error",
"message": "An unexpected error occurred"
},
"request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}-
Show fields
-
Stable machine-readable error code from the catalog.
-
Human-readable description suitable for logging.
- details object
Optional, code-specific context (e.g.
errorsarray forvalidation_error,retry_afterforservice_unavailable). Shape depends onerror.code; treat as opaque otherwise.Show fields
Empty object (no properties).
-
- request_id string
Server-generated correlation id for the request. Mirrors the
X-Correlation-IDresponse header. Include this when contacting support.
Example response
{
"error": {
"code": "service_unavailable",
"message": "Service temporarily unavailable, please retry"
},
"request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}