You are viewing the Legacy Marketing Campaigns API reference. For guidance migrating to the current version of Marketing Campaigns, see Migrating from Legacy Marketing Campaigns
For the most up-to-date information on the Sender Identities API, please visit the new Marketing Campaigns Single Sends API.
The Campaigns API allows you to create and manage marketing campaigns. You can create campaigns, manage campaign content, and schedule campaigns to be sent at a later time.
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.
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.
application/json
The unix timestamp for the date and time you would like your campaign to be sent out.
The campaign ID.
The date time you scheduled your campaign to be sent.
The status of your campaign.
Scheduled
1const client = require("@sendgrid/client");2client.setApiKey(process.env.SENDGRID_API_KEY);34const campaign_id = 4900;5const data = {6send_at: 1489771528,7};89const request = {10url: `/v3/campaigns/${campaign_id}/schedules`,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});