API · Receiving
List Attachments
List attachments for a received email with download links that expire after one hour (requires full access).
GET
/emails/receiving/{id}/attachmentsFull accessRequest parameters
| Parameter | Type | Description |
|---|---|---|
idpath · required | string | Opaque resource id. |
limitquery · optional | integer1–100 Default: 20 | Number of results to return. See Pagination. |
afterquery · optional | string | Resource ID for the next page. Cannot be combined with before. See Pagination. |
beforequery · optional | string | Resource ID for the previous page. Cannot be combined with after. See Pagination. |
Request example
Set OPENSEND_BASE_URL=https://api.example.com and OPENSEND_API_KEY=os_replace_me on your server.
bash
curl -X GET "$OPENSEND_BASE_URL/emails/receiving/YOUR_id/attachments" \
-H "Authorization: Bearer $OPENSEND_API_KEY"Response
200 · application/json. Example IDs stand for IDs returned by your installation.
json
{
"object": "list",
"has_more": false,
"data": [
{
"id": "YOUR_ID",
"filename": "example",
"size": 0,
"content_type": "example",
"content_disposition": "example",
"content_id": "YOUR_CONTENT_ID",
"download_url": "https://api.example.com/example",
"expires_at": "2026-09-29T12:00:00Z"
}
]
}Behavior and errors
download_url is signed for one hour. Receiving data expires after 30 days.
Use a full-access credential. List responses are newest first; use has_more and cursor IDs to continue. Resource IDs belong to your team; an unknown or foreign resource returns 404. See authentication, errors, rate limits, and compatibility for the shared contract.