# SendGrid on boxd

> SendGrid is a cloud-based email delivery platform providing transactional and marketing email services, with APIs for integration, analytics, and scalability.

- Page: https://boxd.sh/integrations/sendgrid/
- CLI: `run sendgrid` (360 commands, 2 marked common)
- SDK: `import { sendgrid } from "@boxd/run"`; every parameter and response type is at `@boxd/run/sendgrid`
- Triggers: none
- Connect: `run auth sendgrid` (API key), or https://app.boxd.sh/integrations/detail/sendgrid
- All integrations: https://boxd.sh/integrations/ (Markdown: https://boxd.sh/integrations/index.md)

## From the shell

```sh
run auth sendgrid      # once: prints a link to connect your account
run sendgrid           # list its commands
run sendgrid retrieve-all-lists
```

Parameters are flags (`--flag value`); object and array parameters take a JSON string. Output is YAML, or JSON with `--json`. Calls use your own connection; `--scope <name>` uses a connection shared with your team.

## From a script

```ts
import { every, sendgrid } from "@boxd/run";

every("1 hour", async () => {
  const result = await sendgrid.retrieveAllLists({});
  console.log(result);
});
```

Run it with `run sendgrid.run.ts`. SendGrid has no triggers; `every()` polls on a schedule, keeps the script running as a job, and wakes the machine when it is due.

## Commands

Required flags are listed; `run sendgrid <command> --help` lists the optional ones. "common" marks what `run sendgrid` shows without `--all`.

| Command | SDK method | Required flags | Optional | Description |
|---|---|---|---|---|
| `activate-template-version` | `sendgrid.activateTemplateVersion()` | `--template-id` `--version-id` | 0 | Activates a specific version of a transactional template, making it the default version used when sending emails |
| `add-batch-of-ips-to-ip-pool` | `sendgrid.addBatchOfIpsToIpPool()` | `--ips` `--poolid` | 0 | Adds a batch of IP addresses to a specified IP Pool in SendGrid |
| `add-ip-address-to-pool` ·common | `sendgrid.addIpAddressToPool()` | `--ip` `--pool-name` | 0 | Adds a dedicated IP address to an IP pool in your SendGrid account |
| `add-ip-to-authenticated-domain` | `sendgrid.addIpToAuthenticatedDomain()` | `--id` `--ip` | 0 | Add an IP address to an authenticated domain for custom SPF configuration |
| `add-ips` | `sendgrid.addIps()` | `--count` | 2 | Add dedicated IP addresses to your SendGrid account |
| `add-one-or-more-ips-to-allow-list` | `sendgrid.addOneOrMoreIpsToAllowList()` | `--ips` | 0 | Adds one or more IPv4 addresses to your SendGrid account's IP access management allow list |
| `add-or-update-contact` | `sendgrid.addOrUpdateContact()` | `--contacts` | 1 | Adds or updates contacts in SendGrid Marketing Campaigns |
| `add-single-recipient-to-list` | `sendgrid.addSingleRecipientToList()` | `--list-id` `--recipient-id` | 0 | Adds a single recipient to a contact list in SendGrid's Legacy Contact Database |
| `add-suppressions-to-suppression-group` | `sendgrid.addSuppressionsToSuppressionGroup()` | `--group-id` `--recipient-emails` | 0 | This endpoint allows you to add email addresses to an unsubscribe group |
| `add-to-global-suppressions-group` | `sendgrid.addToGlobalSuppressionsGroup()` | `--recipient-emails` | 0 | Adds one or more email addresses to the global suppression group |
| `add-twilio-send-grid-ip-address` | `sendgrid.addTwilioSendGridIpAddress()` | `--is-auto-warmup` `--is-parent-assigned` | 3 | Provisions a new Twilio SendGrid IP address to your account |
| `approve-access-request` | `sendgrid.approveAccessRequest()` | `--request-id` | 0 | This endpoint allows you to approve an access attempt |
| `assign-batch-of-subusers-to-ip` | `sendgrid.assignBatchOfSubusersToIp()` | `--ip` `--subusers` | 0 | Assigns multiple subusers to a specified IP address in a single operation |
| `associate-authenticated-domain-with-given-user` | `sendgrid.associateAuthenticatedDomainWithGivenUser()` | `--domain-id` `--username` | 0 | Associate an authenticated domain with a subuser, allowing the subuser to send emails using the parent account's domain authentication |
| `associate-branded-link-with-subuser` | `sendgrid.associateBrandedLinkWithSubuser()` | `--link-id` `--username` | 0 | Associate a branded link with a subuser account for email link tracking |
| `authenticate-account-with-single-sign-on` | `sendgrid.authenticateAccountWithSingleSignOn()` | `--accountID` | 0 | Generates a one-time SSO authentication URL for logging into a customer's Twilio SendGrid account |
| `authenticate-domain` | `sendgrid.authenticateDomain()` | `--domain` | 8 | The endpoint enables domain authentication for users or subusers, offering two methods, 'username' parameter for visibility and modification, or the Association workflow for a fixed, non-editable… |
| `bind-authenticated-domains-to-user` | `sendgrid.bindAuthenticatedDomainsToUser()` | `--domain-id` `--username` | 0 | Associates an additional authenticated domain with a subuser |
| `bulk-delete-single-sends` | `sendgrid.bulkDeleteSingleSends()` | `--ids` | 0 | Permanently deletes multiple Single Sends in a single operation by providing their IDs |
| `cancel-or-pause-scheduled-send` | `sendgrid.cancelOrPauseScheduledSend()` | `--batch-id` `--status` | 0 | Cancel or pause a group of scheduled email sends by their batch_id |
| `completed-steps` | `sendgrid.completedSteps()` | — | 0 | Retrieves the verification status of a SendGrid account, checking if Domain Authentication and Single Sender Verification have been completed |
| `create-account` | `sendgrid.createAccount()` | `--offerings` | 7 | Creates a new customer account under your organization using the Account Provisioning API |
| `create-api-keys` | `sendgrid.createApiKeys()` | `--name` | 1 | Creates a new SendGrid API key with specified permissions |
| `create-batch-id` | `sendgrid.createBatchId()` | — | 0 | Generate a new mail batch ID to group multiple email sends together |
| `create-branded-link` | `sendgrid.createBrandedLink()` | `--domain` | 3 | Create a new branded link by specifying the root domain, which must align with your FROM email, and an optional unique subdomain |
| `create-campaign` | `sendgrid.createCampaign()` | `--title` | 11 | This endpoint enables campaign creation, requiring a subject, sender ID, content (HTML and text suggested), and a list or segment ID for sending or scheduling, but not for initial creation |
| `create-custom-field` | `sendgrid.createCustomField()` | `--name` `--type` | 0 | Creates a custom field for storing additional contact information in SendGrid |
| `create-custom-field-definition` | `sendgrid.createCustomFieldDefinition()` | `--field-type` `--name` | 0 | Create unique case-insensitive custom fields with alphanumeric/underscore names starting with a letter/underscore |
| `create-design` | `sendgrid.createDesign()` | `--html-content` | 3 | Creates a new email design in the SendGrid Design Library |
| `create-integration` | `sendgrid.createIntegration()` | `--destination` `--filters--email--events` `--properties--destination--region` `--properties--write--key` | 1 | Create a SendGrid Marketing Integration for email event forwarding to Segment |
| `create-ip-pool` | `sendgrid.createIpPool()` | `--name` | 0 | Creates a new IP pool in your SendGrid account |
| `create-ip-pool-with-name-and-ip-assignments` | `sendgrid.createIpPoolWithNameAndIpAssignments()` | `--name` | 1 | Creates a new IP Pool in your SendGrid account using the IP Address Management API |
| `create-list` | `sendgrid.createList()` | `--name` | 0 | Create a new contact list in SendGrid Marketing Campaigns |
| `create-new-alert` | `sendgrid.createNewAlert()` | `--email-to` `--type` | 2 | Create a new SendGrid alert |
| `create-new-event-webhook` | `sendgrid.createNewEventWebhook()` | `--url` | 16 | Set up an Event Webhook by providing a URL, choosing events for POST requests, and receive a unique ID |
| `create-new-suppression-group` | `sendgrid.createNewSuppressionGroup()` | — | 3 | Create a new suppression group (unsubscribe group) to allow recipients to opt out of specific types of emails |
| `create-new-transactional-template-version` | `sendgrid.createNewTransactionalTemplateVersion()` | `--name` `--subject` `--template-id` | 6 | This endpoint allows you to create a new version of a template |
| `create-parse-setting` | `sendgrid.createParseSetting()` | `--hostname` `--url` | 2 | Creates a new Inbound Parse Webhook setting to receive and parse incoming emails |
| `create-segment` | `sendgrid.createSegment()` | `--name` `--query-dsl` | 1 | Creates a new contact segment using SendGrid's Marketing Campaigns Segmentation V2 API |
| `create-sender` | `sendgrid.createSender()` | `--address` `--city` `--country` `--from--email` `--from--name` `--nickname` `--reply--to--email` | 4 | Creates a new Sender identity for use in SendGrid Marketing Campaigns |
| `create-sender-identity` | `sendgrid.createSenderIdentity()` | `--address` `--city` `--country` `--from--email` `--from--name` `--nickname` `--reply--to--email` | 4 | Create a new sender identity in SendGrid |
| `create-single-send` | `sendgrid.createSingleSend()` | `--name` | 15 | The endpoint lets you create a Single Send draft without needing a template ID; it now uses `email_config` |
| `create-sso-certificate` | `sendgrid.createSsoCertificate()` | `--integration-id` `--public-certificate` | 1 | Create an SSO certificate for SAML 2.0 Single Sign-On authentication |
| `create-sso-integration` | `sendgrid.createSsoIntegration()` | `--enabled` `--entity-id` `--name` `--signin-url` `--signout-url` | 1 | Create a new Single Sign-On (SSO) integration for your SendGrid account |
| `create-sso-teammate` | `sendgrid.createSsoTeammate()` | `--email` `--first-name` `--last-name` | 5 | Creates a Single Sign-On (SSO) Teammate in SendGrid |
| `create-subuser` | `sendgrid.createSubuser()` | `--email` `--ips` `--password` `--username` | 2 | This endpoint allows you to create a new subuser |
| `create-transactional-template` | `sendgrid.createTransactionalTemplate()` | `--name` | 1 | Create a new transactional email template in SendGrid |
| `create-verified-sender-request` | `sendgrid.createVerifiedSenderRequest()` | `--address` `--city` `--country` `--from-email` `--nickname` `--reply-to` `--state` `--zip` | 3 | This endpoint creates a new sender identity via `POST`, sends a verification email to `from_email`, and requires email verification |
| `delete-account` | `sendgrid.deleteAccount()` | `--accountID` | 0 | Permanently deletes a customer account under your organization using the Account Provisioning API |
| `delete-alert` | `sendgrid.deleteAlert()` | `--alert-id` | 0 | Delete a SendGrid alert by its ID |
| `delete-api-keys` | `sendgrid.deleteApiKeys()` | `--api-key-id` | 0 | This endpoint allows you to revoke an existing API Key using an `api_key_id` Authentications using a revoked API Key will fail after after some small propogation delay |
| `delete-authenticated-domain` | `sendgrid.deleteAuthenticatedDomain()` | `--domain-id` | 0 | Delete an authenticated domain (formerly known as domain whitelabel) by its ID |
| `delete-batch-of-ips-from-ip-pool` | `sendgrid.deleteBatchOfIpsFromIpPool()` | `--ips` `--poolid` | 0 | Removes a batch of IP addresses from a specified IP Pool in SendGrid |
| `delete-batch-of-subusers-from-ip` | `sendgrid.deleteBatchOfSubusersFromIp()` | `--ip` `--subusers` | 0 | Removes multiple subusers from a specified IP address in a single batch operation |
| `delete-blocks` | `sendgrid.deleteBlocks()` | — | 2 | Delete blocked email addresses from your SendGrid suppression list |
| `delete-bounce` | `sendgrid.deleteBounce()` | `--email` | 0 | Removes an email address from your SendGrid bounce suppression list |
| `delete-bounces` | `sendgrid.deleteBounces()` | — | 2 | Delete bounced email addresses from your SendGrid bounce suppression list |
| `delete-branded-link` | `sendgrid.deleteBrandedLink()` | `--id` | 0 | Permanently delete a branded link from your SendGrid account |
| `delete-bulk-integration` | `sendgrid.deleteBulkIntegration()` | `--ids` | 0 | Bulk delete multiple Integrations by providing their IDs as a query parameter |
| `delete-campaign` | `sendgrid.deleteCampaign()` | `--campaign-id` | 0 | Permanently deletes a specific marketing campaign from your SendGrid account |
| `delete-cancellation-or-pause-from-scheduled-send` | `sendgrid.deleteCancellationOrPauseFromScheduledSend()` | `--batch-id` | 0 | Resume a paused or cancelled scheduled send by removing its pause/cancel status |
| `delete-contact-identifier` | `sendgrid.deleteContactIdentifier()` | `--contact-id` `--identifier-type` `--identifier-value` | 0 | Removes a specific identifier (EMAIL, PHONENUMBERID, EXTERNALID, or ANONYMOUSID) from a contact without deleting the entire contact |
| `delete-contacts` | `sendgrid.deleteContacts()` | — | 2 | Deletes contacts from your SendGrid Marketing Campaigns account |
| `delete-custom-field` | `sendgrid.deleteCustomField()` | `--custom-field-id` | 0 | Permanently deletes a custom field from your SendGrid contact database |
| `delete-custom-field-definition` | `sendgrid.deleteCustomFieldDefinition()` | `--custom-field-id` | 0 | Permanently deletes a custom field definition from SendGrid Marketing Campaigns |
| `delete-design` | `sendgrid.deleteDesign()` | `--id` | 0 | This endpoint allows you to delete a single design |
| `delete-global-suppression` | `sendgrid.deleteGlobalSuppression()` | `--email` | 0 | This endpoint removes an email from suppressions, allowing future emails to be sent to it |
| `delete-invalid-emails` | `sendgrid.deleteInvalidEmails()` | — | 2 | Delete email addresses from your SendGrid invalid emails suppression list |
| `delete-ip-pool` | `sendgrid.deleteIpPool()` | `--poolid` | 0 | Delete an IP Pool from your SendGrid account using the IP Address Management API |
| `delete-parse-setting` | `sendgrid.deleteParseSetting()` | `--hostname` | 0 | Deletes a specific inbound parse webhook setting by hostname |
| `delete-pending-teammate` | `sendgrid.deletePendingTeammate()` | `--token` | 0 | Delete a pending teammate invitation that hasn't yet been accepted |
| `delete-recipient` | `sendgrid.deleteRecipient()` | `--recipient-id` | 0 | [LEGACY API - DEPRECATED] Deletes a single recipient from the Legacy Marketing Campaigns contact database |
| `delete-reverse-dns-record` | `sendgrid.deleteReverseDnsRecord()` | `--id` | 0 | This endpoint deletes a reverse DNS record, returning a 204 code on success |
| `delete-segment` | `sendgrid.deleteSegment()` | `--segment-id` | 1 | Permanently deletes a segment from the SendGrid Contact Database (Legacy Marketing Campaigns) |
| `delete-sender` | `sendgrid.deleteSender()` | `--id` | 0 | Permanently delete an existing Marketing Campaigns Sender identity from your SendGrid account |
| `delete-sender-identity` | `sendgrid.deleteSenderIdentity()` | `--sender-id` | 0 | Permanently deletes a sender identity from your SendGrid account |
| `delete-single-event-webhook-by-id` | `sendgrid.deleteSingleEventWebhookById()` | `--id` | 0 | Delete a specific Event Webhook by ID with this endpoint |
| `delete-single-recipient-from-single-list` | `sendgrid.deleteSingleRecipientFromSingleList()` | `--list-id` `--recipient-id` | 0 | Remove a single recipient from a SendGrid contact list |
| `delete-single-send-by-id` | `sendgrid.deleteSingleSendById()` | `--id` | 0 | Permanently deletes a Single Send by its unique ID |
| `delete-single-send-schedule` | `sendgrid.deleteSingleSendSchedule()` | `--id` | 0 | Cancel a scheduled Single Send by deleting its scheduled send time |
| `delete-spam-reports` | `sendgrid.deleteSpamReports()` | — | 2 | Delete spam reports from your SendGrid spam report suppression list |
| `delete-specific-block` | `sendgrid.deleteSpecificBlock()` | `--email` | 1 | Deletes a specific email address from your SendGrid blocks list |
| `delete-specific-invalid-email` | `sendgrid.deleteSpecificInvalidEmail()` | `--email` | 0 | Removes a specific email address from SendGrid's invalid emails suppression list |
| `delete-specific-spam-report` | `sendgrid.deleteSpecificSpamReport()` | `--email` | 0 | Removes a specific spam report from SendGrid's suppression list by email address |
| `delete-sso-certificate` | `sendgrid.deleteSsoCertificate()` | `--cert-id` | 0 | Delete an SSO certificate by its unique identifier |
| `delete-sso-integration` | `sendgrid.deleteSsoIntegration()` | `--id` | 0 | Delete an SSO (Single Sign-On) integration by ID |
| `delete-subuser` | `sendgrid.deleteSubuser()` | `--subuser-name` | 0 | Permanently delete a subuser from your SendGrid account |
| `delete-suppression-from-suppression-group` | `sendgrid.deleteSuppressionFromSuppressionGroup()` | `--email` `--group-id` | 0 | Remove an email address from a suppression group (unsubscribe group) |
| `delete-suppression-group` | `sendgrid.deleteSuppressionGroup()` | `--group-id` | 0 | This API endpoint deletes email suppression groups |
| `delete-teammate` | `sendgrid.deleteTeammate()` | `--username` | 0 | Permanently delete a teammate from your SendGrid account |
| `delete-template` | `sendgrid.deleteTemplate()` | `--template-id` | 0 | Permanently deletes a transactional template from your SendGrid account |
| `delete-transactional-template-version` | `sendgrid.deleteTransactionalTemplateVersion()` | `--template-id` `--version-id` | 0 | Delete a specific version of a transactional template |
| `delete-verified-sender` | `sendgrid.deleteVerifiedSender()` | `--id` | 0 | Deletes a Verified Sender Identity from your SendGrid account |
| `deny-access-request` | `sendgrid.denyAccessRequest()` | `--request-id` | 0 | Denies a teammate's pending access request |
| `disassociate-branded-link-from-subuser` | `sendgrid.disassociateBrandedLinkFromSubuser()` | `--username` | 0 | Remove a branded link association from a subuser account |
| `domain-warn-list` | `sendgrid.domainWarnList()` | — | 0 | Retrieves a list of domains known to implement DMARC (Domain-based Message Authentication, Reporting & Conformance) policies, categorized by failure type |
| `download-csv` | `sendgrid.downloadCsv()` | `--download-uuid` | 0 | Retrieves a presigned S3 URL to download a CSV file of email activity data (up to 1M events, last 30 days) |
| `duplicate-design` | `sendgrid.duplicateDesign()` | `--id` | 2 | Duplicates an existing email design in the SendGrid Design Library |
| `duplicate-send-grid-pre-built-design` | `sendgrid.duplicateSendGridPreBuiltDesign()` | `--id` | 2 | Duplicates a pre-built SendGrid email design template from the SendGrid Design Library |
| `duplicate-single-send` | `sendgrid.duplicateSingleSend()` | `--id` | 1 | Duplicates an existing Single Send by its ID, creating a new draft that can be edited via the Update Single Send endpoint (PATCH) |
| `duplicate-transactional-template` | `sendgrid.duplicateTransactionalTemplate()` | `--template-id` | 1 | Duplicate an existing transactional template to create a new template with the same content |
| `edit-sso-teammate` | `sendgrid.editSsoTeammate()` | `--username` | 7 | Updates an existing SSO Teammate's permissions and profile in SendGrid |
| `edit-transactional-template` | `sendgrid.editTransactionalTemplate()` | `--template-id` | 1 | Updates the name of an existing transactional template |
| `edit-transactional-template-version` | `sendgrid.editTransactionalTemplateVersion()` | `--template-id` `--version-id` | 8 | Edit a transactional template version in SendGrid |
| `edit-verified-sender` | `sendgrid.editVerifiedSender()` | `--id` | 11 | Updates an existing verified sender identity in SendGrid |
| `email-dns-records-to-co-worker` | `sendgrid.emailDnsRecordsToCoWorker()` | `--email` | 3 | Email DNS records to a co-worker for domain authentication or link branding setup |
| `enable-disable-subuser` | `sendgrid.enableDisableSubuser()` | `--disabled` `--subuser-name` | 0 | Enable or disable a SendGrid subuser account |
| `enable-disable-website-access-for-subuser` | `sendgrid.enableDisableWebsiteAccessForSubuser()` | `--disabled` `--subuser-name` | 0 | Enable or disable website portal access for a SendGrid subuser while preserving their email sending capabilities |
| `erase-recipients-email-data` | `sendgrid.eraseRecipientsEmailData()` | `--email-addresses` | 0 | Permanently erases recipients' personal email data from SendGrid for GDPR/privacy compliance |
| `export-contacts` | `sendgrid.exportContacts()` | — | 5 | Initiates an asynchronous job to export Marketing Campaigns contacts to CSV or JSON |
| `export-contacts-status` | `sendgrid.exportContactsStatus()` | `--id` | 0 | Retrieves the status of a contact export job and provides download URLs when ready |
| `export-single-send-stats` | `sendgrid.exportSingleSendStats()` | — | 2 | Exports Single Send campaign statistics in CSV format |
| `filter-all-messages` | `sendgrid.filterAllMessages()` | `--query` | 1 | Filter and retrieve email activity from the SendGrid Email Activity Feed API |
| `filter-messages-by-message-id` | `sendgrid.filterMessagesByMessageId()` | `--msg-id` | 0 | Retrieve detailed information about a specific email message by its unique message ID |
| `get-account-offerings` | `sendgrid.getAccountOfferings()` | `--accountID` | 0 | Retrieves the offerings (email packages and add-ons) assigned to a specific customer account |
| `get-account-s-state` | `sendgrid.getAccountSState()` | `--accountID` | 0 | Retrieve the current state of a customer account using the Account Provisioning API |
| `get-all-accounts` | `sendgrid.getAllAccounts()` | — | 2 | Retrieves all accounts under the organization |
| `get-all-automation-stats` | `sendgrid.getAllAutomationStats()` | — | 3 | Retrieve email statistics for SendGrid Marketing Automations (automated email workflows) |
| `get-all-available-offerings` | `sendgrid.getAllAvailableOfferings()` | — | 0 | Retrieves all available SendGrid offerings for account provisioning |
| `get-all-categories` | `sendgrid.getAllCategories()` | — | 0 | Retrieve all categories associated with your Marketing Campaigns Single Sends |
| `get-all-existing-exports` | `sendgrid.getAllExistingExports()` | — | 0 | Retrieves all existing contact export jobs from SendGrid Marketing Campaigns |
| `get-all-field-definitions` | `sendgrid.getAllFieldDefinitions()` | — | 0 | Retrieve all field definitions including custom and reserved fields from Marketing Campaigns |
| `get-all-ip-pools-that-have-associated-ips` | `sendgrid.getAllIpPoolsThatHaveAssociatedIps()` | — | 5 | The function lists your IP Pools and samples up to 10 IPs from each |
| `get-all-sender-identities` | `sendgrid.getAllSenderIdentities()` | — | 0 | This endpoint allows you to retrieve a list of all sender identities that have been created for your account |
| `get-all-single-sends` | `sendgrid.getAllSingleSends()` | — | 2 | Retrieve a list of your Single Sends with brief details, including their IDs |
| `get-all-single-sends-stats` | `sendgrid.getAllSingleSendsStats()` | — | 3 | Retrieve email statistics for SendGrid Single Sends (one-time marketing email campaigns) |
| `get-all-sso-certificates-by-integration` | `sendgrid.getAllSsoCertificatesByIntegration()` | `--integration-id` | 0 | Retrieves all SSO (Single Sign-On) certificates associated with a specific IdP integration |
| `get-all-sso-integrations` | `sendgrid.getAllSsoIntegrations()` | — | 1 | This endpoint allows you to retrieve all SSO integrations tied to your Twilio SendGrid account |
| `get-all-verified-senders` | `sendgrid.getAllVerifiedSenders()` | — | 3 | Retrieve all Sender Identities (verified/unverified) for an account via an endpoint |
| `get-automation-click-tracking-stats-by-id` | `sendgrid.getAutomationClickTrackingStatsById()` | `--id` | 4 | Retrieve click-tracking statistics for a specific SendGrid Marketing Automation |
| `get-automation-stats-by-id` | `sendgrid.getAutomationStatsById()` | `--id` | 8 | Retrieve detailed stats for a specific Automation by ID, with optional date and aggregation filters, or use another endpoint to get stats for multiple Automations |
| `get-batched-contacts-by-ids` | `sendgrid.getBatchedContactsByIds()` | `--ids` | 0 | Retrieves multiple SendGrid Marketing Contacts by their IDs in a single batch request |
| `get-bounce-class-stats` | `sendgrid.getBounceClassStats()` | `--classification` | 2 | Retrieve daily bounce statistics filtered by a specific classification type |
| `get-bulk-validation-job` | `sendgrid.getBulkValidationJob()` | `--job-id` | 0 | Retrieves the details of a specific Bulk Email Address Validation Job by its ID |
| `get-contact-by-id` | `sendgrid.getContactById()` | `--id` | 0 | Retrieves the full details of a single contact by their unique ID from SendGrid Marketing Campaigns |
| `get-contacts-by-emails` | `sendgrid.getContactsByEmails()` | `--emails` | 0 | Search for Marketing Campaigns contacts by their email addresses |
| `get-contacts-by-identifiers` | `sendgrid.getContactsByIdentifiers()` | `--identifier-type` `--identifiers` | 0 | Retrieves up to 100 Marketing Campaigns contacts by searching for specific identifier values |
| `get-credits-for-subuser` | `sendgrid.getCreditsForSubuser()` | `--subuser-name` | 0 | Retrieves credit information for a specific Subuser account, including the credit type (unlimited, recurring, or nonrecurring), reset frequency, remaining credits, total allowable credits, and used… |
| `get-default-authentication` | `sendgrid.getDefaultAuthentication()` | — | 1 | Retrieves the default domain authentication configuration for your SendGrid account |
| `get-design` | `sendgrid.getDesign()` | `--id` | 0 | Retrieves a specific design's details from your Design Library by its ID |
| `get-details-for-ip-address` | `sendgrid.getDetailsForIpAddress()` | `--ip` | 1 | Retrieves detailed information about a specific IP address on your SendGrid account |
| `get-details-for-ip-pool` | `sendgrid.getDetailsForIpPool()` | `--poolid` | 1 | This operation retrieves details of an IP Pool, such as name, ID, some sample IPs (up to 10), and the total IP count |
| `get-email-suppression-groups` | `sendgrid.getEmailSuppressionGroups()` | `--email` | 0 | Retrieve all suppression groups for a specific email address |
| `get-engagement-quality-scores` | `sendgrid.getEngagementQualityScores()` | `--from` `--to` | 0 | Retrieve SendGrid Engagement Quality (SEQ) scores for a specified date range |
| `get-geo-stats` | `sendgrid.getGeoStats()` | `--start-date` | 5 | Retrieves email engagement statistics (opens, clicks) segmented by geographic location (country and state/province) |
| `get-information-on-single-suppression-group` | `sendgrid.getInformationOnSingleSuppressionGroup()` | `--group-id` | 1 | Retrieves details for a single suppression group (also known as an unsubscribe group) |
| `get-integration` | `sendgrid.getIntegration()` | `--id` | 0 | Retrieve a specific Marketing Integration by its unique ID |
| `get-ip-warmup-status` | `sendgrid.getIpWarmupStatus()` | `--ip-address` | 0 | Retrieve the warmup status for a specific dedicated IP address |
| `get-ips-assigned-to-ip-pool` | `sendgrid.getIpsAssignedToIpPool()` | `--poolid` | 3 | Retrieves IP addresses assigned to a specific IP Pool |
| `get-list-contact-count` | `sendgrid.getListContactCount()` | `--id` | 0 | Retrieve the contact count and billable contact count for a specific marketing list |
| `get-list-of-all-ip-addresses-on-your-account` | `sendgrid.getListOfAllIpAddressesOnYourAccount()` | — | 12 | Fetches your account's IP addresses with details such as pool association and warm-up status |
| `get-list-of-all-senders` | `sendgrid.getListOfAllSenders()` | — | 3 | Retrieves a list of all Sender identities associated with your SendGrid account |
| `get-list-of-segments` | `sendgrid.getListOfSegments()` | — | 3 | Retrieves a filtered list of contact segments from SendGrid Marketing Campaigns V2 |
| `get-list-of-subusers-assigned-to-ip` | `sendgrid.getListOfSubusersAssignedToIp()` | `--ip` | 2 | Retrieves a list of Subuser IDs assigned to a specific IP address in your SendGrid account |
| `get-open-tracking-settings` | `sendgrid.getOpenTrackingSettings()` | — | 0 | Retrieves the current open tracking settings for your SendGrid account |
| `get-recipient-upload-status` | `sendgrid.getRecipientUploadStatus()` | — | 0 | Retrieves the upload status for recipients in the Legacy Marketing Campaigns contacts database (contactdb) |
| `get-remaining-ips-count` | `sendgrid.getRemainingIpsCount()` | — | 0 | This endpoint gets amount of IP Addresses that can still be created during a given period and the price of those IPs |
| `get-sample-contacts` | `sendgrid.getSampleContacts()` | — | 0 | Retrieves a sample of up to 50 contacts from your Marketing Contacts database, sorted by email address |
| `get-send-grid-pre-built-design` | `sendgrid.getSendGridPreBuiltDesign()` | `--id` | 0 | Retrieves details of a specific SendGrid pre-built design template by ID |
| `get-settings-for-single-event-webhook` | `sendgrid.getSettingsForSingleEventWebhook()` | `--id` | 1 | Retrieves the configuration and settings for a single Event Webhook by its ID |
| `get-signed-event-webhook-s-public-key` | `sendgrid.getSignedEventWebhookSPublicKey()` | `--id` | 0 | Retrieves the public key for a specific Event Webhook by ID |
| `get-single-send-by-id` | `sendgrid.getSingleSendById()` | `--id` | 0 | This endpoint allows you to retrieve details about one Single Send using a Single Send ID |
| `get-single-send-click-tracking-stats-by-id` | `sendgrid.getSingleSendClickTrackingStatsById()` | `--id` | 5 | This endpoint lets you retrieve click-tracking stats for one Single Send |
| `get-single-send-stats-by-id` | `sendgrid.getSingleSendStatsById()` | `--id` | 7 | Retrieve individual Single Send stats using its ID |
| `get-single-sends-search` | `sendgrid.getSingleSendsSearch()` | — | 5 | Search for Single Sends (marketing email campaigns) by name, status, and/or categories |
| `get-specific-sender` | `sendgrid.getSpecificSender()` | `--id` | 0 | Retrieves the details of a specific Marketing Sender by its unique ID |
| `get-sso-certificate` | `sendgrid.getSsoCertificate()` | `--cert-id` | 0 | Retrieve an individual SSO certificate by its ID |
| `get-sso-integration` | `sendgrid.getSsoIntegration()` | `--id` | 1 | This endpoint allows you to retrieve an SSO integration by ID |
| `get-subuser-monthly-stats` | `sendgrid.getSubuserMonthlyStats()` | `--date` `--subuser-name` | 4 | Retrieves monthly email statistics for a specific subuser |
| `get-subusers-engagement-quality-scores` | `sendgrid.getSubusersEngagementQualityScores()` | `--date` | 2 | Retrieve SendGrid Engagement Quality (SEQ) scores for all subusers on a specific date |
| `get-suppression-groups` | `sendgrid.getSuppressionGroups()` | — | 1 | This endpoint provides a list of user-created suppression groups and can return info for multiple groups when their IDs are added to the request with `?id=123456` |
| `get-teammate-subuser-access` | `sendgrid.getTeammateSubuserAccess()` | `--teammate-name` | 3 | Retrieve Subusers accessible to a specified Teammate, including their permission levels and scopes |
| `get-total-contact-count` | `sendgrid.getTotalContactCount()` | — | 0 | Retrieve the total number of contacts stored in your SendGrid Marketing Campaigns account |
| `get-user-s-account-information` | `sendgrid.getUserSAccountInformation()` | — | 0 | Retrieves the authenticated user's SendGrid account details including account type (e.g., 'free', 'paid') and sender reputation score (0-100) |
| `get-user-s-profile` | `sendgrid.getUserSProfile()` | — | 0 | Retrieve the authenticated user's profile details |
| `get-user-scopes` | `sendgrid.getUserScopes()` | — | 0 | Retrieve a list of scopes for which this user has access |
| `import-contacts` | `sendgrid.importContacts()` | `--field-mappings` `--file-type` | 1 | Initiates a bulk contact import by requesting an upload URL for a CSV file |
| `import-contacts-status` | `sendgrid.importContactsStatus()` | `--id` | 0 | Check the status of a contact import, update, or delete job in SendGrid Marketing Campaigns |
| `invite-teammate` | `sendgrid.inviteTeammate()` | `--email` `--scopes` | 1 | Invite teammates to your account through email with this endpoint, assigning initial permissions via the `scopes` array |
| `list-all-authenticated-domains` | `sendgrid.listAllAuthenticatedDomains()` | — | 5 | Retrieve authenticated domain lists in pages using the `limit` parameter for page size and `offset` to start from specific list positions |
| `list-all-subusers` | `sendgrid.listAllSubusers()` | — | 5 | Retrieve a paginated list of subusers with filtering options |
| `list-api-keys` | `sendgrid.listApiKeys()` | — | 1 | Retrieve user's API key names and IDs with this endpoint; keys themself cannot be retrieved for security |
| `list-bulk-email-validation-jobs` | `sendgrid.listBulkEmailValidationJobs()` | — | 0 | Retrieves a list of all Bulk Email Address Validation Jobs for the account |
| `list-designs` | `sendgrid.listDesigns()` | — | 3 | List designs from the Design Library |
| `list-integration` | `sendgrid.listIntegration()` | — | 0 | This endpoint returns all the Integrations for the user making this call |
| `list-send-grid-pre-built-designs` | `sendgrid.listSendGridPreBuiltDesigns()` | — | 3 | The `designs/pre-builts` endpoint fetches a list of Twilio SendGrid's ready-made designs, not user-specific ones, with 100 results per request by default, adjustable with `page_size` |
| `list-user-auth-domains` | `sendgrid.listUserAuthDomains()` | `--username` | 0 | Retrieves all authenticated domains that have been assigned to a specific subuser |
| `manually-refresh-segment` | `sendgrid.manuallyRefreshSegment()` | `--segment-id` `--user-time-zone` | 0 | Manually refresh a Marketing Campaigns V2 segment to update its contact membership |
| `presigned-url-headers-for-bulk-email-validation` | `sendgrid.presignedUrlHeadersForBulkEmailValidation()` | — | 1 | Request a presigned URL and headers to upload a file containing email addresses for bulk validation |
| `remove-contacts-from-list` | `sendgrid.removeContactsFromList()` | `--contact-ids` `--id` | 0 | Remove contacts from a marketing list without deleting them from your account |
| `remove-ip-address-from-pool` | `sendgrid.removeIpAddressFromPool()` | `--ip` `--pool-name` | 0 | Remove an IP address from an IP pool in your SendGrid account |
| `remove-ip-from-authenticated-domain` | `sendgrid.removeIpFromAuthenticatedDomain()` | `--id` `--ip` | 0 | Remove an IP address from an authenticated domain's custom SPF configuration |
| `remove-list-and-optional-contacts` | `sendgrid.removeListAndOptionalContacts()` | `--id` | 1 | Delete a marketing list from your SendGrid account |
| `remove-one-or-more-ips-from-allow-list` | `sendgrid.removeOneOrMoreIpsFromAllowList()` | `--ids` | 0 | Removes one or more IP addresses from your SendGrid IP Access Management allow list |
| `remove-segment-without-affecting-contacts` | `sendgrid.removeSegmentWithoutAffectingContacts()` | `--segment-id` | 0 | Permanently deletes a segment from SendGrid's Marketing Campaigns without affecting contacts |
| `remove-specific-ip-from-allowed-list` | `sendgrid.removeSpecificIpFromAllowedList()` | `--rule-id` | 0 | Removes a specific IP address from your SendGrid account's allow list |
| `remove-user-domain` | `sendgrid.removeUserDomain()` | `--username` | 0 | Disassociate ALL authenticated domains from a subuser |
| `rename-ip-pool` | `sendgrid.renameIpPool()` | `--name` `--pool-name` | 0 | Renames an existing IP pool in your SendGrid account |
| `request-csv` | `sendgrid.requestCsv()` | — | 1 | Initiating a backend process creates a CSV file of up to 1 million events from the last 30 days, emailed to the user with a 3-day expiry link |
| `resend-sender-identity-verification` | `sendgrid.resendSenderIdentityVerification()` | `--sender-id` | 0 | Resends the verification email to a sender identity's 'from' email address |
| `resend-sender-verification` | `sendgrid.resendSenderVerification()` | `--id` | 0 | Resends the verification email for a Marketing Campaigns Sender identity |
| `resend-teammate-invite` | `sendgrid.resendTeammateInvite()` | `--token` | 0 | Resend a pending teammate invitation to refresh its expiration date |
| `resend-verified-sender-request` | `sendgrid.resendVerifiedSenderRequest()` | `--id` | 0 | Resends the verification email to a Sender Identity's 'from_email' address |
| `retrieve-access-requests` | `sendgrid.retrieveAccessRequests()` | — | 2 | Retrieve a list of recent access requests using pagination with `limit` for page size and `offset` to control the start position for additional items |
| `retrieve-address-whitelist-mail-settings` | `sendgrid.retrieveAddressWhitelistMailSettings()` | — | 0 | Retrieves your current address whitelist mail settings from SendGrid |
| `retrieve-all-alerts` | `sendgrid.retrieveAllAlerts()` | — | 0 | Retrieve all SendGrid alerts configured for your account |
| `retrieve-all-assigned-ips` | `sendgrid.retrieveAllAssignedIps()` | — | 0 | Retrieves all IP addresses that are currently assigned to your account |
| `retrieve-all-blocks` | `sendgrid.retrieveAllBlocks()` | — | 6 | Retrieves a paginated list of all blocked email addresses from your SendGrid account |
| `retrieve-all-bounces` | `sendgrid.retrieveAllBounces()` | — | 5 | This endpoint retrieves a paginated list of all your bounces, allowing customization of page size with `limit` and starting position with `offset` for multiple requests |
| `retrieve-all-branded-links` | `sendgrid.retrieveAllBrandedLinks()` | — | 1 | This endpoint allows you to retrieve all branded links |
| `retrieve-all-campaigns` | `sendgrid.retrieveAllCampaigns()` | — | 2 | Retrieve a paginated list of campaigns in reverse creation order with the API endpoint |
| `retrieve-all-categories` | `sendgrid.retrieveAllCategories()` | — | 3 | Retrieve all email categories used for tracking and organizing email statistics |
| `retrieve-all-custom-fields` | `sendgrid.retrieveAllCustomFields()` | — | 0 | Retrieve all custom field definitions for contacts |
| `retrieve-all-global-suppressions` | `sendgrid.retrieveAllGlobalSuppressions()` | — | 5 | Retrieves a paginated list of all email addresses that are globally suppressed from receiving any emails from your SendGrid account |
| `retrieve-all-invalid-emails` | `sendgrid.retrieveAllInvalidEmails()` | — | 5 | Retrieve paginated lists of invalid emails with 'limit' for page size and 'offset' to start from a specific position for lists exceeding the limit |
| `retrieve-all-ip-addresses` | `sendgrid.retrieveAllIpAddresses()` | — | 6 | Retrieve a paginated list of assigned/unassigned IPs with warmup status, pools, subusers, and DNS info |
| `retrieve-all-ip-pools` | `sendgrid.retrieveAllIpPools()` | — | 0 | This endpoint allows you to get all of your IP pools |
| `retrieve-all-ip-pools-ip-address-belongs-to` | `sendgrid.retrieveAllIpPoolsIpAddressBelongsTo()` | `--ip-address` | 0 | Retrieves details for a specific IP address including all IP pools it belongs to, subusers that can use it, warmup status, and reverse DNS record |
| `retrieve-all-ips-currently-in-warmup` | `sendgrid.retrieveAllIpsCurrentlyInWarmup()` | — | 0 | Retrieve all IP addresses currently in the warmup process |
| `retrieve-all-ips-in-specified-pool` | `sendgrid.retrieveAllIpsInSpecifiedPool()` | `--pool-name` | 0 | Retrieves all IP addresses that are assigned to a specific IP pool |
| `retrieve-all-lists` ·common | `sendgrid.retrieveAllLists()` | — | 2 | Retrieve all contact lists from your SendGrid account |
| `retrieve-all-mail-settings` | `sendgrid.retrieveAllMailSettings()` | — | 2 | Retrieve a paginated list of mail settings with their `enabled` status and descriptions |
| `retrieve-all-of-your-event-webhooks` | `sendgrid.retrieveAllOfYourEventWebhooks()` | — | 1 | The endpoint fetches all Event Webhooks as objects in an array, showing each webhook's configuration and ID, used to update, delete, or manage signature verification and OAuth settings |
| `retrieve-all-parse-settings` | `sendgrid.retrieveAllParseSettings()` | — | 0 | This endpoint allows you to retrieve all of your current inbound parse settings |
| `retrieve-all-pending-teammates` | `sendgrid.retrieveAllPendingTeammates()` | — | 0 | This endpoint allows you to retrieve a list of all pending Teammate invitations |
| `retrieve-all-recent-access-attempts` | `sendgrid.retrieveAllRecentAccessAttempts()` | — | 1 | Retrieves a list of all IP addresses that have recently attempted to access your SendGrid account, either through the User Interface or the API |
| `retrieve-all-recipients-on-list` | `sendgrid.retrieveAllRecipientsOnList()` | `--list-id` | 2 | Retrieves all recipients (contacts) belonging to a specific list in SendGrid's Legacy Marketing Campaigns |
| `retrieve-all-reverse-dns-records` | `sendgrid.retrieveAllReverseDnsRecords()` | — | 3 | The endpoint provides a paginated list of Reverse DNS records, with optional IP prefix search and adjustable page size using 'limit' and 'offset' parameters |
| `retrieve-all-scheduled-sends` | `sendgrid.retrieveAllScheduledSends()` | — | 0 | The endpoint provides details of cancelled or paused scheduled sends but only if they have a `batch_id` |
| `retrieve-all-spam-reports` | `sendgrid.retrieveAllSpamReports()` | — | 5 | Retrieve spam reports in pages using `limit` for page size and `offset` to continue from a specific list position |
| `retrieve-all-suppressions` | `sendgrid.retrieveAllSuppressions()` | — | 1 | Retrieve a list of all suppressions across all suppression groups |
| `retrieve-all-suppressions-for-suppression-group` | `sendgrid.retrieveAllSuppressionsForSuppressionGroup()` | `--group-id` | 0 | This endpoint allows you to retrieve all suppressed email addresses belonging to the given group |
| `retrieve-all-teammates` | `sendgrid.retrieveAllTeammates()` | — | 2 | Retrieve a paginated list of Teammates with the `limit` parameter to set page size and `offset` to specify the starting point for additional items |
| `retrieve-authenticated-domain` | `sendgrid.retrieveAuthenticatedDomain()` | `--domain-id` | 0 | Retrieves details of a specific authenticated domain by its unique ID |
| `retrieve-bounce` | `sendgrid.retrieveBounce()` | `--email` | 1 | Retrieves details about a specific bounced email address from the SendGrid suppression list |
| `retrieve-bounce-classification-totals` | `sendgrid.retrieveBounceClassificationTotals()` | — | 2 | This endpoint will return the total number of bounces by classification in descending order for each day |
| `retrieve-bounce-purge-mail-settings` | `sendgrid.retrieveBouncePurgeMailSettings()` | — | 1 | Retrieve your current Bounce Purge mail settings |
| `retrieve-branded-link` | `sendgrid.retrieveBrandedLink()` | `--id` | 0 | Retrieves a specific branded link by its ID |
| `retrieve-click-track-settings` | `sendgrid.retrieveClickTrackSettings()` | — | 0 | Retrieves your current click tracking settings from SendGrid |
| `retrieve-count-of-billable-recipients` | `sendgrid.retrieveCountOfBillableRecipients()` | — | 0 | Retrieves the count of billable recipients for SendGrid Legacy Marketing Campaigns |
| `retrieve-count-of-recipients` | `sendgrid.retrieveCountOfRecipients()` | — | 0 | Retrieve the total count of recipients in the Legacy Marketing Campaigns contact database |
| `retrieve-current-enforced-tls-settings` | `sendgrid.retrieveCurrentEnforcedTlsSettings()` | — | 0 | Retrieve the current Enforced TLS settings for your SendGrid account |
| `retrieve-custom-field` | `sendgrid.retrieveCustomField()` | `--custom-field-id` | 0 | Retrieves a single custom field definition by its ID from SendGrid Marketing Campaigns |
| `retrieve-default-branded-link` | `sendgrid.retrieveDefaultBrandedLink()` | — | 1 | Retrieves the default branded link for message sending |
| `retrieve-email-statistics-by-browser` | `sendgrid.retrieveEmailStatisticsByBrowser()` | `--start-date` | 5 | Retrieve email statistics segmented by browser type (Chrome, Firefox, Safari, etc.) |
| `retrieve-email-statistics-by-client-type` | `sendgrid.retrieveEmailStatisticsByClientType()` | `--start-date` | 4 | Retrieve email statistics segmented by client type (Webmail, Desktop, Phone, Tablet, Other) |
| `retrieve-email-statistics-by-device-type` | `sendgrid.retrieveEmailStatisticsByDeviceType()` | `--start-date` | 4 | Retrieve email statistics segmented by device type (Desktop, Webmail, Phone, Tablet, Other) |
| `retrieve-email-statistics-by-mailbox-provider` | `sendgrid.retrieveEmailStatisticsByMailboxProvider()` | `--start-date` | 5 | Retrieve email statistics segmented by recipient mailbox provider (e.g., Gmail, Yahoo, Microsoft Outlook) |
| `retrieve-email-statistics-for-categories` | `sendgrid.retrieveEmailStatisticsForCategories()` | `--categories` `--start-date` | 4 | Retrieve email statistics for specific categories within a date range |
| `retrieve-email-statistics-for-your-subusers` | `sendgrid.retrieveEmailStatisticsForYourSubusers()` | `--start-date` `--subusers` | 4 | Retrieves email statistics for specified subusers over a date range |
| `retrieve-existing-api-key` | `sendgrid.retrieveExistingApiKey()` | `--api-key-id` | 0 | Retrieves the details of an existing SendGrid API key by its unique identifier |
| `retrieve-footer-mail-settings` | `sendgrid.retrieveFooterMailSettings()` | — | 1 | Retrieve your current Footer mail settings from SendGrid |
| `retrieve-forward-bounce-mail-settings` | `sendgrid.retrieveForwardBounceMailSettings()` | — | 0 | Retrieves the current forward bounce mail settings for your SendGrid account |
| `retrieve-forward-spam-mail-settings` | `sendgrid.retrieveForwardSpamMailSettings()` | — | 1 | Retrieves the current forward spam mail settings for your SendGrid account |
| `retrieve-global-email-statistics` | `sendgrid.retrieveGlobalEmailStatistics()` | `--start-date` | 4 | Retrieve global email statistics for your SendGrid account within a specific date range |
| `retrieve-global-suppression` | `sendgrid.retrieveGlobalSuppression()` | `--email` | 0 | Checks if an email address is in the global suppression list |
| `retrieve-google-analytics-settings` | `sendgrid.retrieveGoogleAnalyticsSettings()` | — | 0 | Retrieves the current Google Analytics tracking settings for your SendGrid account |
| `retrieve-legacy-template-mail-settings` | `sendgrid.retrieveLegacyTemplateMailSettings()` | — | 0 | Retrieves your current legacy email template mail settings |
| `retrieve-list-of-currently-allowed-ips` | `sendgrid.retrieveListOfCurrentlyAllowedIps()` | — | 0 | This endpoint provides a list of authorized IP addresses for your account, each with creation, update dates, and a unique ID for potential removal |
| `retrieve-lists-that-recipient-is-on` | `sendgrid.retrieveListsThatRecipientIsOn()` | `--recipient-id` | 0 | Retrieves all marketing campaign lists that a specific recipient belongs to |
| `retrieve-monthly-stats-for-all-subusers` | `sendgrid.retrieveMonthlyStatsForAllSubusers()` | `--date` | 5 | Retrieves monthly email statistics for all subusers |
| `retrieve-paged-transactional-templates` | `sendgrid.retrievePagedTransactionalTemplates()` | `--page-size` | 2 | This endpoint allows you to retrieve all transactional templates |
| `retrieve-recipients` | `sendgrid.retrieveRecipients()` | — | 2 | Retrieve all marketing campaign recipients via this endpoint |
| `retrieve-recipients-on-segment` | `sendgrid.retrieveRecipientsOnSegment()` | `--segment-id` | 2 | Retrieves all recipients (contacts) in a specified segment from SendGrid's Legacy Marketing Campaigns Contact Database |
| `retrieve-reserved-fields` | `sendgrid.retrieveReservedFields()` | — | 0 | Retrieve all reserved fields from the Legacy Marketing Campaigns Contact Database |
| `retrieve-reverse-dns-record` | `sendgrid.retrieveReverseDnsRecord()` | `--id` | 0 | Retrieves a specific reverse DNS (formerly IP Whitelabel) record by its ID |
| `retrieve-scheduled-send` | `sendgrid.retrieveScheduledSend()` | `--batch-id` | 0 | Retrieve the cancel/pause status of a scheduled email batch by its batch_id |
| `retrieve-single-campaign` | `sendgrid.retrieveSingleCampaign()` | `--campaign-id` | 0 | Retrieves a specific campaign from SendGrid's Legacy Marketing Campaigns by its ID |
| `retrieve-single-list` | `sendgrid.retrieveSingleList()` | `--id` | 1 | Retrieve detailed information about a specific marketing list by its unique ID |
| `retrieve-single-recipient` | `sendgrid.retrieveSingleRecipient()` | `--recipient-id` | 0 | Retrieve a single recipient by ID from the Legacy Marketing Campaigns contact database |
| `retrieve-single-segment-endpoint` | `sendgrid.retrieveSingleSegmentEndpoint()` | `--segment-id` | 1 | Retrieves detailed information about a specific Marketing Campaigns segment by its unique ID |
| `retrieve-single-transactional-template` | `sendgrid.retrieveSingleTransactionalTemplate()` | `--template-id` | 0 | Retrieves a single transactional template by its ID, including all associated template versions |
| `retrieve-specific-alert` | `sendgrid.retrieveSpecificAlert()` | `--alert-id` | 0 | Retrieve details for a specific SendGrid alert by its ID |
| `retrieve-specific-allowed-ip` | `sendgrid.retrieveSpecificAllowedIp()` | `--rule-id` | 0 | Retrieves details of a specific IP address from your SendGrid account's IP Access Management allow list using its unique rule ID |
| `retrieve-specific-block` | `sendgrid.retrieveSpecificBlock()` | `--email` | 1 | Retrieves details for a specific email address from your SendGrid blocks list |
| `retrieve-specific-invalid-email` | `sendgrid.retrieveSpecificInvalidEmail()` | `--email` | 0 | Retrieves details about a specific email address from SendGrid's invalid email suppression list |
| `retrieve-specific-parse-setting` | `sendgrid.retrieveSpecificParseSetting()` | `--hostname` | 0 | Retrieves a specific inbound parse webhook setting by hostname |
| `retrieve-specific-spam-report` | `sendgrid.retrieveSpecificSpamReport()` | `--email` | 0 | Retrieves a specific spam report by email address from SendGrid's suppression list |
| `retrieve-specific-teammate` | `sendgrid.retrieveSpecificTeammate()` | `--username` | 0 | Retrieves details of a specific SendGrid teammate by username |
| `retrieve-specific-transactional-template-version` | `sendgrid.retrieveSpecificTransactionalTemplateVersion()` | `--template-id` `--version-id` | 0 | Retrieves a specific version of a transactional template by its template ID and version ID |
| `retrieve-stats-by-specific-client-type` | `sendgrid.retrieveStatsBySpecificClientType()` | `--client-type` `--start-date` | 2 | Retrieve email statistics for a specific client type (phone, tablet, webmail, or desktop) |
| `retrieve-subscription-tracking-settings` | `sendgrid.retrieveSubscriptionTrackingSettings()` | — | 0 | Retrieves the current subscription tracking settings for your SendGrid account |
| `retrieve-subuser-reputations` | `sendgrid.retrieveSubuserReputations()` | — | 1 | Retrieves sender reputation scores (0-100) for subusers |
| `retrieve-subuser-s-branded-link` | `sendgrid.retrieveSubuserSBrandedLink()` | `--username` | 0 | Retrieve the branded link associated with a specific subuser |
| `retrieve-sums-of-email-stats-for-each-category` | `sendgrid.retrieveSumsOfEmailStatsForEachCategory()` | `--start-date` | 6 | Retrieve aggregated email statistics sums for each category over a date range |
| `retrieve-tracking-settings` | `sendgrid.retrieveTrackingSettings()` | — | 0 | This endpoint allows you to retrieve a list of all tracking settings on your account |
| `retrieve-user-s-authenticated-domains` | `sendgrid.retrieveUserSAuthenticatedDomains()` | `--username` | 0 | Retrieve authenticated domains (up to five) assigned to a specific subuser |
| `retrieve-your-account-email-address` | `sendgrid.retrieveYourAccountEmailAddress()` | — | 0 | Retrieves the email address currently on file for your SendGrid account |
| `retrieve-your-credit-balance` | `sendgrid.retrieveYourCreditBalance()` | — | 0 | Retrieves the current email credit balance for your SendGrid account |
| `retrieve-your-username` | `sendgrid.retrieveYourUsername()` | — | 0 | Retrieve your current SendGrid account username and user ID |
| `retrieves-inbound-parse-webhook-statistics` | `sendgrid.retrievesInboundParseWebhookStatistics()` | `--start-date` | 4 | Retrieve statistics for emails processed by SendGrid's Inbound Parse Webhook |
| `returns-list-of-all-partner-settings` | `sendgrid.returnsListOfAllPartnerSettings()` | — | 2 | Retrieve a paginated list of all partner settings that can be enabled for your SendGrid account |
| `schedule-campaign` | `sendgrid.scheduleCampaign()` | `--campaign-id` `--send-at` | 0 | Schedules a Legacy Marketing Campaigns email for delivery at a specific time |
| `schedule-single-send` | `sendgrid.scheduleSingleSend()` | `--id` `--send-at` | 0 | Schedule a Single Send for immediate or future delivery |
| `search-contacts` | `sendgrid.searchContacts()` | `--query` | 0 | Find contacts using this endpoint with a body containing a `query` in SGQL |
| `search-for-suppressions-within-group` | `sendgrid.searchForSuppressionsWithinGroup()` | `--group-id` `--recipient-emails` | 0 | This endpoint allows you to search a suppression group for multiple suppressions |
| `search-recipients` | `sendgrid.searchRecipients()` | `--field-name` `--field-value` | 0 | Search for recipients in the Legacy Marketing Campaigns contact database by field value |
| `send-campaign` | `sendgrid.sendCampaign()` | `--campaign-id` | 0 | Immediately sends an existing marketing campaign to its configured recipients |
| `send-email-with-twilio-send-grid` | `sendgrid.sendEmailWithTwilioSendGrid()` | `--personalizations` | 38 | The Mail Send operation uses SendGrid's v3 API to send emails |
| `send-test-campaign` | `sendgrid.sendTestCampaign()` | `--campaign-id` `--to` | 0 | Sends a test version of a marketing campaign to specified email addresses for review before sending to your full recipient list |
| `send-test-marketing-email` | `sendgrid.sendTestMarketingEmail()` | `--emails` `--template-id` | 5 | Send a test marketing email before launching a campaign |
| `set-up-reverse-dns` | `sendgrid.setUpReverseDns()` | `--domain` `--ip` | 1 | Set up reverse DNS (rDNS) for a dedicated IP address |
| `start-warming-up-ip-address` | `sendgrid.startWarmingUpIpAddress()` | `--ip` | 0 | Put a dedicated IP address into warmup mode |
| `stop-warming-up-ip-address` | `sendgrid.stopWarmingUpIpAddress()` | `--ip-address` | 0 | Stop warming up a dedicated IP address and remove automatic sending limits |
| `sum-email-stats-for-subusers` | `sendgrid.sumEmailStatsForSubusers()` | `--start-date` | 6 | Retrieves summed email statistics for all subusers over a date range |
| `test-event-webhook-s-settings` | `sendgrid.testEventWebhookSSettings()` | `--url` | 4 | Sends a test event notification to a specified URL to verify your webhook endpoint is properly configured to receive SendGrid events |
| `toggle-webhook-signature` | `sendgrid.toggleWebhookSignature()` | `--enabled` `--id` | 0 | Enable or disable signature verification for a single Event Webhook by its ID |
| `unlink-subuser-domain` | `sendgrid.unlinkSubuserDomain()` | `--domain-id` `--username` | 0 | Disassociate an authenticated domain from a subuser |
| `unschedule-scheduled-campaign` | `sendgrid.unscheduleScheduledCampaign()` | `--campaign-id` | 0 | Unschedule a campaign that has already been scheduled to be sent |
| `update-account-offerings` | `sendgrid.updateAccountOfferings()` | `--accountID` `--offerings` | 0 | Updates the offerings (email packages and add-ons) assigned to a customer account |
| `update-account-s-state` | `sendgrid.updateAccountSState()` | `--accountID` `--state` | 0 | Update the state of a customer account using the Account Provisioning API |
| `update-address-whitelist-mail-settings` | `sendgrid.updateAddressWhitelistMailSettings()` | — | 2 | Updates the address whitelist mail settings for your SendGrid account |
| `update-alert` | `sendgrid.updateAlert()` | `--alert-id` | 3 | Update an existing SendGrid alert's settings |
| `update-api-key-name` | `sendgrid.updateApiKeyName()` | `--api-key-id` `--name` | 0 | Updates the name of an existing SendGrid API key |
| `update-api-key-name-and-scopes` | `sendgrid.updateApiKeyNameAndScopes()` | `--api-key-id` `--name` `--scopes` | 0 | Updates both the name and permission scopes of an existing SendGrid API key |
| `update-authenticated-domain` | `sendgrid.updateAuthenticatedDomain()` | `--domain-id` | 2 | Updates the settings for an authenticated domain in SendGrid |
| `update-bounce-purge-mail-settings` | `sendgrid.updateBouncePurgeMailSettings()` | — | 4 | Update your Bounce Purge mail settings in SendGrid |
| `update-branded-link` | `sendgrid.updateBrandedLink()` | `--id` | 1 | Update a specific branded link's default status |
| `update-campaign` | `sendgrid.updateCampaign()` | `--campaign-id` | 5 | Updates an existing marketing campaign |
| `update-click-tracking-settings` | `sendgrid.updateClickTrackingSettings()` | — | 2 | Updates click tracking settings for your SendGrid account |
| `update-credits-for-subuser` | `sendgrid.updateCreditsForSubuser()` | `--subuser-name` `--type` | 2 | Update the credit allocation settings for a SendGrid Subuser |
| `update-custom-field-definition` | `sendgrid.updateCustomFieldDefinition()` | `--custom-field-id` `--name` | 0 | Updates the name of an existing custom field in SendGrid Marketing Contacts |
| `update-design` | `sendgrid.updateDesign()` | `--id` | 6 | Updates an existing email design in the SendGrid Design Library using PATCH |
| `update-details-for-ip-address` | `sendgrid.updateDetailsForIpAddress()` | `--ip` | 3 | Updates settings for a dedicated IP address in your SendGrid account |
| `update-enforced-tls-settings` | `sendgrid.updateEnforcedTlsSettings()` | — | 3 | Update the Enforced TLS settings for your SendGrid account |
| `update-footer-mail-settings` | `sendgrid.updateFooterMailSettings()` | — | 4 | Update your Footer mail settings in SendGrid |
| `update-forward-bounce-mail-settings` | `sendgrid.updateForwardBounceMailSettings()` | — | 2 | Updates the forward bounce mail settings for your SendGrid account |
| `update-forward-spam-mail-settings` | `sendgrid.updateForwardSpamMailSettings()` | — | 2 | Updates the Forward Spam mail settings for your SendGrid account |
| `update-google-analytics-settings` | `sendgrid.updateGoogleAnalyticsSettings()` | — | 6 | Updates Google Analytics tracking settings for your SendGrid account |
| `update-integration` | `sendgrid.updateIntegration()` | `--id` | 5 | Update an existing Marketing Integration by its unique ID |
| `update-ip-pool-name` | `sendgrid.updateIpPoolName()` | `--name` `--poolid` | 0 | Updates the name of an existing IP Pool in your SendGrid account |
| `update-list` | `sendgrid.updateList()` | `--id` | 1 | Update the name of an existing contact list in SendGrid Marketing Campaigns |
| `update-open-tracking-settings` | `sendgrid.updateOpenTrackingSettings()` | — | 1 | Updates open tracking settings for your SendGrid account |
| `update-parse-setting` | `sendgrid.updateParseSetting()` | `--hostname` | 4 | Updates an existing Inbound Parse Webhook setting by hostname |
| `update-remaining-credits-for-subuser` | `sendgrid.updateRemainingCreditsForSubuser()` | `--allocation-update` `--subuser-name` | 0 | Updates the remaining credits for a specific Subuser account by adding or subtracting from the current credit balance |
| `update-scheduled-campaign` | `sendgrid.updateScheduledCampaign()` | `--campaign-id` `--send-at` | 0 | Updates the scheduled send time for a Legacy Marketing Campaigns email |
| `update-scheduled-send` | `sendgrid.updateScheduledSend()` | `--batch-id` `--status` | 0 | Update the status of a scheduled send batch that already has a pause or cancel status |
| `update-segment` | `sendgrid.updateSegment()` | `--segment-id` | 2 | Updates an existing segment in SendGrid's Marketing Campaigns using the Segmentation V2 API |
| `update-sender` | `sendgrid.updateSender()` | `--id` | 11 | Updates an existing Sender identity for use in SendGrid Marketing Campaigns |
| `update-sender-identity` | `sendgrid.updateSenderIdentity()` | `--sender-id` | 11 | Updates an existing sender identity in SendGrid |
| `update-single-event-webhook-by-id` | `sendgrid.updateSingleEventWebhookById()` | `--id` | 18 | Updates the configuration of a specific Event Webhook by its ID |
| `update-single-send` | `sendgrid.updateSingleSend()` | `--id` | 16 | Update a Single Send draft by its ID |
| `update-sso-certificate` | `sendgrid.updateSsoCertificate()` | `--cert-id` | 3 | Update an existing SSO (Single Sign-On) certificate by its ID |
| `update-sso-integration` | `sendgrid.updateSsoIntegration()` | `--id` | 7 | Update an existing Single Sign-On (SSO) integration for your SendGrid account |
| `update-subscription-tracking-settings` | `sendgrid.updateSubscriptionTrackingSettings()` | — | 6 | Updates subscription tracking settings for your SendGrid account |
| `update-suppression-group` | `sendgrid.updateSuppressionGroup()` | `--group-id` | 3 | Updates an existing suppression group (also known as an unsubscribe group) |
| `update-teammate-s-permissions` | `sendgrid.updateTeammateSPermissions()` | `--is-admin` `--scopes` `--username` | 0 | Updates a teammate's permissions in your SendGrid account |
| `update-template-mail-settings` | `sendgrid.updateTemplateMailSettings()` | — | 2 | Updates the legacy email template mail settings for your SendGrid account |
| `update-user-s-profile` | `sendgrid.updateUserSProfile()` | — | 11 | Updates the authenticated user's profile information in SendGrid |
| `update-your-account-email-address` | `sendgrid.updateYourAccountEmailAddress()` | `--email` | 0 | Updates the email address currently on file for your SendGrid account |
| `update-your-password` | `sendgrid.updateYourPassword()` | `--new-password` `--old-password` | 0 | Update the password for your SendGrid account |
| `update-your-username` | `sendgrid.updateYourUsername()` | `--username` | 0 | Update the username for your SendGrid account |
| `validate-batch-id` | `sendgrid.validateBatchId()` | `--batch-id` | 0 | Validate whether a mail batch ID exists in SendGrid's system |
| `validate-branded-link` | `sendgrid.validateBrandedLink()` | `--id` | 1 | This endpoint allows you to validate a branded link |
| `validate-domain-authentication` | `sendgrid.validateDomainAuthentication()` | `--id` | 1 | This endpoint allows you to validate an authenticated domain |
| `validate-email` | `sendgrid.validateEmail()` | `--email` | 1 | Validates an email address and returns a verdict on its validity |
| `validate-reverse-dns-record` | `sendgrid.validateReverseDnsRecord()` | `--id` | 0 | Validate a reverse DNS (rDNS) record to check if DNS is properly configured |
| `verify-sender-request` | `sendgrid.verifySenderRequest()` | `--token` | 0 | Verifies a sender identity using a token from the verification email |
| `view-scheduled-time-of-campaign` | `sendgrid.viewScheduledTimeOfCampaign()` | `--campaign-id` | 0 | Retrieves the scheduled send date and time for a Legacy Marketing Campaign |
| `view-sender-identity` | `sendgrid.viewSenderIdentity()` | `--sender-id` | 0 | Retrieves the details of a specific Legacy Sender Identity by its unique ID |

## Docs

- [run CLI](https://docs.boxd.sh/cli/run): Call connected integrations from the shell, connect new ones, and run automations.
- [Quickstart](https://docs.boxd.sh/guides/integrations/quickstart): Connect an integration, call it from the shell, and turn a script into an automation.
- [Connections](https://docs.boxd.sh/guides/integrations/connections): Connect an account once, for yourself or for your whole organization.
- [Scripts](https://docs.boxd.sh/guides/automations/scripts): Typed integrations, triggers, schedules and state in a .run.ts file.
- [Jobs](https://docs.boxd.sh/guides/automations/jobs): How a script becomes a background job: states, retries, sleep and wake.
- [Beyond the catalog](https://docs.boxd.sh/guides/automations/beyond-the-catalog): Reach your own APIs, databases and cloud accounts from a script.
