SendGrid · OAuth Scopes

SendGrid OAuth Scopes

OAuth 2.0 searched

SendGrid publishes 185 OAuth 2.0 scopes. Scopes are the fine-grained permissions an application requests at authorization time to act against the SendGrid API on a user’s behalf.

This index is generated from the provider’s OpenAPI security definitions (and, where available, its documented scope reference) and refreshes on every APIs.io network build. Browse every provider’s scopes at scopes.apis.io.

EmailEmail APIMarketing EmailSMTPT1Transactional EmailEmail MarketingDeliverabilityMarketing
Scopes: 185 Flows: Method: searched

Scopes (185)

ScopeDescriptionFlows
mail.send Send email through POST /v3/mail/send.
mail.batch.create Create a batch ID for scheduled sends.
mail.batch.read Read/validate a batch ID.
mail.batch.update Update a mail batch.
mail.batch.delete Delete a mail batch.
alerts.create
alerts.read
alerts.update
alerts.delete
api_keys.create
api_keys.read
api_keys.update
api_keys.delete
asm.groups.create
asm.groups.read
asm.groups.update
asm.groups.delete
billing.create
billing.read
billing.update
billing.delete
categories.create
categories.read
categories.update
categories.delete
categories.stats.read
categories.stats.sums.read
clients.stats.read
clients.desktop.stats.read
clients.phone.stats.read
clients.tablet.stats.read
clients.webmail.stats.read
credentials.create
credentials.read
credentials.update
credentials.delete
whitelabel.create
whitelabel.read
whitelabel.update
whitelabel.delete
marketing.read Read access to the Marketing Campaigns surface.
ips.read
ips.assigned.read
ips.pools.create
ips.pools.read
ips.pools.update
ips.pools.delete
ips.warmup.create
ips.warmup.read
ips.warmup.delete
mail_settings.read
mail_settings.address_whitelist.read
mail_settings.address_whitelist.update
mail_settings.bcc.read
mail_settings.bcc.update
mail_settings.bounce_purge.read
mail_settings.bounce_purge.update
mail_settings.footer.read
mail_settings.footer.update
mail_settings.forward_bounce.read
mail_settings.forward_bounce.update
mail_settings.forward_spam.read
mail_settings.forward_spam.update
mail_settings.plain_content.read
mail_settings.plain_content.update
mail_settings.spam_check.read
mail_settings.spam_check.update
mail_settings.template.read
mail_settings.template.update
marketing_campaigns.create
marketing_campaigns.read
marketing_campaigns.update
marketing_campaigns.delete
newsletter.create
newsletter.read
newsletter.update
newsletter.delete
partner_settings.read
partner_settings.new_relic.read
partner_settings.new_relic.update
partner_settings.sendwithus.read
partner_settings.sendwithus.update
access_settings.activity.read
access_settings.whitelist.create
access_settings.whitelist.read
access_settings.whitelist.update
access_settings.whitelist.delete
user.scheduled_sends.create
user.scheduled_sends.read
user.scheduled_sends.update
user.scheduled_sends.delete
stats.read
stats.global.read
email_activity.read
browsers.stats.read
devices.stats.read
geo.stats.read
mailbox_providers.stats.read
subusers.create
subusers.read
subusers.update
subusers.delete
subusers.credits.read
subusers.credits.update
subusers.monitor.create
subusers.monitor.read
subusers.monitor.update
subusers.monitor.delete
subusers.reputations.read
subusers.stats.read
subusers.stats.monthly.read
subusers.stats.sums.read
suppression.create
suppression.read
suppression.update
suppression.delete
suppression.bounces.create
suppression.bounces.read
suppression.bounces.update
suppression.bounces.delete
suppression.blocks.create
suppression.blocks.read
suppression.blocks.update
suppression.blocks.delete
suppression.invalid_emails.create
suppression.invalid_emails.read
suppression.invalid_emails.update
suppression.invalid_emails.delete
suppression.spam_reports.create
suppression.spam_reports.read
suppression.spam_reports.update
suppression.spam_reports.delete
suppression.unsubscribes.read
teammates.create
teammates.read
teammates.update
teammates.delete
templates.create
templates.read
templates.update
templates.delete
templates.versions.create
templates.versions.read
templates.versions.update
templates.versions.delete
templates.versions.activate.create
tracking_settings.read
tracking_settings.click.read
tracking_settings.click.update
tracking_settings.google_analytics.read
tracking_settings.google_analytics.update
tracking_settings.open.read
tracking_settings.open.update
tracking_settings.subscription.read
tracking_settings.subscription.update
user.account.read
user.credits.read
user.email.create
user.email.read
user.email.update
user.multifactor_authentication.create
user.multifactor_authentication.read
user.multifactor_authentication.update
user.multifactor_authentication.delete
user.password.read
user.password.update
user.profile.read
user.profile.update
user.timezone.read
user.timezone.update
user.username.read
user.username.update
user.settings.enforced_tls.read
user.settings.enforced_tls.update
user.webhooks.event.settings.read
user.webhooks.event.settings.create
user.webhooks.event.settings.update
user.webhooks.event.settings.delete
user.webhooks.event.test.create
user.webhooks.event.test.read
user.webhooks.parse.settings.read
user.webhooks.parse.settings.create
user.webhooks.parse.settings.update
user.webhooks.parse.settings.delete
user.webhooks.parse.stats.read

Source

OAuth Scopes

Raw ↑
generated: '2026-08-13'
method: searched
source: https://www.twilio.com/docs/sendgrid/api-reference/api-key-permissions
docs: https://www.twilio.com/docs/sendgrid/api-reference/api-key-permissions
description: 'SendGrid''s permission scopes. IMPORTANT QUALIFIER: these are NOT OAuth 2.0 scopes. SendGrid runs no OAuth2/OIDC authorization server for API access — the derive-oauth-scopes pass over the
  63 OpenAPI documents in this repo found ZERO oauth2 securitySchemes, and /.well-known/oauth-authorization-server on api.sendgrid.com returns 403. What SendGrid publishes instead is a fixed vocabulary
  of dot-notation PERMISSION scopes attached to an API key at creation time and sent as a bearer token. They occupy the same role as OAuth scopes — they bound what a credential may do — and are recorded
  here under that type so an agent can reason about least privilege, with the distinction stated rather than papered over. Scopes are read programmatically from the API Key Permissions API (GET /v3/scopes,
  openapi/sendgrid-scopes-api-openapi.yml), which returns the scopes the authenticated user may grant, and are assigned through the API Keys API (POST /v3/api_keys with a scopes[] array).'
model:
  type: api-key-permission-scopes
  oauth2: false
  openid_connect: false
  format: dot-notation, resource-first (e.g. mail.send, alerts.create)
  crud_suffixes:
  - create
  - read
  - update
  - delete
  assignment: Scopes are bound to an API key at creation and can be changed with PUT /v3/api_keys/{api_key_id} (UpdateApiKeyNameAndScopes). A key's scopes cannot exceed the scopes of the user or teammate
    that created it.
  full_access: '"Admin Permissions" grants every scope listed below; SendGrid''s docs recommend scoping keys to the minimum set instead.'
  teammates: Teammate permissions use the same scope vocabulary for console users — https://www.twilio.com/docs/sendgrid/ui/account-and-settings/teammate-permissions
endpoints:
  list_grantable_scopes:
    operation: GET /v3/scopes
    docs: https://www.twilio.com/docs/sendgrid/api-reference/api-key-permissions/retrieve-a-list-of-scopes-for-which-this-user-has-access
    note: Returns the scope strings the authenticated credential is allowed to grant.
  update_key_scopes:
    operation: PUT /v3/api_keys/{api_key_id}
    docs: https://www.twilio.com/docs/sendgrid/api-reference/api-keys/update-api-key-name-and-scopes
groups:
- name: Mail
  scopes:
  - &id001
    scope: mail.send
    description: Send email through POST /v3/mail/send.
  - &id002
    scope: mail.batch.create
    description: Create a batch ID for scheduled sends.
  - &id003
    scope: mail.batch.read
    description: Read/validate a batch ID.
  - &id004
    scope: mail.batch.update
    description: Update a mail batch.
  - &id005
    scope: mail.batch.delete
    description: Delete a mail batch.
- name: Alerts
  scopes:
  - &id006
    scope: alerts.create
  - &id007
    scope: alerts.read
  - &id008
    scope: alerts.update
  - &id009
    scope: alerts.delete
- name: API Keys
  scopes:
  - &id010
    scope: api_keys.create
  - &id011
    scope: api_keys.read
  - &id012
    scope: api_keys.update
  - &id013
    scope: api_keys.delete
- name: ASM Groups (unsubscribe groups)
  scopes:
  - &id014
    scope: asm.groups.create
  - &id015
    scope: asm.groups.read
  - &id016
    scope: asm.groups.update
  - &id017
    scope: asm.groups.delete
- name: Billing
  scopes:
  - &id018
    scope: billing.create
  - &id019
    scope: billing.read
  - &id020
    scope: billing.update
  - &id021
    scope: billing.delete
- name: Categories
  scopes:
  - &id022
    scope: categories.create
  - &id023
    scope: categories.read
  - &id024
    scope: categories.update
  - &id025
    scope: categories.delete
  - &id026
    scope: categories.stats.read
  - &id027
    scope: categories.stats.sums.read
- name: Clients (engagement stats by device)
  scopes:
  - &id028
    scope: clients.stats.read
  - &id029
    scope: clients.desktop.stats.read
  - &id030
    scope: clients.phone.stats.read
  - &id031
    scope: clients.tablet.stats.read
  - &id032
    scope: clients.webmail.stats.read
- name: Credentials
  scopes:
  - &id033
    scope: credentials.create
  - &id034
    scope: credentials.read
  - &id035
    scope: credentials.update
  - &id036
    scope: credentials.delete
- name: Domain Authentication (whitelabel)
  scopes:
  - &id037
    scope: whitelabel.create
  - &id038
    scope: whitelabel.read
  - &id039
    scope: whitelabel.update
  - &id040
    scope: whitelabel.delete
- name: Email Marketing
  scopes:
  - &id041
    scope: marketing.read
    description: Read access to the Marketing Campaigns surface.
- name: IPs
  scopes:
  - &id042
    scope: ips.read
  - &id043
    scope: ips.assigned.read
  - &id044
    scope: ips.pools.create
  - &id045
    scope: ips.pools.read
  - &id046
    scope: ips.pools.update
  - &id047
    scope: ips.pools.delete
  - &id048
    scope: ips.warmup.create
  - &id049
    scope: ips.warmup.read
  - &id050
    scope: ips.warmup.delete
- name: Mail Settings
  scopes:
  - &id051
    scope: mail_settings.read
  - &id052
    scope: mail_settings.address_whitelist.read
  - &id053
    scope: mail_settings.address_whitelist.update
  - &id054
    scope: mail_settings.bcc.read
  - &id055
    scope: mail_settings.bcc.update
  - &id056
    scope: mail_settings.bounce_purge.read
  - &id057
    scope: mail_settings.bounce_purge.update
  - &id058
    scope: mail_settings.footer.read
  - &id059
    scope: mail_settings.footer.update
  - &id060
    scope: mail_settings.forward_bounce.read
  - &id061
    scope: mail_settings.forward_bounce.update
  - &id062
    scope: mail_settings.forward_spam.read
  - &id063
    scope: mail_settings.forward_spam.update
  - &id064
    scope: mail_settings.plain_content.read
  - &id065
    scope: mail_settings.plain_content.update
  - &id066
    scope: mail_settings.spam_check.read
  - &id067
    scope: mail_settings.spam_check.update
  - &id068
    scope: mail_settings.template.read
  - &id069
    scope: mail_settings.template.update
- name: Marketing Campaigns (legacy)
  scopes:
  - &id070
    scope: marketing_campaigns.create
  - &id071
    scope: marketing_campaigns.read
  - &id072
    scope: marketing_campaigns.update
  - &id073
    scope: marketing_campaigns.delete
- name: Newsletter (legacy)
  scopes:
  - &id074
    scope: newsletter.create
  - &id075
    scope: newsletter.read
  - &id076
    scope: newsletter.update
  - &id077
    scope: newsletter.delete
- name: Partner Settings
  scopes:
  - &id078
    scope: partner_settings.read
  - &id079
    scope: partner_settings.new_relic.read
  - &id080
    scope: partner_settings.new_relic.update
  - &id081
    scope: partner_settings.sendwithus.read
  - &id082
    scope: partner_settings.sendwithus.update
- name: Reverse DNS / IP access
  scopes:
  - &id083
    scope: access_settings.activity.read
  - &id084
    scope: access_settings.whitelist.create
  - &id085
    scope: access_settings.whitelist.read
  - &id086
    scope: access_settings.whitelist.update
  - &id087
    scope: access_settings.whitelist.delete
- name: Scheduled Sends
  scopes:
  - &id088
    scope: user.scheduled_sends.create
  - &id089
    scope: user.scheduled_sends.read
  - &id090
    scope: user.scheduled_sends.update
  - &id091
    scope: user.scheduled_sends.delete
- name: Stats
  scopes:
  - &id092
    scope: stats.read
  - &id093
    scope: stats.global.read
  - &id094
    scope: email_activity.read
  - &id095
    scope: browsers.stats.read
  - &id096
    scope: devices.stats.read
  - &id097
    scope: geo.stats.read
  - &id098
    scope: mailbox_providers.stats.read
- name: Subusers
  scopes:
  - &id099
    scope: subusers.create
  - &id100
    scope: subusers.read
  - &id101
    scope: subusers.update
  - &id102
    scope: subusers.delete
  - &id103
    scope: subusers.credits.read
  - &id104
    scope: subusers.credits.update
  - &id105
    scope: subusers.monitor.create
  - &id106
    scope: subusers.monitor.read
  - &id107
    scope: subusers.monitor.update
  - &id108
    scope: subusers.monitor.delete
  - &id109
    scope: subusers.reputations.read
  - &id110
    scope: subusers.stats.read
  - &id111
    scope: subusers.stats.monthly.read
  - &id112
    scope: subusers.stats.sums.read
- name: Suppressions
  scopes:
  - &id113
    scope: suppression.create
  - &id114
    scope: suppression.read
  - &id115
    scope: suppression.update
  - &id116
    scope: suppression.delete
  - &id117
    scope: suppression.bounces.create
  - &id118
    scope: suppression.bounces.read
  - &id119
    scope: suppression.bounces.update
  - &id120
    scope: suppression.bounces.delete
  - &id121
    scope: suppression.blocks.create
  - &id122
    scope: suppression.blocks.read
  - &id123
    scope: suppression.blocks.update
  - &id124
    scope: suppression.blocks.delete
  - &id125
    scope: suppression.invalid_emails.create
  - &id126
    scope: suppression.invalid_emails.read
  - &id127
    scope: suppression.invalid_emails.update
  - &id128
    scope: suppression.invalid_emails.delete
  - &id129
    scope: suppression.spam_reports.create
  - &id130
    scope: suppression.spam_reports.read
  - &id131
    scope: suppression.spam_reports.update
  - &id132
    scope: suppression.spam_reports.delete
  - &id133
    scope: suppression.unsubscribes.read
- name: Teammates
  scopes:
  - &id134
    scope: teammates.create
  - &id135
    scope: teammates.read
  - &id136
    scope: teammates.update
  - &id137
    scope: teammates.delete
- name: Templates
  scopes:
  - &id138
    scope: templates.create
  - &id139
    scope: templates.read
  - &id140
    scope: templates.update
  - &id141
    scope: templates.delete
  - &id142
    scope: templates.versions.create
  - &id143
    scope: templates.versions.read
  - &id144
    scope: templates.versions.update
  - &id145
    scope: templates.versions.delete
  - &id146
    scope: templates.versions.activate.create
- name: Tracking Settings
  scopes:
  - &id147
    scope: tracking_settings.read
  - &id148
    scope: tracking_settings.click.read
  - &id149
    scope: tracking_settings.click.update
  - &id150
    scope: tracking_settings.google_analytics.read
  - &id151
    scope: tracking_settings.google_analytics.update
  - &id152
    scope: tracking_settings.open.read
  - &id153
    scope: tracking_settings.open.update
  - &id154
    scope: tracking_settings.subscription.read
  - &id155
    scope: tracking_settings.subscription.update
- name: User Settings
  scopes:
  - &id156
    scope: user.account.read
  - &id157
    scope: user.credits.read
  - &id158
    scope: user.email.create
  - &id159
    scope: user.email.read
  - &id160
    scope: user.email.update
  - &id161
    scope: user.multifactor_authentication.create
  - &id162
    scope: user.multifactor_authentication.read
  - &id163
    scope: user.multifactor_authentication.update
  - &id164
    scope: user.multifactor_authentication.delete
  - &id165
    scope: user.password.read
  - &id166
    scope: user.password.update
  - &id167
    scope: user.profile.read
  - &id168
    scope: user.profile.update
  - &id169
    scope: user.timezone.read
  - &id170
    scope: user.timezone.update
  - &id171
    scope: user.username.read
  - &id172
    scope: user.username.update
  - &id173
    scope: user.settings.enforced_tls.read
  - &id174
    scope: user.settings.enforced_tls.update
- name: Webhooks
  scopes:
  - &id175
    scope: user.webhooks.event.settings.read
  - &id176
    scope: user.webhooks.event.settings.create
  - &id177
    scope: user.webhooks.event.settings.update
  - &id178
    scope: user.webhooks.event.settings.delete
  - &id179
    scope: user.webhooks.event.test.create
  - &id180
    scope: user.webhooks.event.test.read
  - &id181
    scope: user.webhooks.parse.settings.read
  - &id182
    scope: user.webhooks.parse.settings.create
  - &id183
    scope: user.webhooks.parse.settings.update
  - &id184
    scope: user.webhooks.parse.settings.delete
  - &id185
    scope: user.webhooks.parse.stats.read
notes:
- The published permission page groups scopes rather than enumerating a flat machine-readable list; the vocabulary above is transcribed from that page and from the CRUD pattern SendGrid applies uniformly.
  GET /v3/scopes on a live key is the authoritative enumeration for a given account tier — some scopes (email validation, subusers, SSO) only appear on Pro/Premier accounts.
- SAML 2.0 SSO exists for console login (openapi/sendgrid-sso-settings-api-openapi.yml) but is not an API authorization mechanism and mints no scopes.
see_also:
  authentication: authentication/sendgrid-authentication.yml
  conformance: conformance/sendgrid-conformance.yml
  openapi: openapi/sendgrid-scopes-api-openapi.yml
scopes:
- *id001
- *id002
- *id003
- *id004
- *id005
- *id006
- *id007
- *id008
- *id009
- *id010
- *id011
- *id012
- *id013
- *id014
- *id015
- *id016
- *id017
- *id018
- *id019
- *id020
- *id021
- *id022
- *id023
- *id024
- *id025
- *id026
- *id027
- *id028
- *id029
- *id030
- *id031
- *id032
- *id033
- *id034
- *id035
- *id036
- *id037
- *id038
- *id039
- *id040
- *id041
- *id042
- *id043
- *id044
- *id045
- *id046
- *id047
- *id048
- *id049
- *id050
- *id051
- *id052
- *id053
- *id054
- *id055
- *id056
- *id057
- *id058
- *id059
- *id060
- *id061
- *id062
- *id063
- *id064
- *id065
- *id066
- *id067
- *id068
- *id069
- *id070
- *id071
- *id072
- *id073
- *id074
- *id075
- *id076
- *id077
- *id078
- *id079
- *id080
- *id081
- *id082
- *id083
- *id084
- *id085
- *id086
- *id087
- *id088
- *id089
- *id090
- *id091
- *id092
- *id093
- *id094
- *id095
- *id096
- *id097
- *id098
- *id099
- *id100
- *id101
- *id102
- *id103
- *id104
- *id105
- *id106
- *id107
- *id108
- *id109
- *id110
- *id111
- *id112
- *id113
- *id114
- *id115
- *id116
- *id117
- *id118
- *id119
- *id120
- *id121
- *id122
- *id123
- *id124
- *id125
- *id126
- *id127
- *id128
- *id129
- *id130
- *id131
- *id132
- *id133
- *id134
- *id135
- *id136
- *id137
- *id138
- *id139
- *id140
- *id141
- *id142
- *id143
- *id144
- *id145
- *id146
- *id147
- *id148
- *id149
- *id150
- *id151
- *id152
- *id153
- *id154
- *id155
- *id156
- *id157
- *id158
- *id159
- *id160
- *id161
- *id162
- *id163
- *id164
- *id165
- *id166
- *id167
- *id168
- *id169
- *id170
- *id171
- *id172
- *id173
- *id174
- *id175
- *id176
- *id177
- *id178
- *id179
- *id180
- *id181
- *id182
- *id183
- *id184
- *id185

Work with this as data

Every scope set here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for oauth scopes

4 MCP tools reach this
  • find_scopesBrowse and filter every scope set in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This scope set
curl "https://apis.io/api/v1/scopes/sendgrid-scopes"
All oauth scopes
curl "https://apis.io/api/v1/scopes?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.