Attachments

Download attachment

Get a short-lived presigned URL for a stored attachment.

GET/api/v1/emails/%7Bid%7D/attachments/%7Bindex%7D
cURL
curl -X GET "https://inboundr.net/api/v1/emails/{id}/attachments/{index}" \
  -H "Authorization: Bearer $INBOUNDR_API_KEY"

Returns a presigned download URL (valid 15 minutes) for one attachment. The index is 0-based and matches the order of the attachments array from Get email by ID. Only attachments with stored: true can be downloaded.

Attachment storage is included on Pro and Scale. On Free this returns 402: the metadata is kept, but the content isn't stored.

idstringpathrequired

The email id (em_…).

indexintegerpathrequired

0-based index into the email's attachments array.

Example response

200
{
  "url": "https://…s3…/…?X-Amz-Signature=…",
  "filename": "invoice.pdf",
  "contentType": "application/pdf",
  "size": 48210,
  "expiresAt": "2026-07-20T10:45:00.000Z"
}

Fetch the file from url directly. The URL is pre-signed, so no authorization header is needed.

Returns 404 if the email or attachment isn't found (or has no stored content), or 503 if attachment storage isn't configured.