Skip to content
Skip to main content

Send large attachments up to 150MB (Beta)

Email

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 you PUT the file bytes to directly. No Nylas authorization header is required on the upload itself. Set size on 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 attachment ready. After this, reference the attachment in a send or draft by passing { "id": "<attachment_id>" } in the attachments array.

  • GET /v3/grants/{grant_id}/attachment-uploads/{attachment_id}. Check session status at any time. Statuses are uploading, ready, failed, and expired.

  • Inline large attachments. Set content_id on the attachment entry and reference it as cid:{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.

  • Maximum file size: 150MB (157286400 bytes) 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, or Mail.ReadWrite.Shared.
  • Exchange Online message size: Default is 35MB (36MB receive). Raise it to 150MB via Set-Mailbox -MaxSendSize 150MB -MaxReceiveSize 150MB or Set-TransportConfig before 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.