Cancel or pause a scheduled send
Using the Cancel Scheduled Sends API, you can cancel or pause sending one or more groups of emails. SendGrid defines these multiple scheduled send requests together as batches identified with a batch_id
.
With this API, you can perform the following tasks on scheduled emails:
- Define and validate the ID for a batch of messages.
- Retrieve, update, pause, resume, or cancel a scheduled send.
Cancelling or pausing a batch of messages include the following conditions:
- You can't pause or cancel more than 10 different batches at one time.
- You can't pause or cancel a batch later than 10 minutes before the scheduled
send_at
time. - When you cancel or pause a batch, all messages associated with that batch stay in your sending queue.
- When a cancelled batch reaches its
send_at
time, SendGrid discards the messages. - When a paused batch reaches its
send_at
time, SendGrid retains the messages. When you resume a paused batch, SendGrid delivers your scheduled send. - When a paused batch passes 72 hours after its
send_at
time, SendGrid discards the messages as Expired.
To cancel a scheduled send of a single message, consult Canceling a Scheduled Send.
POST/v3/user/scheduled_sends
Base url: https://api.sendgrid.com (for global users and subusers)
Base url: https://api.eu.sendgrid.com (for EU regional subusers)
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.
Bearer <<YOUR_API_KEY_HERE>>
Optional
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.
application/json
The batch ID is the identifier that your scheduled mail sends share.
^[a-zA-Z0-9]
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}
pause
Possible values: pause
cancel
Optional
^[a-zA-Z0-9\-\_]
Optional
The status of the scheduled send.
cancel
pause
1const client = require("@sendgrid/client");2client.setApiKey(process.env.SENDGRID_API_KEY);34const data = {5batch_id: "YOUR_BATCH_ID",6status: "pause",7};89const request = {10url: `/v3/user/scheduled_sends`,11method: "POST",12body: data,13};1415client16.request(request)17.then(([response, body]) => {18console.log(response.statusCode);19console.log(response.body);20})21.catch((error) => {22console.error(error);23});