pub struct SendgridClient { /* private fields */ }
Implementations§
Source§impl SendgridClient
impl SendgridClient
pub fn new(url: &str, authentication: SendgridAuthentication) -> Self
pub fn with_authentication(self, authentication: SendgridAuthentication) -> Self
pub fn authenticate<'a>(&self, r: RequestBuilder<'a>) -> RequestBuilder<'a>
pub fn with_middleware<M: Middleware + 'static>(self, middleware: M) -> Self
Sourcepub fn get_access_settings_activity(
&self,
) -> GetAccessSettingsActivityRequest<'_>
pub fn get_access_settings_activity( &self, ) -> GetAccessSettingsActivityRequest<'_>
Retrieve all recent access attempts
This endpoint allows you to retrieve a list of all of the IP addresses that recently attempted to access your account either through the User Interface or the API.*
Sourcepub fn get_access_settings_whitelist(
&self,
) -> GetAccessSettingsWhitelistRequest<'_>
pub fn get_access_settings_whitelist( &self, ) -> GetAccessSettingsWhitelistRequest<'_>
Retrieve a list of currently allowed IPs
This endpoint allows you to retrieve a list of IP addresses that are currently allowed to access your account.
Each IP address returned to you will have created_at
and updated_at
dates. Each IP will also be associated with an id
that can be used to remove the address from your allow list.
Sourcepub fn post_access_settings_whitelist(
&self,
ips: Vec<Value>,
) -> PostAccessSettingsWhitelistRequest<'_>
pub fn post_access_settings_whitelist( &self, ips: Vec<Value>, ) -> PostAccessSettingsWhitelistRequest<'_>
Add one or more IPs to the allow list
This endpoint allows you to add one or more allowed IP addresses.
To allow one or more IP addresses, pass them to this endpoint in an array. Once an IP address is added to your allow list, it will be assigned an id
that can be used to remove the address. You can retrieve the ID associated with an IP using the “Retrieve a list of currently allowed IPs” endpoint.
Sourcepub fn delete_access_settings_whitelist(
&self,
) -> DeleteAccessSettingsWhitelistRequest<'_>
pub fn delete_access_settings_whitelist( &self, ) -> DeleteAccessSettingsWhitelistRequest<'_>
Remove one or more IPs from the allow list
This endpoint allows you to remove one or more IP addresses from your list of allowed addresses.
To remove one or more IP addresses, pass this endpoint an array containing the ID(s) associated with the IP(s) you intend to remove. You can retrieve the IDs associated with your allowed IP addresses using the “Retrieve a list of currently allowed IPs” endpoint.
It is possible to remove your own IP address, which will block access to your account. You will need to submit a support ticket if this happens. For this reason, it is important to double check that you are removing only the IPs you intend to remove when using this endpoint.
Sourcepub fn get_access_settings_whitelist_rule_id(
&self,
rule_id: &str,
) -> GetAccessSettingsWhitelistRuleIdRequest<'_>
pub fn get_access_settings_whitelist_rule_id( &self, rule_id: &str, ) -> GetAccessSettingsWhitelistRuleIdRequest<'_>
Retrieve a specific allowed IP
This endpoint allows you to retreive a specific IP address that has been allowed to access your account.
You must include the ID for the specific IP address you want to retrieve in your call. You can retrieve the IDs associated with your allowed IP addresses using the “Retrieve a list of currently allowed IPs” endpoint.
Sourcepub fn delete_access_settings_whitelist_rule_id(
&self,
rule_id: &str,
) -> DeleteAccessSettingsWhitelistRuleIdRequest<'_>
pub fn delete_access_settings_whitelist_rule_id( &self, rule_id: &str, ) -> DeleteAccessSettingsWhitelistRuleIdRequest<'_>
Remove a specific IP from the allowed list
This endpoint allows you to remove a specific IP address from your list of allowed addresses.
When removing a specific IP address from your list, you must include the ID in your call. You can retrieve the IDs associated with your allowed IP addresses using the “Retrieve a list of currently allowed IPs” endpoint.
Sourcepub fn get_alerts(&self) -> GetAlertsRequest<'_>
pub fn get_alerts(&self) -> GetAlertsRequest<'_>
Retrieve all alerts
This endpoint allows you to retrieve all of your alerts.
Alerts allow you to specify an email address to receive notifications regarding your email usage or statistics.
- Usage alerts allow you to set the threshold at which an alert will be sent.
- Stats notifications allow you to set how frequently you would like to receive email statistics reports. For example, “daily”, “weekly”, or “monthly”.
For more information about alerts, please see our Alerts documentation.
Sourcepub fn post_alerts(&self, type_: &str) -> PostAlertsRequest<'_>
pub fn post_alerts(&self, type_: &str) -> PostAlertsRequest<'_>
Create a new Alert
This endpoint allows you to create a new alert.
Alerts allow you to specify an email address to receive notifications regarding your email usage or statistics. There are two types of alerts that can be created with this endpoint:
usage_limit
allows you to set the threshold at which an alert will be sent.stats_notification
allows you to set how frequently you would like to receive email statistics reports. For example, “daily”, “weekly”, or “monthly”.
For more information about alerts, please see our Alerts documentation.
Sourcepub fn get_alerts_alert_id(&self, alert_id: i64) -> GetAlertsAlertIdRequest<'_>
pub fn get_alerts_alert_id(&self, alert_id: i64) -> GetAlertsAlertIdRequest<'_>
Retrieve a specific alert
This endpoint allows you to retrieve a specific alert.
Alerts allow you to specify an email address to receive notifications regarding your email usage or statistics.
- Usage alerts allow you to set the threshold at which an alert will be sent.
- Stats notifications allow you to set how frequently you would like to receive email statistics reports. For example, “daily”, “weekly”, or “monthly”.
For more information about alerts, please see our Alerts documentation.
Sourcepub fn delete_alerts_alert_id(
&self,
alert_id: i64,
) -> DeleteAlertsAlertIdRequest<'_>
pub fn delete_alerts_alert_id( &self, alert_id: i64, ) -> DeleteAlertsAlertIdRequest<'_>
Delete an alert
This endpoint allows you to delete an alert.
Alerts allow you to specify an email address to receive notifications regarding your email usage or statistics.
- Usage alerts allow you to set the threshold at which an alert will be sent.
- Stats notifications allow you to set how frequently you would like to receive email statistics reports. For example, “daily”, “weekly”, or “monthly”.
For more information about alerts, please see our Alerts documentation.
Sourcepub fn patch_alerts_alert_id(
&self,
alert_id: i64,
) -> PatchAlertsAlertIdRequest<'_>
pub fn patch_alerts_alert_id( &self, alert_id: i64, ) -> PatchAlertsAlertIdRequest<'_>
Update an alert
This endpoint allows you to update an alert.
Alerts allow you to specify an email address to receive notifications regarding your email usage or statistics.
- Usage alerts allow you to set the threshold at which an alert will be sent.
- Stats notifications allow you to set how frequently you would like to receive email statistics reports. For example, “daily”, “weekly”, or “monthly”.
For more information about alerts, please see our Alerts documentation.
Sourcepub fn get_api_keys(&self) -> GetApiKeysRequest<'_>
pub fn get_api_keys(&self) -> GetApiKeysRequest<'_>
Retrieve all API Keys belonging to the authenticated user
This endpoint allows you to retrieve all API Keys that belong to the authenticated user.
A successful response from this API will include all available API keys’ names and IDs.
For security reasons, there is not a way to retrieve the key itself after it’s created. If you lose your API key, you must create a new one. Only the “Create API keys” endpoint will return a key to you and only at the time of creation.
An api_key_id
can be used to update or delete the key, as well as retrieve the key’s details, such as its scopes.
Sourcepub fn create_api_keys(&self, name: &str) -> CreateApiKeysRequest<'_>
pub fn create_api_keys(&self, name: &str) -> CreateApiKeysRequest<'_>
Create API keys
This endpoint allows you to create a new API Key for the user.
To create your initial SendGrid API Key, you should use the SendGrid App. Once you have created a first key with scopes to manage additional API keys, you can use this API for all other key management.
There is a limit of 100 API Keys on your account.
A JSON request body containing a name
property is required when making requests to this endpoint. If the number of maximum keys, 100, is reached, a 403
status will be returned.
Though the name
field is required, it does not need to be unique. A unique API key ID will be generated for each key you create and returned in the response body.
It is not necessary to pass a scopes
field to the API when creating a key, but you should be aware that omitting the scopes
field from your request will create a key with “Full Access” permissions by default.
See the API Key Permissions List for all available scopes. An API key’s scopes can be updated after creation using the “Update API keys” endpoint.
Sourcepub fn get_api_keys_api_key_id(
&self,
api_key_id: &str,
) -> GetApiKeysApiKeyIdRequest<'_>
pub fn get_api_keys_api_key_id( &self, api_key_id: &str, ) -> GetApiKeysApiKeyIdRequest<'_>
Retrieve an existing API Key
This endpoint allows you to retrieve a single API key using an api_key_id
.
The endpoint will return a key’s name, ID, and scopes. If the API Key ID does not, exist a 404
status will be returned.
See the API Key Permissions List for all available scopes. An API key’s scopes can be updated after creation using the “Update API keys” endpoint.
Sourcepub fn put_api_keys_api_key_id(
&self,
api_key_id: &str,
name: &str,
) -> PutApiKeysApiKeyIdRequest<'_>
pub fn put_api_keys_api_key_id( &self, api_key_id: &str, name: &str, ) -> PutApiKeysApiKeyIdRequest<'_>
Update API key name and scopes
This endpoint allows you to update the name and scopes of a given API key.
You must pass this endpoint a JSON request body with a name
field and a scopes
array containing at least one scope. The name
and scopes
fields will be used to update the key associated with the api_key_id
in the request URL.
If you need to update a key’s scopes only, pass the name
field with the key’s existing name; the name
will not be modified. If you need to update a key’s name only, use the “Update API key name” endpoint.
See the API Key Permissions List for all available scopes.
Sourcepub fn delete_api_keys_api_key_id(
&self,
api_key_id: &str,
) -> DeleteApiKeysApiKeyIdRequest<'_>
pub fn delete_api_keys_api_key_id( &self, api_key_id: &str, ) -> DeleteApiKeysApiKeyIdRequest<'_>
Delete API keys
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. If the API Key ID does not exist, a 404
status will be returned.
Sourcepub fn patch_api_keys_api_key_id(
&self,
api_key_id: &str,
name: &str,
) -> PatchApiKeysApiKeyIdRequest<'_>
pub fn patch_api_keys_api_key_id( &self, api_key_id: &str, name: &str, ) -> PatchApiKeysApiKeyIdRequest<'_>
Update API key name
This endpoint allows you to update the name of an existing API Key.
You must pass this endpoint a JSON request body with a name
property, which will be used to rename the key associated with the api_key_id
passed in the URL.
Sourcepub fn get_asm_groups(&self) -> GetAsmGroupsRequest<'_>
pub fn get_asm_groups(&self) -> GetAsmGroupsRequest<'_>
Retrieve all suppression groups associated with the user.
This endpoint allows you to retrieve a list of all suppression groups created by this user.
This endpoint can also return information for multiple group IDs that you include in your request. To add a group ID to your request, simply append ?id=123456&id=123456
, with the appropriate group IDs.
Sourcepub fn post_asm_groups(&self) -> PostAsmGroupsRequest<'_>
pub fn post_asm_groups(&self) -> PostAsmGroupsRequest<'_>
Create a new suppression group
This endpoint allows you to create a new suppression group.
To add an email address to the suppression group, create a Suppression.
Sourcepub fn get_asm_groups_group_id(
&self,
group_id: &str,
) -> GetAsmGroupsGroupIdRequest<'_>
pub fn get_asm_groups_group_id( &self, group_id: &str, ) -> GetAsmGroupsGroupIdRequest<'_>
Get information on a single suppression group.
This endpoint allows you to retrieve a single suppression group.*
Sourcepub fn delete_asm_groups_group_id(
&self,
group_id: &str,
) -> DeleteAsmGroupsGroupIdRequest<'_>
pub fn delete_asm_groups_group_id( &self, group_id: &str, ) -> DeleteAsmGroupsGroupIdRequest<'_>
Delete a Suppression Group
This endpoint allows you to delete a suppression group.
If a recipient uses the “one-click unsubscribe” option on an email associated with a deleted group, that recipient will be added to the global suppression list.
Deleting a suppression group will remove the suppression, meaning email will once again be sent to the previously suppressed addresses. This should be avoided unless a recipient indicates they wish to receive email from you again. You can use our bypass filters to deliver messages to otherwise suppressed addresses when exceptions are required.
Sourcepub fn patch_asm_groups_group_id(
&self,
args: PatchAsmGroupsGroupIdRequired<'_>,
) -> PatchAsmGroupsGroupIdRequest<'_>
pub fn patch_asm_groups_group_id( &self, args: PatchAsmGroupsGroupIdRequired<'_>, ) -> PatchAsmGroupsGroupIdRequest<'_>
Update a suppression group.
This endpoint allows you to update or change a suppression group.*
Sourcepub fn get_asm_groups_group_id_suppressions(
&self,
group_id: &str,
) -> GetAsmGroupsGroupIdSuppressionsRequest<'_>
pub fn get_asm_groups_group_id_suppressions( &self, group_id: &str, ) -> GetAsmGroupsGroupIdSuppressionsRequest<'_>
Retrieve all suppressions for a suppression group
This endpoint allows you to retrieve all suppressed email addresses belonging to the given group.*
Sourcepub fn post_asm_groups_group_id_suppressions(
&self,
group_id: &str,
recipient_emails: &[&str],
) -> PostAsmGroupsGroupIdSuppressionsRequest<'_>
pub fn post_asm_groups_group_id_suppressions( &self, group_id: &str, recipient_emails: &[&str], ) -> PostAsmGroupsGroupIdSuppressionsRequest<'_>
Add suppressions to a suppression group
This endpoint allows you to add email addresses to an unsubscribe group.
If you attempt to add suppressions to a group that has been deleted or does not exist, the suppressions will be added to the global suppressions list.
Sourcepub fn post_asm_groups_group_id_suppressions_search(
&self,
group_id: &str,
recipient_emails: &[&str],
) -> PostAsmGroupsGroupIdSuppressionsSearchRequest<'_>
pub fn post_asm_groups_group_id_suppressions_search( &self, group_id: &str, recipient_emails: &[&str], ) -> PostAsmGroupsGroupIdSuppressionsSearchRequest<'_>
Search for suppressions within a group
This endpoint allows you to search a suppression group for multiple suppressions.
When given a list of email addresses and a group ID, this endpoint will only return the email addresses that have been unsubscribed from the given group.
Sourcepub fn delete_asm_groups_group_id_suppressions_email(
&self,
group_id: &str,
email: &str,
) -> DeleteAsmGroupsGroupIdSuppressionsEmailRequest<'_>
pub fn delete_asm_groups_group_id_suppressions_email( &self, group_id: &str, email: &str, ) -> DeleteAsmGroupsGroupIdSuppressionsEmailRequest<'_>
Delete a suppression from a suppression group
This endpoint allows you to remove a suppressed email address from the given suppression group.
Removing an address will remove the suppression, meaning email will once again be sent to the previously suppressed addresses. This should be avoided unless a recipient indicates they wish to receive email from you again. You can use our bypass filters to deliver messages to otherwise suppressed addresses when exceptions are required.
Sourcepub fn get_asm_suppressions(&self) -> GetAsmSuppressionsRequest<'_>
pub fn get_asm_suppressions(&self) -> GetAsmSuppressionsRequest<'_>
Retrieve all suppressions
This endpoint allows you to retrieve a list of all suppressions.*
Sourcepub fn post_asm_suppressions_global(
&self,
recipient_emails: &[&str],
) -> PostAsmSuppressionsGlobalRequest<'_>
pub fn post_asm_suppressions_global( &self, recipient_emails: &[&str], ) -> PostAsmSuppressionsGlobalRequest<'_>
Add recipient addresses to the global suppression group.
This endpoint allows you to add one or more email addresses to the global suppressions group.*
Sourcepub fn get_asm_suppressions_global_email(
&self,
email: &str,
) -> GetAsmSuppressionsGlobalEmailRequest<'_>
pub fn get_asm_suppressions_global_email( &self, email: &str, ) -> GetAsmSuppressionsGlobalEmailRequest<'_>
Retrieve a Global Suppression
This endpoint allows you to retrieve a global suppression. You can also use this endpoint to confirm if an email address is already globally suppresed.
If the email address you include in the URL path parameter {email}
is already globally suppressed, the response will include that email address. If the address you enter for {email}
is not globally suppressed, an empty JSON object {}
will be returned.
Sourcepub fn delete_asm_suppressions_global_email(
&self,
email: &str,
) -> DeleteAsmSuppressionsGlobalEmailRequest<'_>
pub fn delete_asm_suppressions_global_email( &self, email: &str, ) -> DeleteAsmSuppressionsGlobalEmailRequest<'_>
Delete a Global Suppression
This endpoint allows you to remove an email address from the global suppressions group.
Deleting a suppression group will remove the suppression, meaning email will once again be sent to the previously suppressed addresses. This should be avoided unless a recipient indicates they wish to receive email from you again. You can use our bypass filters to deliver messages to otherwise suppressed addresses when exceptions are required.
Sourcepub fn get_asm_suppressions_email(
&self,
email: &str,
) -> GetAsmSuppressionsEmailRequest<'_>
pub fn get_asm_suppressions_email( &self, email: &str, ) -> GetAsmSuppressionsEmailRequest<'_>
Retrieve all suppression groups for an email address
This endpoint returns a list of all groups from which the given email address has been unsubscribed.*
Sourcepub fn get_browsers_stats(
&self,
start_date: &str,
) -> GetBrowsersStatsRequest<'_>
pub fn get_browsers_stats( &self, start_date: &str, ) -> GetBrowsersStatsRequest<'_>
Retrieve email statistics by browser.
This endpoint allows you to retrieve your email statistics segmented by browser type.
We only store up to 7 days of email activity in our database. By default, 500 items will be returned per request via the Advanced Stats API endpoints.
Advanced Stats provide a more in-depth view of your email statistics and the actions taken by your recipients. You can segment these statistics by geographic location, device type, client type, browser, and mailbox provider. For more information about statistics, please see our Statistics Overview.
Sourcepub fn get_campaigns(&self) -> GetCampaignsRequest<'_>
pub fn get_campaigns(&self) -> GetCampaignsRequest<'_>
Retrieve all Campaigns
This endpoint allows you to retrieve a list of all of your campaigns.
Returns campaigns in reverse order they were created (newest first).
Returns an empty array if no campaigns exist.
Sourcepub fn post_campaigns(&self, title: &str) -> PostCampaignsRequest<'_>
pub fn post_campaigns(&self, title: &str) -> PostCampaignsRequest<'_>
Create a Campaign
This endpoint allows you to create a campaign.
In order to send or schedule the campaign, you will be required to provide a subject, sender ID, content (we suggest both html and plain text), and at least one list or segment ID. This information is not required when you create a campaign.
Sourcepub fn get_campaigns_campaign_id(
&self,
campaign_id: i64,
) -> GetCampaignsCampaignIdRequest<'_>
pub fn get_campaigns_campaign_id( &self, campaign_id: i64, ) -> GetCampaignsCampaignIdRequest<'_>
Retrieve a single campaign
This endpoint allows you to retrieve a specific campaign.*
Sourcepub fn delete_campaigns_campaign_id(
&self,
campaign_id: i64,
) -> DeleteCampaignsCampaignIdRequest<'_>
pub fn delete_campaigns_campaign_id( &self, campaign_id: i64, ) -> DeleteCampaignsCampaignIdRequest<'_>
Delete a Campaign
This endpoint allows you to delete a specific campaign.*
Sourcepub fn patch_campaigns_campaign_id(
&self,
args: PatchCampaignsCampaignIdRequired<'_>,
) -> PatchCampaignsCampaignIdRequest<'_>
pub fn patch_campaigns_campaign_id( &self, args: PatchCampaignsCampaignIdRequired<'_>, ) -> PatchCampaignsCampaignIdRequest<'_>
Update a Campaign
This endpoint allows you to update a specific campaign.
This is especially useful if you only set up the campaign using POST /campaigns, but didn’t set many of the parameters.
Sourcepub fn get_campaigns_campaign_id_schedules(
&self,
campaign_id: i64,
) -> GetCampaignsCampaignIdSchedulesRequest<'_>
pub fn get_campaigns_campaign_id_schedules( &self, campaign_id: i64, ) -> GetCampaignsCampaignIdSchedulesRequest<'_>
View Scheduled Time of a Campaign
This endpoint allows you to retrieve the date and time that a campaign has been scheduled to be sent.*
Sourcepub fn post_campaigns_campaign_id_schedules(
&self,
campaign_id: i64,
send_at: i64,
) -> PostCampaignsCampaignIdSchedulesRequest<'_>
pub fn post_campaigns_campaign_id_schedules( &self, campaign_id: i64, send_at: i64, ) -> PostCampaignsCampaignIdSchedulesRequest<'_>
Schedule a Campaign
This endpoint allows you to schedule a specific date and time for your campaign to be sent.
If you have the flexibility, it’s better to schedule mail for off-peak times. Most emails are scheduled and sent at the top of the hour or half hour. Scheduling email to avoid those times (for example, scheduling at 10:53) can result in lower deferral rates because it won’t be going through our servers at the same times as everyone else’s mail.
Sourcepub fn delete_campaigns_campaign_id_schedules(
&self,
campaign_id: i64,
) -> DeleteCampaignsCampaignIdSchedulesRequest<'_>
pub fn delete_campaigns_campaign_id_schedules( &self, campaign_id: i64, ) -> DeleteCampaignsCampaignIdSchedulesRequest<'_>
Unschedule a Scheduled Campaign
This endpoint allows you to unschedule a campaign that has already been scheduled to be sent.
A successful unschedule will return a 204. If the specified campaign is in the process of being sent, the only option is to cancel (a different method).
Sourcepub fn patch_campaigns_campaign_id_schedules(
&self,
campaign_id: i64,
send_at: i64,
) -> PatchCampaignsCampaignIdSchedulesRequest<'_>
pub fn patch_campaigns_campaign_id_schedules( &self, campaign_id: i64, send_at: i64, ) -> PatchCampaignsCampaignIdSchedulesRequest<'_>
Update a Scheduled Campaign
This endpoint allows to you change the scheduled time and date for a campaign to be sent.*
Sourcepub fn post_campaigns_campaign_id_schedules_now(
&self,
campaign_id: i64,
) -> PostCampaignsCampaignIdSchedulesNowRequest<'_>
pub fn post_campaigns_campaign_id_schedules_now( &self, campaign_id: i64, ) -> PostCampaignsCampaignIdSchedulesNowRequest<'_>
Send a Campaign
This endpoint allows you to immediately send an existing campaign.
Normally a POST request would have a body, but since this endpoint is telling us to send a resource that is already created, a request body is not needed.
Sourcepub fn post_campaigns_campaign_id_schedules_test(
&self,
campaign_id: i64,
to: &str,
) -> PostCampaignsCampaignIdSchedulesTestRequest<'_>
pub fn post_campaigns_campaign_id_schedules_test( &self, campaign_id: i64, to: &str, ) -> PostCampaignsCampaignIdSchedulesTestRequest<'_>
Send a Test Campaign
This endpoint allows you to send a test campaign.
To send to multiple addresses, use an array for the JSON “to” value [“one@address”,“two@address”]
Sourcepub fn get_categories(&self) -> GetCategoriesRequest<'_>
pub fn get_categories(&self) -> GetCategoriesRequest<'_>
Retrieve all categories
This endpoint allows you to retrieve a list of all of your categories.*
Sourcepub fn get_categories_stats(
&self,
start_date: &str,
categories: &str,
) -> GetCategoriesStatsRequest<'_>
pub fn get_categories_stats( &self, start_date: &str, categories: &str, ) -> GetCategoriesStatsRequest<'_>
Retrieve Email Statistics for Categories
This endpoint allows you to retrieve all of your email statistics for each of your categories.
If you do not define any query parameters, this endpoint will return a sum for each category in groups of 10.
Sourcepub fn get_categories_stats_sums(
&self,
start_date: &str,
) -> GetCategoriesStatsSumsRequest<'_>
pub fn get_categories_stats_sums( &self, start_date: &str, ) -> GetCategoriesStatsSumsRequest<'_>
Retrieve sums of email stats for each category.
This endpoint allows you to retrieve the total sum of each email statistic for every category over the given date range.
If you do not define any query parameters, this endpoint will return a sum for each category in groups of 10.
Sourcepub fn get_clients_stats(&self, start_date: &str) -> GetClientsStatsRequest<'_>
pub fn get_clients_stats(&self, start_date: &str) -> GetClientsStatsRequest<'_>
Retrieve email statistics by client type.
This endpoint allows you to retrieve your email statistics segmented by client type.
We only store up to 7 days of email activity in our database. By default, 500 items will be returned per request via the Advanced Stats API endpoints.
Advanced Stats provide a more in-depth view of your email statistics and the actions taken by your recipients. You can segment these statistics by geographic location, device type, client type, browser, and mailbox provider. For more information about statistics, please see our Statistics Overview.
Sourcepub fn get_clients_client_type_stats(
&self,
start_date: &str,
client_type: &str,
) -> GetClientsClientTypeStatsRequest<'_>
pub fn get_clients_client_type_stats( &self, start_date: &str, client_type: &str, ) -> GetClientsClientTypeStatsRequest<'_>
Retrieve stats by a specific client type.
This endpoint allows you to retrieve your email statistics segmented by a specific client type.
We only store up to 7 days of email activity in our database. By default, 500 items will be returned per request via the Advanced Stats API endpoints.
§Available Client Types
- phone
- tablet
- webmail
- desktop
Advanced Stats provide a more in-depth view of your email statistics and the actions taken by your recipients. You can segment these statistics by geographic location, device type, client type, browser, and mailbox provider. For more information about statistics, please see our Statistics Overview.
Sourcepub fn get_contactdb_custom_fields(&self) -> GetContactdbCustomFieldsRequest<'_>
pub fn get_contactdb_custom_fields(&self) -> GetContactdbCustomFieldsRequest<'_>
Retrieve all custom fields
This endpoint allows you to retrieve all custom fields.*
Sourcepub fn post_contactdb_custom_fields(
&self,
) -> PostContactdbCustomFieldsRequest<'_>
pub fn post_contactdb_custom_fields( &self, ) -> PostContactdbCustomFieldsRequest<'_>
Create a Custom Field
This endpoint allows you to create a custom field.
You can create up to 120 custom fields.
Sourcepub fn get_contactdb_custom_fields_custom_field_id(
&self,
custom_field_id: i64,
) -> GetContactdbCustomFieldsCustomFieldIdRequest<'_>
pub fn get_contactdb_custom_fields_custom_field_id( &self, custom_field_id: i64, ) -> GetContactdbCustomFieldsCustomFieldIdRequest<'_>
Retrieve a Custom Field
This endpoint allows you to retrieve a custom field by ID.*
Sourcepub fn delete_contactdb_custom_fields_custom_field_id(
&self,
custom_field_id: i64,
) -> DeleteContactdbCustomFieldsCustomFieldIdRequest<'_>
pub fn delete_contactdb_custom_fields_custom_field_id( &self, custom_field_id: i64, ) -> DeleteContactdbCustomFieldsCustomFieldIdRequest<'_>
Delete a Custom Field
This endpoint allows you to delete a custom field by ID.*
Sourcepub fn get_contactdb_lists(&self) -> GetContactdbListsRequest<'_>
pub fn get_contactdb_lists(&self) -> GetContactdbListsRequest<'_>
Retrieve all lists
This endpoint allows you to retrieve all of your recipient lists. If you don’t have any lists, an empty array will be returned.*
Sourcepub fn post_contactdb_lists(&self, name: &str) -> PostContactdbListsRequest<'_>
pub fn post_contactdb_lists(&self, name: &str) -> PostContactdbListsRequest<'_>
Create a List
This endpoint allows you to create a list for your recipients.*
Sourcepub fn delete_contactdb_lists(
&self,
body: Value,
) -> DeleteContactdbListsRequest<'_>
pub fn delete_contactdb_lists( &self, body: Value, ) -> DeleteContactdbListsRequest<'_>
Delete Multiple lists
This endpoint allows you to delete multiple recipient lists.*
Sourcepub fn get_contactdb_lists_list_id(&self) -> GetContactdbListsListIdRequest<'_>
pub fn get_contactdb_lists_list_id(&self) -> GetContactdbListsListIdRequest<'_>
Retrieve a single list
This endpoint allows you to retrieve a single recipient list.*
Sourcepub fn delete_contactdb_lists_list_id(
&self,
list_id: &str,
) -> DeleteContactdbListsListIdRequest<'_>
pub fn delete_contactdb_lists_list_id( &self, list_id: &str, ) -> DeleteContactdbListsListIdRequest<'_>
Delete a List
This endpoint allows you to delete a specific recipient list with the given ID.*
Sourcepub fn patch_contactdb_lists_list_id(
&self,
list_id: i64,
name: &str,
) -> PatchContactdbListsListIdRequest<'_>
pub fn patch_contactdb_lists_list_id( &self, list_id: i64, name: &str, ) -> PatchContactdbListsListIdRequest<'_>
Update a List
This endpoint allows you to update the name of one of your recipient lists.*
Sourcepub fn get_contactdb_lists_list_id_recipients(
&self,
list_id: i64,
) -> GetContactdbListsListIdRecipientsRequest<'_>
pub fn get_contactdb_lists_list_id_recipients( &self, list_id: i64, ) -> GetContactdbListsListIdRecipientsRequest<'_>
Retrieve all recipients on a List
This endpoint allows you to retrieve all recipients on the list with the given ID.*
Sourcepub fn post_contactdb_lists_list_id_recipients(
&self,
list_id: i64,
body: Value,
) -> PostContactdbListsListIdRecipientsRequest<'_>
pub fn post_contactdb_lists_list_id_recipients( &self, list_id: i64, body: Value, ) -> PostContactdbListsListIdRecipientsRequest<'_>
Add Multiple Recipients to a List
This endpoint allows you to add multiple recipients to a list.
Adds existing recipients to a list, passing in the recipient IDs to add. Recipient IDs should be passed exactly as they are returned from recipient endpoints.
Sourcepub fn post_contactdb_lists_list_id_recipients_recipient_id(
&self,
list_id: i64,
recipient_id: &str,
) -> PostContactdbListsListIdRecipientsRecipientIdRequest<'_>
pub fn post_contactdb_lists_list_id_recipients_recipient_id( &self, list_id: i64, recipient_id: &str, ) -> PostContactdbListsListIdRecipientsRecipientIdRequest<'_>
Add a Single Recipient to a List
This endpoint allows you to add a single recipient to a list.*
Sourcepub fn delete_contactdb_lists_list_id_recipients_recipient_id(
&self,
list_id: i64,
recipient_id: i64,
) -> DeleteContactdbListsListIdRecipientsRecipientIdRequest<'_>
pub fn delete_contactdb_lists_list_id_recipients_recipient_id( &self, list_id: i64, recipient_id: i64, ) -> DeleteContactdbListsListIdRecipientsRecipientIdRequest<'_>
Delete a Single Recipient from a Single List
This endpoint allows you to delete a single recipient from a list.*
Sourcepub fn get_contactdb_recipients(&self) -> GetContactdbRecipientsRequest<'_>
pub fn get_contactdb_recipients(&self) -> GetContactdbRecipientsRequest<'_>
Retrieve recipients
This endpoint allows you to retrieve all of your Marketing Campaigns recipients.
Batch deletion of a page makes it possible to receive an empty page of recipients before reaching the end of the list of recipients. To avoid this issue; iterate over pages until a 404 is retrieved.
Sourcepub fn post_contactdb_recipients(
&self,
body: Value,
) -> PostContactdbRecipientsRequest<'_>
pub fn post_contactdb_recipients( &self, body: Value, ) -> PostContactdbRecipientsRequest<'_>
Add recipients
This endpoint allows you to add a Marketing Campaigns recipient.
You can add custom field data as a parameter on this endpoint. We have provided an example using some of the default custom fields SendGrid provides.
The rate limit is three requests every 2 seconds. You can upload 1000 contacts per request. So the maximum upload rate is 1500 recipients per second.
Sourcepub fn delete_contactdb_recipients(
&self,
body: Value,
) -> DeleteContactdbRecipientsRequest<'_>
pub fn delete_contactdb_recipients( &self, body: Value, ) -> DeleteContactdbRecipientsRequest<'_>
Delete Recipients
This endpoint allows you to deletes one or more recipients.
The body of an API call to this endpoint must include an array of recipient IDs of the recipients you want to delete.
Sourcepub fn patch_contactdb_recipients(
&self,
body: Value,
) -> PatchContactdbRecipientsRequest<'_>
pub fn patch_contactdb_recipients( &self, body: Value, ) -> PatchContactdbRecipientsRequest<'_>
Update Recipient
This endpoint allows you to update one or more recipients.
The body of an API call to this endpoint must include an array of one or more recipient objects.
It is of note that you can add custom field data as parameters on recipient objects. We have provided an example using some of the default custom fields SendGrid provides.
Sourcepub fn get_contactdb_recipients_billable_count(
&self,
) -> GetContactdbRecipientsBillableCountRequest<'_>
pub fn get_contactdb_recipients_billable_count( &self, ) -> GetContactdbRecipientsBillableCountRequest<'_>
Retrieve the count of billable recipients
This endpoint allows you to retrieve the number of Marketing Campaigns recipients that you will be billed for.
You are billed for marketing campaigns based on the highest number of recipients you have had in your account at one time. This endpoint will allow you to know the current billable count value.
Sourcepub fn get_contactdb_recipients_count(
&self,
) -> GetContactdbRecipientsCountRequest<'_>
pub fn get_contactdb_recipients_count( &self, ) -> GetContactdbRecipientsCountRequest<'_>
Retrieve a Count of Recipients
This endpoint allows you to retrieve the total number of Marketing Campaigns recipients.*
Sourcepub fn post_contactdb_recipients_search(
&self,
conditions: Vec<ContactdbSegmentsConditions>,
list_id: i64,
) -> PostContactdbRecipientsSearchRequest<'_>
pub fn post_contactdb_recipients_search( &self, conditions: Vec<ContactdbSegmentsConditions>, list_id: i64, ) -> PostContactdbRecipientsSearchRequest<'_>
Search recipients
Search using segment conditions without actually creating a segment.
Body contains a JSON object with conditions
, a list of conditions as described below, and an optional list_id
, which is a valid list ID for a list to limit the search on.
Valid operators for create and update depend on the type of the field for which you are searching.
- Dates:
- "eq", "ne", "lt" (before), "gt" (after)
- You may use MM/DD/YYYY for day granularity or an epoch for second granularity.
- "empty", "not_empty"
- "is within"
- You may use an ISO 8601 date format or the # of days.
- "eq", "ne", "lt" (before), "gt" (after)
- Text: "contains", "eq" (is - matches the full field), "ne" (is not - matches any field where the entire field is not the condition value), "empty", "not_empty"
- Numbers: "eq", "lt", "gt", "empty", "not_empty"
- Email Clicks and Opens: "eq" (opened), "ne" (not opened)
Field values must all be a string.
Search conditions using "eq" or "ne" for email clicks and opens should provide a "field" of either clicks.campaign_identifier
or opens.campaign_identifier
.
The condition value should be a string containing the id of a completed campaign.
Search conditions list may contain multiple conditions, joined by an "and" or "or" in the "and_or" field. The first condition in the conditions list must have an empty "and_or", and subsequent conditions must all specify an "and_or".
Sourcepub fn get_contactdb_recipients_recipient_id(
&self,
recipient_id: &str,
) -> GetContactdbRecipientsRecipientIdRequest<'_>
pub fn get_contactdb_recipients_recipient_id( &self, recipient_id: &str, ) -> GetContactdbRecipientsRecipientIdRequest<'_>
Retrieve a single recipient
This endpoint allows you to retrieve a single recipient by ID from your contact database.*
Sourcepub fn delete_contactdb_recipients_recipient_id(
&self,
recipient_id: &str,
) -> DeleteContactdbRecipientsRecipientIdRequest<'_>
pub fn delete_contactdb_recipients_recipient_id( &self, recipient_id: &str, ) -> DeleteContactdbRecipientsRecipientIdRequest<'_>
Delete a Recipient
This endpoint allows you to delete a single recipient with the given ID from your contact database.
Use this to permanently delete your recipients from all of your contact lists and all segments if required by applicable law.
Sourcepub fn get_contactdb_recipients_recipient_id_lists(
&self,
recipient_id: &str,
) -> GetContactdbRecipientsRecipientIdListsRequest<'_>
pub fn get_contactdb_recipients_recipient_id_lists( &self, recipient_id: &str, ) -> GetContactdbRecipientsRecipientIdListsRequest<'_>
Retrieve the lists that a recipient is on
This endpoint allows you to retrieve the lists that a given recipient belongs to.
Each recipient can be on many lists. This endpoint gives you all of the lists that any one recipient has been added to.
Sourcepub fn get_contactdb_reserved_fields(
&self,
) -> GetContactdbReservedFieldsRequest<'_>
pub fn get_contactdb_reserved_fields( &self, ) -> GetContactdbReservedFieldsRequest<'_>
Retrieve reserved fields
This endpoint allows you to list all fields that are reserved and can’t be used for custom field names.*
Sourcepub fn get_contactdb_segments(&self) -> GetContactdbSegmentsRequest<'_>
pub fn get_contactdb_segments(&self) -> GetContactdbSegmentsRequest<'_>
Retrieve all segments
This endpoint allows you to retrieve all of your segments.*
Sourcepub fn post_contactdb_segments(
&self,
conditions: Vec<ContactdbSegmentsConditions>,
name: &str,
) -> PostContactdbSegmentsRequest<'_>
pub fn post_contactdb_segments( &self, conditions: Vec<ContactdbSegmentsConditions>, name: &str, ) -> PostContactdbSegmentsRequest<'_>
Create a Segment
This endpoint allows you to create a new segment.
Valid operators for create and update depend on the type of the field for which you are searching.
Dates
- “eq”, “ne”, “lt” (before), “gt” (after)
- You may use MM/DD/YYYY for day granularity or an epoch for second granularity.
- “empty”, “not_empty”
- “is within”
- You may use an ISO 8601 date format or the # of days.
Text
- “contains”
- “eq” (is/equals - matches the full field)
- “ne” (is not/not equals - matches any field where the entire field is not the condition value)
- “empty”
- “not_empty”
Numbers
- “eq” (is/equals)
- “lt” (is less than)
- “gt” (is greater than)
- “empty”
- “not_empty”
Email Clicks and Opens
- “eq” (opened)
- “ne” (not opened)
All field values must be a string.
Conditions using “eq” or “ne” for email clicks and opens should provide a “field” of either clicks.campaign_identifier
or opens.campaign_identifier
.
The condition value should be a string containing the id of a completed campaign.
The conditions list may contain multiple conditions, joined by an “and” or “or” in the “and_or” field.
The first condition in the conditions list must have an empty “and_or”, and subsequent conditions must all specify an “and_or”.
Sourcepub fn get_contactdb_segments_segment_id(
&self,
segment_id: i64,
) -> GetContactdbSegmentsSegmentIdRequest<'_>
pub fn get_contactdb_segments_segment_id( &self, segment_id: i64, ) -> GetContactdbSegmentsSegmentIdRequest<'_>
Retrieve a segment
This endpoint allows you to retrieve a single segment with the given ID.*
Sourcepub fn delete_contactdb_segments_segment_id(
&self,
segment_id: &str,
) -> DeleteContactdbSegmentsSegmentIdRequest<'_>
pub fn delete_contactdb_segments_segment_id( &self, segment_id: &str, ) -> DeleteContactdbSegmentsSegmentIdRequest<'_>
Delete a segment
This endpoint allows you to delete a segment from your recipients database.
You also have the option to delete all the contacts from your Marketing Campaigns recipient database who were in this segment.
Sourcepub fn patch_contactdb_segments_segment_id(
&self,
name: &str,
) -> PatchContactdbSegmentsSegmentIdRequest<'_>
pub fn patch_contactdb_segments_segment_id( &self, name: &str, ) -> PatchContactdbSegmentsSegmentIdRequest<'_>
Update a segment
This endpoint allows you to update a segment.*
Sourcepub fn get_contactdb_segments_segment_id_recipients(
&self,
segment_id: i64,
) -> GetContactdbSegmentsSegmentIdRecipientsRequest<'_>
pub fn get_contactdb_segments_segment_id_recipients( &self, segment_id: i64, ) -> GetContactdbSegmentsSegmentIdRecipientsRequest<'_>
Retrieve recipients on a segment
This endpoint allows you to retrieve all of the recipients in a segment with the given ID.*
Sourcepub fn get_contactdb_status(&self) -> GetContactdbStatusRequest<'_>
pub fn get_contactdb_status(&self) -> GetContactdbStatusRequest<'_>
Get Recipient Upload Status
This endpoint allows you to check the upload status of a Marketing Campaigns recipient.*
Sourcepub fn list_designs(&self) -> ListDesignsRequest<'_>
pub fn list_designs(&self) -> ListDesignsRequest<'_>
List Designs
This endpoint allows you to retrieve a list of designs already stored in your Design Library.
A GET request to /designs
will return a list of your existing designs. This endpoint will not return the pre-built Twilio SendGrid designs. Pre-built designs can be retrieved using the /designs/pre-builts
endpoint, which is detailed below.
By default, you will receive 100 results per request; however, you can modify the number of results returned by passing an integer to the page_size
query parameter.
Sourcepub fn post_design(&self, args: PostDesignRequired<'_>) -> PostDesignRequest<'_>
pub fn post_design(&self, args: PostDesignRequired<'_>) -> PostDesignRequest<'_>
Create Design
This endpoint allows you to create a new design.
You can add a new design by passing data, including a string of HTML email content, to /designs
. When creating designs from scratch, be aware of the styling constraints inherent to many email clients. For a list of best practices, see our guide to Cross-Platform Email Design.
The Design Library can also convert your design’s HTML elements into drag and drop modules that are editable in the Designs Library user interface. For more, visit the Design and Code Editor documentation.
Because the /designs
endpoint makes it easy to add designs, you can create a design with your preferred tooling or migrate designs you already own without relying on the Design Library UI.
Sourcepub fn list_sendgrid_pre_built_designs(
&self,
) -> ListSendgridPreBuiltDesignsRequest<'_>
pub fn list_sendgrid_pre_built_designs( &self, ) -> ListSendgridPreBuiltDesignsRequest<'_>
List SendGrid Pre-built Designs
This endpoint allows you to retrieve a list of pre-built designs provided by Twilio SendGrid.
Unlike the /designs
endpoint where your designs are stored, a GET request made to designs/pre-builts
will retrieve a list of the pre-built Twilio SendGrid designs. This endpoint will not return the designs stored in your Design Library.
By default, you will receive 100 results per request; however, you can modify the number of results returned by passing an integer to the page_size
query parameter.
This endpoint is useful for retrieving the IDs of Twilio SendGrid designs that you want to duplicate and modify.
Sourcepub fn get_sendgrid_pre_built_design(
&self,
id: &str,
) -> GetSendgridPreBuiltDesignRequest<'_>
pub fn get_sendgrid_pre_built_design( &self, id: &str, ) -> GetSendgridPreBuiltDesignRequest<'_>
Get SendGrid Pre-built Design
This endpoint allows you to retrieve a single pre-built design.
A GET request to /designs/pre-builts/{id}
will retrieve details about a specific pre-built design.
This endpoint is valuable when retrieving details about a pre-built design that you wish to duplicate and modify.
Sourcepub fn post_sendgrid_pre_built_design(
&self,
id: &str,
) -> PostSendgridPreBuiltDesignRequest<'_>
pub fn post_sendgrid_pre_built_design( &self, id: &str, ) -> PostSendgridPreBuiltDesignRequest<'_>
Duplicate SendGrid Pre-built Design
This endpoint allows you to duplicate one of the pre-built Twilio SendGrid designs.
Like duplicating one of your existing designs, you are not required to pass any data in the body of a request to this endpoint. If you choose to leave the name
field blank, your duplicate will be assigned the name of the design it was copied from with the text “Duplicate: “ prepended to it. This name change is only a convenience, as the duplicate design will be assigned a unique ID that differentiates it from your other designs. You can retrieve the IDs for Twilio SendGrid pre-built designs using the “List SendGrid Pre-built Designs” endpoint.
You can modify your duplicate’s name at the time of creation by passing an updated value to the name
field when making the initial request.
More on retrieving design IDs can be found above.
Sourcepub fn get_design(&self, id: &str) -> GetDesignRequest<'_>
pub fn get_design(&self, id: &str) -> GetDesignRequest<'_>
Get Design
This endpoint allows you to retrieve a single design.
A GET request to /designs/{id}
will retrieve details about a specific design in your Design Library.
This endpoint is valuable when retrieving information stored in a field that you wish to update using a PATCH request.
Sourcepub fn post_design_dup(&self, id: &str) -> PostDesignDupRequest<'_>
pub fn post_design_dup(&self, id: &str) -> PostDesignDupRequest<'_>
Duplicate Design
This endpoint allows you to duplicate one of your existing designs.
Modifying an existing design is often the easiest way to create something new.
You are not required to pass any data in the body of a request to this endpoint. If you choose to leave the name
field blank, your duplicate will be assigned the name of the design it was copied from with the text “Duplicate: “ prepended to it. This name change is only a convenience, as the duplicate will be assigned a unique ID that differentiates it from your other designs.
You can modify your duplicate’s name at the time of creation by passing an updated value to the name
field when making the initial request.
More on retrieving design IDs can be found below.
Sourcepub fn delete_design(&self, id: &str) -> DeleteDesignRequest<'_>
pub fn delete_design(&self, id: &str) -> DeleteDesignRequest<'_>
Delete Design
This endpoint allows you to delete a single design.
Be sure to check the ID of the design you intend to delete before making this request; deleting a design is a permanent action.
Sourcepub fn put_design(&self, id: &str) -> PutDesignRequest<'_>
pub fn put_design(&self, id: &str) -> PutDesignRequest<'_>
Update Design
This endpoint allows you to edit a design.
The Design API supports PATCH requests, which allow you to make partial updates to a single design. Passing data to a specific field will update only the data stored in that field; all other fields will be unaltered.
For example, updating a design’s name requires that you make a PATCH request to this endpoint with data specified for the name
field only.
{
"name": "<Updated Name>"
}
Sourcepub fn get_devices_stats(&self, start_date: &str) -> GetDevicesStatsRequest<'_>
pub fn get_devices_stats(&self, start_date: &str) -> GetDevicesStatsRequest<'_>
Retrieve email statistics by device type.
This endpoint allows you to retrieve your email statistics segmented by the device type.
We only store up to 7 days of email activity in our database. By default, 500 items will be returned per request via the Advanced Stats API endpoints.
§Available Device Types
Device | Description | Example |
---|---|---|
Desktop | Email software on desktop computer. | I.E., Outlook, Sparrow, or Apple Mail. |
Webmail | A web-based email client. | I.E., Yahoo, Google, AOL, or Outlook.com. |
Phone | A smart phone. | iPhone, Android, Blackberry, etc. |
Tablet | A tablet computer. | iPad, android based tablet, etc. |
Other | An unrecognized device. |
Advanced Stats provide a more in-depth view of your email statistics and the actions taken by your recipients. You can segment these statistics by geographic location, device type, client type, browser, and mailbox provider. For more information about statistics, please see our Statistics Overview.
Sourcepub fn get_geo_stats(&self, start_date: &str) -> GetGeoStatsRequest<'_>
pub fn get_geo_stats(&self, start_date: &str) -> GetGeoStatsRequest<'_>
Retrieve email statistics by country and state/province.
This endpoint allows you to retrieve your email statistics segmented by country and state/province.
We only store up to 7 days of email activity in our database. By default, 500 items will be returned per request via the Advanced Stats API endpoints.
Advanced Stats provide a more in-depth view of your email statistics and the actions taken by your recipients. You can segment these statistics by geographic location, device type, client type, browser, and mailbox provider. For more information about statistics, please see our User Guide.
Sourcepub fn get_ips(&self) -> GetIpsRequest<'_>
pub fn get_ips(&self) -> GetIpsRequest<'_>
Retrieve all IP addresses
This endpoint allows you to retrieve a list of all assigned and unassigned IPs.
Response includes warm up status, pools, assigned subusers, and reverse DNS info. The start_date field corresponds to when warmup started for that IP.
A single IP address or a range of IP addresses may be dedicated to an account in order to send email for multiple domains. The reputation of this IP is based on the aggregate performance of all the senders who use it.
Sourcepub fn post_ips(&self, count: i64) -> PostIpsRequest<'_>
pub fn post_ips(&self, count: i64) -> PostIpsRequest<'_>
Add IPs
This endpoint is for adding a(n) IP Address(es) to your account.*
Sourcepub fn get_ips_assigned(&self) -> GetIpsAssignedRequest<'_>
pub fn get_ips_assigned(&self) -> GetIpsAssignedRequest<'_>
Retrieve all assigned IPs
This endpoint allows you to retrieve only assigned IP addresses.
A single IP address or a range of IP addresses may be dedicated to an account in order to send email for multiple domains. The reputation of this IP is based on the aggregate performance of all the senders who use it.
Sourcepub fn get_ips_pools(&self) -> GetIpsPoolsRequest<'_>
pub fn get_ips_pools(&self) -> GetIpsPoolsRequest<'_>
Retrieve all IP pools
This endpoint allows you to get all of your IP pools.*
Sourcepub fn post_ips_pools(&self, name: &str) -> PostIpsPoolsRequest<'_>
pub fn post_ips_pools(&self, name: &str) -> PostIpsPoolsRequest<'_>
Create an IP pool
This endpoint allows you to create an IP pool.
Before you can create an IP pool, you need to activate the IP in your SendGrid account:
- Log into your SendGrid account.
- Navigate to Settings and then select IP Addresses.
- Find the IP address you want to activate and then click Edit.
- Check Allow my account to send mail using this IP address.
- Click Save.
Sourcepub fn get_ips_pools_pool_name(
&self,
pool_name: &str,
) -> GetIpsPoolsPoolNameRequest<'_>
pub fn get_ips_pools_pool_name( &self, pool_name: &str, ) -> GetIpsPoolsPoolNameRequest<'_>
Retrieve all the IPs in a specified pool
This endpoint allows you to get all of the IP addresses that are in a specific IP pool.*
Sourcepub fn put_ips_pools_pool_name(
&self,
pool_name: &str,
) -> PutIpsPoolsPoolNameRequest<'_>
pub fn put_ips_pools_pool_name( &self, pool_name: &str, ) -> PutIpsPoolsPoolNameRequest<'_>
Rename an IP pool
This endpoint allows you to update the name of an IP pool.*
Sourcepub fn delete_ips_pools_pool_name(
&self,
pool_name: &str,
) -> DeleteIpsPoolsPoolNameRequest<'_>
pub fn delete_ips_pools_pool_name( &self, pool_name: &str, ) -> DeleteIpsPoolsPoolNameRequest<'_>
Delete an IP pool
This endpoint allows you to delete an IP pool.*
Sourcepub fn post_ips_pools_pool_name_ips(
&self,
pool_name: &str,
) -> PostIpsPoolsPoolNameIpsRequest<'_>
pub fn post_ips_pools_pool_name_ips( &self, pool_name: &str, ) -> PostIpsPoolsPoolNameIpsRequest<'_>
Add an IP address to a pool
This endpoint allows you to add an IP address to an IP pool.
You can add the same IP address to multiple pools. It may take up to 60 seconds for your IP address to be added to a pool after your request is made.
Before you can add an IP to a pool, you need to activate it in your SendGrid account:
- Log into your SendGrid account.
- Navigate to Settings and then select IP Addresses.
- Find the IP address you want to activate and then click Edit.
- Check Allow my account to send mail using this IP address.
- Click Save.
You can retrieve all of your available IP addresses from the “Retrieve all IP addresses” endpoint.
Sourcepub fn delete_ips_pools_pool_name_ips_ip(
&self,
pool_name: &str,
ip: &str,
) -> DeleteIpsPoolsPoolNameIpsIpRequest<'_>
pub fn delete_ips_pools_pool_name_ips_ip( &self, pool_name: &str, ip: &str, ) -> DeleteIpsPoolsPoolNameIpsIpRequest<'_>
Remove an IP address from a pool
This endpoint allows you to remove an IP address from an IP pool.*
Sourcepub fn get_ips_remaining(&self) -> GetIpsRemainingRequest<'_>
pub fn get_ips_remaining(&self) -> GetIpsRemainingRequest<'_>
Get remaining IPs count
This endpoint gets amount of IP Addresses that can still be created during a given period and the price of those IPs.*
Sourcepub fn get_ips_warmup(&self) -> GetIpsWarmupRequest<'_>
pub fn get_ips_warmup(&self) -> GetIpsWarmupRequest<'_>
Retrieve all IPs currently in warmup
This endpoint allows you to retrieve all of your IP addresses that are currently warming up.*
Sourcepub fn post_ips_warmup(&self) -> PostIpsWarmupRequest<'_>
pub fn post_ips_warmup(&self) -> PostIpsWarmupRequest<'_>
Start warming up an IP address
This endpoint allows you to put an IP address into warmup mode.*
Sourcepub fn get_ips_warmup_ip_address(
&self,
ip_address: &str,
) -> GetIpsWarmupIpAddressRequest<'_>
pub fn get_ips_warmup_ip_address( &self, ip_address: &str, ) -> GetIpsWarmupIpAddressRequest<'_>
Retrieve the warmup status for a specific IP address
This endpoint allows you to retrieve the warmup status for a specific IP address.
You can retrieve all of your warming IPs using the “Retrieve all IPs currently in warmup” endpoint.
Sourcepub fn delete_ips_warmup_ip_address(
&self,
ip_address: &str,
) -> DeleteIpsWarmupIpAddressRequest<'_>
pub fn delete_ips_warmup_ip_address( &self, ip_address: &str, ) -> DeleteIpsWarmupIpAddressRequest<'_>
Stop warming up an IP address
This endpoint allows you to remove an IP address from warmup mode.
Your request will return a 204 status code if the specified IP was successfully removed from warmup mode. To retrieve details of the IP’s warmup status before removing it from warmup mode, call the “Retrieve the warmpup status for a specific IP address” endpoint.
Sourcepub fn get_ips_ip_address(&self, ip_address: &str) -> GetIpsIpAddressRequest<'_>
pub fn get_ips_ip_address(&self, ip_address: &str) -> GetIpsIpAddressRequest<'_>
Retrieve all IP pools an IP address belongs to
This endpoint allows you to see which IP pools a particular IP address has been added to.
The same IP address can be added to multiple IP pools.
A single IP address or a range of IP addresses may be dedicated to an account in order to send email for multiple domains. The reputation of this IP is based on the aggregate performance of all the senders who use it.
Sourcepub fn post_mail_batch(&self) -> PostMailBatchRequest<'_>
pub fn post_mail_batch(&self) -> PostMailBatchRequest<'_>
Create a batch ID
This endpoint allows you to generate a new batch ID.
Once a batch_id
is created, you can associate it with a scheduled send using the /mail/send
endpoint. Passing the batch_id
as a field in the /mail/send
request body will assign the ID to the send you are creating.
Once an ID is associated with a scheduled send, the send can be accessed and its send status can be modified using the batch_id
.
Sourcepub fn get_mail_batch_batch_id(
&self,
batch_id: &str,
) -> GetMailBatchBatchIdRequest<'_>
pub fn get_mail_batch_batch_id( &self, batch_id: &str, ) -> GetMailBatchBatchIdRequest<'_>
Validate batch ID
This endpoint allows you to validate a batch ID.
When you pass a valid batch_id
to this endpoint, it will return a 200
status code and the batch ID itself.
If you pass an invalid batch_id
to the endpoint, you will receive a 400
level status code and an error message.
A batch_id
does not need to be assigned to a scheduled send to be considered valid. A successful response means only that the batch_id
has been created, but it does not indicate that it has been associated with a send.
Sourcepub fn post_mail_send(
&self,
args: PostMailSendRequired<'_>,
) -> PostMailSendRequest<'_>
pub fn post_mail_send( &self, args: PostMailSendRequired<'_>, ) -> PostMailSendRequest<'_>
v3 Mail Send
The Mail Send endpoint allows you to send email over SendGrid’s v3 Web API, the most recent version of our API. If you are looking for documentation about the v2 Mail Send endpoint, see our v2 API Reference.
§Helper Libraries
Twilio SendGrid provides libraries to help you quickly and easily integrate with the v3 Web API in 7 different languages:
§Dynamic Transactional Templates and Handlebars
In order to send a dynamic template, specify the template ID with the template_id
parameter.
To specify handlebar substitutions, define your substitutions in the request JSON with this syntax:
"dynamic_template_data": {
"guest": "Jane Doe",
"partysize": "4",
"english": true,
"date": "April 1st, 2021"
}
For more information about Dynamic Transactional Templates and Handlebars, see our documentation and reference pages.
§Mail Body Compression
Mail body compression is available to some high volume accounts. Talk to your CSM if you are interested in this functionality. Mail body compression works by setting up a JSON payload as defined on this page, then compressing it with gzip (the gzip file can be no more than 30mb).
To use mail body compression:
- Add a
Content-Encoding
header, with a value ofgzip
. a.Content-Encoding: gzip
- Send the gzip as a data-binary.
a.
--data-binary '@data.json.gz'
§Multiple Reply-To Emails
Using reply_to_list
allows senders to include more than one recipient email address to receive reply and/or bounce messages from the recipient of the email.
§Usage Considerations
reply_to
is mutually exclusive withreply_to_list
. If both are used, then the API call will be rejected.- The
reply_to_list
object, when used, must at least have an email parameter and may also contain a name parameter. - Each email address in the
reply_to_list
should be unique. - There is a limit of 1000
reply_to_list
emails per mail/send request. - In SMTP calls, we will omit any invalid emails.
§Possible 400 Error Messages
reply_to
is mutually exclusive withreply_to_list
.- The
reply_to_list
object, when used, must at least have an email parameter and may also contain a name parameter. - Each email address in the
reply_to_list
should be unique. - There is a limit of X
reply_to
emails per mail/send request. - The
reply_to_list
email does not contain a valid address. - The
reply_to_list
email exceeds the maximum total length of X characters. - The
reply_to_list
email parameter is required.
Sourcepub fn get_mail_settings(&self) -> GetMailSettingsRequest<'_>
pub fn get_mail_settings(&self) -> GetMailSettingsRequest<'_>
Retrieve all mail settings
This endpoint allows you to retrieve a list of all mail settings.
Each setting will be returned with an enabled
status set to true
or false
and a short description that explains what the setting does.
Sourcepub fn get_mail_settings_address_whitelist(
&self,
) -> GetMailSettingsAddressWhitelistRequest<'_>
pub fn get_mail_settings_address_whitelist( &self, ) -> GetMailSettingsAddressWhitelistRequest<'_>
Retrieve address whitelist mail settings
This endpoint allows you to retrieve your current email address whitelist settings.
The Address Whitelist setting allows you to specify email addresses or domains for which mail should never be suppressed.
For example, if you own the domain example.com
, and one or more of your recipients use email@example.com
addresses, placing example.com
in the address whitelist setting instructs Twilio SendGrid to ignore all bounces, blocks, and unsubscribes logged for that domain. In other words, all bounces, blocks, and unsubscribes will still be sent to example.com
as if they were sent under normal sending conditions.
Sourcepub fn patch_mail_settings_address_whitelist(
&self,
) -> PatchMailSettingsAddressWhitelistRequest<'_>
pub fn patch_mail_settings_address_whitelist( &self, ) -> PatchMailSettingsAddressWhitelistRequest<'_>
Update address whitelist mail settings
This endpoint allows you to update your current email address whitelist settings.
You can select whether or not this setting should be enabled by assigning the enabled
field a true
or false
value.
Passing only the enabled
field to this endpoint will not alter your current list
of whitelist entries. However, any modifications to your list
of entries will overwrite the entire list. For this reason, you must included all existing entries you wish to retain in your list
in addition to any new entries you intend to add. To remove one or more list
entries, pass a list
with only the entries you wish to retain.
You should not add generic domains such as gmail.com
or yahoo.com
in your list
because your emails will not honor recipients’ unsubscribes. This may cause a legal violation of CAN-SPAM and could damage your sending reputation.
The Address Whitelist setting allows you to specify email addresses or domains for which mail should never be suppressed.
For example, if you own the domain example.com
, and one or more of your recipients use email@example.com
addresses, placing example.com
in the address whitelist setting instructs Twilio SendGrid to ignore all bounces, blocks, and unsubscribes logged for that domain. In other words, all bounces, blocks, and unsubscribes will still be sent to example.com
as if they were sent under normal sending conditions.
Sourcepub fn get_mail_settings_bounce_purge(
&self,
) -> GetMailSettingsBouncePurgeRequest<'_>
pub fn get_mail_settings_bounce_purge( &self, ) -> GetMailSettingsBouncePurgeRequest<'_>
Retrieve bounce purge mail settings
This endpoint allows you to retrieve your current bounce and purge settings.
The Bounce Perge setting allows you to set a schedule that Twilio SendGrid will use to automatically delete contacts from your soft and hard bounce suppression lists.
A hard bounce occurs when an email message has been returned to the sender because the recipient’s address is invalid. A hard bounce might occur because the domain name doesn’t exist or because the recipient is unknown.
A soft bounce occurs when an email message reaches the recipient’s mail server but is bounced back undelivered before it actually reaches the recipient. A soft bounce might occur because the recipient’s inbox is full.
You can also manage this setting in the Mail Settings section of the Twilio SendGrid App. You can manage your bounces manually using the Bounces API or the Bounces menu in the Twilio SendGrid App.
Sourcepub fn patch_mail_settings_bounce_purge(
&self,
) -> PatchMailSettingsBouncePurgeRequest<'_>
pub fn patch_mail_settings_bounce_purge( &self, ) -> PatchMailSettingsBouncePurgeRequest<'_>
Update bounce purge mail settings
This endpoint allows you to update your current bounce and purge settings.
The Bounce Perge setting allows you to set a schedule that Twilio SendGrid will use to automatically delete contacts from your soft and hard bounce suppression lists. The schedule is set in full days by assigning the number of days, an integer, to the soft_bounces
and/or hard_bounces
fields.
A hard bounce occurs when an email message has been returned to the sender because the recipient’s address is invalid. A hard bounce might occur because the domain name doesn’t exist or because the recipient is unknown.
A soft bounce occurs when an email message reaches the recipient’s mail server but is bounced back undelivered before it actually reaches the recipient. A soft bounce might occur because the recipient’s inbox is full.
You can also manage this setting in the Mail Settings section of the Twilio SendGrid App. You can manage your bounces manually using the Bounces API or the Bounces menu in the Twilio SendGrid App.
Retrieve footer mail settings
This endpoint allows you to retrieve your current Footer mail settings.
The Footer setting will insert a custom footer at the bottom of your text and HTML email message bodies.
You can insert your HTML or plain text directly using the “Update footer mail settings” endpoint, or you can create the footer using the Mail Settings menu in the Twilio SendGrid App.
Update footer mail settings
This endpoint allows you to update your current Footer mail settings.
The Footer setting will insert a custom footer at the bottom of your text and HTML email message bodies.
You can insert your HTML or plain text directly using this endpoint, or you can create the footer using the Mail Settings menu in the Twilio SendGrid App.
Sourcepub fn get_mail_settings_forward_bounce(
&self,
) -> GetMailSettingsForwardBounceRequest<'_>
pub fn get_mail_settings_forward_bounce( &self, ) -> GetMailSettingsForwardBounceRequest<'_>
Retrieve forward bounce mail settings
This endpoint allows you to retrieve your current bounce forwarding mail settings.
Enabling the Forward Bounce setting allows you to specify email
addresses to which bounce reports will be forwarded. This endpoint returns the email address you have set to receive forwarded bounces and an enabled
status indicating if the setting is active.
Sourcepub fn patch_mail_settings_forward_bounce(
&self,
) -> PatchMailSettingsForwardBounceRequest<'_>
pub fn patch_mail_settings_forward_bounce( &self, ) -> PatchMailSettingsForwardBounceRequest<'_>
Update forward bounce mail settings
This endpoint allows you to update your current bounce forwarding mail settings.
Enabling the Forward Bounce setting allows you to specify an email
address to which bounce reports will be forwarded.
You can also configure the Forward Spam mail settings in the Mail Settings section of the Twilio SendGrid App.
Sourcepub fn get_mail_settings_forward_spam(
&self,
) -> GetMailSettingsForwardSpamRequest<'_>
pub fn get_mail_settings_forward_spam( &self, ) -> GetMailSettingsForwardSpamRequest<'_>
Retrieve forward spam mail settings
This endpoint allows you to retrieve your current Forward Spam mail settings.
Enabling the Forward Spam setting allows you to specify email
addresses to which spam reports will be forwarded. This endpoint returns any email address(es) you have set to receive forwarded spam and an enabled
status indicating if the setting is active.
Sourcepub fn patch_mail_settings_forward_spam(
&self,
) -> PatchMailSettingsForwardSpamRequest<'_>
pub fn patch_mail_settings_forward_spam( &self, ) -> PatchMailSettingsForwardSpamRequest<'_>
Update forward spam mail settings
This endpoint allows you to update your current Forward Spam mail settings.
Enabling the Forward Spam setting allows you to specify email
addresses to which spam reports will be forwarded. You can set multiple addresses by passing this endpoint a comma separated list of emails in a single string.
{
"email": "address1@example.com, address2@exapmle.com",
"enabled": true
}
The Forward Spam setting may also be used to receive emails sent to abuse@
and postmaster@
role addresses if you have authenticated your domain.
For example, if you authenticated example.com
as your root domain and set a custom return path of sub
for that domain, you could turn on Forward Spam, and any emails sent to abuse@sub.example.com
or postmaster@sub.example.com
would be forwarded to the email address you entered in the email
field.
You can authenticate your domain using the “Authenticate a domain” endpoint or in the Sender Authentication section of the Twilio SendGrid App. You can also configure the Forward Spam mail settings in the Mail Settings section of the Twilio SendGrid App.
Sourcepub fn get_mail_settings_template(&self) -> GetMailSettingsTemplateRequest<'_>
pub fn get_mail_settings_template(&self) -> GetMailSettingsTemplateRequest<'_>
Retrieve legacy template mail settings
This endpoint allows you to retrieve your current legacy email template settings.
This setting refers to our original email templates. We currently support more fully featured Dynamic Transactional Templates.
The legacy email template setting wraps an HTML template around your email content. This can be useful for sending out marketing email and/or other HTML formatted messages. For instructions on using legacy templates, see how to “Create and Edit Legacy Transactional Templates. For help migrating to our current template system, see “Migrating from Legacy Templates”.
Sourcepub fn patch_mail_settings_template(
&self,
) -> PatchMailSettingsTemplateRequest<'_>
pub fn patch_mail_settings_template( &self, ) -> PatchMailSettingsTemplateRequest<'_>
Update template mail settings
This endpoint allows you to update your current legacy email template settings.
This setting refers to our original email templates. We currently support more fully featured Dynamic Transactional Templates.
The legacy email template setting wraps an HTML template around your email content. This can be useful for sending out marketing email and/or other HTML formatted messages. For instructions on using legacy templates, see how to “Create and Edit Legacy Transactional Templates. For help migrating to our current template system, see “Migrating from Legacy Templates”.
Sourcepub fn get_mailbox_providers_stats(
&self,
start_date: &str,
) -> GetMailboxProvidersStatsRequest<'_>
pub fn get_mailbox_providers_stats( &self, start_date: &str, ) -> GetMailboxProvidersStatsRequest<'_>
Retrieve email statistics by mailbox provider.
This endpoint allows you to retrieve your email statistics segmented by recipient mailbox provider.
We only store up to 7 days of email activity in our database. By default, 500 items will be returned per request via the Advanced Stats API endpoints.
Advanced Stats provide a more in-depth view of your email statistics and the actions taken by your recipients. You can segment these statistics by geographic location, device type, client type, browser, and mailbox provider. For more information about statistics, please see our Statistics Overview.
Sourcepub fn get_mc_contats(&self) -> GetMcContatsRequest<'_>
pub fn get_mc_contats(&self) -> GetMcContatsRequest<'_>
Get Sample Contacts
This endpoint will return up to 50 of the most recent contacts uploaded or attached to a list.
This list will then be sorted by email address.
The full contact count is also returned.
Please note that pagination of the contacts has been deprecated.
Twilio SendGrid recommends exporting your contacts regularly as a backup to avoid issues or lost data.
Sourcepub fn put_mc_contacts(
&self,
contacts: Vec<ContactRequest>,
) -> PutMcContactsRequest<'_>
pub fn put_mc_contacts( &self, contacts: Vec<ContactRequest>, ) -> PutMcContactsRequest<'_>
Add or Update a Contact
This endpoint allows the upsert (insert or update) of up to 30,000 contacts, or 6MB of data, whichever is lower.
Because the creation and update of contacts is an asynchronous process, the response will not contain immediate feedback on the processing of your upserted contacts. Rather, it will contain an HTTP 202 response indicating the contacts are queued for processing or an HTTP 4XX error containing validation errors. Should you wish to get the resulting contact’s ID or confirm your contacts have been updated or added, you can use the “Get Contacts by Emails” endpoint.
Please note that custom fields need to have been already created if you wish to set their values for the contacts being upserted. To do this, please use the “Create Custom Field Definition” endpoint.
You will see a job_id
in the response to your request. This can be used to check the status of your upsert job. To do so, please use the “Import Contacts Status” endpoint.
If the contact already exists in the system, any entries submitted via this endpoint will update the existing contact. The contact to update will be determined only by the email
field and any fields omitted from the request will remain as they were. A contact’s ID cannot be used to update the contact.
The email field will be changed to all lower-case. If a contact is added with an email that exists but contains capital letters, the existing contact with the all lower-case email will be updated.
Sourcepub fn delete_mc_contacts(&self) -> DeleteMcContactsRequest<'_>
pub fn delete_mc_contacts(&self) -> DeleteMcContactsRequest<'_>
Delete Contacts
This endpoint can be used to delete one or more contacts.
The query parameter ids
must set to a comma-separated list of contact IDs for bulk contact deletion.
The query parameter delete_all_contacts
must be set to "true"
to delete all contacts.
You must set either ids
or delete_all_contacts
.
Deletion jobs are processed asynchronously.
Twilio SendGrid recommends exporting your contacts regularly as a backup to avoid issues or lost data.
Sourcepub fn post_marketing_contacts_batch(
&self,
ids: &[&str],
) -> PostMarketingContactsBatchRequest<'_>
pub fn post_marketing_contacts_batch( &self, ids: &[&str], ) -> PostMarketingContactsBatchRequest<'_>
Get Batched Contacts by IDs
This endpoint is used to retrieve a set of contacts identified by their IDs.
This can be more efficient endpoint to get contacts than making a series of individual GET
requests to the “Get a Contact by ID” endpoint.
You can supply up to 100 IDs. Pass them into the ids
field in your request body as an array or one or more strings.
Twilio SendGrid recommends exporting your contacts regularly as a backup to avoid issues or lost data.
Sourcepub fn get_mc_contacts_count(&self) -> GetMcContactsCountRequest<'_>
pub fn get_mc_contacts_count(&self) -> GetMcContactsCountRequest<'_>
Get Total Contact Count
This endpoint returns the total number of contacts you have stored.
Twilio SendGrid recommends exporting your contacts regularly as a backup to avoid issues or lost data.
Sourcepub fn get_marketing_contacts_exports(
&self,
) -> GetMarketingContactsExportsRequest<'_>
pub fn get_marketing_contacts_exports( &self, ) -> GetMarketingContactsExportsRequest<'_>
Get All Existing Exports
Use this endpoint to retrieve details of all current exported jobs.
It will return an array of objects, each of which records an export job in flight or recently completed.
Each object’s export_type
field will tell you which kind of export it is and its status
field will indicate what stage of processing it has reached. Exports which are ready
will be accompanied by a urls
field which lists the URLs of the export’s downloadable files — there will be more than one if you specified a maximum file size in your initial export request.
Use this endpoint if you have exports in flight but do not know their IDs, which are required for the “Export Contacts Status” endpoint.
Sourcepub fn post_mc_contacts_exports(&self) -> PostMcContactsExportsRequest<'_>
pub fn post_mc_contacts_exports(&self) -> PostMcContactsExportsRequest<'_>
Export Contacts
Use this endpoint to export lists or segments of contacts.
If you would just like to have a link to the exported list sent to your email set the notifications.email
option to true
in the POST
payload.
If you would like to download the list, take the id
that is returned and use the “Export Contacts Status” endpoint to get the urls
. Once you have the list of URLs, make a GET
request to each URL provided to download your CSV file(s).
You specify the segements and or/contact lists you wish to export by providing the relevant IDs in, respectively, the segment_ids
and list_ids
fields in the request body.
The lists will be provided in either JSON or CSV files. To specify which of these you would required, set the request body file_type
field to json
or csv
.
You can also specify a maximum file size (in MB). If the export file is larger than this, it will be split into multiple files.
Sourcepub fn get_mc_contacts_exports_id(
&self,
id: &str,
) -> GetMcContactsExportsIdRequest<'_>
pub fn get_mc_contacts_exports_id( &self, id: &str, ) -> GetMcContactsExportsIdRequest<'_>
Export Contacts Status
This endpoint can be used to check the status of a contact export job.
To use this call, you will need the id
from the “Export Contacts” call.
If you would like to download a list, take the id
that is returned from the “Export Contacts” endpoint and make an API request here to get the urls
. Once you have the list of URLs, make a GET
request on each URL to download your CSV file(s).
Twilio SendGrid recommends exporting your contacts regularly as a backup to avoid issues or lost data.
Sourcepub fn put_mc_contacts_imports(
&self,
field_mappings: Vec<Value>,
file_type: &str,
) -> PutMcContactsImportsRequest<'_>
pub fn put_mc_contacts_imports( &self, field_mappings: Vec<Value>, file_type: &str, ) -> PutMcContactsImportsRequest<'_>
Import Contacts
This endpoint allows a CSV upload containing up to one million contacts or 5GB of data, whichever is smaller.
Imports take place asynchronously: the endpoint returns a URL (upload_uri
) and HTTP headers (upload_headers
) which can subsequently be used to PUT
a file of contacts to be imported into our system.
Uploaded CSV files may also be gzip-compressed.
In either case, you must include the field file_type
with the value csv
in your request body.
The field_mappings
paramter is a respective list of field definition IDs to map the uploaded CSV columns to. It allows you to use CSVs where one or more columns are skipped (null
) or remapped to the contact field.
For example, if field_mappings
is set to [null, "w1", "_rf1"]
, this means skip column 0, map column 1 to the custom field with the ID w1
, and map column 2 to the reserved field with the ID _rf1
. See the “Get All Field Definitions” endpoint to fetch your custom and reserved field IDs to use with field_mappings
.
Once you recieve the response body you can then initiate a second API call where you use the supplied URL and HTTP header to upload your file. For example:
curl --upload-file "file/path.csv" "URL_GIVEN" -H 'HEADER_GIVEN'
If you’d like to monitor the status of your import job, use the job_id
and the “Import Contacts Status” endpoint.
Twilio SendGrid recommends exporting your contacts regularly as a backup to avoid issues or lost data.
Sourcepub fn get_marketing_contacts_imports_id(
&self,
id: &str,
) -> GetMarketingContactsImportsIdRequest<'_>
pub fn get_marketing_contacts_imports_id( &self, id: &str, ) -> GetMarketingContactsImportsIdRequest<'_>
Import Contacts Status
This endpoint can be used to check the status of a contact import job.
Use the job_id
from the “Import Contacts,” “Add or Update a Contact,” or “Delete Contacts” endpoints as the id
in the path parameter.
If there is an error with your PUT
request, download the errors_url
file and open it to view more details.
The job status
field indicates whether the job is pending
, completed
, errored
, or failed
.
Pending means not started. Completed means finished without any errors. Errored means finished with some errors. Failed means finshed with all errors, or the job was entirely unprocessable: for example, if you attempt to import file format we do not support.
The results
object will have fields depending on the job type.
Twilio SendGrid recommends exporting your contacts regularly as a backup to avoid issues or lost data.
Sourcepub fn post_mc_contacts_search(
&self,
query: &str,
) -> PostMcContactsSearchRequest<'_>
pub fn post_mc_contacts_search( &self, query: &str, ) -> PostMcContactsSearchRequest<'_>
Search Contacts
Use this endpoint to locate contacts.
The request body’s query
field accepts valid SGQL for searching for a contact.
Because contact emails are stored in lower case, using SGQL to search by email address requires the provided email address to be in lower case. The SGQL lower()
function can be used for this.
Only the first 50 contacts that meet the search criteria will be returned.
If the query takes longer than 20 seconds, a 408 Request Timeout
status will be returned.
Formatting the created_at
and updated_at
values as Unix timestamps is deprecated. Instead they are returned as ISO format as string.
Sourcepub fn post_marketing_contacts_search_emails(
&self,
emails: &[&str],
) -> PostMarketingContactsSearchEmailsRequest<'_>
pub fn post_marketing_contacts_search_emails( &self, emails: &[&str], ) -> PostMarketingContactsSearchEmailsRequest<'_>
Get Contacts by Emails
This endpoint allows you to retrieve up to 100 contacts matching the searched email
address(es), including any alternate_emails
.
Email addresses are unique to a contact, meaning this endpoint can treat an email address as a primary key to search by. The contact object associated with the address, whether it is their email
or one of their alternate_emails
will be returned if matched.
Email addresses in the search request do not need to match the case in which they’re stored, but the email addresses in the result will be all lower case. Empty strings are excluded from the search and will not be returned.
This endpoint should be used in place of the “Search Contacts” endpoint when you can provide exact email addresses and do not need to include other Segmentation Query Language (SGQL) filters when searching.
If you need to access a large percentage of your contacts, we recommend exporting your contacts with the “Export Contacts” endpoint and filtering the results client side.
This endpoint returns a 200
status code when any contacts match the address(es) you supplied. When searching multiple addresses in a single request, it is possible that some addresses will match a contact while others will not. When a partially successful search like this is made, the matching contacts are returned in an object and an error message is returned for the email address(es) that are not found.
This endpoint returns a 404
status code when no contacts are found for the provided email address(es).
A 400
status code is returned if any searched addresses are invalid.
Twilio SendGrid recommends exporting your contacts regularly as a backup to avoid issues or lost data.
Sourcepub fn get_mc_contacts_id(&self, id: &str) -> GetMcContactsIdRequest<'_>
pub fn get_mc_contacts_id(&self, id: &str) -> GetMcContactsIdRequest<'_>
Get a Contact by ID
This endpoint returns the full details and all fields for the specified contact.
The “Get Contacts by Emails” endpoint can be used to get the ID of a contact.
Sourcepub fn get_mc_field_definitions(&self) -> GetMcFieldDefinitionsRequest<'_>
pub fn get_mc_field_definitions(&self) -> GetMcFieldDefinitionsRequest<'_>
Get All Field Definitions
This endpoint retrieves all defined Custom Fields and Reserved Fields.*
Sourcepub fn post_mc_field_definitions(
&self,
field_type: &str,
name: &str,
) -> PostMcFieldDefinitionsRequest<'_>
pub fn post_mc_field_definitions( &self, field_type: &str, name: &str, ) -> PostMcFieldDefinitionsRequest<'_>
Create Custom Field Definition
This endpoint creates a new custom field definition.
Custom field definitions are created with the given name
and field_type
. Although field names are stored in a case-sensitive manner, all field names must be case-insensitively unique. This means you may create a field named CamelCase
or camelcase
, but not both. Additionally, a Custom Field name cannot collide with any Reserved Field names. You should save the returned id
value in order to update or delete the field at a later date. You can have up to 120 custom fields.
The custom field name should be created using only alphanumeric characters (A-Z and 0-9) and underscores (_). Custom fields can only begin with letters A-Z or underscores (_). The field type can be date, text, or number fields. The field type is important for creating segments from your contact database.
Note: Creating a custom field that begins with a number will cause issues with sending in Marketing Campaigns.
Sourcepub fn delete_mc_field_definitions_custom_field_id(
&self,
custom_field_id: &str,
) -> DeleteMcFieldDefinitionsCustomFieldIdRequest<'_>
pub fn delete_mc_field_definitions_custom_field_id( &self, custom_field_id: &str, ) -> DeleteMcFieldDefinitionsCustomFieldIdRequest<'_>
Delete Custom Field Definition
This endpoint deletes a defined Custom Field.
You cand delete only Custom Fields; Reserved Fields cannot be deleted.
Sourcepub fn patch_mc_field_definitions_custom_field_id(
&self,
custom_field_id: &str,
name: &str,
) -> PatchMcFieldDefinitionsCustomFieldIdRequest<'_>
pub fn patch_mc_field_definitions_custom_field_id( &self, custom_field_id: &str, name: &str, ) -> PatchMcFieldDefinitionsCustomFieldIdRequest<'_>
Update Custom Field Definition
This endopoint allows you to update a defined Custom Field.
Only your Custom fields can be modified; Reserved Fields cannot be updated.
Sourcepub fn get_mc_lists(&self) -> GetMcListsRequest<'_>
pub fn get_mc_lists(&self) -> GetMcListsRequest<'_>
Get All Lists
This endpoint returns an array of all of your contact lists.*
Sourcepub fn post_mc_lists(&self, name: &str) -> PostMcListsRequest<'_>
pub fn post_mc_lists(&self, name: &str) -> PostMcListsRequest<'_>
Create List
This endpoint creates a new contacts list.
Once you create a list, you can use the UI to trigger an automation every time you add a new contact to the list.
A link to the newly created object is in _metadata
.
Sourcepub fn get_mc_lists_id(&self, id: &str) -> GetMcListsIdRequest<'_>
pub fn get_mc_lists_id(&self, id: &str) -> GetMcListsIdRequest<'_>
Get a List by ID
This endpoint returns data about a specific list.
Setting the optional parameter contact_sample=true
returns the contact_sample
in the response body. Up to fifty of the most recent contacts uploaded or attached to a list will be returned, sorted alphabetically, by email address.
The full contact count is also returned.
Sourcepub fn delete_lists_id(&self, id: &str) -> DeleteListsIdRequest<'_>
pub fn delete_lists_id(&self, id: &str) -> DeleteListsIdRequest<'_>
Delete a list
This endpoint allows you to deletes a specific list.
Optionally, you can also delete contacts associated to the list. The query parameter, delete_contacts=true
, will delete the list and start an asynchronous job to delete associated contacts.
Sourcepub fn patch_mc_lists_id(&self, id: &str) -> PatchMcListsIdRequest<'_>
pub fn patch_mc_lists_id(&self, id: &str) -> PatchMcListsIdRequest<'_>
Update List
This endpoint updates the name of a list.*
Sourcepub fn delete_mc_lists_id_contacts(
&self,
contact_ids: &str,
id: &str,
) -> DeleteMcListsIdContactsRequest<'_>
pub fn delete_mc_lists_id_contacts( &self, contact_ids: &str, id: &str, ) -> DeleteMcListsIdContactsRequest<'_>
Remove Contacts from a List
This endpoint allows you to remove contacts from a given list.
The contacts will not be deleted. Only their list membership will be changed.
Sourcepub fn get_mc_lists_id_contacts_count(
&self,
id: &str,
) -> GetMcListsIdContactsCountRequest<'_>
pub fn get_mc_lists_id_contacts_count( &self, id: &str, ) -> GetMcListsIdContactsCountRequest<'_>
Get List Contact Count
This endpoint returns the number of contacts on a specific list.*
Sourcepub fn get_marketing_segments(&self) -> GetMarketingSegmentsRequest<'_>
pub fn get_marketing_segments(&self) -> GetMarketingSegmentsRequest<'_>
Get List of Segments
This endpoint allows you to retrieve a list of segments.
The query param parent_list_ids
is treated as a filter. Any match will be returned. Zero matches will return a response code of 200 with an empty results
array.
parent_list_ids | no_parent_list_id | ids | result |
---|---|---|---|
empty | false | empty | all segments values |
list_ids | false | empty | segments filtered by list_ids values |
list_ids | true | empty | segments filtered by list_ids and segments with no parent list_ids empty |
empty | true | empty | segments with no parent list_ids |
anything | anything | ids | segments with matching segment ids |
Sourcepub fn post_marketing_segments(
&self,
args: PostMarketingSegmentsRequired<'_>,
) -> PostMarketingSegmentsRequest<'_>
pub fn post_marketing_segments( &self, args: PostMarketingSegmentsRequired<'_>, ) -> PostMarketingSegmentsRequest<'_>
Create Segment
This endpoint allows you to create a segment.*
Sourcepub fn get_segments(&self) -> GetSegmentsRequest<'_>
pub fn get_segments(&self) -> GetSegmentsRequest<'_>
Get List of Segments
This endpoint allows you to retrieve a list of segments.
The query param parent_list_ids
is treated as a filter. Any match will be returned. Zero matches will return a response code of 200 with an empty results
array.
parent_list_ids | no_parent_list_id | ids | result |
---|---|---|---|
empty | false | empty | all segments values |
list_ids | false | empty | segments filtered by list_ids values |
list_ids | true | empty | segments filtered by list_ids and segments with no parent list_ids empty |
empty | true | empty | segments with no parent list_ids |
anything | anything | ids | segments with matching segment ids |
Sourcepub fn post_segments(
&self,
name: &str,
query_dsl: &str,
) -> PostSegmentsRequest<'_>
pub fn post_segments( &self, name: &str, query_dsl: &str, ) -> PostSegmentsRequest<'_>
Create Segment
Segment name
has to be unique. A user can not create a new segment with an existing segment name.
Sourcepub fn get_segments_segment_id(
&self,
segment_id: &str,
) -> GetSegmentsSegmentIdRequest<'_>
pub fn get_segments_segment_id( &self, segment_id: &str, ) -> GetSegmentsSegmentIdRequest<'_>
Get Segment by ID
Sourcepub fn delete_segments_segment_id(
&self,
segment_id: &str,
) -> DeleteSegmentsSegmentIdRequest<'_>
pub fn delete_segments_segment_id( &self, segment_id: &str, ) -> DeleteSegmentsSegmentIdRequest<'_>
Delete segment
This endpoint allows you to delete a segment by ID.*
Sourcepub fn patch_segments_segment_id(
&self,
segment_id: &str,
) -> PatchSegmentsSegmentIdRequest<'_>
pub fn patch_segments_segment_id( &self, segment_id: &str, ) -> PatchSegmentsSegmentIdRequest<'_>
Update Segment
Segment name
has to be unique. A user can not create a new segment with an existing segment name.
Sourcepub fn get_marketing_segments_segment_id(
&self,
segment_id: &str,
) -> GetMarketingSegmentsSegmentIdRequest<'_>
pub fn get_marketing_segments_segment_id( &self, segment_id: &str, ) -> GetMarketingSegmentsSegmentIdRequest<'_>
Get Segment by ID
This endpoint allows you to retrieve a single segment by ID.*
Sourcepub fn delete_marketing_segments_segment_id(
&self,
segment_id: &str,
) -> DeleteMarketingSegmentsSegmentIdRequest<'_>
pub fn delete_marketing_segments_segment_id( &self, segment_id: &str, ) -> DeleteMarketingSegmentsSegmentIdRequest<'_>
Delete Segment
This endpoint allows you to delete a segment by segment_id
.
Note that deleting a segment does not delete the contacts associated with the segment by default. Contacts associated with a deleted segment will remain in your list of all contacts and any other segments they belong to.
Sourcepub fn patch_marketing_segments_segment_id(
&self,
segment_id: &str,
name: &str,
query_dsl: &str,
) -> PatchMarketingSegmentsSegmentIdRequest<'_>
pub fn patch_marketing_segments_segment_id( &self, segment_id: &str, name: &str, query_dsl: &str, ) -> PatchMarketingSegmentsSegmentIdRequest<'_>
Update Segment
This endpoint allows you to update a segment.
Segment name
needs to be unique. A user can not update a segment name to an existing one.
Sourcepub fn post_marketing_senders(
&self,
args: PostMarketingSendersRequired<'_>,
) -> PostMarketingSendersRequest<'_>
pub fn post_marketing_senders( &self, args: PostMarketingSendersRequired<'_>, ) -> PostMarketingSendersRequest<'_>
Create a Sender Identity
This endpoint allows you to create a new sender identity.
You may create up to 100 unique sender identities.
Sender identities are required to be verified before use. If your domain has been authenticated, a new sender identity will auto verify on creation. Otherwise an email will be sent to the from.email
.
Sourcepub fn get_marketing_singlesends(&self) -> GetMarketingSinglesendsRequest<'_>
pub fn get_marketing_singlesends(&self) -> GetMarketingSinglesendsRequest<'_>
Get All Single Sends
This endpoint allows you to retrieve all your Single Sends.
Returns all of your Single Sends with condensed details about each, including the Single Sends’ IDs. For more details about an individual Single Send, pass the Single Send’s ID to the /marketing/singlesends/{id}
endpoint.
Sourcepub fn post_marketing_singlesends(
&self,
name: &str,
) -> PostMarketingSinglesendsRequest<'_>
pub fn post_marketing_singlesends( &self, name: &str, ) -> PostMarketingSinglesendsRequest<'_>
Create Single Send
This endpoint allows you to create a new Single Send.
Please note that if you are migrating from the previous version of Single Sends, you no longer need to pass a template ID with your request to this endpoint. Instead, you will pass all template data in the email_config
object.
Sourcepub fn delete_marketing_singlesends(
&self,
) -> DeleteMarketingSinglesendsRequest<'_>
pub fn delete_marketing_singlesends( &self, ) -> DeleteMarketingSinglesendsRequest<'_>
Bulk Delete Single Sends
This endpoint allows you to delete multiple Single Sends using an array of Single Sends IDs.
To first retrieve all your Single Sends’ IDs, you can make a GET request to the /marketing/singlensends
endpoint.
Please note that a DELETE request is permanent, and your Single Sends will not be recoverable after deletion.
Sourcepub fn get_marketing_singlesends_categories(
&self,
) -> GetMarketingSinglesendsCategoriesRequest<'_>
pub fn get_marketing_singlesends_categories( &self, ) -> GetMarketingSinglesendsCategoriesRequest<'_>
Get All Categories
This endpoint allows you to retrieve all the categories associated with your Single Sends.
This endpoint will return your latest 1,000 categories.
Sourcepub fn post_marketing_singlesends_search(
&self,
) -> PostMarketingSinglesendsSearchRequest<'_>
pub fn post_marketing_singlesends_search( &self, ) -> PostMarketingSinglesendsSearchRequest<'_>
Get Single Sends Search
This endpoint allows you to search for Single Sends based on specified criteria.
You can search for Single Sends by passing a combination of values using the name
, status
, and categories
request body fields.
For example, if you want to search for all Single Sends that are “drafts” or “scheduled” and also associated with the category “shoes,” your request body may look like the example below.
{
"status": [
"draft",
"scheduled"
],
"categories": [
"shoes"
],
}
Sourcepub fn get_marketing_singlesends_id(
&self,
id: &str,
) -> GetMarketingSinglesendsIdRequest<'_>
pub fn get_marketing_singlesends_id( &self, id: &str, ) -> GetMarketingSinglesendsIdRequest<'_>
Get Single Send by ID
This endpoint allows you to retrieve details about one Single Send using a Single Send ID.
You can retrieve all of your Single Sends by making a GET request to the /marketing/singlesends
endpoint.
Sourcepub fn post_marketing_singlesends_id(
&self,
id: &str,
) -> PostMarketingSinglesendsIdRequest<'_>
pub fn post_marketing_singlesends_id( &self, id: &str, ) -> PostMarketingSinglesendsIdRequest<'_>
Duplicate Single Send
This endpoint allows you to duplicate an existing Single Send using its Single Send ID.
Duplicating a Single Send is useful when you want to create a Single Send but don’t want to start from scratch. Once duplicated, you can update or edit the Single Send by making a PATCH request to the /marketing/singlesends/{id}
endpoint.
If you leave the name
field blank, your duplicate will be assigned the name of the Single Send it was copied from with the text “Copy of ” prepended to it. The name
field length is limited to 100 characters, so the end of the new Single Send name, including “Copy of ”, will be trimmed if the name exceeds this limit.
Sourcepub fn delete_marketing_singlesends_id(
&self,
id: &str,
) -> DeleteMarketingSinglesendsIdRequest<'_>
pub fn delete_marketing_singlesends_id( &self, id: &str, ) -> DeleteMarketingSinglesendsIdRequest<'_>
Delete Single Send by ID
This endpoint allows you to delete one Single Send using a Single Send ID.
To first retrieve all your Single Sends’ IDs, you can make a GET request to the /marketing/singlensends
endpoint.
Please note that a DELETE
request is permanent, and your Single Send will not be recoverable after deletion.
Sourcepub fn patch_marketing_singlesends_id(
&self,
id: &str,
name: &str,
) -> PatchMarketingSinglesendsIdRequest<'_>
pub fn patch_marketing_singlesends_id( &self, id: &str, name: &str, ) -> PatchMarketingSinglesendsIdRequest<'_>
Update Single Send
This endpoint allows you to update a Single Send using a Single Send ID.
You only need to pass the fields you want to update. Any blank/missing fields will remain unaltered.
Sourcepub fn put_marketing_singlesends_id_schedule(
&self,
id: &str,
send_at: &str,
) -> PutMarketingSinglesendsIdScheduleRequest<'_>
pub fn put_marketing_singlesends_id_schedule( &self, id: &str, send_at: &str, ) -> PutMarketingSinglesendsIdScheduleRequest<'_>
Schedule Single Send
This endpoint allows you to schedule a Single Send for future delivery using a Single Send ID.
To schedule a Single Send, you must pass a date string in ISO 8601 time format (yyyy-MM-ddTHH:mm:ssZ) using the required send_at
field. For example, the ISO 8601 format for 9:00 AM UTC on May 6, 2020 would be 2020-05-06T09:00:00Z
. You may also pass the string "now"
to send the Single Send immediately.
Sourcepub fn delete_marketing_singlesends_id_schedule(
&self,
id: &str,
) -> DeleteMarketingSinglesendsIdScheduleRequest<'_>
pub fn delete_marketing_singlesends_id_schedule( &self, id: &str, ) -> DeleteMarketingSinglesendsIdScheduleRequest<'_>
Delete Single Send Schedule
This endpoint allows you to cancel a scheduled Single Send using a Single Send ID.
Making a DELETE request to this endpoint will cancel the scheduled sending of a Single Send. The request will not delete the Single Send itself. Deleting a Single Send can be done by passing a DELETE request to /marketing/singlesends/{id}
.
Sourcepub fn getall_automation_stats(&self) -> GetallAutomationStatsRequest<'_>
pub fn getall_automation_stats(&self) -> GetallAutomationStatsRequest<'_>
Get All Automation Stats
This endpoint allows you to retrieve stats for all your Automations.
By default, all of your Automations will be returned, but you can specify a selection by passing in a comma-separated list of Automation IDs as the value of the query string parameter automation_ids
.
Responses are paginated. You can limit the number of responses returned per batch using the page_size
query string parameter. The default is 50, but you specify a value between 1 and 100.
You can retrieve a specific page of responses with the page_token
query string parameter.
Sourcepub fn get_automations_stats_export(
&self,
) -> GetAutomationsStatsExportRequest<'_>
pub fn get_automations_stats_export( &self, ) -> GetAutomationsStatsExportRequest<'_>
Export Automation Stats
This endpoint allows you to export Automation stats as CSV data.
You can specify one Automation or many: include as many Automation IDs as you need, separating them with commas, as the value of the ids
query string paramter.
The data is returned as plain text response but in CSV format, so your application making the call can present the information in whatever way is most appropriate, or just save the data as a .csv
file.
Sourcepub fn get_automation_stat(&self, id: &str) -> GetAutomationStatRequest<'_>
pub fn get_automation_stat(&self, id: &str) -> GetAutomationStatRequest<'_>
Get Automation Stats by ID
This endpoint allows you to retrieve stats for a single Automation using its ID.
Multiple Automation IDs can be retrieved using the “Get All Automation Stats” endpoint. Once you have an ID, this endpoint will return detailed stats for the single automation specified.
You may constrain the stats returned using the start_date
and end_date
query string parameters. You can also use the group_by
and aggregated_by
query string parameters to further refine the stats returned.
Sourcepub fn get_automation_link_stat(
&self,
id: &str,
) -> GetAutomationLinkStatRequest<'_>
pub fn get_automation_link_stat( &self, id: &str, ) -> GetAutomationLinkStatRequest<'_>
Get Automation Click Tracking Stats by ID
This endpoint lets you retrieve click-tracking stats for a single Automation.
The stats returned list the URLs embedded in your Automation and the number of clicks each one received.
Responses are paginated. You can limit the number of responses returned per batch using the page_size
query string parameter. The default is 50, but you specify a value between 1 and 100.
You can retrieve a specific page of responses with the page_token
query string parameter.
Sourcepub fn getall_singlesend_stats(&self) -> GetallSinglesendStatsRequest<'_>
pub fn getall_singlesend_stats(&self) -> GetallSinglesendStatsRequest<'_>
Get All Single Sends Stats
This endpoint allows you to retrieve stats for all your Single Sends.
By default, all of your Single Sends will be returned, but you can specify a selection by passing in a comma-separated list of Single Send IDs as the value of the query string parameter singlesend_ids
.
Responses are paginated. You can limit the number of responses returned per batch using the page_size
query string parameter. The default is 50, but you specify a value between 1 and 100.
You can retrieve a specific page of responses with the page_token
query string parameter.
Sourcepub fn get_singlesend_stats_export(&self) -> GetSinglesendStatsExportRequest<'_>
pub fn get_singlesend_stats_export(&self) -> GetSinglesendStatsExportRequest<'_>
Export Single Send Stats
This endpoint allows you to export Single Send stats as .CSV data.
You can specify one Single Send or many: include as many Single Send IDs as you need, separating them with commas, as the value of the ids
query string paramter.
The data is returned as plain text response but in .CSV format, so your application making the call can present the information in whatever way is most appropriate, or just save the data as a .csv file.
Sourcepub fn get_singlesend_stat(&self, id: &str) -> GetSinglesendStatRequest<'_>
pub fn get_singlesend_stat(&self, id: &str) -> GetSinglesendStatRequest<'_>
Get Single Send Stats by ID
This endpoint allows you to retrieve stats for an individual Single Send using a Single Send ID.
Multiple Single Send IDs can be retrieved using the “Get All Single Sends Stats” endpoint. Once you have an ID, this endpoint will return detailed stats for the Single Send specified.
You may constrain the stats returned using the start_date
and end_date
query string parameters. You can also use the group_by
and aggregated_by
query string parameters to further refine the stats returned.
Sourcepub fn get_singlesend_link_stat(
&self,
id: &str,
) -> GetSinglesendLinkStatRequest<'_>
pub fn get_singlesend_link_stat( &self, id: &str, ) -> GetSinglesendLinkStatRequest<'_>
Get Single Send Click Tracking Stats by ID
This endpoint lets you retrieve click-tracking stats for one Single Send.
The stats returned list the URLs embedded in the specified Single Send and the number of clicks each one received.
Responses are paginated. You can limit the number of responses returned per batch using the page_size
query string parameter. The default is 50, but you specify a value between 1 and 100.
You can retrieve a specific page of responses with the page_token
query string parameter.
Sourcepub fn post_marketing_test_send_email(
&self,
emails: &[&str],
template_id: &str,
) -> PostMarketingTestSendEmailRequest<'_>
pub fn post_marketing_test_send_email( &self, emails: &[&str], template_id: &str, ) -> PostMarketingTestSendEmailRequest<'_>
Send a Test Marketing Email
This endpoint allows you to send a test marketing email to a list of email addresses.
Before sending a marketing message, you can test it using this endpoint. You may specify up to 10 contacts in the emails
request body field. You must also specify a template_id
and include either a from_address
or sender_id
. You can manage your templates with the Twilio SendGrid App or the Transactional Templates API.
Please note that this endpoint works with Dynamic Transactional Templates only. Legacy Transactional Templates will not be delivered.
For more information about managing Dynamic Transactional Templates, see How to Send Email with Dynamic Transactional Templates.
You can also test your Single Sends in the Twilio SendGrid Marketing Campaigns UI.
Sourcepub fn get_messages(
&self,
query: &str,
authorization: &str,
) -> GetMessagesRequest<'_>
pub fn get_messages( &self, query: &str, authorization: &str, ) -> GetMessagesRequest<'_>
Filter all messages
Filter all messages to search your Email Activity. All queries must be URL encoded, and use the following format:
query={query_type}="{query_content}"
Once URL encoded, the previous query will look like this:
query=type%3D%22query_content%22
For example, to filter by a specific email, use the following query:
query=to_email%3D%22example%40example.com%22
Visit our Query Reference section to see a full list of basic query types and examples.
Sourcepub fn post_v3_messages_download(
&self,
authorization: &str,
) -> PostV3MessagesDownloadRequest<'_>
pub fn post_v3_messages_download( &self, authorization: &str, ) -> PostV3MessagesDownloadRequest<'_>
Request CSV
This request will kick off a backend process to generate a CSV file. Once generated, the worker will then send an email for the user download the file. The link will expire in 3 days.
The CSV fill contain the last 1 million messages. This endpoint will be rate limited to 1 request every 12 hours (rate limit may change).
This endpoint is similar to the GET Single Message endpoint - the only difference is that /download is added to indicate that this is a CSV download requests but the same query is used to determine what the CSV should contain.
Sourcepub fn get_v3_messages_download_download_uuid(
&self,
authorization: &str,
download_uuid: &str,
) -> GetV3MessagesDownloadDownloadUuidRequest<'_>
pub fn get_v3_messages_download_download_uuid( &self, authorization: &str, download_uuid: &str, ) -> GetV3MessagesDownloadDownloadUuidRequest<'_>
Download CSV
This endpoint will return a presigned URL that can be used to download the CSV that was requested from the “Request a CSV” endpoint.*
Sourcepub fn get_v3_messages_msg_id(
&self,
authorization: &str,
msg_id: &str,
) -> GetV3MessagesMsgIdRequest<'_>
pub fn get_v3_messages_msg_id( &self, authorization: &str, msg_id: &str, ) -> GetV3MessagesMsgIdRequest<'_>
Filter messages by message ID
Get all of the details about the specified message.
Sourcepub fn get_partner_settings(&self) -> GetPartnerSettingsRequest<'_>
pub fn get_partner_settings(&self) -> GetPartnerSettingsRequest<'_>
Returns a list of all partner settings.
This endpoint allows you to retrieve a list of all partner settings that you can enable.
Our partner settings allow you to integrate your SendGrid account with our partners to increase your SendGrid experience and functionality. For more information about our partners, and how you can begin integrating with them, please visit our Partners documentation.
Sourcepub fn get_partner_settings_new_relic(
&self,
) -> GetPartnerSettingsNewRelicRequest<'_>
pub fn get_partner_settings_new_relic( &self, ) -> GetPartnerSettingsNewRelicRequest<'_>
Returns all New Relic partner settings.
This endpoint allows you to retrieve your current New Relic partner settings.
Our partner settings allow you to integrate your SendGrid account with our partners to increase your SendGrid experience and functionality. For more information about our partners, and how you can begin integrating with them, please visit our Partners documentation.
By integrating with New Relic, you can send your SendGrid email statistics to your New Relic Dashboard. If you enable this setting, your stats will be sent to New Relic every 5 minutes. You will need your New Relic License Key to enable this setting. For more information, please see our SendGrid for New Relic documentation.
Sourcepub fn patch_partner_settings_new_relic(
&self,
) -> PatchPartnerSettingsNewRelicRequest<'_>
pub fn patch_partner_settings_new_relic( &self, ) -> PatchPartnerSettingsNewRelicRequest<'_>
Updates New Relic partner settings.
This endpoint allows you to update or change your New Relic partner settings.
Our partner settings allow you to integrate your SendGrid account with our partners to increase your SendGrid experience and functionality. For more information about our partners, and how you can begin integrating with them, please visit our Partners documentation.
By integrating with New Relic, you can send your SendGrid email statistics to your New Relic Dashboard. If you enable this setting, your stats will be sent to New Relic every 5 minutes. You will need your New Relic License Key to enable this setting. For more information, please see our SendGrid for New Relic documentation.
Sourcepub fn get_scopes(&self) -> GetScopesRequest<'_>
pub fn get_scopes(&self) -> GetScopesRequest<'_>
Retrieve a list of scopes for which this user has access.
This endpoint returns a list of all scopes that this user has access to.
API Keys are used to authenticate with SendGrid’s v3 API.
API Keys may be assigned certain permissions, or scopes, that limit which API endpoints they are able to access.
This endpoint returns all the scopes assigned to the key you use to authenticate with it. To retrieve the scopes assigned to another key, you can pass an API key ID to the “Retrieve an existing API key” endpoint.
For a more detailed explanation of how you can use API Key permissions, please visit our API Keys documentation.
Sourcepub fn get_v3_scopes_requests(&self) -> GetV3ScopesRequestsRequest<'_>
pub fn get_v3_scopes_requests(&self) -> GetV3ScopesRequestsRequest<'_>
Retrieve access requests
This endpoint allows you to retrieve a list of all recent access requests.
The Response Header’s link
parameter will include pagination info.
Sourcepub fn delete_v3_scopes_requests_request_id(
&self,
request_id: &str,
) -> DeleteV3ScopesRequestsRequestIdRequest<'_>
pub fn delete_v3_scopes_requests_request_id( &self, request_id: &str, ) -> DeleteV3ScopesRequestsRequestIdRequest<'_>
Deny access request
This endpoint allows you to deny an attempt to access your account.
Note: Only teammate admins may delete a teammate’s access request.
Sourcepub fn patch_v3_scopes_requests_approve_id(
&self,
request_id: &str,
) -> PatchV3ScopesRequestsApproveIdRequest<'_>
pub fn patch_v3_scopes_requests_approve_id( &self, request_id: &str, ) -> PatchV3ScopesRequestsApproveIdRequest<'_>
Approve access request
This endpoint allows you to approve an access attempt.
Note: Only teammate admins may approve another teammate’s access request.
Sourcepub fn get_v3_senders(&self) -> GetV3SendersRequest<'_>
pub fn get_v3_senders(&self) -> GetV3SendersRequest<'_>
Get all Sender Identities
This endpoint allows you to retrieve a list of all sender identities that have been created for your account.*
Sourcepub fn post_senders(
&self,
args: PostSendersRequired<'_>,
) -> PostSendersRequest<'_>
pub fn post_senders( &self, args: PostSendersRequired<'_>, ) -> PostSendersRequest<'_>
Create a Sender Identity
This endpoint allows you to create a new sender identity.
You may create up to 100 unique sender identities.
Sourcepub fn get_v3_senders_sender_id(
&self,
sender_id: i64,
) -> GetV3SendersSenderIdRequest<'_>
pub fn get_v3_senders_sender_id( &self, sender_id: i64, ) -> GetV3SendersSenderIdRequest<'_>
View a Sender Identity
This endpoint allows you to retrieve a specific sender identity.*
Sourcepub fn delete_v3_senders_sender_id(
&self,
sender_id: i64,
) -> DeleteV3SendersSenderIdRequest<'_>
pub fn delete_v3_senders_sender_id( &self, sender_id: i64, ) -> DeleteV3SendersSenderIdRequest<'_>
Delete a Sender Identity
This endoint allows you to delete one of your sender identities.*
Sourcepub fn patch_v3_senders_sender_id(
&self,
sender_id: i64,
) -> PatchV3SendersSenderIdRequest<'_>
pub fn patch_v3_senders_sender_id( &self, sender_id: i64, ) -> PatchV3SendersSenderIdRequest<'_>
Update a Sender Identity
This endpoint allows you to update a sender identity.
Updates to from.email
require re-verification.
Partial updates are allowed, but fields that are marked as “required” in the POST (create) endpoint must not be nil if that field is included in the PATCH request.
Sourcepub fn post_v3_senders_sender_id_resend_verification(
&self,
sender_id: i64,
) -> PostV3SendersSenderIdResendVerificationRequest<'_>
pub fn post_v3_senders_sender_id_resend_verification( &self, sender_id: i64, ) -> PostV3SendersSenderIdResendVerificationRequest<'_>
Resend Sender Identity Verification
This enpdoint allows you to resend a sender identity verification email.*
Sourcepub fn post_sso_certificates(
&self,
integration_id: &str,
public_certificate: &str,
) -> PostSsoCertificatesRequest<'_>
pub fn post_sso_certificates( &self, integration_id: &str, public_certificate: &str, ) -> PostSsoCertificatesRequest<'_>
Create an SSO Certificate
This endpoint allows you to create an SSO certificate.*
Sourcepub fn get_sso_certificates_cert_id(
&self,
cert_id: &str,
) -> GetSsoCertificatesCertIdRequest<'_>
pub fn get_sso_certificates_cert_id( &self, cert_id: &str, ) -> GetSsoCertificatesCertIdRequest<'_>
Get an SSO Certificate
This endpoint allows you to retrieve an individual SSO certificate.*
Sourcepub fn delete_sso_certificates_cert_id(
&self,
cert_id: &str,
) -> DeleteSsoCertificatesCertIdRequest<'_>
pub fn delete_sso_certificates_cert_id( &self, cert_id: &str, ) -> DeleteSsoCertificatesCertIdRequest<'_>
Delete an SSO Certificate
This endpoint allows you to delete an SSO certificate.
You can retrieve a certificate’s ID from the response provided by the “Get All SSO Integrations” endpoint.
Sourcepub fn patch_sso_certificates_cert_id(
&self,
cert_id: &str,
) -> PatchSsoCertificatesCertIdRequest<'_>
pub fn patch_sso_certificates_cert_id( &self, cert_id: &str, ) -> PatchSsoCertificatesCertIdRequest<'_>
Update SSO Certificate
This endpoint allows you to update an existing certificate by ID.
You can retrieve a certificate’s ID from the response provided by the “Get All SSO Integrations” endpoint.
Sourcepub fn get_sso_integrations(&self) -> GetSsoIntegrationsRequest<'_>
pub fn get_sso_integrations(&self) -> GetSsoIntegrationsRequest<'_>
Get All SSO Integrations
This endpoint allows you to retrieve all SSO integrations tied to your Twilio SendGrid account.
The IDs returned by this endpoint can be used by the APIs additional endpoints to modify your SSO integrations.
Sourcepub fn post_sso_integrations(
&self,
args: PostSsoIntegrationsRequired<'_>,
) -> PostSsoIntegrationsRequest<'_>
pub fn post_sso_integrations( &self, args: PostSsoIntegrationsRequired<'_>, ) -> PostSsoIntegrationsRequest<'_>
Create an SSO Integration
This endpoint allows you to create an SSO integration.*
Sourcepub fn get_sso_integrations_id(
&self,
id: &str,
) -> GetSsoIntegrationsIdRequest<'_>
pub fn get_sso_integrations_id( &self, id: &str, ) -> GetSsoIntegrationsIdRequest<'_>
Get an SSO Integration
This endpoint allows you to retrieve an SSO integration by ID.
You can retrieve the IDs for your configurations from the response provided by the “Get All SSO Integrations” endpoint.
Sourcepub fn delete_sso_integrations_id(
&self,
id: &str,
) -> DeleteSsoIntegrationsIdRequest<'_>
pub fn delete_sso_integrations_id( &self, id: &str, ) -> DeleteSsoIntegrationsIdRequest<'_>
Delete an SSO Integration
This endpoint allows you to delete an IdP configuration by ID.
You can retrieve the IDs for your configurations from the response provided by the “Get All SSO Integrations” endpoint.
Sourcepub fn patch_sso_integrations_id(
&self,
args: PatchSsoIntegrationsIdRequired<'_>,
) -> PatchSsoIntegrationsIdRequest<'_>
pub fn patch_sso_integrations_id( &self, args: PatchSsoIntegrationsIdRequired<'_>, ) -> PatchSsoIntegrationsIdRequest<'_>
Update an SSO Integration
This endpoint allows you to modify an exisiting SSO integration.
You can retrieve the IDs for your configurations from the response provided by the “Get All SSO Integrations” endpoint.
Sourcepub fn get_sso_integrations_integration_id_certificates(
&self,
integration_id: &str,
) -> GetSsoIntegrationsIntegrationIdCertificatesRequest<'_>
pub fn get_sso_integrations_integration_id_certificates( &self, integration_id: &str, ) -> GetSsoIntegrationsIntegrationIdCertificatesRequest<'_>
Get All SSO Certificates by Integration
This endpoint allows you to retrieve all your IdP configurations by configuration ID.
The integration_id
expected by this endpoint is the id
returned in the response by the “Get All SSO Integrations” endpoint.
Sourcepub fn post_sso_teammates(
&self,
args: PostSsoTeammatesRequired<'_>,
) -> PostSsoTeammatesRequest<'_>
pub fn post_sso_teammates( &self, args: PostSsoTeammatesRequired<'_>, ) -> PostSsoTeammatesRequest<'_>
Create SSO Teammate
This endpoint allows you to create an SSO Teammate.
The email provided for this user will also function as the Teammate’s username.
Sourcepub fn patch_sso_teammates_username(
&self,
username: &str,
) -> PatchSsoTeammatesUsernameRequest<'_>
pub fn patch_sso_teammates_username( &self, username: &str, ) -> PatchSsoTeammatesUsernameRequest<'_>
Edit an SSO Teammate
This endpoint allows you to modify an existing SSO Teammate.
To turn a teammate into an admin, the request body should contain the is_admin
field set to true
. Otherwise, set is_admin
to false and pass in all the scopes that a teammate should have.
Only the parent user and Teammates with admin permissions can update another Teammate’s permissions. Admin users can only update permissions.
Sourcepub fn get_stats(&self, start_date: &str) -> GetStatsRequest<'_>
pub fn get_stats(&self, start_date: &str) -> GetStatsRequest<'_>
Retrieve global email statistics
This endpoint allows you to retrieve all of your global email statistics between a given date range.
Parent accounts can see either aggregated stats for the parent account or aggregated stats for a subuser specified in the on-behalf-of
header. Subuser accounts will see only their own stats.
Sourcepub fn get_subusers(&self) -> GetSubusersRequest<'_>
pub fn get_subusers(&self) -> GetSubusersRequest<'_>
List all Subusers
This endpoint allows you to retrieve a list of all of your subusers.
You can choose to retrieve specific subusers as well as limit the results that come back from the API.
Sourcepub fn post_subusers(
&self,
args: PostSubusersRequired<'_>,
) -> PostSubusersRequest<'_>
pub fn post_subusers( &self, args: PostSubusersRequired<'_>, ) -> PostSubusersRequest<'_>
Create Subuser
This endpoint allows you to create a new subuser.*
Sourcepub fn get_subusers_reputations(&self) -> GetSubusersReputationsRequest<'_>
pub fn get_subusers_reputations(&self) -> GetSubusersReputationsRequest<'_>
Retrieve Subuser Reputations
This endpoint allows you to request the reputations for your subusers.
Subuser sender reputations give a good idea how well a sender is doing with regards to how recipients and recipient servers react to the mail that is being received. When a bounce, spam report, or other negative action happens on a sent email, it will affect your sender rating.
Sourcepub fn get_subusers_stats(
&self,
subusers: &str,
start_date: &str,
) -> GetSubusersStatsRequest<'_>
pub fn get_subusers_stats( &self, subusers: &str, start_date: &str, ) -> GetSubusersStatsRequest<'_>
Retrieve email statistics for your subusers.
This endpoint allows you to retrieve the email statistics for the given subusers.
You may retrieve statistics for up to 10 different subusers by including an additional subusers parameter for each additional subuser.
Sourcepub fn get_subusers_stats_monthly(
&self,
date: &str,
) -> GetSubusersStatsMonthlyRequest<'_>
pub fn get_subusers_stats_monthly( &self, date: &str, ) -> GetSubusersStatsMonthlyRequest<'_>
Retrieve monthly stats for all subusers
This endpoint allows you to retrieve the monthly email statistics for all subusers over the given date range.
When using the sort_by_metric
to sort your stats by a specific metric, you can not sort by the following metrics:
bounce_drops
, deferred
, invalid_emails
, processed
, spam_report_drops
, spam_reports
, or unsubscribe_drops
.
Sourcepub fn get_subusers_stats_sums(
&self,
start_date: &str,
) -> GetSubusersStatsSumsRequest<'_>
pub fn get_subusers_stats_sums( &self, start_date: &str, ) -> GetSubusersStatsSumsRequest<'_>
Retrieve the totals for each email statistic metric for all subusers.
This endpoint allows you to retrieve the total sums of each email statistic metric for all subusers over the given date range.*
Sourcepub fn delete_subusers_subuser_name(
&self,
subuser_name: &str,
) -> DeleteSubusersSubuserNameRequest<'_>
pub fn delete_subusers_subuser_name( &self, subuser_name: &str, ) -> DeleteSubusersSubuserNameRequest<'_>
Delete a subuser
This endpoint allows you to delete a subuser.
This is a permanent action. Once deleted, a subuser cannot be retrieved.
Sourcepub fn patch_subusers_subuser_name(
&self,
subuser_name: &str,
) -> PatchSubusersSubuserNameRequest<'_>
pub fn patch_subusers_subuser_name( &self, subuser_name: &str, ) -> PatchSubusersSubuserNameRequest<'_>
Enable/disable a subuser
This endpoint allows you to enable or disable a subuser.*
Sourcepub fn put_subusers_subuser_name_ips(
&self,
subuser_name: &str,
body: Value,
) -> PutSubusersSubuserNameIpsRequest<'_>
pub fn put_subusers_subuser_name_ips( &self, subuser_name: &str, body: Value, ) -> PutSubusersSubuserNameIpsRequest<'_>
Update IPs assigned to a subuser
This endpoint allows you update your subusers’ assigned IP.
Each subuser should be assigned to an IP address from which all of this subuser’s mail will be sent. Often, this is the same IP as the parent account, but each subuser can have one or more of their own IP addresses as well.
More information:
Sourcepub fn get_subusers_subuser_name_monitor(
&self,
subuser_name: &str,
) -> GetSubusersSubuserNameMonitorRequest<'_>
pub fn get_subusers_subuser_name_monitor( &self, subuser_name: &str, ) -> GetSubusersSubuserNameMonitorRequest<'_>
Retrieve monitor settings for a subuser
Sourcepub fn put_subusers_subuser_name_monitor(
&self,
subuser_name: &str,
email: &str,
frequency: f64,
) -> PutSubusersSubuserNameMonitorRequest<'_>
pub fn put_subusers_subuser_name_monitor( &self, subuser_name: &str, email: &str, frequency: f64, ) -> PutSubusersSubuserNameMonitorRequest<'_>
Update Monitor Settings for a subuser
Sourcepub fn post_subusers_subuser_name_monitor(
&self,
subuser_name: &str,
email: &str,
frequency: f64,
) -> PostSubusersSubuserNameMonitorRequest<'_>
pub fn post_subusers_subuser_name_monitor( &self, subuser_name: &str, email: &str, frequency: f64, ) -> PostSubusersSubuserNameMonitorRequest<'_>
Create monitor settings
Sourcepub fn delete_subusers_subuser_name_monitor(
&self,
subuser_name: &str,
) -> DeleteSubusersSubuserNameMonitorRequest<'_>
pub fn delete_subusers_subuser_name_monitor( &self, subuser_name: &str, ) -> DeleteSubusersSubuserNameMonitorRequest<'_>
Delete monitor settings
Sourcepub fn get_subusers_subuser_name_stats_monthly(
&self,
date: &str,
subuser_name: &str,
) -> GetSubusersSubuserNameStatsMonthlyRequest<'_>
pub fn get_subusers_subuser_name_stats_monthly( &self, date: &str, subuser_name: &str, ) -> GetSubusersSubuserNameStatsMonthlyRequest<'_>
Retrieve the monthly email statistics for a single subuser
This endpoint allows you to retrive the monthly email statistics for a specific subuser.
When using the sort_by_metric
to sort your stats by a specific metric, you can not sort by the following metrics:
bounce_drops
, deferred
, invalid_emails
, processed
, spam_report_drops
, spam_reports
, or unsubscribe_drops
.
Sourcepub fn get_suppression_blocks(&self) -> GetSuppressionBlocksRequest<'_>
pub fn get_suppression_blocks(&self) -> GetSuppressionBlocksRequest<'_>
Retrieve all blocks
This endpoint allows you to retrieve all email addresses that are currently on your blocks list. A maximum of 500 blocks will be returned per query. You can use the offset
and limit
parameters to retrieve more or less than 500 results.*
Sourcepub fn delete_suppression_blocks(&self) -> DeleteSuppressionBlocksRequest<'_>
pub fn delete_suppression_blocks(&self) -> DeleteSuppressionBlocksRequest<'_>
Delete blocks
This endpoint allows you to delete all email addresses on your blocks list.
There are two options for deleting blocked emails:
- You can delete all blocked emails by setting
delete_all
totrue
in the request body. - You can delete a selection of blocked emails by specifying the email addresses in the
emails
array of the request body.
Sourcepub fn get_suppression_blocks_email(
&self,
email: &str,
) -> GetSuppressionBlocksEmailRequest<'_>
pub fn get_suppression_blocks_email( &self, email: &str, ) -> GetSuppressionBlocksEmailRequest<'_>
Retrieve a specific block
This endpoint allows you to retrieve a specific email address from your blocks list.*
Sourcepub fn delete_suppression_blocks_email(
&self,
email: &str,
) -> DeleteSuppressionBlocksEmailRequest<'_>
pub fn delete_suppression_blocks_email( &self, email: &str, ) -> DeleteSuppressionBlocksEmailRequest<'_>
Delete a specific block
This endpoint allows you to delete a specific email address from your blocks list.*
Sourcepub fn get_suppression_bounces(
&self,
accept: &str,
) -> GetSuppressionBouncesRequest<'_>
pub fn get_suppression_bounces( &self, accept: &str, ) -> GetSuppressionBouncesRequest<'_>
Retrieve all bounces
This endpoint allows you to retrieve all of your bounces. A maximum of 500 bounces will be returned per query. You can use the offset
and limit
parameters to retrieve more or less than 500 results.*
Sourcepub fn delete_suppression_bounces(&self) -> DeleteSuppressionBouncesRequest<'_>
pub fn delete_suppression_bounces(&self) -> DeleteSuppressionBouncesRequest<'_>
Delete bounces
This endpoint allows you to delete all emails on your bounces list.
There are two options for deleting bounced emails:
- You can delete all bounced emails by setting
delete_all
totrue
in the request body. - You can delete a selection of bounced emails by specifying the email addresses in the
emails
array of the request body.
WARNING: You can not have both emails
and delete_all
set.
Sourcepub fn get_suppression_bounces_classifications(
&self,
accept: &str,
) -> GetSuppressionBouncesClassificationsRequest<'_>
pub fn get_suppression_bounces_classifications( &self, accept: &str, ) -> GetSuppressionBouncesClassificationsRequest<'_>
Retrieve bounce classification totals
This endpoint will return the total number of bounces by classification in descending order for each day. You can retrieve the bounce classification totals in CSV format by specifying "text/csv"
in the Accept header.
Sourcepub fn get_suppressions_bounces_classifications_classification(
&self,
accept: &str,
classification: &str,
) -> GetSuppressionsBouncesClassificationsClassificationRequest<'_>
pub fn get_suppressions_bounces_classifications_classification( &self, accept: &str, classification: &str, ) -> GetSuppressionsBouncesClassificationsClassificationRequest<'_>
Retrieve bounce classification over time by domain stats
This endpoint will return the number of bounces for the classification specified in descending order for each day. You can retrieve the bounce classification totals in CSV format by specifying "text/csv"
in the Accept header.
Sourcepub fn get_suppression_bounces_email(
&self,
email: &str,
) -> GetSuppressionBouncesEmailRequest<'_>
pub fn get_suppression_bounces_email( &self, email: &str, ) -> GetSuppressionBouncesEmailRequest<'_>
Retrieve a Bounce
This endpoint allows you to retrieve a specific bounce by email address.*
Sourcepub fn delete_suppression_bounces_email(
&self,
email_address: &str,
email: &str,
) -> DeleteSuppressionBouncesEmailRequest<'_>
pub fn delete_suppression_bounces_email( &self, email_address: &str, email: &str, ) -> DeleteSuppressionBouncesEmailRequest<'_>
Delete a bounce
This endpoint allows you to remove an email address from your bounce list.*
Sourcepub fn get_suppression_invalid_emails(
&self,
) -> GetSuppressionInvalidEmailsRequest<'_>
pub fn get_suppression_invalid_emails( &self, ) -> GetSuppressionInvalidEmailsRequest<'_>
Retrieve all invalid emails
This endpoint allows you to retrieve a list of all invalid email addresses.*
Sourcepub fn delete_suppression_invalid_emails(
&self,
) -> DeleteSuppressionInvalidEmailsRequest<'_>
pub fn delete_suppression_invalid_emails( &self, ) -> DeleteSuppressionInvalidEmailsRequest<'_>
Delete invalid emails
This endpoint allows you to remove email addresses from your invalid email address list.
There are two options for deleting invalid email addresses:
- You can delete all invalid email addresses by setting
delete_all
to true in the request body. - You can delete some invalid email addresses by specifying certain addresses in an array in the request body.
Sourcepub fn get_suppression_invalid_emails_email(
&self,
email: &str,
) -> GetSuppressionInvalidEmailsEmailRequest<'_>
pub fn get_suppression_invalid_emails_email( &self, email: &str, ) -> GetSuppressionInvalidEmailsEmailRequest<'_>
Retrieve a specific invalid email
This endpoint allows you to retrieve a specific invalid email addresses.*
Sourcepub fn delete_suppression_invalid_emails_email(
&self,
email: &str,
) -> DeleteSuppressionInvalidEmailsEmailRequest<'_>
pub fn delete_suppression_invalid_emails_email( &self, email: &str, ) -> DeleteSuppressionInvalidEmailsEmailRequest<'_>
Delete a specific invalid email
This endpoint allows you to remove a specific email address from the invalid email address list.*
Sourcepub fn get_suppression_spam_reports(
&self,
) -> GetSuppressionSpamReportsRequest<'_>
pub fn get_suppression_spam_reports( &self, ) -> GetSuppressionSpamReportsRequest<'_>
Retrieve all spam reports
This endpoint allows you to retrieve all spam reports.*
Sourcepub fn delete_suppression_spam_reports(
&self,
) -> DeleteSuppressionSpamReportsRequest<'_>
pub fn delete_suppression_spam_reports( &self, ) -> DeleteSuppressionSpamReportsRequest<'_>
Delete spam reports
This endpoint allows you to delete your spam reports.
Deleting a spam report will remove the suppression, meaning email will once again be sent to the previously suppressed address. This should be avoided unless a recipient indicates they wish to receive email from you again. You can use our bypass filters to deliver messages to otherwise suppressed addresses when exceptions are required.
There are two options for deleting spam reports:
- You can delete all spam reports by setting the
delete_all
field totrue
in the request body. - You can delete a list of select spam reports by specifying the email addresses in the
emails
array of the request body.
Sourcepub fn get_suppression_spam_reports_email(
&self,
email: &str,
) -> GetSuppressionSpamReportsEmailRequest<'_>
pub fn get_suppression_spam_reports_email( &self, email: &str, ) -> GetSuppressionSpamReportsEmailRequest<'_>
Retrieve a specific spam report
This endpoint allows you to retrieve a specific spam report by email address.*
Sourcepub fn delete_suppression_spam_reports_email(
&self,
email: &str,
) -> DeleteSuppressionSpamReportsEmailRequest<'_>
pub fn delete_suppression_spam_reports_email( &self, email: &str, ) -> DeleteSuppressionSpamReportsEmailRequest<'_>
Delete a specific spam report
This endpoint allows you to delete a specific spam report by email address.
Deleting a spam report will remove the suppression, meaning email will once again be sent to the previously suppressed address. This should be avoided unless a recipient indicates they wish to receive email from you again. You can use our bypass filters to deliver messages to otherwise suppressed addresses when exceptions are required.
Sourcepub fn get_suppression_unsubscribes(
&self,
) -> GetSuppressionUnsubscribesRequest<'_>
pub fn get_suppression_unsubscribes( &self, ) -> GetSuppressionUnsubscribesRequest<'_>
Retrieve all global suppressions
This endpoint allows you to retrieve a list of all email address that are globally suppressed.*
Sourcepub fn get_v3_teammates(&self) -> GetV3TeammatesRequest<'_>
pub fn get_v3_teammates(&self) -> GetV3TeammatesRequest<'_>
Retrieve all teammates
This endpoint allows you to retrieve a list of all current Teammates.
You can limit the number of results returned using the limit
query paramater. To return results from a specific Teammate, use the offset
paramter. The Response Headers will include pagination info.
Sourcepub fn post_v3_teammates(
&self,
email: &str,
is_admin: bool,
scopes: &[&str],
) -> PostV3TeammatesRequest<'_>
pub fn post_v3_teammates( &self, email: &str, is_admin: bool, scopes: &[&str], ) -> PostV3TeammatesRequest<'_>
Invite teammate
This endpoint allows you to invite a Teammate to your account via email.
You can set a Teammate’s initial permissions using the scopes
array in the request body. Teammate’s will receive a minimum set of scopes from Twilio SendGrid that are necessary for the Teammate to function.
Note: A teammate invite will expire after 7 days, but you may resend the invitation at any time to reset the expiration date.
Sourcepub fn get_v3_teammates_pending(&self) -> GetV3TeammatesPendingRequest<'_>
pub fn get_v3_teammates_pending(&self) -> GetV3TeammatesPendingRequest<'_>
Retrieve all pending teammates
This endpoint allows you to retrieve a list of all pending Teammate invitations.
Each teammate invitation is valid for 7 days. Users may resend the invitation to refresh the expiration date.
Sourcepub fn delete_v3_teammates_pending_token(
&self,
token: &str,
) -> DeleteV3TeammatesPendingTokenRequest<'_>
pub fn delete_v3_teammates_pending_token( &self, token: &str, ) -> DeleteV3TeammatesPendingTokenRequest<'_>
Delete pending teammate
This endpoint allows you to delete a pending teammate invite.*
Sourcepub fn post_v3_teammates_pending_token_resend(
&self,
token: &str,
) -> PostV3TeammatesPendingTokenResendRequest<'_>
pub fn post_v3_teammates_pending_token_resend( &self, token: &str, ) -> PostV3TeammatesPendingTokenResendRequest<'_>
Resend teammate invite
This endpoint allows you to resend a Teammate invitation.
Teammate invitations will expire after 7 days. Resending an invitation will reset the expiration date.
Sourcepub fn get_v3_teammates_username(
&self,
username: &str,
) -> GetV3TeammatesUsernameRequest<'_>
pub fn get_v3_teammates_username( &self, username: &str, ) -> GetV3TeammatesUsernameRequest<'_>
Retrieve specific teammate
This endpoint allows you to retrieve a specific Teammate by username.
You can retrieve the username’s for each of your Teammates using the “Retrieve all Teammates” endpoint.
Sourcepub fn delete_v3_teammates_username(
&self,
username: &str,
) -> DeleteV3TeammatesUsernameRequest<'_>
pub fn delete_v3_teammates_username( &self, username: &str, ) -> DeleteV3TeammatesUsernameRequest<'_>
Delete teammate
This endpoint allows you to delete a teammate.
Only the parent user or an admin teammate can delete another teammate.
Sourcepub fn patch_v3_teammates_username(
&self,
username: &str,
is_admin: bool,
scopes: &[&str],
) -> PatchV3TeammatesUsernameRequest<'_>
pub fn patch_v3_teammates_username( &self, username: &str, is_admin: bool, scopes: &[&str], ) -> PatchV3TeammatesUsernameRequest<'_>
Update teammate’s permissions
This endpoint allows you to update a teammate’s permissions.
To turn a teammate into an admin, the request body should contain an is_admin
set to true
. Otherwise, set is_admin
to false
and pass in all the scopes that a teammate should have.
Only the parent user or other admin teammates can update another teammate’s permissions.
Admin users can only update permissions.
Sourcepub fn get_templates(&self, page_size: f64) -> GetTemplatesRequest<'_>
pub fn get_templates(&self, page_size: f64) -> GetTemplatesRequest<'_>
Retrieve paged transactional templates.
This endpoint allows you to retrieve all transactional templates.*
Sourcepub fn post_templates(&self, name: &str) -> PostTemplatesRequest<'_>
pub fn post_templates(&self, name: &str) -> PostTemplatesRequest<'_>
Create a transactional template.
This endpoint allows you to create a transactional template.*
Sourcepub fn get_templates_template_id(
&self,
template_id: &str,
) -> GetTemplatesTemplateIdRequest<'_>
pub fn get_templates_template_id( &self, template_id: &str, ) -> GetTemplatesTemplateIdRequest<'_>
Retrieve a single transactional template.
This endpoint allows you to retrieve a single transactional template.*
Sourcepub fn post_templates_template_id(
&self,
template_id: &str,
) -> PostTemplatesTemplateIdRequest<'_>
pub fn post_templates_template_id( &self, template_id: &str, ) -> PostTemplatesTemplateIdRequest<'_>
Duplicate a transactional template.
This endpoint allows you to duplicate a transactional template.*
Sourcepub fn delete_templates_template_id(
&self,
template_id: &str,
) -> DeleteTemplatesTemplateIdRequest<'_>
pub fn delete_templates_template_id( &self, template_id: &str, ) -> DeleteTemplatesTemplateIdRequest<'_>
Delete a template.
This endpoint allows you to delete a transactional template.*
Sourcepub fn patch_templates_template_id(
&self,
template_id: &str,
) -> PatchTemplatesTemplateIdRequest<'_>
pub fn patch_templates_template_id( &self, template_id: &str, ) -> PatchTemplatesTemplateIdRequest<'_>
Edit a transactional template.
This endpoint allows you to edit the name of a transactional template.
To edit the template itself, create a new transactional template version.
Sourcepub fn post_templates_template_id_versions(
&self,
template_id: &str,
name: &str,
subject: &str,
) -> PostTemplatesTemplateIdVersionsRequest<'_>
pub fn post_templates_template_id_versions( &self, template_id: &str, name: &str, subject: &str, ) -> PostTemplatesTemplateIdVersionsRequest<'_>
Create a new transactional template version.
This endpoint allows you to create a new version of a template.*
Sourcepub fn get_templates_template_id_versions_version_id(
&self,
template_id: &str,
version_id: &str,
) -> GetTemplatesTemplateIdVersionsVersionIdRequest<'_>
pub fn get_templates_template_id_versions_version_id( &self, template_id: &str, version_id: &str, ) -> GetTemplatesTemplateIdVersionsVersionIdRequest<'_>
Retrieve a specific transactional template version.
This endpoint allows you to retrieve a specific version of a template.*
Sourcepub fn delete_templates_template_id_versions_version_id(
&self,
template_id: &str,
version_id: &str,
) -> DeleteTemplatesTemplateIdVersionsVersionIdRequest<'_>
pub fn delete_templates_template_id_versions_version_id( &self, template_id: &str, version_id: &str, ) -> DeleteTemplatesTemplateIdVersionsVersionIdRequest<'_>
Delete a transactional template version.
This endpoint allows you to delete a transactional template version.*
Sourcepub fn patch_templates_template_id_versions_version_id(
&self,
args: PatchTemplatesTemplateIdVersionsVersionIdRequired<'_>,
) -> PatchTemplatesTemplateIdVersionsVersionIdRequest<'_>
pub fn patch_templates_template_id_versions_version_id( &self, args: PatchTemplatesTemplateIdVersionsVersionIdRequired<'_>, ) -> PatchTemplatesTemplateIdVersionsVersionIdRequest<'_>
Edit a transactional template version.
This endpoint allows you to edit the content of your template version.*
Sourcepub fn post_templates_template_id_versions_version_id_activate(
&self,
template_id: &str,
version_id: &str,
) -> PostTemplatesTemplateIdVersionsVersionIdActivateRequest<'_>
pub fn post_templates_template_id_versions_version_id_activate( &self, template_id: &str, version_id: &str, ) -> PostTemplatesTemplateIdVersionsVersionIdActivateRequest<'_>
Activate a transactional template version.
This endpoint allows you to activate a version of one of your templates.*
Sourcepub fn get_tracking_settings(&self) -> GetTrackingSettingsRequest<'_>
pub fn get_tracking_settings(&self) -> GetTrackingSettingsRequest<'_>
Retrieve Tracking Settings
This endpoint allows you to retrieve a list of all tracking settings on your account.*
Sourcepub fn get_tracking_settings_click(&self) -> GetTrackingSettingsClickRequest<'_>
pub fn get_tracking_settings_click(&self) -> GetTrackingSettingsClickRequest<'_>
Retrieve Click Track Settings
This endpoint allows you to retrieve your current click tracking setting.
Click Tracking overrides all the links and URLs in your emails and points them to either SendGrid’s servers or the domain with which you branded your link. When a customer clicks a link, SendGrid tracks those clicks.
Click tracking helps you understand how users are engaging with your communications. SendGrid can track up to 1000 links per email
Sourcepub fn patch_tracking_settings_click(
&self,
) -> PatchTrackingSettingsClickRequest<'_>
pub fn patch_tracking_settings_click( &self, ) -> PatchTrackingSettingsClickRequest<'_>
Update Click Tracking Settings
This endpoint allows you to enable or disable your current click tracking setting.
Click Tracking overrides all the links and URLs in your emails and points them to either SendGrid’s servers or the domain with which you branded your link. When a customer clicks a link, SendGrid tracks those clicks.
Click tracking helps you understand how users are engaging with your communications. SendGrid can track up to 1000 links per email
Sourcepub fn get_tracking_settings_google_analytics(
&self,
) -> GetTrackingSettingsGoogleAnalyticsRequest<'_>
pub fn get_tracking_settings_google_analytics( &self, ) -> GetTrackingSettingsGoogleAnalyticsRequest<'_>
Retrieve Google Analytics Settings
This endpoint allows you to retrieve your current setting for Google Analytics.
Google Analytics helps you understand how users got to your site and what they’re doing there. For more information about using Google Analytics, please refer to Google’s URL Builder and their article on “Best Practices for Campaign Building”.
We default the settings to Google’s recommendations. For more information, see Google Analytics Demystified.
Sourcepub fn patch_tracking_settings_google_analytics(
&self,
) -> PatchTrackingSettingsGoogleAnalyticsRequest<'_>
pub fn patch_tracking_settings_google_analytics( &self, ) -> PatchTrackingSettingsGoogleAnalyticsRequest<'_>
Update Google Analytics Settings
This endpoint allows you to update your current setting for Google Analytics.
Google Analytics helps you understand how users got to your site and what they’re doing there. For more information about using Google Analytics, please refer to Google’s URL Builder and their article on “Best Practices for Campaign Building”.
We default the settings to Google’s recommendations. For more information, see Google Analytics Demystified.
Sourcepub fn get_tracking_settings_open(&self) -> GetTrackingSettingsOpenRequest<'_>
pub fn get_tracking_settings_open(&self) -> GetTrackingSettingsOpenRequest<'_>
Get Open Tracking Settings
This endpoint allows you to retrieve your current settings for open tracking.
Open Tracking adds an invisible image at the end of the email which can track email opens.
If the email recipient has images enabled on their email client, a request to SendGrid’s server for the invisible image is executed and an open event is logged.
These events are logged in the Statistics portal, Email Activity interface, and are reported by the Event Webhook.
Sourcepub fn patch_tracking_settings_open(
&self,
) -> PatchTrackingSettingsOpenRequest<'_>
pub fn patch_tracking_settings_open( &self, ) -> PatchTrackingSettingsOpenRequest<'_>
Update Open Tracking Settings
This endpoint allows you to update your current settings for open tracking.
Open Tracking adds an invisible image at the end of the email which can track email opens.
If the email recipient has images enabled on their email client, a request to SendGrid’s server for the invisible image is executed and an open event is logged.
These events are logged in the Statistics portal, Email Activity interface, and are reported by the Event Webhook.
Sourcepub fn get_tracking_settings_subscription(
&self,
) -> GetTrackingSettingsSubscriptionRequest<'_>
pub fn get_tracking_settings_subscription( &self, ) -> GetTrackingSettingsSubscriptionRequest<'_>
Retrieve Subscription Tracking Settings
This endpoint allows you to retrieve your current settings for subscription tracking.
Subscription tracking adds links to the bottom of your emails that allows your recipients to subscribe to, or unsubscribe from, your emails.
Sourcepub fn patch_tracking_settings_subscription(
&self,
) -> PatchTrackingSettingsSubscriptionRequest<'_>
pub fn patch_tracking_settings_subscription( &self, ) -> PatchTrackingSettingsSubscriptionRequest<'_>
Update Subscription Tracking Settings
This endpoint allows you to update your current settings for subscription tracking.
Subscription tracking adds links to the bottom of your emails that allows your recipients to subscribe to, or unsubscribe from, your emails.
Sourcepub fn get_user_account(&self) -> GetUserAccountRequest<'_>
pub fn get_user_account(&self) -> GetUserAccountRequest<'_>
Get a user’s account information.
This endpoint allows you to retrieve your user account details.
Your user’s account information includes the user’s account type and reputation.
Sourcepub fn get_user_credits(&self) -> GetUserCreditsRequest<'_>
pub fn get_user_credits(&self) -> GetUserCreditsRequest<'_>
Retrieve your credit balance
This endpoint allows you to retrieve the current credit balance for your account.
Each account has a credit balance, which is a base number of emails it can send before receiving per-email charges. For more information about credits and billing, see Billing and Plan details information.
Sourcepub fn get_user_email(&self) -> GetUserEmailRequest<'_>
pub fn get_user_email(&self) -> GetUserEmailRequest<'_>
Retrieve your account email address
This endpoint allows you to retrieve the email address currently on file for your account.*
Sourcepub fn put_user_email(&self) -> PutUserEmailRequest<'_>
pub fn put_user_email(&self) -> PutUserEmailRequest<'_>
Update your account email address
This endpoint allows you to update the email address currently on file for your account.*
Sourcepub fn put_user_password(
&self,
new_password: &str,
old_password: &str,
) -> PutUserPasswordRequest<'_>
pub fn put_user_password( &self, new_password: &str, old_password: &str, ) -> PutUserPasswordRequest<'_>
Update your password
This endpoint allows you to update your password.*
Sourcepub fn get_user_profile(&self) -> GetUserProfileRequest<'_>
pub fn get_user_profile(&self) -> GetUserProfileRequest<'_>
Get a user’s profile
Sourcepub fn patch_user_profile(&self) -> PatchUserProfileRequest<'_>
pub fn patch_user_profile(&self) -> PatchUserProfileRequest<'_>
Update a user’s profile
This endpoint allows you to update your current profile details.
Any one or more of the parameters can be updated via the PATCH /user/profile
endpoint. You must include at least one when you PATCH.
Sourcepub fn get_user_scheduled_sends(&self) -> GetUserScheduledSendsRequest<'_>
pub fn get_user_scheduled_sends(&self) -> GetUserScheduledSendsRequest<'_>
Retrieve all scheduled sends
This endpoint allows you to retrieve all cancelled and paused scheduled send information.
This endpoint will return only the scheduled sends that are associated with a batch_id
. If you have scheduled a send using the /mail/send
endpoint and the send_at
field but no batch_id
, the send will be scheduled for delivery; however, it will not be returned by this endpoint. For this reason, you should assign a batch_id
to any scheduled send you may need to pause or cancel in the future.
Sourcepub fn post_user_scheduled_sends(
&self,
batch_id: &str,
status: &str,
) -> PostUserScheduledSendsRequest<'_>
pub fn post_user_scheduled_sends( &self, batch_id: &str, status: &str, ) -> PostUserScheduledSendsRequest<'_>
Cancel or pause a scheduled send
This endpoint allows you to cancel or pause a scheduled send associated with a batch_id
.
Passing this endpoint a batch_id
and status will cancel or pause the scheduled send.
Once a scheduled send is set to pause
or cancel
you must use the “Update a scheduled send” endpoint to change its status or the “Delete a cancellation or pause from a scheduled send” endpoint to remove the status. Passing a status change to a scheduled send that has already been paused or cancelled will result in a 400
level status code.
If the maximum number of cancellations/pauses are added to a send, a 400
level status code will be returned.
Sourcepub fn get_user_scheduled_sends_batch_id(
&self,
batch_id: &str,
) -> GetUserScheduledSendsBatchIdRequest<'_>
pub fn get_user_scheduled_sends_batch_id( &self, batch_id: &str, ) -> GetUserScheduledSendsBatchIdRequest<'_>
Retrieve scheduled send
This endpoint allows you to retrieve the cancel/paused scheduled send information for a specific batch_id
.*
Sourcepub fn delete_user_scheduled_sends_batch_id(
&self,
batch_id: &str,
) -> DeleteUserScheduledSendsBatchIdRequest<'_>
pub fn delete_user_scheduled_sends_batch_id( &self, batch_id: &str, ) -> DeleteUserScheduledSendsBatchIdRequest<'_>
Delete a cancellation or pause from a scheduled send
This endpoint allows you to delete the cancellation/pause of a scheduled send.
Scheduled sends cancelled less than 10 minutes before the scheduled time are not guaranteed to be cancelled.
Sourcepub fn patch_user_scheduled_sends_batch_id(
&self,
batch_id: &str,
status: &str,
) -> PatchUserScheduledSendsBatchIdRequest<'_>
pub fn patch_user_scheduled_sends_batch_id( &self, batch_id: &str, status: &str, ) -> PatchUserScheduledSendsBatchIdRequest<'_>
Update a scheduled send
This endpoint allows you to update the status of a scheduled send for the given batch_id
.
If you have already set a cancel
or pause
status on a scheduled send using the “Cancel or pause a scheduled send” endpoint, you can update it’s status using this endpoint. Attempting to update a status once it has been set with the “Cancel or pause a scheduled send” endpoint will result in a 400
error.
Sourcepub fn get_user_settings_enforced_tls(
&self,
) -> GetUserSettingsEnforcedTlsRequest<'_>
pub fn get_user_settings_enforced_tls( &self, ) -> GetUserSettingsEnforcedTlsRequest<'_>
Retrieve current Enforced TLS settings.
This endpoint allows you to retrieve your current Enforced TLS settings.
The Enforced TLS settings specify whether or not the recipient is required to support TLS or have a valid certificate.
If either require_tls
or require_valid_cert
is set to true
, the recipient must support TLS 1.1 or higher or have a valid certificate. If these conditions are not met, Twilio SendGrid will drop the message and send a block event with “TLS required but not supported” as the description.
Sourcepub fn patch_user_settings_enforced_tls(
&self,
) -> PatchUserSettingsEnforcedTlsRequest<'_>
pub fn patch_user_settings_enforced_tls( &self, ) -> PatchUserSettingsEnforcedTlsRequest<'_>
Update Enforced TLS settings
This endpoint allows you to update your Enforced TLS settings.
To require TLS from recipients, set require_tls
to true
. If either require_tls
or require_valid_cert
is set to true
, the recipient must support TLS 1.1 or higher or have a valid certificate. If these conditions are not met, Twilio SendGrid will drop the message and send a block event with “TLS required but not supported” as the description.
Twilio SendGrid supports TLS 1.1 and higher and does not support older versions of TLS due to security vulnerabilities.
Sourcepub fn get_user_username(&self) -> GetUserUsernameRequest<'_>
pub fn get_user_username(&self) -> GetUserUsernameRequest<'_>
Retrieve your username
This endpoint allows you to retrieve your current account username.*
Sourcepub fn put_user_username(&self) -> PutUserUsernameRequest<'_>
pub fn put_user_username(&self) -> PutUserUsernameRequest<'_>
Update your username
This endpoint allows you to update the username for your account.*
Sourcepub fn get_user_webhooks_event_settings(
&self,
) -> GetUserWebhooksEventSettingsRequest<'_>
pub fn get_user_webhooks_event_settings( &self, ) -> GetUserWebhooksEventSettingsRequest<'_>
Retrieve Event Webhook settings
This endpoint allows you to retrieve your current event webhook settings.
If an event type is marked as true
, then the event webhook will include information about that event.
SendGrid’s Event Webhook will notify a URL of your choice via HTTP POST with information about events that occur as SendGrid processes your email.
Common uses of this data are to remove unsubscribes, react to spam reports, determine unengaged recipients, identify bounced email addresses, or create advanced analytics of your email program.
Sourcepub fn patch_user_webhooks_event_settings(
&self,
args: PatchUserWebhooksEventSettingsRequired<'_>,
) -> PatchUserWebhooksEventSettingsRequest<'_>
pub fn patch_user_webhooks_event_settings( &self, args: PatchUserWebhooksEventSettingsRequired<'_>, ) -> PatchUserWebhooksEventSettingsRequest<'_>
Update Event Notification Settings
This endpoint allows you to update your current event webhook settings.
If an event type is marked as true
, then the event webhook will include information about that event.
SendGrid’s Event Webhook will notify a URL of your choice via HTTP POST with information about events that occur as SendGrid processes your email.
Common uses of this data are to remove unsubscribes, react to spam reports, determine unengaged recipients, identify bounced email addresses, or create advanced analytics of your email program.
Sourcepub fn get_user_webhooks_event_settings_signed(
&self,
) -> GetUserWebhooksEventSettingsSignedRequest<'_>
pub fn get_user_webhooks_event_settings_signed( &self, ) -> GetUserWebhooksEventSettingsSignedRequest<'_>
Retrieve Signed Webhook Public Key
This endpoint allows you to retrieve your signed webhook’s public key.
Once you have enabled signing of the Event Webhook, you will need the public key provided to verify the signatures on requests coming from Twilio SendGrid. You can retrieve the public key from this endpoint at any time.
For more information about cryptographically signing the Event Webhook, see Getting Started with the Event Webhook Security Features.
Sourcepub fn patch_user_webhooks_event_settings_signed(
&self,
enabled: bool,
) -> PatchUserWebhooksEventSettingsSignedRequest<'_>
pub fn patch_user_webhooks_event_settings_signed( &self, enabled: bool, ) -> PatchUserWebhooksEventSettingsSignedRequest<'_>
Enable/Disable Signed Webhook
This endpoint allows you to enable or disable signing of the Event Webhook.
This endpoint takes a single boolean request parameter, enabled
. You may either enable or disable signing of the Event Webhook using this endpoint. Once enabled, you can retrieve your public key using the /webhooks/event/settings/signed
endpoint.
For more information about cryptographically signing the Event Webhook, see Getting Started with the Event Webhook Security Features.
Sourcepub fn post_user_webhooks_event_test(
&self,
) -> PostUserWebhooksEventTestRequest<'_>
pub fn post_user_webhooks_event_test( &self, ) -> PostUserWebhooksEventTestRequest<'_>
Test Event Notification Settings
This endpoint allows you to test your event webhook by sending a fake event notification post to the provided URL.
SendGrid’s Event Webhook will notify a URL of your choice via HTTP POST with information about events that occur as SendGrid processes your email.
Common uses of this data are to remove unsubscribes, react to spam reports, determine unengaged recipients, identify bounced email addresses, or create advanced analytics of your email program.
Tip: Retry logic for this endpoint differs from other endpoints, which use a rolling 24-hour retry.
If your web server does not return a 2xx response type, we will retry a POST request until we receive a 2xx response or the maximum time of 10 minutes has expired.
Sourcepub fn get_user_webhooks_parse_settings(
&self,
) -> GetUserWebhooksParseSettingsRequest<'_>
pub fn get_user_webhooks_parse_settings( &self, ) -> GetUserWebhooksParseSettingsRequest<'_>
Retrieve all parse settings
This endpoint allows you to retrieve all of your current inbound parse settings.*
Sourcepub fn post_user_webhooks_parse_settings(
&self,
) -> PostUserWebhooksParseSettingsRequest<'_>
pub fn post_user_webhooks_parse_settings( &self, ) -> PostUserWebhooksParseSettingsRequest<'_>
Create a parse setting
This endpoint allows you to create a new inbound parse setting.
Creating an Inbound Parse setting requires two pieces of information: a url
and a hostname
.
The hostname
must correspond to a domain authenticated by Twilio SendGrid on your account. If you need to complete domain authentication, you can use the Twilio SendGrid App or the “Authenticate a domain” endpoint. See “How to Set Up Domain Authentication” for instructions.
Any email received by the hostname
will be parsed when you complete this setup. You must also add a Twilio SendGrid MX record to this domain’s DNS records. See “Setting up the Inbound Parse Webhook” for full instructions.
The url
represents a location where the parsed message data will be delivered. Twilio SendGrid will make an HTTP POST request to this url
with the message data. The url
must be publicly reachable, and your application must return a 200
status code to signal that the message data has been received.
Sourcepub fn get_user_webhooks_parse_settings_hostname(
&self,
hostname: &str,
) -> GetUserWebhooksParseSettingsHostnameRequest<'_>
pub fn get_user_webhooks_parse_settings_hostname( &self, hostname: &str, ) -> GetUserWebhooksParseSettingsHostnameRequest<'_>
Retrieve a specific parse setting
This endpoint allows you to retrieve a specific inbound parse setting by hostname.
You can retrieve all your Inbound Parse settings and their associated host names with the “Retrieve all parse settings” endpoint.
Sourcepub fn delete_user_webhooks_parse_settings_hostname(
&self,
hostname: &str,
) -> DeleteUserWebhooksParseSettingsHostnameRequest<'_>
pub fn delete_user_webhooks_parse_settings_hostname( &self, hostname: &str, ) -> DeleteUserWebhooksParseSettingsHostnameRequest<'_>
Delete a parse setting
This endpoint allows you to delete a specific inbound parse setting by hostname.
You can retrieve all your Inbound Parse settings and their associated host names with the “Retrieve all parse settings” endpoint.
Sourcepub fn patch_user_webhooks_parse_settings_hostname(
&self,
hostname: &str,
) -> PatchUserWebhooksParseSettingsHostnameRequest<'_>
pub fn patch_user_webhooks_parse_settings_hostname( &self, hostname: &str, ) -> PatchUserWebhooksParseSettingsHostnameRequest<'_>
Update a parse setting
This endpoint allows you to update a specific inbound parse setting by hostname.
You can retrieve all your Inbound Parse settings and their associated host names with the “Retrieve all parse settings” endpoint.
Sourcepub fn get_user_webhooks_parse_stats(
&self,
start_date: &str,
) -> GetUserWebhooksParseStatsRequest<'_>
pub fn get_user_webhooks_parse_stats( &self, start_date: &str, ) -> GetUserWebhooksParseStatsRequest<'_>
Retrieves Inbound Parse Webhook statistics.
This endpoint allows you to retrieve the statistics for your Parse Webhook useage.
SendGrid’s Inbound Parse Webhook allows you to parse the contents and attachments of incomming emails. The Parse API can then POST the parsed emails to a URL that you specify. The Inbound Parse Webhook cannot parse messages greater than 30MB in size, including all attachments.
There are a number of pre-made integrations for the SendGrid Parse Webhook which make processing events easy. You can find these integrations in the Library Index.
Sourcepub fn post_validations_email(
&self,
email: &str,
) -> PostValidationsEmailRequest<'_>
pub fn post_validations_email( &self, email: &str, ) -> PostValidationsEmailRequest<'_>
Validate an email
This endpoint allows you to validate an email address.*
Sourcepub fn get_verified_senders(&self) -> GetVerifiedSendersRequest<'_>
pub fn get_verified_senders(&self) -> GetVerifiedSendersRequest<'_>
Get All Verified Senders
This endpoint allows you to retrieve all the Sender Identities associated with an account.
This endpoint will return both verified and unverified senders.
You can limit the number of results returned using the limit
, lastSeenID
, and id
query string parameters.
limit
allows you to specify an exact number of Sender Identities to return.lastSeenID
will return senders with an ID number occuring after the passed in ID. In other words, thelastSeenID
provides a starting point from which SendGrid will iterate to find Sender Identities associated with your account.id
will return information about only the Sender Identity passed in the request.
Sourcepub fn post_verified_senders(
&self,
from_email: &str,
nickname: &str,
reply_to: &str,
) -> PostVerifiedSendersRequest<'_>
pub fn post_verified_senders( &self, from_email: &str, nickname: &str, reply_to: &str, ) -> PostVerifiedSendersRequest<'_>
Create Verified Sender Request
This endpoint allows you to create a new Sender Identify.
Upon successful submission of a POST
request to this endpoint, an identity will be created, and a verification email will be sent to the address assigned to the from_email
field. You must complete the verification process using the sent email to fully verify the sender.
If you need to resend the verification email, you can do so with the Resend Verified Sender Request, /resend/{id}
, endpoint.
If you need to authenticate a domain rather than a Single Sender, see the Domain Authentication API.
Sourcepub fn get_verified_senders_domains(
&self,
) -> GetVerifiedSendersDomainsRequest<'_>
pub fn get_verified_senders_domains( &self, ) -> GetVerifiedSendersDomainsRequest<'_>
Domain Warn List
This endpoint returns a list of domains known to implement DMARC and categorizes them by failure type — hard failure or soft failure.
Domains listed as hard failures will not deliver mail when used as a Sender Identity due to the domain’s DMARC policy settings.
For example, using a yahoo.com
email address as a Sender Identity will likely result in the rejection of your mail. For more information about DMARC, see Everything about DMARC.
Sourcepub fn post_verified_senders_resend_id(
&self,
id: &str,
) -> PostVerifiedSendersResendIdRequest<'_>
pub fn post_verified_senders_resend_id( &self, id: &str, ) -> PostVerifiedSendersResendIdRequest<'_>
Resend Verified Sender Request
This endpoint allows you to resend a verification email to a specified Sender Identity.
Passing the id
assigned to a Sender Identity to this endpoint will resend a verification email to the from_address
associated with the Sender Identity. This can be useful if someone loses their verification email or needs to have it resent for any other reason.
You can retrieve the IDs associated with Sender Identities by passing a “Get All Verified Senders” endpoint.
Sourcepub fn get_verified_senders_steps_completed(
&self,
) -> GetVerifiedSendersStepsCompletedRequest<'_>
pub fn get_verified_senders_steps_completed( &self, ) -> GetVerifiedSendersStepsCompletedRequest<'_>
Completed Steps
This endpoint allows you to determine which of SendGrid’s verification processes have been completed for an account.
This endpoint returns boolean values, true
and false
, for Domain Authentication, domain_verified
, and Single Sender Verification, sender_verified
, for the account.
An account may have one, both, or neither verification steps completed. If you need to authenticate a domain rather than a Single Sender, see the “Authenticate a domain” endpoint.
Sourcepub fn get_verified_senders_verify_token(
&self,
token: &str,
) -> GetVerifiedSendersVerifyTokenRequest<'_>
pub fn get_verified_senders_verify_token( &self, token: &str, ) -> GetVerifiedSendersVerifyTokenRequest<'_>
Verify Sender Request
This endpoint allows you to verify a sender requests.
The token is generated by SendGrid and included in a verification email delivered to the address that’s pending verification.
Sourcepub fn delete_verified_senders_id(
&self,
id: &str,
) -> DeleteVerifiedSendersIdRequest<'_>
pub fn delete_verified_senders_id( &self, id: &str, ) -> DeleteVerifiedSendersIdRequest<'_>
Delete Verified Sender
This endpoint allows you to delete a Sender Identity.
Pass the id
assigned to a Sender Identity to this endpoint to delete the Sender Identity from your account.
You can retrieve the IDs associated with Sender Identities using the “Get All Verified Senders” endpoint.
Sourcepub fn patch_verified_senders_id(
&self,
args: PatchVerifiedSendersIdRequired<'_>,
) -> PatchVerifiedSendersIdRequest<'_>
pub fn patch_verified_senders_id( &self, args: PatchVerifiedSendersIdRequired<'_>, ) -> PatchVerifiedSendersIdRequest<'_>
Edit Verified Sender
This endpoint allows you to update an existing Sender Identity.
Pass the id
assigned to a Sender Identity to this endpoint as a path parameter. Include any fields you wish to update in the request body in JSON format.
You can retrieve the IDs associated with Sender Identities by passing a GET
request to the Get All Verified Senders endpoint, /verified_senders
.
Note: Unlike a PUT
request, PATCH
allows you to update only the fields you wish to edit. Fields that are not passed as part of a request will remain unaltered.
Sourcepub fn post_whitelabel_dns_email(
&self,
domain_id: i64,
email: &str,
link_id: i64,
) -> PostWhitelabelDnsEmailRequest<'_>
pub fn post_whitelabel_dns_email( &self, domain_id: i64, email: &str, link_id: i64, ) -> PostWhitelabelDnsEmailRequest<'_>
Email DNS records to a co-worker
This endpoint is used to share DNS records with a colleagues
Use this endpoint to send SendGrid-generated DNS record information to a co-worker so they can enter it into your DNS provider to validate your domain and link branding.
What type of records are sent will depend on whether you have chosen Automated Security or not. When using Automated Security, SendGrid provides you with three CNAME records. If you turn Automated Security off, you are instead given TXT and MX records.
If you pass a link_id
to this endpoint, the generated email will supply the DNS records necessary to complete Link Branding setup. If you pass a domain_id
to this endpoint, the generated email will supply the DNS records needed to complete Domain Authentication. Passing both IDs will generate an email with the records needed to complete both setup steps.
You can retrieve all your domain IDs from the returned id
fields for each domain using the “List all authenticated domains” endpoint. You can retrieve all of your link IDs using the “Retrieve all branded links” endpoint.
Sourcepub fn get_whitelabel_domains(&self) -> GetWhitelabelDomainsRequest<'_>
pub fn get_whitelabel_domains(&self) -> GetWhitelabelDomainsRequest<'_>
List all authenticated domains
This endpoint allows you to retrieve a list of all domains you have authenticated.*
Sourcepub fn post_whitelabel_domains(
&self,
domain: &str,
) -> PostWhitelabelDomainsRequest<'_>
pub fn post_whitelabel_domains( &self, domain: &str, ) -> PostWhitelabelDomainsRequest<'_>
Authenticate a domain
This endpoint allows you to authenticate a domain.
If you are authenticating a domain for a subuser, you have two options:
- Use the “username” parameter. This allows you to authenticate a domain on behalf of your subuser. This means the subuser is able to see and modify the authenticated domain.
- Use the Association workflow (see Associate Domain section). This allows you to authenticate a domain created by the parent to a subuser. This means the subuser will default to the assigned domain, but will not be able to see or modify that authenticated domain. However, if the subuser authenticates their own domain it will overwrite the assigned domain.
Sourcepub fn get_whitelabel_domains_default(
&self,
) -> GetWhitelabelDomainsDefaultRequest<'_>
pub fn get_whitelabel_domains_default( &self, ) -> GetWhitelabelDomainsDefaultRequest<'_>
Get the default authentication
This endpoint allows you to retrieve the default authentication for a domain.
When creating or updating a domain authentication, you can set the domain as a default. The default domain will be used to send all mail. If you have multiple authenticated domains, the authenticated domain matching the domain of the From address will be used, and the default will be overridden.
This endpoint will return a default domain and its details only if a default is set. You are not required to set a default. If you do not set a default domain, this endpoint will return general information about your domain authentication status.
Sourcepub fn get_whitelabel_domains_subuser(
&self,
username: &str,
) -> GetWhitelabelDomainsSubuserRequest<'_>
pub fn get_whitelabel_domains_subuser( &self, username: &str, ) -> GetWhitelabelDomainsSubuserRequest<'_>
List the authenticated domain associated with the given user.
This endpoint allows you to retrieve all of the authenticated domains that have been assigned to a specific subuser.
Authenticated domains can be associated with (i.e. assigned to) subusers from a parent account. This functionality allows subusers to send mail using their parent’s domain authentication. To associate an authenticated domain with a subuser, the parent account must first authenticate and validate the domain. The parent may then associate the authenticated domain via the subuser management tools.
Sourcepub fn delete_whitelabel_domains_subuser(
&self,
) -> DeleteWhitelabelDomainsSubuserRequest<'_>
pub fn delete_whitelabel_domains_subuser( &self, ) -> DeleteWhitelabelDomainsSubuserRequest<'_>
Disassociate an authenticated domain from a given user.
This endpoint allows you to disassociate a specific authenticated domain from a subuser.
Authenticated domains can be associated with (i.e. assigned to) subusers from a parent account. This functionality allows subusers to send mail using their parent’s domain authentication. To associate an authenticated domain with a subuser, the parent account must first authenticate and validate the domain. The parent may then associate the authenticated domain via the subuser management tools.
Sourcepub fn get_whitelabel_domains_domain_id(
&self,
domain_id: &str,
) -> GetWhitelabelDomainsDomainIdRequest<'_>
pub fn get_whitelabel_domains_domain_id( &self, domain_id: &str, ) -> GetWhitelabelDomainsDomainIdRequest<'_>
Retrieve an authenticated domain
This endpoint allows you to retrieve a specific authenticated domain.*
Sourcepub fn delete_whitelabel_domains_domain_id(
&self,
domain_id: &str,
) -> DeleteWhitelabelDomainsDomainIdRequest<'_>
pub fn delete_whitelabel_domains_domain_id( &self, domain_id: &str, ) -> DeleteWhitelabelDomainsDomainIdRequest<'_>
Delete an authenticated domain.
This endpoint allows you to delete an authenticated domain.*
Sourcepub fn patch_whitelabel_domains_domain_id(
&self,
domain_id: &str,
) -> PatchWhitelabelDomainsDomainIdRequest<'_>
pub fn patch_whitelabel_domains_domain_id( &self, domain_id: &str, ) -> PatchWhitelabelDomainsDomainIdRequest<'_>
Update an authenticated domain
This endpoint allows you to update the settings for an authenticated domain.*
Sourcepub fn post_whitelabel_domains_domain_id_subuser(
&self,
domain_id: i64,
username: &str,
) -> PostWhitelabelDomainsDomainIdSubuserRequest<'_>
pub fn post_whitelabel_domains_domain_id_subuser( &self, domain_id: i64, username: &str, ) -> PostWhitelabelDomainsDomainIdSubuserRequest<'_>
Associate an authenticated domain with a given user.
This endpoint allows you to associate a specific authenticated domain with a subuser.
Authenticated domains can be associated with (i.e. assigned to) subusers from a parent account. This functionality allows subusers to send mail using their parent’s domain authentication. To associate an authenticated domain with a subuser, the parent account must first authenticate and validate the domain. The parent may then associate the authenticated domain via the subuser management tools.
Sourcepub fn post_whitelabel_domains_id_ips(
&self,
id: i64,
ip: &str,
) -> PostWhitelabelDomainsIdIpsRequest<'_>
pub fn post_whitelabel_domains_id_ips( &self, id: i64, ip: &str, ) -> PostWhitelabelDomainsIdIpsRequest<'_>
Add an IP to an authenticated domain
This endpoint allows you to add an IP address to an authenticated domain.*
Sourcepub fn delete_whitelabel_domains_id_ips_ip(
&self,
id: i64,
ip: &str,
) -> DeleteWhitelabelDomainsIdIpsIpRequest<'_>
pub fn delete_whitelabel_domains_id_ips_ip( &self, id: i64, ip: &str, ) -> DeleteWhitelabelDomainsIdIpsIpRequest<'_>
Remove an IP from an authenticated domain.
This endpoint allows you to remove an IP address from that domain’s authentication.*
Sourcepub fn post_whitelabel_domains_id_validate(
&self,
id: i64,
) -> PostWhitelabelDomainsIdValidateRequest<'_>
pub fn post_whitelabel_domains_id_validate( &self, id: i64, ) -> PostWhitelabelDomainsIdValidateRequest<'_>
Validate a domain authentication.
This endpoint allows you to validate an authenticated domain. If it fails, it will return an error message describing why the domain could not be validated.*
Sourcepub fn get_whitelabel_ips(&self) -> GetWhitelabelIpsRequest<'_>
pub fn get_whitelabel_ips(&self) -> GetWhitelabelIpsRequest<'_>
Retrieve all reverse DNS records
This endpoint allows you to retrieve all of the Reverse DNS records created by this account.
You may include a search key by using the ip
query string parameter. This enables you to perform a prefix search for a given IP segment (e.g., ?ip="192."
).
Use the limit
query string parameter to reduce the number of records returned. All records will be returned if you have fewer records than the specified limit.
The offset
query string parameter allows you to specify a non-zero index from which records will be returned. For example, if you have ten records, ?offset=5
will return the last five records (at indexes 5 through 9). The list starts at index zero.
Sourcepub fn post_whitelabel_ips(
&self,
domain: &str,
ip: &str,
) -> PostWhitelabelIpsRequest<'_>
pub fn post_whitelabel_ips( &self, domain: &str, ip: &str, ) -> PostWhitelabelIpsRequest<'_>
Set up reverse DNS
This endpoint allows you to set up reverse DNS.*
Sourcepub fn get_whitelabel_ips_id(&self, id: &str) -> GetWhitelabelIpsIdRequest<'_>
pub fn get_whitelabel_ips_id(&self, id: &str) -> GetWhitelabelIpsIdRequest<'_>
Retrieve a reverse DNS record
This endpoint allows you to retrieve a reverse DNS record.
You can retrieve the IDs associated with all your reverse DNS records using the “Retrieve all reverse DNS records” endpoint.
Sourcepub fn delete_whitelabel_ips_id(
&self,
id: &str,
) -> DeleteWhitelabelIpsIdRequest<'_>
pub fn delete_whitelabel_ips_id( &self, id: &str, ) -> DeleteWhitelabelIpsIdRequest<'_>
Delete a reverse DNS record
This endpoint allows you to delete a reverse DNS record.
A call to this endpoint will respond with a 204 status code if the deletion was successful.
You can retrieve the IDs associated with all your reverse DNS records using the “Retrieve all reverse DNS records” endpoint.
Sourcepub fn post_whitelabel_ips_id_validate(
&self,
id: &str,
) -> PostWhitelabelIpsIdValidateRequest<'_>
pub fn post_whitelabel_ips_id_validate( &self, id: &str, ) -> PostWhitelabelIpsIdValidateRequest<'_>
Validate a reverse DNS record
This endpoint allows you to validate a reverse DNS record.
Always check the valid
property of the response’s validation_results.a_record
object. This field will indicate whether it was possible to validate the reverse DNS record. If the validation_results.a_record.valid
is false
, this indicates only that Twilio SendGrid could not determine the validity your reverse DNS record — it may still be valid.
If validity couldn’t be determined, you can check the value of validation_results.a_record.reason
to find out why.
You can retrieve the IDs associated with all your reverse DNS records using the “Retrieve all reverse DNS records” endpoint.
Sourcepub fn get_whitelabel_links(&self) -> GetWhitelabelLinksRequest<'_>
pub fn get_whitelabel_links(&self) -> GetWhitelabelLinksRequest<'_>
Retrieve all branded links
This endpoint allows you to retrieve all branded links.
You can submit this request as one of your subusers if you include their ID in the on-behalf-of
header in the request.
Sourcepub fn post_whitelabel_links(
&self,
domain: &str,
) -> PostWhitelabelLinksRequest<'_>
pub fn post_whitelabel_links( &self, domain: &str, ) -> PostWhitelabelLinksRequest<'_>
Create a branded link
This endpoint allows you to create a new branded link.
To create the link branding, supply the root domain and, optionally, the subdomain — these go into separate fields in your request body. The root domain should match your FROM email address. If you provide a subdomain, it must be different from the subdomain you used for authenticating your domain.
You can submit this request as one of your subusers if you include their ID in the on-behalf-of
header in the request.
Sourcepub fn get_whitelabel_links_default(
&self,
) -> GetWhitelabelLinksDefaultRequest<'_>
pub fn get_whitelabel_links_default( &self, ) -> GetWhitelabelLinksDefaultRequest<'_>
Retrieve the default branded link
This endpoint allows you to retrieve the default branded link.
The default branded link is the actual URL to be used when sending messages. If you have more than one branded link, the default is determined by the following order:
- The validated branded link marked as
default
(set when you call the “Create a branded link” endpoint or by calling the “Update a branded link” endpoint on an existing link) - Legacy branded links (migrated from the whitelabel wizard)
- Default SendGrid-branded links (i.e.,
100.ct.sendgrid.net
)
You can submit this request as one of your subusers if you include their ID in the on-behalf-of
header in the request.
Sourcepub fn get_whitelabel_links_subuser(
&self,
username: &str,
) -> GetWhitelabelLinksSubuserRequest<'_>
pub fn get_whitelabel_links_subuser( &self, username: &str, ) -> GetWhitelabelLinksSubuserRequest<'_>
Retrieve a subuser’s branded link
This endpoint allows you to retrieve the branded link associated with a subuser.
Link branding can be associated with subusers from the parent account. This functionality allows subusers to send mail using their parent’s link branding. To associate link branding, the parent account must first create a branded link and then validate it. The parent may then associate that branded link with a subuser via the API or the Subuser Management page of the Twilio SendGrid App.
Sourcepub fn delete_whitelabel_links_subuser(
&self,
username: &str,
) -> DeleteWhitelabelLinksSubuserRequest<'_>
pub fn delete_whitelabel_links_subuser( &self, username: &str, ) -> DeleteWhitelabelLinksSubuserRequest<'_>
Disassociate a branded link from a subuser
This endpoint allows you to take a branded link away from a subuser.
Link branding can be associated with subusers from the parent account. This functionality allows subusers to send mail using their parent’s link branding. To associate link branding, the parent account must first create a branded link and validate it. The parent may then associate that branded link with a subuser via the API or the Subuser Management page of the Twilio SendGrid App.
Your request will receive a response with a 204 status code if the disassociation was successful.
Sourcepub fn get_whitelabel_links_id(
&self,
id: i64,
) -> GetWhitelabelLinksIdRequest<'_>
pub fn get_whitelabel_links_id( &self, id: i64, ) -> GetWhitelabelLinksIdRequest<'_>
Retrieve a branded link
This endpoint allows you to retrieve a specific branded link by providing its ID.
You can submit this request as one of your subusers if you include their ID in the on-behalf-of
header in the request.
Sourcepub fn delete_whitelabel_links_id(
&self,
id: i64,
) -> DeleteWhitelabelLinksIdRequest<'_>
pub fn delete_whitelabel_links_id( &self, id: i64, ) -> DeleteWhitelabelLinksIdRequest<'_>
Delete a branded link
This endpoint allows you to delete a branded link.
Your request will receive a response with a 204 status code if the deletion was successful. The call does not return the link’s details, so if you wish to record these make sure you call the “Retrieve a branded link” endpoint before you request its deletion.
You can submit this request as one of your subusers if you include their ID in the on-behalf-of
header in the request.
Sourcepub fn patch_whitelabel_links_id(
&self,
id: i64,
) -> PatchWhitelabelLinksIdRequest<'_>
pub fn patch_whitelabel_links_id( &self, id: i64, ) -> PatchWhitelabelLinksIdRequest<'_>
Update a branded link
This endpoint allows you to update a specific branded link. You can use this endpoint to change a branded link’s default status.
You can submit this request as one of your subusers if you include their ID in the on-behalf-of
header in the request.
Sourcepub fn post_whitelabel_links_id_validate(
&self,
id: i64,
) -> PostWhitelabelLinksIdValidateRequest<'_>
pub fn post_whitelabel_links_id_validate( &self, id: i64, ) -> PostWhitelabelLinksIdValidateRequest<'_>
Validate a branded link
This endpoint allows you to validate a branded link.
You can submit this request as one of your subusers if you include their ID in the on-behalf-of
header in the request.
Sourcepub fn post_whitelabel_links_link_id_subuser(
&self,
link_id: i64,
) -> PostWhitelabelLinksLinkIdSubuserRequest<'_>
pub fn post_whitelabel_links_link_id_subuser( &self, link_id: i64, ) -> PostWhitelabelLinksLinkIdSubuserRequest<'_>
Associate a branded link with a subuser
This endpoint allows you to associate a branded link with a subuser account.
Link branding can be associated with subusers from the parent account. This functionality allows subusers to send mail using their parent’s link branding. To associate link branding, the parent account must first create a branded link and validate it. The parent may then associate that branded link with a subuser via the API or the Subuser Management page of the Twilio SendGrid App.