This page lists the Email APIs and webhooks available in Nylas API v3, and shows which scopes they require. These scopes allow Nylas to read and modify the end-user data on the provider, and trigger webhook notifications. Add the scopes for each provider to your provider auth app.
The tables list both the most restrictive scope available that grants Nylas enough access, plus additional scopes that grant Nylas access but are less restrictive. If your app is already using one of these more permissive scopes for other purposes, you do not need to add the more restrictive scope.
All scopes must include the fully qualified URI path for the provider, for example https://www.googleapis.com/auth/...
for Google, and https://graph.microsoft.com/...
for Microsoft Graph. These have been omitted due to space constraints.
The ☑️ character appears near the most restrictive scope you can use to enable functionality on each provider. More permissive scopes that you can use instead appear under the minimum option.
| Endpoint | Google Scopes
https://www.googleapis.com/auth/... | Microsoft Scopes
https://graph.microsoft.com/... |
GET /messages
|
/gmail.readonly ☑️
/gmail.modify
|
Mail.Read ☑️
Mail.ReadWrite
Mail.Read.Shared
Mail.ReadWrite.Shared
|
GET /messages/<message_id>
|
/gmail.readonly ☑️
/gmail.modify
|
Mail.Read ☑️
Mail.ReadWrite
Mail.Read.Shared
Mail.ReadWrite.Shared
|
PUT/messages/<message_id>
DELETE /messages/<message_id>
|
/gmail.modify ☑️
|
Mail.ReadWrite ☑️
Mail.ReadWrite.Shared
|
GET /drafts
GET /drafts/<draft_id>
|
/gmail.readonly ☑️
/gmail.compose
|
Mail.Read ☑️
Mail.ReadWrite
Mail.Read.Shared
Mail.ReadWrite.Shared
|
POST /drafts
PUT /drafts/<draft_id>
DELETE /drafts/<draft_id>
|
/gmail.compose ☑️
|
Mail.ReadWrite ☑️
Mail.ReadWrite.Shared
|
POST /messages/smart-compose
|
/gmail.readonly ☑️
/gmail.modify
|
Mail.Read ☑️
Mail.ReadWrite
Mail.ReadWrite.Shared
Mail.Read.Shared
|
POST /messages/<message_id>/smart-compose
|
/gmail.readonly ☑️
/gmail.modify
|
Mail.Read ☑️
Mail.ReadWrite
Mail.ReadWrite.Shared
Mail.Read.Shared
|
POST /messages/send
|
/gmail.send ☑️
/gmail.compose
/gmail.modify
|
Mail.ReadWrite and Mail.Send ☑️
Mail.ReadWrite.Shared and Mail.Send
|
POST /messages/send (using draft)
|
/gmail.compose ☑️
/gmail.modify
|
Mail.ReadWrite and Mail.Send ☑️
Mail.ReadWrite.Shared and Mail.Send
|
GET /folders
GET /folders/<folder_id>
|
/gmail.labels ☑️
/gmail.modify
|
Mail.Read ☑️
Mail.ReadWrite
Mail.ReadWrite.Shared
Mail.Read.Shared
|
POST /folders
PUT /folders/<folder_id>
DELETE /folders/<folder_id>
|
/gmail.labels ☑️
/gmail.modify
|
Mail.ReadWrite ☑️
Mail.ReadWrite
Mail.ReadWrite.Shared
|
GET /attachments/<id>
|
/gmail.readonly ☑️
/gmail.modify
|
Mail.Read ☑️
Mail.ReadWrite
Mail.ReadWrite.Shared
Mail.Read.Shared
|
GET /messages/schedules
GET /messages/schedules/<scheduleId>
DELETE /messages/schedules/<scheduleId>
|
No scopes required because scheduled messages are stored with Nylas.
However you need gmail.send / Mail.ReadWrite and Mail.Send to send the scheduled messages.
|
Webhook trigger | Google Scopes
https://www.googleapis.com/auth/... | Microsoft Scopes
https://graph.microsoft.com/... |
message.send_success
message.send_failed
|
/gmail.send ☑️
|
Mail.ReadWrite and Mail.Send ☑️
|
message.created
message.updated
message.deleted
|
/gmail.readonly ☑️
/gmail.modify
|
Mail.Read ☑️
Mail.ReadWrite
Mail.ReadWrite.Shared
Mail.Read.Shared
|
message.bounce_detected
|
/gmail.readonly ☑️
|
Mail.Read ☑️
|
folder.created
folder.updated
folder.deleted
|
/gmail.readonly ☑️
or /gmail.labels with refactor
/gmail.modify
|
Mail.Read ☑️
Mail.ReadWrite
Mail.ReadWrite.Shared
Mail.Read.Shared
|