List recipients of a message
/v1/email/messages/{message_id}/recipientsbird email recipients <message-id>curl -X GET "https://us1.platform.bird.com/v1/email/messages/{message_id}/recipients" \
-H "Authorization: Bearer $TOKEN" \
--url-query "limit=25"{
"data": [
{
"id": "er_01krdgeqcxet5s7t44vh8rt9mg",
"parent_id": "em_01krdgeqcxet5s7t44vh8rt9mg",
"role": "to",
"recipient": "delivered@messagebird.dev",
"status": "accepted",
"rejection_reason": "recipient_suppressed",
"bounce_type": "hard",
"bounce_code": "550",
"bounce_description": "5.1.1 Unknown user",
"open_count": 0,
"click_count": 0
}
],
"next": [
{
"kind": "operation"
}
],
"next_cursor": "eyJ2IjoxLCJzIjoiXCIyMDI2LTA1LTI1VDE0OjAzOjEwWlwiIiwiaSI6IjAxOTJmM2IxLTRjN2UtN2EyYi05ZDYxLThmM2E1YzJlN2I0MCJ9",
"prev_cursor": null,
"refresh_cursor": "eyJ2IjoxLCJzIjoiXCIyMDI2LTA1LTI1VDE2OjQyOjAxWlwiIiwiaSI6IjAxOTJmM2IxLTllMDQtN2NkMy1iODE3LTJhNmY0ZDFjOGUwOSJ9"
}
Returns the message's per-recipient delivery state as a cursor page: each entry is
one to/cc/bcc recipient with its role, current status, rejection or bounce
detail when delivery failed, and open/click counts. Use it to see which specific
addresses failed when the aggregate message status is mixed (for example
partial_failure).
This works for every email message, including one a broadcast sent. A broadcast records one message per recipient, so such a message has exactly one recipient here: the address its copy went to.
Parameters
message_idstringID of the message whose recipients to list. A broadcast records one message per recipient, and List email messages returns those copies alongside ordinary sends. For a single send, this is the message's own ID, from the send response's id field.
Query Parameters
limitintegerMaximum number of items to return per page.
starting_afterstringCursor from the next_cursor field of a previous list response. Returns items immediately after the cursor position in the current sort order.
ending_beforestringCursor from the prev_cursor or refresh_cursor field of a previous list response. Returns items immediately before the cursor position in the current sort order. prev_cursor returns the preceding page. refresh_cursor anchors at the first row of that response, which on a newest-first sort is how to fetch the items that have appeared since.
Response Payload
nextWhat to do next, given what this page reports. Present only where the read computes it: an empty list means the answer you were looking for is here and there is nothing further to do. Absent entirely on reads that do not report next actions.
next_cursorCursor for the next page. Pass back as starting_after to advance forward. null when no next page exists.
prev_cursorCursor for the previous page. Pass back as ending_before to step backward. null when no previous page exists.
refresh_cursorRefresh anchor, the first row of this response. Pass back as ending_before to fetch what precedes it in the current sort order. On a newest-first sort those are the items that have appeared since; on any other sort they are the items that sort earlier, so refreshing such a list means re-fetching it instead. Non-null whenever data is non-empty; null only on an empty page. Distinct from prev_cursor.
Related resources
Continue with the documentation, guides and examples for this topic.