Email Activity (beta)

Email delivery and marketing service

sendgrid.com/docs ↗
Version
1.0.0
OpenAPI
3.0.0
Endpoints
334
Schemas
545
86
Quality
Updated
3 days ago
Email email marketing communications
Use this API in your AI agent

Query structured spec data via REST or MCP. Get exactly what your agent needs.

Get API Key

Server URLs

http://api.sendgrid.com/v3

Endpoints

Clear filters

Apikeys 1 endpoints

DELETE /api_keys/{api_key_id}

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.

operationId: ApiKeys_revokeKey

Parameters

Name In Required Type Description
api_key_id path required string
on-behalf-of header optional string

Responses

204
400
401
403
404
500
DELETE /api_keys/{api_key_id}

Alerts 1 endpoints

DELETE /alerts/{alert_id}

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.

operationId: Alerts_deleteAlertById

Parameters

Name In Required Type Description
alert_id path required integer

The ID of the alert you would like to retrieve.

on-behalf-of header optional string

Responses

204
DELETE /alerts/{alert_id}

Blocksapi 2 endpoints

DELETE /suppression/blocks

This endpoint allows you to delete all email addresses on your blocks list.

There are two options for deleting blocked emails:

  1. You can delete all blocked emails by setting delete_all to true in the request body.
  2. You can delete a selection of blocked emails by specifying the email addresses in the emails array of the request body.
operationId: BlocksApi_deleteAllBlockedEmails

Parameters

Name In Required Type Description
on-behalf-of header optional string

Request Body

application/json
schema BlocksApiDeleteAllBlockedEmailsRequest
Property Type Required
emails array optional
delete_all boolean optional

Responses

204
DELETE /suppression/blocks
DELETE /suppression/blocks/{email}

This endpoint allows you to delete a specific email address from your blocks list.

operationId: BlocksApi_deleteSpecificBlock

Parameters

Name In Required Type Description
email path required string

The email address of the specific block.

on-behalf-of header optional string

Responses

204
DELETE /suppression/blocks/{email}

Bouncesapi 2 endpoints

DELETE /suppression/bounces

This endpoint allows you to delete all emails on your bounces list.

There are two options for deleting bounced emails:

  1. You can delete all bounced emails by setting delete_all to true in the request body.
  2. You can delete a selection of bounced emails by specifying the email addresses in the emails array of the request body.
operationId: BouncesApi_deleteBounces

Parameters

Name In Required Type Description
on-behalf-of header optional string

Request Body

application/json
schema BouncesApiDeleteBouncesRequest
Property Type Required
emails array optional
delete_all boolean optional

Responses

204
401
DELETE /suppression/bounces
DELETE /suppression/bounces/{email}

This endpoint allows you to remove an email address from your bounce list.

operationId: BouncesApi_removeBounce

Parameters

Name In Required Type Description
email path required string
email_address query required string

The email address you would like to remove from the bounce list.

on-behalf-of header optional string

Request Body

application/json
schema ContactsApiListsDeleteListByIdRequest

Responses

204
401
DELETE /suppression/bounces/{email}

Campaignsapi 2 endpoints

DELETE /campaigns/{campaign_id}

This endpoint allows you to delete a specific campaign.

operationId: CampaignsApi_deleteCampaignById

Parameters

Name In Required Type Description
campaign_id path required integer

The id of the campaign you would like to retrieve.

on-behalf-of header optional string

Responses

204
401
404

””: “not found”

DELETE /campaigns/{campaign_id}
DELETE /campaigns/{campaign_id}/schedules

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).

operationId: CampaignsApi_unscheduleCampaign

Parameters

Name In Required Type Description
campaign_id path required integer
on-behalf-of header optional string

Responses

204
403

””: “This campaign is already In Progress.”
“”: “This campaign is already Sent.”
“”: “This campaign is already Paused.”
“”: “This campaign is already Canceled.”

404

””: “not found”

DELETE /campaigns/{campaign_id}/schedules

Cancelscheduledsends 1 endpoints

DELETE /user/scheduled_sends/{batch_id}

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.

operationId: CancelScheduledSends_cancellationPause

Parameters

Name In Required Type Description
batch_id path required string
on-behalf-of header optional string

Responses

204
400
401
403
404
500
DELETE /user/scheduled_sends/{batch_id}

Certificates 1 endpoints

DELETE /sso/certificates/{cert_id}

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.

operationId: Certificates_deleteSsoCertificate

Parameters

Name In Required Type Description
cert_id path required string

Responses

200
400
401
403
429
500
DELETE /sso/certificates/{cert_id}

Contacts 1 endpoints

DELETE /marketing/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.

operationId: Contacts_deleteBulkContacts

Parameters

Name In Required Type Description
delete_all_contacts query optional string

Must be set to "true" to delete all contacts.

ids query optional string

A comma-separated list of contact IDs.

Responses

202
400
401
403
404
500
DELETE /marketing/contacts

Contactsapicustomfields 1 endpoints

DELETE /contactdb/custom_fields/{custom_field_id}

This endpoint allows you to delete a custom field by ID.

operationId: ContactsApiCustomFields_deleteById

Parameters

Name In Required Type Description
custom_field_id path required integer

The ID of the custom field that you want to retrieve.

on-behalf-of header optional string

Responses

202
400

“id” : “Returned if custom_field_id is not valid”

401
404

“custom_field_id” : “Returned if custom_field_id does not exist”

DELETE /contactdb/custom_fields/{custom_field_id}

Contactsapilists 3 endpoints

DELETE /contactdb/lists

This endpoint allows you to delete multiple recipient lists.

operationId: ContactsApiLists_deleteMultipleLists

Parameters

Name In Required Type Description
on-behalf-of header optional string

Request Body

application/json
schema ContactsApiListsDeleteMultipleListsRequest
array of integer

Responses

204
400

“id” : “Returned if all list ids are not valid”

401
DELETE /contactdb/lists
DELETE /contactdb/lists/{list_id}

This endpoint allows you to delete a specific recipient list with the given ID.

operationId: ContactsApiLists_deleteListById

Parameters

Name In Required Type Description
list_id path required string
delete_contacts query optional boolean

Adds the ability to delete all contacts on the list in addition to deleting the list.

on-behalf-of header optional string

Request Body

application/json
schema ContactsApiListsDeleteListByIdRequest

Responses

202
400

“list_id” : “Returned if list_id is not valid”
“delete_contacts” : “Returned if delete_contacts is not valid”

401
404

“list_id” : “Returned if list_id does not exist”

DELETE /contactdb/lists/{list_id}
DELETE /contactdb/lists/{list_id}/recipients/{recipient_id}

This endpoint allows you to delete a single recipient from a list.

operationId: ContactsApiLists_deleteRecipient

Parameters

Name In Required Type Description
list_id path required integer

The ID of the list that you want to add the recipient to.

recipient_id path required string

The ID of the recipient you are adding to the list.

list_id query required integer

The ID of the list you are taking this recipient away from.

recipient_id query required integer

The ID of the recipient to take off the list.

on-behalf-of header optional string

Request Body

application/json
schema ContactsApiListsDeleteListByIdRequest

Responses

204
400

“list_id” : “Returned if list_id is not valid”
“recipient_id” : “Returned if recipient_id is not valid”

401
404

“list_id” : “Returned if list_id does not exist”
“recipient_id” : “Returned if recipient_id does not exist”

DELETE /contactdb/lists/{list_id}/recipients/{recipient_id}

Contactsapirecipients 2 endpoints

DELETE /contactdb/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.

operationId: ContactsApiRecipients_deleteMultipleRecipients

Parameters

Name In Required Type Description
on-behalf-of header optional string

Request Body

application/json
schema ContactsApiRecipientsDeleteMultipleRecipientsRequest
array of string

Responses

200
400

”” : “Returned if no recipients are deleted”
“” : “Returned if all of the provided recipient ids are invalid”
“” : “Returned if request body is not valid json”

401
DELETE /contactdb/recipients
DELETE /contactdb/recipients/{recipient_id}

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.

operationId: ContactsApiRecipients_deleteRecipientById

Parameters

Name In Required Type Description
recipient_id path required string

The ID of the recipient that you want to retrieve.

on-behalf-of header optional string

Responses

204
400

“recipient_id” : “Returned if recipient_id is not valid”

401
404

“recipient_id” : “Returned if record for recipient id does not exist”

DELETE /contactdb/recipients/{recipient_id}

Contactsapisegments 1 endpoints

DELETE /contactdb/segments/{segment_id}

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.

operationId: ContactsApiSegments_deleteSegment

Parameters

Name In Required Type Description
segment_id path required string
delete_contacts query optional boolean

True to delete all contacts matching the segment in addition to deleting the segment

on-behalf-of header optional string

Request Body

application/json
schema ContactsApiListsDeleteListByIdRequest

Responses

204
400

“segment_id” : “Returned if segment_id is not valid”
“delete_contacts” : “Returned if delete_contacts is not a valid boolean”

401
404

“segment_id” : “Returned if segment_id does not exist”

DELETE /contactdb/segments/{segment_id}

Customfields 1 endpoints

DELETE /marketing/field_definitions/{custom_field_id}

This endpoint deletes a defined Custom Field.

You cand delete only Custom Fields; Reserved Fields cannot be deleted.

operationId: CustomFields_deleteDefinition

Parameters

Name In Required Type Description
custom_field_id path required string

Responses

204
404
DELETE /marketing/field_definitions/{custom_field_id}

Designsapi 1 endpoints

DELETE /designs/{id}

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.

operationId: DesignsApi_deleteDesignById

Parameters

Name In Required Type Description
id path required string

The ID of the Design you want to duplicate.

Responses

204
400
404
DELETE /designs/{id}

Domainauthentication 3 endpoints

DELETE /whitelabel/domains/subuser

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.

operationId: DomainAuthentication_disassociateDomainFromSubuser

Parameters

Name In Required Type Description
username query optional string

Username for the subuser to find associated authenticated domain.

Responses

204
DELETE /whitelabel/domains/subuser
DELETE /whitelabel/domains/{domain_id}

This endpoint allows you to delete an authenticated domain.

operationId: DomainAuthentication_deleteAuthenticatedDomain

Parameters

Name In Required Type Description
domain_id path required string
on-behalf-of header optional string

Responses

204
DELETE /whitelabel/domains/{domain_id}
DELETE /whitelabel/domains/{id}/ips/{ip}

This endpoint allows you to remove an IP address from that domain’s authentication.

operationId: DomainAuthentication_removeIp

Parameters

Name In Required Type Description
id path required integer

ID of the domain to delete the IP from.

ip path required string

IP to remove from the domain.

on-behalf-of header optional string

Responses

200
DELETE /whitelabel/domains/{id}/ips/{ip}

Ipaccessmanagement 2 endpoints

DELETE /access_settings/whitelist

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.

operationId: IpAccessManagement_removeIpAddresses

Parameters

Name In Required Type Description
on-behalf-of header optional string

Request Body

application/json
schema IpAccessManagementRemoveIpAddressesRequest
Property Type Required
ids array optional

Responses

204
401
403
404
500
DELETE /access_settings/whitelist
DELETE /access_settings/whitelist/{rule_id}

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.

operationId: IpAccessManagement_removeSpecificIpFromAllowedList

Parameters

Name In Required Type Description
rule_id path required string

The ID of the allowed IP address that you want to retrieve.

on-behalf-of header optional string

Responses

204
DELETE /access_settings/whitelist/{rule_id}

Ippools 2 endpoints

DELETE /ips/pools/{pool_name}

This endpoint allows you to delete an IP pool.

operationId: IpPools_deletePool

Parameters

Name In Required Type Description
pool_name path required string

The name of the IP pool that you want to retrieve the IP addresses for.

Responses

204
404
DELETE /ips/pools/{pool_name}
DELETE /ips/pools/{pool_name}/ips/{ip}

This endpoint allows you to remove an IP address from an IP pool.

operationId: IpPools_removeIpAddressFromPool

Parameters

Name In Required Type Description
pool_name path required string

The name of the IP pool that you are removing the IP address from.

ip path required string

The IP address that you wish to remove.

Responses

204
404
DELETE /ips/pools/{pool_name}/ips/{ip}

Ipwarmup 1 endpoints

DELETE /ips/warmup/{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.

operationId: IpWarmup_stopIpAddressWarmup

Parameters

Name In Required Type Description
ip_address path required string

The IP address that you want to retrieve the warmup status for.

Responses

204
404
DELETE /ips/warmup/{ip_address}

Invalidemailsapi 2 endpoints

DELETE /suppression/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:

1) You can delete all invalid email addresses by setting delete_all to true in the request body.
2) You can delete some invalid email addresses by specifying certain addresses in an array in the request body.

operationId: InvalidEmailsApi_deleteInvalidEmails

Parameters

Name In Required Type Description
on-behalf-of header optional string

Request Body

application/json
schema InvalidEmailsApiDeleteInvalidEmailsRequest
Property Type Required
emails array optional
delete_all boolean optional

Responses

204
DELETE /suppression/invalid_emails
DELETE /suppression/invalid_emails/{email}

This endpoint allows you to remove a specific email address from the invalid email address list.

operationId: InvalidEmailsApi_removeSpecificEmail

Parameters

Name In Required Type Description
email path required string

The specific email address of the invalid email entry that you want to retrieve.

on-behalf-of header optional string

Responses

204
DELETE /suppression/invalid_emails/{email}

Linkbranding 2 endpoints

DELETE /whitelabel/links/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.

operationId: LinkBranding_disassociateBrandedLinkFromSubuser

Parameters

Name In Required Type Description
username query required string

The username of the subuser account that you want to disassociate a branded link from.

Responses

204
DELETE /whitelabel/links/subuser
DELETE /whitelabel/links/{id}

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.

operationId: LinkBranding_deleteBrandedLink

Parameters

Name In Required Type Description
id path required integer

The ID of the branded link you want to retrieve.

on-behalf-of header optional string

Responses

204
DELETE /whitelabel/links/{id}

Lists 2 endpoints

DELETE /marketing/lists/{id}

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.

operationId: Lists_deleteList

Parameters

Name In Required Type Description
id path required string
delete_contacts query optional boolean

Flag indicates that all contacts on the list are also to be deleted.

Responses

200
204
404
DELETE /marketing/lists/{id}
DELETE /marketing/lists/{id}/contacts

This endpoint allows you to remove contacts from a given list.

The contacts will not be deleted. Only their list membership will be changed.

operationId: Lists_removeContactsFromList

Parameters

Name In Required Type Description
id path required string
contact_ids query required string

comma separated list of contact ids

Responses

202
400
404
DELETE /marketing/lists/{id}/contacts

Reversedns 1 endpoints

DELETE /whitelabel/ips/{id}

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.

operationId: ReverseDns_deleteReverseDnsRecord

Parameters

Name In Required Type Description
id path required string

The ID of the reverse DNS record that you would like to retrieve.

on-behalf-of header optional string

Responses

204
DELETE /whitelabel/ips/{id}

Segmentingcontacts 1 endpoints

DELETE /marketing/segments/{segment_id}

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.

operationId: SegmentingContacts_deleteById

Parameters

Name In Required Type Description
segment_id path required string

Responses

202
400
401
403
404
500
DELETE /marketing/segments/{segment_id}

Segmentingcontactsv2beta 1 endpoints

DELETE /marketing/segments/2.0/{segment_id}

The Segmentation V2 API is currently in private beta. If you’d like to be added to the beta, please fill out this form

operationId: SegmentingContactsV2Beta_deleteSegmentById

Parameters

Name In Required Type Description
segment_id path required string

Responses

202
400
404
500
DELETE /marketing/segments/2.0/{segment_id}

Senderidentitiesapi 1 endpoints

DELETE /senders/{sender_id}

This endoint allows you to delete one of your sender identities.

operationId: SenderIdentitiesApi_deleteSenderIdentity

Parameters

Name In Required Type Description
sender_id path required integer

The ID of the sender identity that you want to retrieve.

on-behalf-of header optional string

Responses

204
403
404
DELETE /senders/{sender_id}

Senderverification 1 endpoints

DELETE /verified_senders/{id}

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.

operationId: SenderVerification_deleteVerifiedSender

Parameters

Name In Required Type Description
id path required string

Responses

204
401
403
404
500
DELETE /verified_senders/{id}

Settingsinboundparse 1 endpoints

DELETE /user/webhooks/parse/settings/{hostname}

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.

operationId: SettingsInboundParse_deleteSettingByHostname

Parameters

Name In Required Type Description
hostname path required string

The hostname associated with the inbound parse setting that you would like to retrieve.

on-behalf-of header optional string

Responses

204
401
403
404
500
DELETE /user/webhooks/parse/settings/{hostname}

Singlesends 3 endpoints

DELETE /marketing/singlesends

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.

operationId: SingleSends_bulkDelete

Parameters

Name In Required Type Description
ids query optional array

Single Send IDs to delete

Responses

204
404
500
DELETE /marketing/singlesends
DELETE /marketing/singlesends/{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.

operationId: SingleSends_deleteById

Parameters

Name In Required Type Description
id path required string

Responses

204
404
500
DELETE /marketing/singlesends/{id}
DELETE /marketing/singlesends/{id}/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}.

operationId: SingleSends_cancelScheduledSend

Parameters

Name In Required Type Description
id path required string

Responses

200
404
500
DELETE /marketing/singlesends/{id}/schedule

Singlesignonsettings 1 endpoints

DELETE /sso/integrations/{id}

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.

operationId: SingleSignOnSettings_deleteIntegrationById

Parameters

Name In Required Type Description
id path required string

Responses

204
400
401
403
429
500
DELETE /sso/integrations/{id}

Spamreportsapi 2 endpoints

DELETE /suppression/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:

  1. You can delete all spam reports by setting the delete_all field to true in the request body.
  2. You can delete a list of select spam reports by specifying the email addresses in the emails array of the request body.
operationId: SpamReportsApi_deleteReports

Parameters

Name In Required Type Description
on-behalf-of header optional string

Request Body

application/json
schema SpamReportsApiDeleteReportsRequest
Property Type Required
emails array optional
delete_all boolean optional

Responses

204
DELETE /suppression/spam_reports
DELETE /suppression/spam_reports/{email}

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.

operationId: SpamReportsApi_deleteSpecificReportByEmailAddress

Parameters

Name In Required Type Description
email path required string

The email address of a specific spam report that you want to retrieve.

on-behalf-of header optional string

Responses

204
DELETE /suppression/spam_reports/{email}

Subusermonitorsettings 1 endpoints

DELETE /subusers/{subuser_name}/monitor
operationId: SubuserMonitorSettings_deleteMonitorSettings

Parameters

Name In Required Type Description
subuser_name path required string

The name of the subuser for which to retrieve monitor settings.

Responses

204
401
404
DELETE /subusers/{subuser_name}/monitor

Subusersapi 1 endpoints

DELETE /subusers/{subuser_name}

This endpoint allows you to delete a subuser.

This is a permanent action. Once deleted, a subuser cannot be retrieved.

operationId: SubusersApi_deleteSubuser

Parameters

Name In Required Type Description
subuser_name path required string

Responses

204
401
DELETE /subusers/{subuser_name}

Suppressionsglobalsuppressions 1 endpoints

DELETE /asm/suppressions/global/{email}

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.

operationId: SuppressionsGlobalSuppressions_removeEmail

Parameters

Name In Required Type Description
email path required string

The email address of the global suppression you want to retrieve. Or, if you want to check if an email address is on the global suppressions list, enter that email address here.

on-behalf-of header optional string

Responses

204
DELETE /asm/suppressions/global/{email}

Suppressionssuppressions 1 endpoints

DELETE /asm/groups/{group_id}/suppressions/{email}

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.

operationId: SuppressionsSuppressions_removeSuppressionFromGroup

Parameters

Name In Required Type Description
group_id path required string

The id of the suppression group that you are removing an email address from.

email path required string

The email address that you want to remove from the suppression group.

on-behalf-of header optional string

Responses

204
DELETE /asm/groups/{group_id}/suppressions/{email}

Suppressionsunsubscribegroups 1 endpoints

DELETE /asm/groups/{group_id}

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.

operationId: SuppressionsUnsubscribeGroups_deleteGroup

Parameters

Name In Required Type Description
group_id path required string

The ID of the suppression group you would like to retrieve.

on-behalf-of header optional string

Responses

204
DELETE /asm/groups/{group_id}

Teammates 3 endpoints

DELETE /teammates/pending/{token}

This endpoint allows you to delete a pending teammate invite.

operationId: Teammates_deletePendingTeammate

Parameters

Name In Required Type Description
token path required string

The token for the invite you want to delete.

on-behalf-of header optional string

Responses

204
404
DELETE /teammates/pending/{token}
DELETE /teammates/{username}

This endpoint allows you to delete a teammate.

Only the parent user or an admin teammate can delete another teammate.

operationId: Teammates_removeTeammate

Parameters

Name In Required Type Description
username path required string

The username of the teammate that you want to retrieve.

on-behalf-of header optional string

Responses

204
404
DELETE /teammates/{username}
DELETE /scopes/requests/{request_id}

This endpoint allows you to deny an attempt to access your account.

Note: Only teammate admins may delete a teammate’s access request.

operationId: Teammates_denyAccessRequest

Parameters

Name In Required Type Description
request_id path required string

The ID of the request that you want to deny.

Responses

204
401
404
DELETE /scopes/requests/{request_id}

Transactionaltemplates 1 endpoints

DELETE /templates/{template_id}

This endpoint allows you to delete a transactional template.

operationId: TransactionalTemplates_deleteTemplate

Parameters

Name In Required Type Description
template_id path required string
on-behalf-of header optional string

Responses

204
DELETE /templates/{template_id}

Transactionaltemplatesversions 1 endpoints

DELETE /templates/{template_id}/versions/{version_id}

This endpoint allows you to delete a transactional template version.

operationId: TransactionalTemplatesVersions_deleteTemplateVersion

Parameters

Name In Required Type Description
template_id path required string

The ID of the original template

version_id path required string

The ID of the template version

on-behalf-of header optional string

Responses

204
DELETE /templates/{template_id}/versions/{version_id}

Schemas

object AlertsDeleteAlertByIdResponse
{
  "type": "object",
  "properties": {}
}
object AlertsGetSpecificAlertResponse
{
  "type": "object",
  "required": [
    "created_at",
    "email_to",
    "id",
    "type",
    "updated_at"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "description": "The ID of the alert."
    },
    "type": {
      "enum": [
        "usage_alert",
        "stats_notification"
      ],
      "type": "string",
      "description": "The type of alert."
    },
    "email_to": {
      "type": "string",
      "description": "The email address that the alert will be sent to."
    },
    "frequency": {
      "type": "string",
      "description": "If the alert is of type stats_notification, this indicates how frequently the stats notifications will be sent. For example: \"daily\", \"weekly\", or \"monthly\"."
    },
    "created_at": {
      "type": "integer",
      "description": "A Unix timestamp indicating when the alert was created."
    },
    "percentage": {
      "type": "integer",
      "description": "If the alert is of type usage_limit, this indicates the percentage of email usage that must be reached before the alert will be sent."
    },
    "updated_at": {
      "type": "integer",
      "description": "A Unix timestamp indicating when the alert was last modified."
    }
  }
}
object AlertsUpdateAlertRequest
{
  "type": "object",
  "example": {
    "email_to": "example@example.com"
  },
  "properties": {
    "email_to": {
      "type": "string",
      "description": "The new email address you want your alert to be sent to.\nExample: test@example.com"
    },
    "frequency": {
      "type": "string",
      "description": "The new frequency at which to send the stats_notification alert.\nExample: monthly"
    },
    "percentage": {
      "type": "integer",
      "description": "The new percentage threshold at which the usage_limit alert will be sent.\nExample: 90"
    }
  }
}
object AlertsUpdateAlertResponse
{
  "type": "object",
  "required": [
    "created_at",
    "email_to",
    "id",
    "type",
    "updated_at"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "description": "The ID of the alert."
    },
    "type": {
      "enum": [
        "usage_alert",
        "stats_notification"
      ],
      "type": "string",
      "description": "The type of alert."
    },
    "email_to": {
      "type": "string",
      "description": "The email address that the alert will be sent to."
    },
    "frequency": {
      "type": "string",
      "description": "If the alert is of type stats_notification, this indicates how frequently the stats notifications will be sent. For example: \"daily\", \"weekly\", or \"monthly\"."
    },
    "created_at": {
      "type": "integer",
      "description": "A Unix timestamp indicating when the alert was created."
    },
    "percentage": {
      "type": "integer",
      "description": "If the alert is of type usage_limit, this indicates the percentage of email usage that must be reached before the alert will be sent."
    },
    "updated_at": {
      "type": "integer",
      "description": "A Unix timestamp indicating when the alert was last modified."
    }
  }
}
object ApiKeysCreateKeyRequest
{
  "type": "object",
  "example": {
    "name": "My API Key",
    "scopes": [
      "mail.send",
      "alerts.create",
      "alerts.read"
    ]
  },
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "The name you will use to describe this API Key."
    },
    "scopes": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The individual permissions that you are giving to this API Key."
    }
  }
}
object ApiKeysCreateKeyResponse
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "scopes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "api_key": {
      "type": "string"
    },
    "api_key_id": {
      "type": "string"
    }
  }
}
object ApiKeysGetAllResponse
{
  "type": "object",
  "properties": {
    "result": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/api_key_name_id"
      }
    }
  }
}
object ApiKeysGetByKeyIdResponse
{
  "type": "object",
  "properties": {
    "result": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/api_key_name_id_scopes"
      }
    }
  }
}
object ApiKeysUpdateKeyNameRequest
{
  "type": "object",
  "example": {
    "name": "A New Hope"
  },
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "The new name of the API Key."
    }
  }
}
object ApiKeysUpdateNameAndScopesRequest
{
  "type": "object",
  "example": {
    "name": "Profiles key",
    "scopes": [
      "user.profile.read",
      "user.profile.update"
    ]
  },
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string"
    },
    "scopes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  }
}
object BlocksApiDeleteAllBlockedEmailsRequest
{
  "type": "object",
  "example": {
    "emails": [
      "example1@example.com",
      "example2@example.com"
    ],
    "delete_all": false
  },
  "properties": {
    "emails": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The specific blocked email addresses that you want to delete."
    },
    "delete_all": {
      "type": "boolean",
      "description": "Indicates if you want to delete all blocked email addresses."
    }
  }
}
object BlocksApiDeleteAllBlockedEmailsResponse
{
  "type": "object",
  "properties": {}
}
object BlocksApiDeleteSpecificBlockResponse
{
  "type": "object",
  "properties": {}
}
object BouncesApiDeleteBouncesRequest
{
  "type": "object",
  "example": {
    "emails": [
      "example@example.com",
      "example2@example.com"
    ],
    "delete_all": false
  },
  "properties": {
    "emails": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Delete multiple emails from your bounce list at the same time. This should not be used with the delete_all parameter."
    },
    "delete_all": {
      "type": "boolean",
      "description": "This parameter allows you to delete **every** email in your bounce list. This should not be used with the emails parameter."
    }
  }
}
object BouncesApiDeleteBouncesResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
array BouncesApiGetAllBouncesResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/bounce_response"
  }
}
array BouncesApiGetByEmailAddressResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/bounce_response"
  }
}
object BouncesApiRemoveBounceResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object CampaignsApiDeleteCampaignById401Response
{
  "type": "object",
  "example": {
    "errors": [
      {
        "field": null,
        "message": "authorization required"
      }
    ]
  },
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string",
            "nullable": true,
            "x-konfig-null-placeholder": true
          },
          "message": {
            "type": "string",
            "example": "authorization required"
          }
        }
      }
    }
  }
}
object CampaignsApiDeleteCampaignById404Response
{
  "type": "object",
  "example": {},
  "properties": {}
}
object CampaignsApiDeleteCampaignByIdResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object CampaignsApiGetScheduledTimeResponse
{
  "type": "object",
  "title": "View Scheduled Time of a Campaign response",
  "required": [
    "send_at"
  ],
  "properties": {
    "send_at": {
      "type": "integer",
      "format": "int64"
    }
  }
}
object CampaignsApiGetSingleCampaign401Response
{
  "type": "object",
  "example": {
    "errors": [
      {
        "field": null,
        "message": "authorization required"
      }
    ]
  },
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string",
            "nullable": true,
            "x-konfig-null-placeholder": true
          },
          "message": {
            "type": "string",
            "example": "authorization required"
          }
        }
      }
    }
  }
}
object CampaignsApiGetSingleCampaign404Response
{
  "type": "object",
  "example": {
    "errors": [
      {
        "field": null,
        "message": "not found"
      }
    ]
  },
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string",
            "nullable": true,
            "x-konfig-null-placeholder": true
          },
          "message": {
            "type": "string",
            "example": "not found"
          }
        }
      }
    }
  }
}
object CampaignsApiGetSingleCampaignResponse
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer"
    },
    "title": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "ip_pool": {
      "type": "string"
    },
    "subject": {
      "type": "string"
    },
    "list_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "sender_id": {
      "type": "integer"
    },
    "categories": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "segment_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "html_content": {
      "type": "string"
    },
    "plain_content": {
      "type": "string"
    },
    "suppression_group_id": {
      "type": "integer"
    },
    "custom_unsubscribe_url": {
      "type": "string"
    }
  }
}
object CampaignsApiScheduleCampaignRequest
{
  "type": "object",
  "title": "Schedule a Campaign request",
  "example": {
    "send_at": 1489771528
  },
  "required": [
    "send_at"
  ],
  "properties": {
    "send_at": {
      "type": "integer",
      "description": "The unix timestamp for the date and time you would like your campaign to be sent out."
    }
  }
}
object CampaignsApiScheduleCampaignResponse
{
  "type": "object",
  "title": "Schedule a Campaign response",
  "required": [
    "id",
    "send_at",
    "status"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "description": "The campaign ID."
    },
    "status": {
      "enum": [
        "Scheduled"
      ],
      "type": "string",
      "description": "The status of your campaign."
    },
    "send_at": {
      "type": "integer",
      "description": "The date time you scheduled your campaign to be sent."
    }
  }
}
object CampaignsApiSendCampaignNowResponse
{
  "type": "object",
  "title": "Send a Campaign response",
  "required": [
    "id",
    "status"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64"
    },
    "status": {
      "type": "string"
    }
  }
}
object CampaignsApiSendTestCampaignRequest
{
  "type": "object",
  "example": {
    "to": "your.email@example.com"
  },
  "required": [
    "to"
  ],
  "properties": {
    "to": {
      "type": "string",
      "format": "email",
      "description": "The email address that should receive the test campaign."
    }
  }
}
object CampaignsApiSendTestCampaignResponse
{
  "type": "object",
  "title": "Send a Test Campaign request",
  "required": [
    "to"
  ],
  "properties": {
    "to": {
      "type": "string"
    }
  }
}
object CampaignsApiUnscheduleCampaignResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object CampaignsApiUpdateScheduledTimeRequest
{
  "type": "object",
  "title": "Update a Scheduled Campaign request",
  "example": {
    "send_at": 1489451436
  },
  "required": [
    "send_at"
  ],
  "properties": {
    "send_at": {
      "type": "integer",
      "format": "int64"
    }
  }
}
object CampaignsApiUpdateScheduledTimeResponse
{
  "type": "object",
  "title": "Update a Scheduled Campaign response",
  "required": [
    "id",
    "send_at",
    "status"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "description": "The campaign ID"
    },
    "status": {
      "type": "string",
      "description": "The status of the schedule."
    },
    "send_at": {
      "type": "integer",
      "description": "The unix timestamp to send the campaign."
    }
  }
}
object CampaignsApiUpdateSpecificCampaign403Response
{
  "type": "object",
  "example": {
    "errors": [
      {
        "field": null,
        "message": "You may only update a campaign when it is in draft mode."
      }
    ]
  },
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string",
            "nullable": true,
            "x-konfig-null-placeholder": true
          },
          "message": {
            "type": "string",
            "example": "You may only update a campaign when it is in draft mode."
          }
        }
      }
    }
  }
}
object CampaignsApiUpdateSpecificCampaignRequest
{
  "type": "object",
  "title": "Update a Campaign request",
  "example": {
    "title": "May Newsletter",
    "subject": "New Products for Summer!",
    "categories": [
      "summer line"
    ],
    "html_content": "<html><head><title></title></head><body><p>Check out our summer line!</p></body></html>",
    "plain_content": "Check out our summer line!"
  },
  "required": [
    "title",
    "subject",
    "categories",
    "html_content",
    "plain_content"
  ],
  "properties": {
    "title": {
      "type": "string",
      "description": "The title of the campaign."
    },
    "subject": {
      "type": "string",
      "description": "The subject line for your campaign."
    },
    "categories": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The categories you want to tag on this campaign."
    },
    "html_content": {
      "type": "string",
      "description": "The HTML content of this campaign."
    },
    "plain_content": {
      "type": "string",
      "description": "The plain content of this campaign."
    }
  }
}
object CampaignsApiUpdateSpecificCampaignResponse
{
  "type": "object",
  "example": {
    "errors": [
      {
        "field": "title",
        "message": "title can't be blank"
      },
      {
        "field": "title",
        "message": "title is too long (maximum is 100 characters)"
      },
      {
        "field": "categories",
        "message": "categories exceeds 10 category limit"
      },
      {
        "field": "html_content",
        "message": "html_content exceeds the 1MB limit"
      },
      {
        "field": "plain_content",
        "message": "plain_content exceeds the 1MB limit"
      },
      {
        "field": "sender_id",
        "message": "sender_id does not exist"
      },
      {
        "field": "sender_id",
        "message": "sender_id is not a verified sender identity"
      },
      {
        "field": "list_ids",
        "message": "list_ids do not all exist"
      },
      {
        "field": "segment_ids",
        "message": "segment_ids do not all exist"
      },
      {
        "field": "ip_pool",
        "message": "The ip pool you provided is invalid"
      },
      {
        "field": "suppression_group_id",
        "message": "suppression_group_id does not exist"
      },
      {
        "field": "unsubscribes",
        "message": "Either suppression_group_id or custom_unsubscribe_url may be set/used, but not both. Please remove one before setting the other."
      },
      {
        "field": null,
        "message": "The JSON you have submitted cannot be parsed."
      }
    ]
  },
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string",
            "example": "title",
            "nullable": true
          },
          "message": {
            "type": "string",
            "example": "title can't be blank"
          }
        }
      }
    }
  }
}
array CancelScheduledSendsAllScheduledSendsResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/user_scheduled_send_status"
  }
}
array CancelScheduledSendsByBatchIdResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/user_scheduled_send_status"
  },
  "title": "Retrieve scheduled send response"
}
object CancelScheduledSendsByBatchIdStatusRequest
{
  "type": "object",
  "title": "Cancel or pause a scheduled send request",
  "example": {
    "status": "pause",
    "batch_id": "YOUR_BATCH_ID"
  },
  "required": [
    "batch_id",
    "status"
  ],
  "properties": {
    "status": {
      "enum": [
        "pause",
        "cancel"
      ],
      "type": "string",
      "default": "pause",
      "description": "The status of the send you would like to implement. This can be pause or cancel. To delete a pause or cancel status see DELETE /v3/user/scheduled_sends/{batch_id}"
    },
    "batch_id": {
      "type": "string",
      "pattern": "^[a-zA-Z0-9]",
      "description": "The batch ID is the identifier that your scheduled mail sends share."
    }
  }
}
object CancelScheduledSendsRequestResponse
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "help": {
            "type": "object"
          },
          "field": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        }
      }
    }
  }
}
object CancelScheduledSendsUpdateStatusRequest
{
  "type": "object",
  "example": {
    "status": "pause"
  },
  "required": [
    "status"
  ],
  "properties": {
    "status": {
      "enum": [
        "cancel",
        "pause"
      ],
      "type": "string",
      "description": "The status you would like the scheduled send to have."
    }
  }
}
object CancelScheduledSendsUpdateStatusResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
array CategoriesGetEmailStatisticsForResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/category_stats"
  }
}
object CertificatesCreateSsoCertificateRequest
{
  "type": "object",
  "example": {
    "enabled": false,
    "integration_id": "b0b98502-9408-4b24-9e3d-31ed7cb15312",
    "public_certificate": "<your x509 certificate>"
  },
  "required": [
    "public_certificate",
    "integration_id"
  ],
  "properties": {
    "enabled": {
      "type": "boolean",
      "description": "Indicates if the certificate is enabled."
    },
    "integration_id": {
      "type": "string",
      "description": "An ID that matches a certificate to a specific IdP integration. This is the `id` returned by the \"Get All SSO Integrations\" endpoint."
    },
    "public_certificate": {
      "type": "string",
      "description": "This public certificate allows SendGrid to verify that SAML requests it receives are signed by an IdP that it recognizes."
    }
  },
  "description": ""
}
array CertificatesGetByIdpConfigurationsResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/sso-certificate-body"
  }
}
object CertificatesUpdateByIdRequest
{
  "type": "object",
  "example": {
    "enabled": false,
    "intergration_id": "b0b98502-9408-4b24-9e3d-31ed7cb15312",
    "public_certificate": "<your x509 certificate>"
  },
  "properties": {
    "enabled": {
      "type": "boolean",
      "description": "Indicates whether or not the certificate is enabled."
    },
    "integration_id": {
      "type": "string",
      "description": "An ID that matches a certificate to a specific IdP integration."
    },
    "public_certificate": {
      "type": "string",
      "description": "This public certificate allows SendGrid to verify that SAML requests it receives are signed by an IdP that it recognizes."
    }
  }
}
object ContactsApiCustomFieldsCreateNewFieldRequest
{
  "type": "object",
  "example": {
    "name": "pet",
    "type": "text"
  },
  "properties": {
    "name": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  }
}
object ContactsApiCustomFieldsGetAllResponse
{
  "type": "object",
  "title": "List All Custom Fields response",
  "required": [
    "custom_fields"
  ],
  "properties": {
    "custom_fields": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/contactdb_custom_field_with_id"
      }
    }
  }
}
object ContactsApiCustomFieldsGetReservedFieldsResponse
{
  "type": "object",
  "properties": {
    "reserved_fields": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        }
      }
    }
  }
}
array ContactsApiListsAddMultipleRecipientsToListRequest
{
  "type": "array",
  "items": {
    "type": "integer"
  },
  "example": [
    "recipient_id1",
    "recipient_id2"
  ]
}

Versions

Version Endpoints Schemas Ingested Status
1.0.0 334 545 2026-05-11 current
1.0.0 334 545 2026-04-16