# SendGrid Email Activity (beta) API

> SendGrid Email Activity (beta) API on Apizie: 334 endpoints (Retrieve all recent access attempts, Retrieve a list of currently allowed IPs, Add one or more IPs to the allow list, Remove one or more IPs from the allow list, …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://apizie.tech/v1/communication:sendgrid/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `communication:sendgrid`
- Category: Communication
- Status: byok
- Source: https://sendgrid.com/en-us
- Page: https://apizie.tech/api/communication/sendgrid
- OpenAPI: https://apizie.tech/api/communication/sendgrid/openapi.json

The Beta endpoints for the new Email Activity APIs - functionality is subject to change without notice. You may not have access to this Beta endpoint. Email Activity offers filtering and search by event type for two…

## Endpoints

### Retrieve all recent access attempts
`GET https://apizie.tech/v1/communication:sendgrid/ip-access-management-get-recent-access-attempts` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | no | Limits the number of IPs to return. |
| on-behalf-of | string | no |  |

### Retrieve a list of currently allowed IPs
`GET https://apizie.tech/v1/communication:sendgrid/ip-access-management-get-allowed-ips` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| on-behalf-of | string | no |  |

### Add one or more IPs to the allow list
`POST https://apizie.tech/v1/communication:sendgrid/ip-access-management-add-allowed-ips` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| on-behalf-of | string | no |  |
| body | object | no | JSON request body |

### Remove one or more IPs from the allow list
`POST https://apizie.tech/v1/communication:sendgrid/ip-access-management-remove-ip-addresses` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| on-behalf-of | string | no |  |
| body | object | no | JSON request body |

### Retrieve a specific allowed IP
`GET https://apizie.tech/v1/communication:sendgrid/ip-access-management-get-allowed-ip` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| rule_id | string | yes | The ID of the allowed IP address that you want to retrieve. |
| on-behalf-of | string | no |  |

### Remove a specific IP from the allowed list
`POST https://apizie.tech/v1/communication:sendgrid/ip-access-management-remove-specific-ip-from-allowed-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| rule_id | string | yes | The ID of the allowed IP address that you want to retrieve. |
| on-behalf-of | string | no |  |

### Retrieve all alerts
`GET https://apizie.tech/v1/communication:sendgrid/get-alerts` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| on-behalf-of | string | no |  |

### Create a new Alert
`POST https://apizie.tech/v1/communication:sendgrid/post-alerts` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| on-behalf-of | string | no |  |
| body | object | no | JSON request body |

### Retrieve a specific alert
`GET https://apizie.tech/v1/communication:sendgrid/alerts-get-specific-alert` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| alert_id | integer | yes | The ID of the alert you would like to retrieve. |
| on-behalf-of | string | no |  |

### Update an alert
`POST https://apizie.tech/v1/communication:sendgrid/alerts-update-alert` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| alert_id | integer | yes | The ID of the alert you would like to retrieve. |
| on-behalf-of | string | no |  |
| body | object | no | JSON request body |

### Delete an alert
`POST https://apizie.tech/v1/communication:sendgrid/alerts-delete-alert-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| alert_id | integer | yes | The ID of the alert you would like to retrieve. |
| on-behalf-of | string | no |  |

### Retrieve all API Keys belonging to the authenticated user
`GET https://apizie.tech/v1/communication:sendgrid/api-keys-get-all` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | no |  |
| on-behalf-of | string | no |  |

### Create API keys
`POST https://apizie.tech/v1/communication:sendgrid/api-keys-create-key` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| on-behalf-of | string | no |  |
| body | object | no | JSON request body |

### Retrieve an existing API Key
`GET https://apizie.tech/v1/communication:sendgrid/api-keys-get-by-key-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api_key_id | string | yes |  |
| on-behalf-of | string | no |  |

### Update API key name and scopes
`POST https://apizie.tech/v1/communication:sendgrid/api-keys-update-name-and-scopes` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api_key_id | string | yes |  |
| on-behalf-of | string | no |  |
| body | object | no | JSON request body |

### Update API key name
`POST https://apizie.tech/v1/communication:sendgrid/api-keys-update-key-name` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api_key_id | string | yes |  |
| on-behalf-of | string | no |  |
| body | object | no | JSON request body |

### Delete API keys
`POST https://apizie.tech/v1/communication:sendgrid/api-keys-revoke-key` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api_key_id | string | yes |  |
| on-behalf-of | string | no |  |

### Retrieve all suppression groups associated with the user.
`GET https://apizie.tech/v1/communication:sendgrid/suppressions-unsubscribe-groups-get-all` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | no |  |
| on-behalf-of | string | no |  |

### Create a new suppression group
`POST https://apizie.tech/v1/communication:sendgrid/suppressions-unsubscribe-groups-create-new-group` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| on-behalf-of | string | no |  |
| body | object | no | JSON request body |

### Get information on a single suppression group.
`GET https://apizie.tech/v1/communication:sendgrid/suppressions-unsubscribe-groups-get-single-group` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| group_id | string | yes | The ID of the suppression group you would like to retrieve. |
| on-behalf-of | string | no |  |

### Update a suppression group.
`POST https://apizie.tech/v1/communication:sendgrid/suppressions-unsubscribe-groups-update-group` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| group_id | string | yes | The ID of the suppression group you would like to retrieve. |
| on-behalf-of | string | no |  |
| body | object | no | JSON request body |

### Delete a Suppression Group
`POST https://apizie.tech/v1/communication:sendgrid/suppressions-unsubscribe-groups-delete-group` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| group_id | string | yes | The ID of the suppression group you would like to retrieve. |
| on-behalf-of | string | no |  |

### Retrieve all suppressions for a suppression group
`GET https://apizie.tech/v1/communication:sendgrid/suppressions-suppressions-get-all-suppressed-emails` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| group_id | string | yes | The id of the unsubscribe group that you are adding suppressions to. |
| on-behalf-of | string | no |  |

### Add suppressions to a suppression group
`POST https://apizie.tech/v1/communication:sendgrid/suppressions-suppressions-add-to-group` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| group_id | string | yes | The id of the unsubscribe group that you are adding suppressions to. |
| on-behalf-of | string | no |  |
| body | object | no | JSON request body |

### Search for suppressions within a group
`POST https://apizie.tech/v1/communication:sendgrid/suppressions-suppressions-search-within-group` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| group_id | string | yes | The ID of the suppression group that you would like to search. |
| on-behalf-of | string | no |  |
| body | object | no | JSON request body |

### Delete a suppression from a suppression group
`POST https://apizie.tech/v1/communication:sendgrid/suppressions-suppressions-remove-suppression-from-group` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| group_id | string | yes | The id of the suppression group that you are removing an email address from. |
| email | string | yes | The email address that you want to remove from the suppression group. |
| on-behalf-of | string | no |  |

### Retrieve all suppressions
`GET https://apizie.tech/v1/communication:sendgrid/suppressions-suppressions-get-all-suppressions` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| on-behalf-of | string | no |  |

### Add recipient addresses to the global suppression group.
`POST https://apizie.tech/v1/communication:sendgrid/suppressions-global-suppressions-add-recipient-addresses` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| on-behalf-of | string | no |  |
| body | object | no | JSON request body |

### Retrieve a Global Suppression
`GET https://apizie.tech/v1/communication:sendgrid/suppressions-global-suppressions-get-global-suppression` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| email | string | yes | The email address of the global suppression you want to retrieve. Or, if you want to check if an email address is on the global… |
| on-behalf-of | string | no |  |

### Delete a Global Suppression
`POST https://apizie.tech/v1/communication:sendgrid/suppressions-global-suppressions-remove-email` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| email | string | yes | The email address of the global suppression you want to retrieve. Or, if you want to check if an email address is on the global… |
| on-behalf-of | string | no |  |

### Retrieve all suppression groups for an email address
`GET https://apizie.tech/v1/communication:sendgrid/suppressions-suppressions-get-unsubscribe-groups-by-email` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| email | string | yes | The email address that you want to search suppression groups for. |
| on-behalf-of | string | no |  |

### Retrieve email statistics by browser.
`GET https://apizie.tech/v1/communication:sendgrid/stats-get-email-statistics-by-browser` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| browsers | string | no | The browsers to get statistics for. You can include up to 10 different browsers by including this parameter multiple times. |
| on-behalf-of | string | no |  |
| limit | integer | no | The number of results to return. |
| offset | integer | no | The point in the list to begin retrieving results. |
| aggregated_by | string | no | How to group the statistics. Must be either "day", "week", or "month". |
| start_date | string | yes | The starting date of the statistics to retrieve. Must follow format YYYY-MM-DD. |
| end_date | string | no | The end date of the statistics to retrieve. Defaults to today. Must follow format YYYY-MM-DD. |

### Retrieve all Campaigns
`GET https://apizie.tech/v1/communication:sendgrid/get-campaigns` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | no | The number of results you would like to receive at a time. |
| offset | integer | no | The index of the first campaign to return, where 0 is the first campaign. |
| on-behalf-of | string | no |  |

### Create a Campaign
`POST https://apizie.tech/v1/communication:sendgrid/post-campaigns` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| on-behalf-of | string | no |  |
| body | object | no | JSON request body |

### Retrieve a single campaign
`GET https://apizie.tech/v1/communication:sendgrid/campaigns-api-get-single-campaign` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| campaign_id | integer | yes | The id of the campaign you would like to retrieve. |
| on-behalf-of | string | no |  |

### Update a Campaign
`POST https://apizie.tech/v1/communication:sendgrid/campaigns-api-update-specific-campaign` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| campaign_id | integer | yes | The id of the campaign you would like to retrieve. |
| on-behalf-of | string | no |  |
| body | object | no | JSON request body |

### Delete a Campaign
`POST https://apizie.tech/v1/communication:sendgrid/campaigns-api-delete-campaign-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| campaign_id | integer | yes | The id of the campaign you would like to retrieve. |
| on-behalf-of | string | no |  |

### View Scheduled Time of a Campaign
`GET https://apizie.tech/v1/communication:sendgrid/campaigns-api-get-scheduled-time` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| campaign_id | integer | yes |  |
| on-behalf-of | string | no |  |

### Schedule a Campaign
`POST https://apizie.tech/v1/communication:sendgrid/campaigns-api-schedule-campaign` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| campaign_id | integer | yes |  |
| on-behalf-of | string | no |  |
| body | object | no | JSON request body |

### Update a Scheduled Campaign
`POST https://apizie.tech/v1/communication:sendgrid/campaigns-api-update-scheduled-time` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| campaign_id | integer | yes |  |
| on-behalf-of | string | no |  |
| body | object | no | JSON request body |

### Unschedule a Scheduled Campaign
`POST https://apizie.tech/v1/communication:sendgrid/campaigns-api-unschedule-campaign` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| campaign_id | integer | yes |  |
| on-behalf-of | string | no |  |

### Send a Campaign
`POST https://apizie.tech/v1/communication:sendgrid/campaigns-api-send-campaign-now` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| campaign_id | integer | yes |  |
| on-behalf-of | string | no |  |

### Send a Test Campaign
`POST https://apizie.tech/v1/communication:sendgrid/campaigns-api-send-test-campaign` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| campaign_id | integer | yes |  |
| on-behalf-of | string | no |  |
| body | object | no | JSON request body |

### Retrieve all categories
`GET https://apizie.tech/v1/communication:sendgrid/get-categories` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | no | The number of categories to display per page. |
| category | string | no | Allows you to perform a prefix search on this particular category. |
| offset | integer | no | The point in the list that you would like to begin displaying results. |
| on-behalf-of | string | no |  |

### Retrieve Email Statistics for Categories
`GET https://apizie.tech/v1/communication:sendgrid/categories-get-email-statistics-for` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| start_date | string | yes | The starting date of the statistics to retrieve. Must follow format YYYY-MM-DD |
| end_date | string | no | The end date of the statistics to retrieve. Defaults to today. Must follow format YYYY-MM-DD. |
| categories | string | yes | The individual categories that you want to retrieve statistics for. You may include up to 10 different categories. |
| limit | integer | no | The number of results to include. |
| offset | integer | no | The number of results to skip. |
| aggregated_by | string | no | How to group the statistics. Must be either "day", "week", or "month". |
| on-behalf-of | string | no |  |

### Retrieve sums of email stats for each category [Needs: Stats object defined, has category ID?]
`GET https://apizie.tech/v1/communication:sendgrid/categories-get-sums` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| sort_by_metric | string | no | The metric that you want to sort by. Must be a single metric. |
| sort_by_direction | string | no | The direction you want to sort. |
| start_date | string | yes | The starting date of the statistics to retrieve. Must follow format YYYY-MM-DD. |
| end_date | string | no | The end date of the statistics to retrieve. Defaults to today. Must follow format YYYY-MM-DD. |
| limit | integer | no | Limits the number of results returned. |
| offset | integer | no | The point in the list to begin retrieving results. |
| aggregated_by | string | no | How to group the statistics. Must be either "day", "week", or "month". |
| on-behalf-of | string | no |  |

### Retrieve email statistics by client type.
`GET https://apizie.tech/v1/communication:sendgrid/stats-get-email-statistics-by-client-type` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| on-behalf-of | string | no |  |
| start_date | string | yes | The starting date of the statistics to retrieve. Must follow format YYYY-MM-DD. |
| end_date | string | no | The end date of the statistics to retrieve. Defaults to today. Must follow format YYYY-MM-DD. |
| aggregated_by | string | no | How to group the statistics. Must be either "day", "week", or "month". |

### Retrieve stats by a specific client type.
`GET https://apizie.tech/v1/communication:sendgrid/stats-get-stats-by-client-type` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| client_type | string | yes | Specifies the type of client to retrieve stats for. Must be either "phone", "tablet", "webmail", or "desktop". |
| on-behalf-of | string | no |  |
| start_date | string | yes | The starting date of the statistics to retrieve. Must follow format YYYY-MM-DD. |
| end_date | string | no | The end date of the statistics to retrieve. Defaults to today. Must follow format YYYY-MM-DD. |
| aggregated_by | string | no | How to group the statistics. Must be either "day", "week", or "month". |

### Retrieve all custom fields
`GET https://apizie.tech/v1/communication:sendgrid/contacts-api-custom-fields-get-all` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| on-behalf-of | string | no |  |

### Create a Custom Field
`POST https://apizie.tech/v1/communication:sendgrid/contacts-api-custom-fields-create-new-field` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| on-behalf-of | string | no |  |
| body | object | no | JSON request body |

### Retrieve a Custom Field
`GET https://apizie.tech/v1/communication:sendgrid/contacts-api-custom-fields-get-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| custom_field_id | integer | yes | The ID of the custom field that you want to retrieve. |
| on-behalf-of | string | no |  |

### Delete a Custom Field
`POST https://apizie.tech/v1/communication:sendgrid/contacts-api-custom-fields-delete-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| custom_field_id | integer | yes | The ID of the custom field that you want to retrieve. |
| on-behalf-of | string | no |  |

### Retrieve all lists
`GET https://apizie.tech/v1/communication:sendgrid/contacts-api-lists-get-all-lists` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| on-behalf-of | string | no |  |

### Create a List
`POST https://apizie.tech/v1/communication:sendgrid/contacts-api-lists-create-new-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| on-behalf-of | string | no |  |
| body | object | no | JSON request body |

### Delete Multiple lists
`POST https://apizie.tech/v1/communication:sendgrid/contacts-api-lists-delete-multiple-lists` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| on-behalf-of | string | no |  |
| body | object | no | JSON request body |

### Retrieve a single list
`GET https://apizie.tech/v1/communication:sendgrid/contacts-api-lists-get-single-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| list_id | string | yes |  |
| list_id | integer | no | The ID of the list to retrieve. |
| on-behalf-of | string | no |  |

### Update a List
`POST https://apizie.tech/v1/communication:sendgrid/contacts-api-lists-update-list-name` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| list_id | string | yes |  |
| list_id | integer | yes | The ID of the list you are updating. |
| on-behalf-of | string | no |  |
| body | object | no | JSON request body |

### Delete a List
`POST https://apizie.tech/v1/communication:sendgrid/contacts-api-lists-delete-list-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| list_id | string | yes |  |
| delete_contacts | boolean | no | Adds the ability to delete all contacts on the list in addition to deleting the list. |
| on-behalf-of | string | no |  |
| body | object | no | JSON request body |

### Retrieve all recipients on a List
`GET https://apizie.tech/v1/communication:sendgrid/contacts-api-lists-get-all-recipients` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| list_id | integer | yes | The id of the list of recipients you want to retrieve. |
| page | integer | no | Page index of first recipient to return (must be a positive integer) |
| page_size | integer | no | Number of recipients to return at a time (must be a positive integer between 1 and 1000) |
| list_id | integer | yes | The ID of the list whose recipients you are requesting. |
| on-behalf-of | string | no |  |

### Add Multiple Recipients to a List
`POST https://apizie.tech/v1/communication:sendgrid/contacts-api-lists-add-multiple-recipients-to-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| list_id | integer | yes | The id of the list of recipients you want to retrieve. |
| on-behalf-of | string | no |  |
| body | object | no | JSON request body |

### Add a Single Recipient to a List
`POST https://apizie.tech/v1/communication:sendgrid/contacts-api-lists-add-single-recipient` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| list_id | integer | yes | The ID of the list that you want to add the recipient to. |
| recipient_id | string | yes | The ID of the recipient you are adding to the list. |
| on-behalf-of | string | no |  |

### Delete a Single Recipient from a Single List
`POST https://apizie.tech/v1/communication:sendgrid/contacts-api-lists-delete-recipient` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| list_id | integer | yes | The ID of the list that you want to add the recipient to. |
| recipient_id | string | yes | The ID of the recipient you are adding to the list. |
| list_id | integer | yes | The ID of the list you are taking this recipient away from. |
| recipient_id | integer | yes | The ID of the recipient to take off the list. |
| on-behalf-of | string | no |  |
| body | object | no | JSON request body |

### Retrieve recipients
`GET https://apizie.tech/v1/communication:sendgrid/contacts-api-recipients-get-all-recipients` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| page | integer | no | Page index of first recipients to return (must be a positive integer) |
| page_size | integer | no | Number of recipients to return at a time (must be a positive integer between 1 and 1000) |
| on-behalf-of | string | no |  |

### Add recipients
`POST https://apizie.tech/v1/communication:sendgrid/contacts-api-recipients-add-recipient` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| on-behalf-of | string | no |  |
| body | object | no | JSON request body |

### Update Recipient
`POST https://apizie.tech/v1/communication:sendgrid/contacts-api-recipients-update-multiple-recipients` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| on-behalf-of | string | no |  |
| body | object | no | JSON request body |

### Delete Recipients
`POST https://apizie.tech/v1/communication:sendgrid/contacts-api-recipients-delete-multiple-recipients` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| on-behalf-of | string | no |  |
| body | object | no | JSON request body |

### Retrieve the count of billable recipients
`GET https://apizie.tech/v1/communication:sendgrid/contacts-api-recipients-get-billable-count` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| on-behalf-of | string | no |  |

### Retrieve a Count of Recipients
`GET https://apizie.tech/v1/communication:sendgrid/contacts-api-recipients-get-count-of-recipients` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| on-behalf-of | string | no |  |

### Search recipients
`GET https://apizie.tech/v1/communication:sendgrid/contacts-api-recipients-search-recipient-by-field` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| {field_name} | string | no |  |
| on-behalf-of | string | no |  |

### Search recipients
`POST https://apizie.tech/v1/communication:sendgrid/contacts-api-recipients-search-by-segment-conditions` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Retrieve a single recipient
`GET https://apizie.tech/v1/communication:sendgrid/contacts-api-recipients-get-single-recipient` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| recipient_id | string | yes | The ID of the recipient that you want to retrieve. |
| on-behalf-of | string | no |  |

### Delete a Recipient
`POST https://apizie.tech/v1/communication:sendgrid/contacts-api-recipients-delete-recipient-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| recipient_id | string | yes | The ID of the recipient that you want to retrieve. |
| on-behalf-of | string | no |  |

### Retrieve the lists that a recipient is on
`GET https://apizie.tech/v1/communication:sendgrid/contacts-api-recipients-get-recipient-lists` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| recipient_id | string | yes | The ID of the recipient for whom you are retrieving lists. |
| on-behalf-of | string | no |  |

### Retrieve reserved fields
`GET https://apizie.tech/v1/communication:sendgrid/contacts-api-custom-fields-get-reserved-fields` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| on-behalf-of | string | no |  |

### Retrieve all segments
`GET https://apizie.tech/v1/communication:sendgrid/contacts-api-segments-get-all-segments` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| on-behalf-of | string | no |  |

### Create a Segment
`POST https://apizie.tech/v1/communication:sendgrid/contacts-api-segments-create-segment` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| on-behalf-of | string | no |  |
| body | object | no | JSON request body |

### Retrieve a segment
`GET https://apizie.tech/v1/communication:sendgrid/contacts-api-segments-get-segment-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| segment_id | string | yes |  |
| segment_id | integer | yes | The ID of the segment you want to request. |
| on-behalf-of | string | no |  |

### Update a segment
`POST https://apizie.tech/v1/communication:sendgrid/contacts-api-segments-update-segment` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| segment_id | string | yes |  |
| segment_id | string | no | The ID of the segment you are updating. |
| on-behalf-of | string | no |  |
| body | object | no | JSON request body |

### Delete a segment
`POST https://apizie.tech/v1/communication:sendgrid/contacts-api-segments-delete-segment` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| segment_id | string | yes |  |
| delete_contacts | boolean | no | True to delete all contacts matching the segment in addition to deleting the segment |
| on-behalf-of | string | no |  |
| body | object | no | JSON request body |

### Retrieve recipients on a segment
`GET https://apizie.tech/v1/communication:sendgrid/contacts-api-segments-get-segment-recipients` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| segment_id | integer | yes | The ID of the segment from which you want to retrieve recipients. |
| page | integer | no |  |
| page_size | integer | no |  |
| on-behalf-of | string | no |  |

### Get Recipient Upload Status
`GET https://apizie.tech/v1/communication:sendgrid/contacts-api-recipients-get-upload-status` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| on-behalf-of | string | no |  |

### List Designs
`GET https://apizie.tech/v1/communication:sendgrid/designs-api-get-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| page_size | integer | no | number of results to return |
| page_token | string | no | token corresponding to a specific page of results, as provided by metadata |
| summary | boolean | no | set to false to return all fields |

### Create Design
`POST https://apizie.tech/v1/communication:sendgrid/designs-api-create-design` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### List SendGrid Pre-built Designs
`GET https://apizie.tech/v1/communication:sendgrid/designs-api-list-pre-built-designs` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| page_size | integer | no | number of results to return |
| page_token | string | no | token corresponding to a specific page of results, as provided by metadata |
| summary | boolean | no | set to false to return all fields |

### Get SendGrid Pre-built Design
`GET https://apizie.tech/v1/communication:sendgrid/designs-api-get-single-pre-built-design` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The ID of the pre-built Design you want to duplicate. |

### Duplicate SendGrid Pre-built Design
`POST https://apizie.tech/v1/communication:sendgrid/designs-api-duplicate-pre-built-design` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The ID of the pre-built Design you want to duplicate. |
| body | object | no | JSON request body |

### Get Design
`GET https://apizie.tech/v1/communication:sendgrid/designs-api-get-single-design` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The ID of the Design you want to duplicate. |

### Duplicate Design
`POST https://apizie.tech/v1/communication:sendgrid/designs-api-duplicate-design` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The ID of the Design you want to duplicate. |
| body | object | no | JSON request body |

### Update Design
`POST https://apizie.tech/v1/communication:sendgrid/designs-api-update-design-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The ID of the Design you want to duplicate. |
| body | object | no | JSON request body |

### Delete Design
`POST https://apizie.tech/v1/communication:sendgrid/designs-api-delete-design-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The ID of the Design you want to duplicate. |

### Retrieve email statistics by device type.
`GET https://apizie.tech/v1/communication:sendgrid/stats-get-email-statistics-by-device-type` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| on-behalf-of | string | no |  |
| limit | integer | no | The number of results to return. |
| offset | integer | no | The point in the list to begin retrieving results. |
| aggregated_by | string | no | How to group the statistics. Must be either "day", "week", or "month". |
| start_date | string | yes | The starting date of the statistics to retrieve. Must follow format YYYY-MM-DD. |
| end_date | string | no | The end date of the statistics to retrieve. Defaults to today. Must follow format YYYY-MM-DD. |

### Retrieve email statistics by country and state/province.
`GET https://apizie.tech/v1/communication:sendgrid/stats-get-email-statistics-by-country-and-state-province` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| country | string | no | The country you would like to see statistics for. Currently only supported for US and CA. |
| on-behalf-of | string | no |  |
| limit | integer | no | The number of results to return. |
| offset | integer | no | The point in the list to begin retrieving results. |
| aggregated_by | string | no | How to group the statistics. Must be either "day", "week", or "month". |
| start_date | string | yes | The starting date of the statistics to retrieve. Must follow format YYYY-MM-DD. |
| end_date | string | no | The end date of the statistics to retrieve. Defaults to today. Must follow format YYYY-MM-DD. |

### Retrieve all IP addresses
`GET https://apizie.tech/v1/communication:sendgrid/get-ips` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| ip | string | no | The IP address to get |
| exclude_whitelabels | boolean | no | Should we exclude reverse DNS records (whitelabels)? |
| limit | integer | no | The number of IPs you want returned at the same time. |
| offset | integer | no | The offset for the number of IPs that you are requesting. |
| subuser | string | no | The subuser you are requesting for. |
| sort_by_direction | string | no | The direction to sort the results. |

### Add IPs
`POST https://apizie.tech/v1/communication:sendgrid/post-ips` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Retrieve all assigned IPs
`GET https://apizie.tech/v1/communication:sendgrid/ip-addresses-get-assigned-ips` (byok)

### Retrieve all IP pools
`GET https://apizie.tech/v1/communication:sendgrid/ip-pools-get-all` (byok)

### Create an IP pool
`POST https://apizie.tech/v1/communication:sendgrid/ip-pools-create-pool` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Retrieve all the IPs in a specified pool
`GET https://apizie.tech/v1/communication:sendgrid/ip-pools-get-pool-ips` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| pool_name | string | yes | The name of the IP pool that you want to retrieve the IP addresses for. |

### Rename an IP pool
`POST https://apizie.tech/v1/communication:sendgrid/ip-pools-update-name` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| pool_name | string | yes | The name of the IP pool that you want to retrieve the IP addresses for. |
| body | object | no | JSON request body |

### Delete an IP pool
`POST https://apizie.tech/v1/communication:sendgrid/ip-pools-delete-pool` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| pool_name | string | yes | The name of the IP pool that you want to retrieve the IP addresses for. |

### Add an IP address to a pool
`POST https://apizie.tech/v1/communication:sendgrid/ip-pools-add-ip-address-to-pool` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| pool_name | string | yes | The name of the IP pool you want to add the address to. If the name contains spaces, they must be URL encoded (e.g., "Test Pool" becomes… |
| body | object | no | JSON request body |

### Remove an IP address from a pool
`POST https://apizie.tech/v1/communication:sendgrid/ip-pools-remove-ip-address-from-pool` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| pool_name | string | yes | The name of the IP pool that you are removing the IP address from. |
| ip | string | yes | The IP address that you wish to remove. |

### Get remaining IPs count
`GET https://apizie.tech/v1/communication:sendgrid/ip-addresses-get-remaining-ips-count` (byok)

### Retrieve all IPs currently in warmup
`GET https://apizie.tech/v1/communication:sendgrid/ip-warmup-get-all-ips-warmup` (byok)

### Start warming up an IP address
`POST https://apizie.tech/v1/communication:sendgrid/ip-warmup-start-ip-address-warmup` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Retrieve the warmup status for a specific IP address
`GET https://apizie.tech/v1/communication:sendgrid/ip-warmup-get-warmup-status-for-ip-address` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| ip_address | string | yes | The IP address that you want to retrieve the warmup status for. |

### Stop warming up an IP address
`POST https://apizie.tech/v1/communication:sendgrid/ip-warmup-stop-ip-address-warmup` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| ip_address | string | yes | The IP address that you want to retrieve the warmup status for. |

### Retrieve all IP pools an IP address belongs to
`GET https://apizie.tech/v1/communication:sendgrid/ip-addresses-get-ip-pools-by-address` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| ip_address | string | yes | The IP address you are retrieving the IP pools for. |

### Create a batch ID
`POST https://apizie.tech/v1/communication:sendgrid/cancel-scheduled-sends-request` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| on-behalf-of | string | no |  |

### Validate batch ID
`GET https://apizie.tech/v1/communication:sendgrid/cancel-scheduled-sends-validate-batch-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| batch_id | string | yes |  |
| on-behalf-of | string | no |  |

### v3 Mail Send
`POST https://apizie.tech/v1/communication:sendgrid/mail-send-v3-email-send` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Retrieve all mail settings
`GET https://apizie.tech/v1/communication:sendgrid/settings-mail-get-all-mail-settings` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | no | The number of settings to return. |
| offset | integer | no | Where in the list of results to begin displaying settings. |
| on-behalf-of | string | no |  |

### Retrieve address whitelist mail settings
`GET https://apizie.tech/v1/communication:sendgrid/settings-mail-get-address-whitelist-mail-settings` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| on-behalf-of | string | no |  |

### Update address whitelist mail settings
`POST https://apizie.tech/v1/communication:sendgrid/settings-mail-update-address-whitelist-mail-settings` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| on-behalf-of | string | no |  |
| body | object | no | JSON request body |

### Retrieve bounce purge mail settings
`GET https://apizie.tech/v1/communication:sendgrid/settings-mail-get-bounce-purge-settings` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| on-behalf-of | string | no |  |

### Update bounce purge mail settings
`POST https://apizie.tech/v1/communication:sendgrid/settings-mail-update-bounce-purge-settings` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| on-behalf-of | string | no |  |
| body | object | no | JSON request body |

### Retrieve footer mail settings
`GET https://apizie.tech/v1/communication:sendgrid/settings-mail-get-footer-mail-settings` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| on-behalf-of | string | no |  |

### Update footer mail settings
`POST https://apizie.tech/v1/communication:sendgrid/settings-mail-update-footer-mail-settings` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| on-behalf-of | string | no |  |
| body | object | no | JSON request body |

### Retrieve forward bounce mail settings
`GET https://apizie.tech/v1/communication:sendgrid/settings-mail-get-forward-bounce-mail-settings` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| on-behalf-of | string | no |  |

### Update forward bounce mail settings
`POST https://apizie.tech/v1/communication:sendgrid/settings-mail-update-forward-bounce-settings` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| on-behalf-of | string | no |  |
| body | object | no | JSON request body |

…and 214 more. See the OpenAPI spec.

## Example
```
curl "https://apizie.tech/v1/communication:sendgrid/ip-access-management-get-recent-access-attempts" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the SendGrid Email Activity (beta) API?
Create a free Apizie key, then send GET https://apizie.tech/v1/communication:sendgrid/ip-access-management-get-recent-access-attempts with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the SendGrid Email Activity (beta) API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. SendGrid Email Activity (beta) itself also needs your own key from api.sendgrid.com.

### Can AI agents use the SendGrid Email Activity (beta) API?
Yes. Add the Apizie MCP server (https://apizie.tech/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key communication:sendgrid.

### What is the status of the SendGrid Email Activity (beta) API?
Needs your own provider key (bring your own key)
