Skip to contentSkip to navigationSkip to topbar
On this page

Scheduling Parameters


With scheduling, you can send large volumes of email in queued batches or target individual recipients by specifying a custom UNIX timestamp parameter. Using the parameters defined below, you can queue batches of emails targeting individual recipients.

(information)

Info

Emails can be scheduled up to 72 hours in advance. However, this scheduling constraint does not apply to campaigns sent via Marketing Campaigns.

This parameter allows SendGrid to begin processing a customer's email requests before sending. SendGrid queues the messages and releases them when the timestamp indicates. This technique allows for a more efficient way to distribute large email requests and can improve overall mail delivery time performance. This functionality:

  • Improves efficiency of processing and distributing large volumes of email.
  • Reduces email pre-processing time.
  • Enables you to time email arrival to increase open rates.
  • Is available for free to all SendGrid customers.
(information)

Info

Cancel Scheduled sends by including a batch ID with your send. For more information, check out Cancel Scheduled Sends!

When passing send_at or send_each_at please make sure to only use UNIX timestamps passed as integers, as shown in our examples. Any other type could result in unintended behavior.

(error)

Danger

Using both send_at and send_each_at is not valid. Setting both causes your request to be dropped.


Send At

send-at page anchor

To schedule a send request for a large batch of emails, use the send_at parameter which will send all emails at approximately the same time. send_at is a UNIX timestamp(link takes you to an external page).

Example of send_at email header

example-of-send_at-email-header page anchor
1
{
2
"send_at": 1409348513
3
}

To schedule a send request for individual recipients; use send_each_at to send emails to each recipient at the specified time. send_each_at is a sequence of UNIX timestamps, provided as an array. There must be one timestamp per email you wish to send.

Example of send_each_at email header

example-of-send_each_at-email-header page anchor
1
{
2
"to": [
3
"ben@example.com",
4
"john@example.com",
5
"mikeexampexample@example.com",
6
"example@example.com",
7
"example@example.com",
8
"example@example.com"
9
],
10
"send_each_at": [1409348513, 1409348514, 1409348515]
11
}

To allow for the cancellation of a scheduled send, you must include a batch_id with your send. To generate a valid batch_id, use the batch id generation endpoint. A batch_id is valid for 10 days (864,000 seconds) after generation.

Example of including a batch_id

example-of-including-a-batch_id page anchor
1
{
2
"to": [
3
"ben@example.com",
4
"john@example.com",
5
"mikeexampexample@example.com",
6
"example@example.com",
7
"example@example.com",
8
"example@example.com"
9
],
10
"send_at": 1409348513,
11
"batch_id": "MWQxZmIyODYtNjE1Ni0xMWU1LWI3ZTUtMDgwMDI3OGJkMmY2LWEzMmViMjYxMw"
12
}

Need some help?

Terms of service

Copyright © 2024 Twilio Inc.