sendsend.email

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

NameInDescription
idrequiredpathThe email id.

Request body

FieldType
expires_in_hoursoptionalinteger
full_addressesoptionalboolean
show_subjectoptionalboolean

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

StatusCodeWhen
404not_foundNo such resource in this project.
400validation_errorThe request body or parameters are invalid. The message says which field.
401unauthorizedThe API key is missing, invalid or revoked.
403forbiddenThe key does not have the scope this endpoint needs.

Every error has the same shape. See Errors.