Share an email’s timeline
POST/v1/emails/{id}/share
Makes a link anyone can open, without an account, to see what happened to one email: when it was sent, delivered, bounced or marked as spam, and the reasons. It never shows what the email said. Recipients are shown as m***@example.com unless full_addresses is true, and the subject can be left out with show_subject: false. The link works for expires_in_hours (1 hour to 30 days, default 7 days) and can be removed at any time. The address in url is returned only in this response: SendSend keeps just a hash of it. An email can have up to 10 working links.
Required scope: emails:read
Parameters
| Name | In | Description |
|---|---|---|
idrequired | path | The email id. |
Request body
| Field | Type |
|---|---|
expires_in_hoursoptional | integer |
full_addressesoptional | boolean |
show_subjectoptional | boolean |
Unknown fields are rejected, so a typo never silently does nothing.
Example
curl -X POST 'https://api.sendsend.email/v1/emails/ID/share' \
-H "Authorization: Bearer $SENDSEND_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"expires_in_hours": 24,
"full_addresses": false
}'Response 201
{
"id": "shr_4Tq9…",
"object": "email_share",
"url": "https://app.sendsend.email/share/3vK…",
"expires_at": "2026-10-27T15:04:05.000Z",
"full_addresses": false,
"show_subject": true
}Errors
| Status | Code | When |
|---|---|---|
| 404 | not_found | No such resource in this project. |
| 400 | validation_error | The request body or parameters are invalid. The message says which field. |
| 401 | unauthorized | The API key is missing, invalid or revoked. |
| 403 | forbidden | The key does not have the scope this endpoint needs. |
Every error has the same shape. See Errors.