Base URL
https://app.dmu.email/api/v1
Authentication
Bearer dmk_… API key
Rate limit
120 requests a minute per key

Download an attachment

GET/attachments/{id}

Answers with a redirect to the file, at a signed address that works for a short time. Follow it, as HTTP clients do by default.

Needs the permissionattachments:read

The file comes from storage, not from the API. Don’t keep the address: it expires, which is why the redirect is never cached.

Path parameters

idstringrequired
The file, from a message’s attachments.

Returns

302 Found, with the file’s address in Location.

Errors

401invalid_key
The key is wrong, expired or revoked. With no Authorization header at all, the code is missing_credentials.
403missing_scope
The key doesn’t have attachments:read. The X-Required-Scope header names what’s missing.
404not_found
There’s no such file, the key’s owner can’t see it, or its upload was never confirmed.
429rate_limited
More than 120 requests a minute from this key. Wait for Retry-After seconds.
curl https://app.dmu.email/api/v1/attachments/1f6c8d33 \
  -L -o delivery-note.pdf \
  -H "Authorization: Bearer dmk_7f3a9c2e1b4d_Xq8v…"

Response

302 Found

Location: https://…
Cache-Control: no-store

A redirect has no body. Follow it, and what comes back is the file itself.