The Cancel Scheduled Sends API allows you to cancel or pause the send of one or more emails using a batch ID.
A batch_id
groups multiple scheduled mail/send
requests together with the same ID. You can cancel or pause all of the mail/send
requests associated with a batch ID up to 10 minutes before the scheduled send time by passing a batch_id
to the "Cancel or pause a scheduled send" endpoint.
For a guide on creating a batch_id
, assigning it to a scheduled send, and modifying the send, see "Canceling a Scheduled Send".
The Cancel Scheduled Sends API also make it possible to validate a batch_id
and retrieve all scheduled sends as an array.
When a batch is canceled, all messages associated with that batch will stay in your sending queue. When their send_at
value is reached, they will be discarded.
When a batch is paused, all messages associated with that batch will stay in your sending queue, even after their send_at
value has passed. This means you can remove a pause
status, and your scheduled send will be delivered once the pause is removed. Any messages left with a pause
status that are more than 72 hours old will be discarded as Expired.
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.
Bearer <<YOUR_API_KEY_HERE>>
The on-behalf-of
header allows you to make API calls from a parent account on behalf of the parent's Subusers or customer accounts. You will use the parent account's API key when using this header. When making a call on behalf of a customer account, the property value should be "account-id" followed by the customer account's ID (e.g., on-behalf-of: account-id <account-id>
). When making a call on behalf of a Subuser, the property value should be the Subuser's username (e.g., on-behalf-of: <subuser-username>
). See On Behalf Of for more information.
Array of:
^[a-zA-Z0-9\-\_]
The status of the scheduled send.
cancel
pause
1const client = require("@sendgrid/client");2client.setApiKey(process.env.SENDGRID_API_KEY);34const request = {5url: `/v3/user/scheduled_sends`,6method: "GET",7};89client10.request(request)11.then(([response, body]) => {12console.log(response.statusCode);13console.log(response.body);14})15.catch((error) => {16console.error(error);17});