Skip to contentSkip to navigationSkip to topbar
On this page

Update a Campaign



API Overview

api-overview page anchor
(warning)

Legacy Marketing Campaigns

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

(information)

Info

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.


PATCH/v3/campaigns/{campaign_id}

Base url: https://api.sendgrid.com (The Twilio SendGrid v3 API)

This endpoint allows you to update a specific campaign.

This is especially useful if you only set up the campaign using POST /campaigns, but didn't set many of the parameters.


Authentication

authentication page anchor
Property nameTypeRequiredDescription
authorizationstring
required
Default: Bearer <<YOUR_API_KEY_HERE>>

onBehalfOfstring

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.

Property nameTypeRequiredDescription
campaignIdinteger
required

The id of the campaign you would like to retrieve.

Encoding type:application/json
SchemaExample
Property nameTypeRequiredDescriptionChild properties
titlestring
required

The title of the campaign.


subjectstring
required

The subject line for your campaign.


categoriesarray[string]
required

The categories you want to tag on this campaign.


htmlContentstring
required

The HTML content of this campaign.


plainContentstring
required

The plain content of this campaign.

200400401403404
SchemaExample
Property nameTypeRequiredDescriptionChild properties
titlestring

Optional

The display title of your campaign. This will be viewable by you in the Marketing Campaigns UI.


subjectstring or null

Optional

The subject of your campaign that your recipients will see.


senderIdinteger or null

Optional

The ID of the "sender" identity that you have created. Your recipients will see this as the "from" on your marketing emails.


listIdsarray[integer] or null

Optional

The IDs of the lists you are sending this campaign to. You can have both segment IDs and list IDs


segmentIdsarray[integer] or null

Optional

The segment IDs that you are sending this list to. You can have both segment IDs and list IDs. Segments are limited to 10 segment IDs.


categoriesarray[string] or null

Optional

The categories you would like associated to this campaign.


suppressionGroupIdinteger or null

Optional

The suppression group that this marketing email belongs to, allowing recipients to opt-out of emails of this type.


customUnsubscribeUrlstring or null

Optional

This is the url of the custom unsubscribe page that you provide for customers to unsubscribe from your suppression groups.


ipPoolstring or null

Optional

The pool of IPs that you would like to send this email from.


htmlContentstring or null

Optional

The HTML of your marketing email.


plainContentstring or null

Optional

The plain text content of your emails.


editorenum<string>

Optional

The editor used in the UI.

Possible values:
codedesign

statusstring

Optional

The status of your campaign.


idinteger

Optional

Update a CampaignLink to code sample: Update a Campaign
1
const client = require("@sendgrid/client");
2
client.setApiKey(process.env.SENDGRID_API_KEY);
3
4
const campaign_id = 42;
5
const data = {
6
title: "May Newsletter",
7
subject: "New Products for Summer!",
8
categories: ["summer line"],
9
html_content:
10
"<html><head><title></title></head><body><p>Check out our summer line!</p></body></html>",
11
plain_content: "Check out our summer line!",
12
};
13
14
const request = {
15
url: `/v3/campaigns/${campaign_id}`,
16
method: "PATCH",
17
body: data,
18
};
19
20
client
21
.request(request)
22
.then(([response, body]) => {
23
console.log(response.statusCode);
24
console.log(response.body);
25
})
26
.catch((error) => {
27
console.error(error);
28
});