Attachments arrive on inbound mail automatically and can be added to drafts before sending. Maximum 25 MB.
Every message and draft carries an attachments array with the filename, content
type and size. Content is fetched separately:
curl "https://api.carlyemail.com/v0/messages/$MESSAGE_ID/attachments/$ATTACHMENT_ID" \
-H "Authorization: Bearer $CARLYEMAIL_API_KEY"
Listing a page of messages names every attachment on every message on that page, so you can decide what to fetch without a round trip per message.
Adding one to a draft:
curl -X POST https://api.carlyemail.com/v0/drafts/$DRAFT_ID/attachments \
-H "Authorization: Bearer $CARLYEMAIL_API_KEY" \
-F 'file=@invoice.pdf'