Pipory
Node reference

SendGrid

SendGrid node reference - all 231 operations, the credential it needs, and a worked example.

Twilio SendGrid v3 API (Transactional messaging). 231 operations: mail send, batches and scheduled sends; transactional templates and versions; designs; marketing contacts, custom fields, lists and segments; Single Sends and marketing stats; senders and verified senders; unsubscribe groups, suppressions, bounces, blocks, spam reports and invalid emails; stats; email activity and logs; email validation; engagement quality; event webhooks, Inbound Parse and security policies; sender authentication, link branding and reverse DNS; IP management; subusers.

Credential: SendGrid API key - see Credentials.

Scopes

Each operation below lists the scope it needs. Scopes are ticked on the API key when it is created at Settings > API Keys. SendGrid offers three key kinds and only one of them is configurable: Full Access carries every scope below, Restricted Access lets you tick scopes individually, and Billing Access carries only the billing scopes and therefore 403s on every operation this node has. A key's scopes are FIXED after creation for Full and Billing keys; a Restricted key can be edited later from the same screen, which is why Restricted is the right kind for a workflow. Two failure modes are not a missing scope. A 401 is the key itself - revoked, or pasted without the SG. prefix intact. A 403 on an operation whose scope you have ticked is almost always the DATA RESIDENCY axis instead: an EU-residency account answers on api.eu.sendgrid.com, and a key issued there fails against the US host indistinguishably from a permission error - check the node's Region field before re-minting anything. Note also that Marketing Campaigns, Email Activity and Email Validation are US-host-only endpoints regardless of that field. Subuser keys are a third axis: a key minted on a subuser cannot reach the parent account's subusers.*, ips.* or whitelabel.* endpoints at all, whatever is ticked. If a run fails with a permission error, the node names the missing scope in the error - grant it and re-run; you do not need to rebuild the workflow.

Operations (231)

Mail send

OperationWhat it doesScope
sendEmailSend emailmail.send
sendWithTemplateSend with dynamic templatemail.send
sendTestMarketingEmailSend test marketing emailmarketing.read
createMailBatchCreate batch IDmail.batch.create
getMailBatchValidate batch IDmail.batch.read

Scheduled sends

OperationWhat it doesScope
cancelScheduledSendCancel or pause a scheduled senduser.scheduled_sends.create
listScheduledSendsList cancelled / paused sendsuser.scheduled_sends.read
getScheduledSendGet scheduled send statususer.scheduled_sends.read
updateScheduledSendUpdate scheduled send statususer.scheduled_sends.update
deleteScheduledSendRemove cancel / pauseuser.scheduled_sends.delete

Transactional templates

OperationWhat it doesScope
createTemplateCreate templatetemplates.create
listTemplatesList templatestemplates.read
getTemplateGet templatetemplates.read
updateTemplateRename templatetemplates.update
deleteTemplateDelete templatetemplates.delete
duplicateTemplateDuplicate templatetemplates.create

Template versions

OperationWhat it doesScope
createTemplateVersionCreate template versiontemplates.versions.create
getTemplateVersionGet template versiontemplates.versions.read
updateTemplateVersionUpdate template versiontemplates.versions.update
deleteTemplateVersionDelete template versiontemplates.versions.delete
activateTemplateVersionActivate template versiontemplates.versions.activate.create

Designs

OperationWhat it doesScope
createDesignCreate design(no scope of its own — the Designs API sits on the Email Marketing plane, so a key with marketing.read or Full Access covers it)
listDesignsList designs(no scope of its own — the Designs API sits on the Email Marketing plane, so a key with marketing.read or Full Access covers it)
getDesignGet design(no scope of its own — the Designs API sits on the Email Marketing plane, so a key with marketing.read or Full Access covers it)
updateDesignUpdate design(no scope of its own — the Designs API sits on the Email Marketing plane, so a key with marketing.read or Full Access covers it)
deleteDesignDelete design(no scope of its own — the Designs API sits on the Email Marketing plane, so a key with marketing.read or Full Access covers it)
duplicateDesignDuplicate design(no scope of its own — the Designs API sits on the Email Marketing plane, so a key with marketing.read or Full Access covers it)
listPreBuiltDesignsList pre-built designs(no scope of its own — the Designs API sits on the Email Marketing plane, so a key with marketing.read or Full Access covers it)
getPreBuiltDesignGet pre-built design(no scope of its own — the Designs API sits on the Email Marketing plane, so a key with marketing.read or Full Access covers it)
duplicatePreBuiltDesignDuplicate pre-built design(no scope of its own — the Designs API sits on the Email Marketing plane, so a key with marketing.read or Full Access covers it)

Marketing contacts

OperationWhat it doesScope
upsertContactAdd / update marketing contactmarketing.read
listContactsList contacts (sample)marketing.read
getContactGet contact by IDmarketing.read
getContactCountGet total contact countmarketing.read
deleteContactsDelete contactsmarketing.read
batchGetContactsGet contacts by IDsmarketing.read
searchContactsSearch contacts (SGQL)marketing.read
searchContactsByEmailGet contacts by emailmarketing.read
searchContactsByIdentifierGet contacts by identifiermarketing.read
deleteContactIdentifierDelete a contact identifiermarketing.read
exportContactsExport contactsmarketing.read
listContactExportsList contact exportsmarketing.read
getContactExportGet contact export statusmarketing.read
importContactsImport contacts (CSV)marketing.read
getContactImportGet contact import statusmarketing.read

Custom fields

OperationWhat it doesScope
createCustomFieldCreate custom fieldmarketing.read
listCustomFieldsList custom fieldsmarketing.read
updateCustomFieldRename custom fieldmarketing.read
deleteCustomFieldDelete custom fieldmarketing.read

Marketing lists

OperationWhat it doesScope
createListCreate listmarketing.read
listListsList all listsmarketing.read
getListGet listmarketing.read
updateListRename listmarketing.read
deleteListDelete listmarketing.read
removeContactsFromListRemove contacts from listmarketing.read
getListContactCountGet list contact countmarketing.read

Segments

OperationWhat it doesScope
createSegmentCreate segmentmarketing.read
listSegmentsList segmentsmarketing.read
getSegmentGet segmentmarketing.read
updateSegmentUpdate segmentmarketing.read
deleteSegmentDelete segmentmarketing.read
refreshSegmentRefresh segmentmarketing.read

Single Sends

OperationWhat it doesScope
createSingleSendCreate Single Sendmarketing.read
listSingleSendsList Single Sendsmarketing.read
getSingleSendGet Single Sendmarketing.read
updateSingleSendUpdate Single Sendmarketing.read
deleteSingleSendDelete Single Sendmarketing.read
bulkDeleteSingleSendsBulk delete Single Sendsmarketing.read
duplicateSingleSendDuplicate Single Sendmarketing.read
triggerSingleSendSchedule / send Single Send nowmarketing.read
unscheduleSingleSendUnschedule Single Sendmarketing.read
listSingleSendCategoriesList Single Send categoriesmarketing.read
searchSingleSendsSearch Single Sendsmarketing.read

Marketing stats

OperationWhat it doesScope
listSingleSendStatsAll Single Send statsmarketing.read
getSingleSendStatsSingle Send statsmarketing.read
getSingleSendLinkStatsSingle Send link statsmarketing.read
exportSingleSendStatsExport Single Send stats (CSV)marketing.read
listAutomationStatsAll Automation statsmarketing.read
getAutomationStatsAutomation statsmarketing.read
getAutomationLinkStatsAutomation link statsmarketing.read
exportAutomationStatsExport Automation stats (CSV)marketing.read

Marketing senders

OperationWhat it doesScope
createSenderCreate sender identitymarketing.read
listSendersList sender identitiesmarketing.read
getSenderGet sender identitymarketing.read
updateSenderUpdate sender identitymarketing.read
deleteSenderDelete sender identitymarketing.read
resendSenderVerificationResend sender verificationmarketing.read

Verified senders

OperationWhat it doesScope
createVerifiedSenderCreate verified sender request(no scope of its own — Sender Verification is not on SendGrid's permission page; a Full Access key covers it)
listVerifiedSendersList verified senders(no scope of its own — Sender Verification is not on SendGrid's permission page; a Full Access key covers it)
updateVerifiedSenderUpdate verified sender(no scope of its own — Sender Verification is not on SendGrid's permission page; a Full Access key covers it)
deleteVerifiedSenderDelete verified sender(no scope of its own — Sender Verification is not on SendGrid's permission page; a Full Access key covers it)
resendVerifiedSenderResend verification email(no scope of its own — Sender Verification is not on SendGrid's permission page; a Full Access key covers it)
verifyVerifiedSenderComplete verification (token)(no scope of its own — Sender Verification is not on SendGrid's permission page; a Full Access key covers it)
getVerifiedSenderStepsVerification steps completed(no scope of its own — Sender Verification is not on SendGrid's permission page; a Full Access key covers it)
listVerifiedSenderDomainsDomain warn list(no scope of its own — Sender Verification is not on SendGrid's permission page; a Full Access key covers it)

Unsubscribe groups

OperationWhat it doesScope
createUnsubscribeGroupCreate unsubscribe groupasm.groups.create
listUnsubscribeGroupsList unsubscribe groupsasm.groups.read
getUnsubscribeGroupGet unsubscribe groupasm.groups.read
updateUnsubscribeGroupUpdate unsubscribe groupasm.groups.update
deleteUnsubscribeGroupDelete unsubscribe groupasm.groups.delete

Suppressions

OperationWhat it doesScope
addSuppressionAdd suppression to group(the ASM Groups and Suppressions permissions together — SendGrid publishes no separate token for group suppressions)
listGroupSuppressionsList suppressions in a group(the ASM Groups and Suppressions permissions together — SendGrid publishes no separate token for group suppressions)
searchGroupSuppressionsSearch suppressions in a group(the ASM Groups and Suppressions permissions together — SendGrid publishes no separate token for group suppressions)
removeSuppressionRemove suppression from group(the ASM Groups and Suppressions permissions together — SendGrid publishes no separate token for group suppressions)
listAllSuppressionsList all group suppressions(the ASM Groups and Suppressions permissions together — SendGrid publishes no separate token for group suppressions)
getSuppressionGroupsForEmailGroups an address is unsubscribed from(the ASM Groups and Suppressions permissions together — SendGrid publishes no separate token for group suppressions)
addGlobalSuppressionAdd global suppressionsuppression.unsubscribes.create
getGlobalSuppressionGet global suppressionsuppression.unsubscribes.read
removeGlobalSuppressionRemove global suppressionsuppression.unsubscribes.delete
listGlobalSuppressionsList global suppressionssuppression.unsubscribes.read

Bounces & blocks

OperationWhat it doesScope
listBouncesList bouncessuppression.bounces.read
getBounceGet bouncesuppression.bounces.read
deleteBouncesDelete bouncessuppression.bounces.delete
deleteBounceDelete one bouncesuppression.bounces.delete
listBounceClassificationsBounce classification totalssuppression.bounces.read
getBounceClassificationBounces for one classificationsuppression.bounces.read
listBlocksList blockssuppression.blocks.read
getBlockGet blocksuppression.blocks.read
deleteBlocksDelete blockssuppression.blocks.delete
deleteBlockDelete one blocksuppression.blocks.delete

Spam reports & invalid emails

OperationWhat it doesScope
listSpamReportsList spam reportssuppression.spam_reports.read
getSpamReportGet spam reportsuppression.spam_reports.read
deleteSpamReportsDelete spam reportssuppression.spam_reports.delete
deleteSpamReportDelete one spam reportsuppression.spam_reports.delete
listInvalidEmailsList invalid emailssuppression.invalid_emails.read
getInvalidEmailGet invalid emailsuppression.invalid_emails.read
deleteInvalidEmailsDelete invalid emailssuppression.invalid_emails.delete
deleteInvalidEmailDelete one invalid emailsuppression.invalid_emails.delete

Stats

OperationWhat it doesScope
getGlobalStatsGlobal email statsstats.read
listCategoriesList categoriescategories.read
getCategoryStatsCategory statscategories.stats.read
getCategoryStatSumsCategory stat sumscategories.stats.sums.read
getBrowserStatsStats by browserbrowsers.stats.read
getClientStatsStats by email clientclients.stats.read
getClientTypeStatsStats for one client type(clients.stats.read plus the per-type token — clients.desktop.stats.read, clients.phone.stats.read, clients.tablet.stats.read or clients.webmail.stats.read, matching the client type you query)
getDeviceStatsStats by devicedevices.stats.read
getGeoStatsStats by country / regiongeo.stats.read
getMailboxProviderStatsStats by mailbox providermailbox_providers.stats.read

Email activity & logs

OperationWhat it doesScope
searchMessagesSearch email activityemail_activity.read
getMessageGet message activityemail_activity.read
requestMessagesCsvRequest activity CSVemail_activity.read
getMessagesCsvDownload activity CSVemail_activity.read
filterEmailLogsFilter email logs(no scope of its own — the Email Logs API is documented as plain API-key auth; email_activity.read or a Full Access key is the safe grant)
getEmailLogGet email log for a message(no scope of its own — the Email Logs API is documented as plain API-key auth; email_activity.read or a Full Access key is the safe grant)

Email validation

OperationWhat it doesScope
validateEmailValidate an email address(a dedicated Email Address Validation key — validation is EXCLUDED from Full Access and is a Pro or Premier feature, so it must be its own key)
requestBulkValidationUploadRequest bulk validation upload URL(a dedicated Email Address Validation key — validation is EXCLUDED from Full Access and is a Pro or Premier feature, so it must be its own key)
listBulkValidationJobsList bulk validation jobs(a dedicated Email Address Validation key — validation is EXCLUDED from Full Access and is a Pro or Premier feature, so it must be its own key)
getBulkValidationJobGet bulk validation job(a dedicated Email Address Validation key — validation is EXCLUDED from Full Access and is a Pro or Premier feature, so it must be its own key)

Engagement quality & compliance

OperationWhat it doesScope
getEngagementQualityScoresEngagement quality scores(no scope of its own — the Engagement Quality API is account-level; a Full Access key covers it)
getSubuserEngagementQualityScoresSubuser engagement quality scores(no scope of its own — the Engagement Quality API is account-level; a Full Access key covers it)
eraseRecipientDataErase recipient email data(no scope of its own — the Recipients Data Erasure API is not on SendGrid's permission page; a Full Access key covers it)

Event webhooks

OperationWhat it doesScope
createEventWebhookCreate Event Webhookuser.webhooks.event.settings.update
listEventWebhooksList Event Webhooksuser.webhooks.event.settings.read
getEventWebhookGet Event Webhookuser.webhooks.event.settings.read
updateEventWebhookUpdate Event Webhookuser.webhooks.event.settings.update
deleteEventWebhookDelete Event Webhookuser.webhooks.event.settings.update
testEventWebhookTest Event Webhookuser.webhooks.event.test.create
getSignedEventWebhookKeyGet signing public keyuser.webhooks.event.settings.read
toggleSignedEventWebhookToggle signature verificationuser.webhooks.event.settings.update

Inbound Parse

OperationWhat it doesScope
createParseSettingCreate parse settinguser.webhooks.parse.settings.create
listParseSettingsList parse settingsuser.webhooks.parse.settings.read
getParseSettingGet parse settinguser.webhooks.parse.settings.read
updateParseSettingUpdate parse settinguser.webhooks.parse.settings.update
deleteParseSettingDelete parse settinguser.webhooks.parse.settings.delete
getParseStatsInbound Parse statsuser.webhooks.parse.stats.read

Webhook security policies

OperationWhat it doesScope
createWebhookSecurityPolicyCreate security policy(no scope of its own — webhook security policies are not on SendGrid's permission page; the Event Webhook permissions or a Full Access key cover them)
listWebhookSecurityPoliciesList security policies(no scope of its own — webhook security policies are not on SendGrid's permission page; the Event Webhook permissions or a Full Access key cover them)
getWebhookSecurityPolicyGet security policy(no scope of its own — webhook security policies are not on SendGrid's permission page; the Event Webhook permissions or a Full Access key cover them)
updateWebhookSecurityPolicyUpdate security policy(no scope of its own — webhook security policies are not on SendGrid's permission page; the Event Webhook permissions or a Full Access key cover them)
deleteWebhookSecurityPolicyDelete security policy(no scope of its own — webhook security policies are not on SendGrid's permission page; the Event Webhook permissions or a Full Access key cover them)

Sender authentication (domains)

OperationWhat it doesScope
authenticateDomainAuthenticate a domainwhitelabel.create
listAuthenticatedDomainsList authenticated domainswhitelabel.read
getAuthenticatedDomainGet authenticated domainwhitelabel.read
updateAuthenticatedDomainUpdate authenticated domainwhitelabel.update
deleteAuthenticatedDomainDelete authenticated domainwhitelabel.delete
validateAuthenticatedDomainValidate authenticated domainwhitelabel.update
getDefaultAuthenticatedDomainGet default authenticated domainwhitelabel.read
addIpToAuthenticatedDomainAdd IP to authenticated domainwhitelabel.update
removeIpFromAuthenticatedDomainRemove IP from authenticated domainwhitelabel.update
associateDomainWithSubuserAssociate domain with subuserwhitelabel.update
associateDomainWithSubusersAssociate domain with subuser (multi)whitelabel.update
disassociateDomainFromSubuserDisassociate domain from subuserwhitelabel.update
getSubuserAuthenticatedDomainGet a subuser's domainwhitelabel.read
listSubuserAuthenticatedDomainsList a subuser's domainswhitelabel.read
disassociateSubuserAuthenticatedDomainDisassociate a subuser's domainwhitelabel.update
emailDnsRecordsEmail DNS records to a co-workerwhitelabel.read
OperationWhat it doesScope
createBrandedLinkCreate branded linkwhitelabel.create
listBrandedLinksList branded linkswhitelabel.read
getBrandedLinkGet branded linkwhitelabel.read
updateBrandedLinkUpdate branded linkwhitelabel.update
deleteBrandedLinkDelete branded linkwhitelabel.delete
validateBrandedLinkValidate branded linkwhitelabel.update
getDefaultBrandedLinkGet default branded linkwhitelabel.read
associateBrandedLinkWithSubuserAssociate branded link with subuserwhitelabel.update
getSubuserBrandedLinkGet a subuser's branded linkwhitelabel.read
disassociateBrandedLinkFromSubuserDisassociate a subuser's branded linkwhitelabel.update

Reverse DNS

OperationWhat it doesScope
setUpReverseDnsSet up reverse DNSwhitelabel.create
listReverseDnsList reverse DNS recordswhitelabel.read
getReverseDnsGet reverse DNS recordwhitelabel.read
deleteReverseDnsDelete reverse DNS recordwhitelabel.delete
validateReverseDnsValidate reverse DNS recordwhitelabel.update

IP management

OperationWhat it doesScope
addIpsAdd IP addresses(no ips.create token exists — adding IPs to an account is a billing action, so it needs a Full Access or Billing key)
listIpsList IP addressesips.read
getIpGet IP addressips.read
listAssignedIpsList assigned IPsips.assigned.read
getRemainingIpsGet remaining IP countips.read
createIpPoolCreate IP poolips.pools.create
listIpPoolsList IP poolsips.pools.read
getIpPoolGet IP poolips.pools.read
updateIpPoolRename IP poolips.pools.update
deleteIpPoolDelete IP poolips.pools.delete
addIpToPoolAdd IP to poolips.pools.ips.create
removeIpFromPoolRemove IP from poolips.pools.ips.delete
startIpWarmupStart IP warmupips.warmup.create
listWarmupIpsList warming IPsips.warmup.read
getWarmupIpGet IP warmup statusips.warmup.read
stopIpWarmupStop IP warmupips.warmup.delete

Subusers

OperationWhat it doesScope
createSubuserCreate subusersubusers.create
listSubusersList subuserssubusers.read
updateSubuserEnable / disable subusersubusers.update
deleteSubuserDelete subusersubusers.delete
updateSubuserWebsiteAccessToggle subuser website accesssubusers.update
getSubuserCreditsGet subuser creditssubusers.credits.read
updateSubuserCreditsUpdate subuser creditssubusers.credits.update
updateSubuserRemainingCreditsUpdate remaining creditssubusers.credits.remaining.update
updateSubuserIpsUpdate subuser IPssubusers.update
listSubuserReputationsSubuser reputationssubusers.reputations.read
getSubuserStatsSubuser statssubusers.stats.read
getSubuserMonthlyStatsOne subuser's monthly statssubusers.stats.monthly.read
getSubusersMonthlyStatsAll subusers' monthly statssubusers.stats.monthly.read
getSubuserStatSumsSubuser stat sumssubusers.stats.sums.read