Nylas now supports sending attachments up to 150MB on Microsoft (Outlook and Exchange Online) grants, using a new pre-upload flow that’s separate from the standard attachments array. The existing Send Message endpoint caps request bodies at 3MB for JSON (or 25MB multipart). For larger files, you can now upload once to Nylas-managed storage, then reference the resulting attachment_id in your send request.
-
POST /v3/grants/{grant_id}/attachment-uploads. Create an upload session. Returns a pre-signed Google Cloud Storage URL youPUTthe file bytes to directly. No Nylas authorization header is required on the upload itself. Setsizeon the request (optional but recommended) so Nylas can verify the uploaded bytes match at completion. -
POST /v3/grants/{grant_id}/attachment-uploads/{attachment_id}/complete. Finalize the session after the file is uploaded. Nylas verifies the upload succeeded and marks the attachmentready. After this, reference the attachment in a send or draft by passing{ "id": "<attachment_id>" }in theattachmentsarray. -
GET /v3/grants/{grant_id}/attachment-uploads/{attachment_id}. Check session status at any time. Statuses areuploading,ready,failed, andexpired. -
Inline large attachments. Set
content_idon the attachment entry and reference it ascid:{content_id}in the message body. Nylas treats the attachment as inline when both conditions are met. -
Send large attachments guide. Full walk-through of the 4-step flow, Exchange Online PowerShell prerequisites, error matrix, and status lifecycle.
Limits and caveats
Section titled “Limits and caveats”- Maximum file size: 150MB (
157286400bytes) per attachment. - Session expiry: 1 hour from creation. The uploaded file is deleted from storage when the session expires, so complete the send inside that window.
- Providers: Microsoft only. Google, IMAP, Yahoo, iCloud, and EWS grants are rejected with a
401 Unauthorized. - Microsoft scopes: At least one of
Mail.Send,Mail.ReadWrite, orMail.ReadWrite.Shared. - Exchange Online message size: Default is 35MB (36MB receive). Raise it to 150MB via
Set-Mailbox -MaxSendSize 150MB -MaxReceiveSize 150MBorSet-TransportConfigbefore sending large attachments. This limit is enforced by Microsoft, not Nylas. Nylas accepting the upload does not guarantee Exchange will deliver it. - SDK support: REST API only for this beta. The Nylas Node.js, Python, Ruby, Java, and Kotlin SDKs will add helper methods before general availability.