Skip to contentSkip to navigationSkip to topbar
On this page

Retrieve all Campaigns



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.


GET/v3/campaigns

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

This endpoint allows you to retrieve a paginated list of all of your campaigns.

Returns campaigns in reverse order they were created (newest first).

Returns an empty array if no campaigns exist.

You can use the limit query parameter to set the page size. If your list contains more items than the page size permits, you can make multiple requests. Use the offset query parameter to control the position in the list from which to start retrieving additional items.


Authentication

authentication page anchor
Property nameTypeRequiredDescription
Authorizationstringrequired
Default: Bearer <<YOUR_API_KEY_HERE>>

on-behalf-ofstring

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
limitinteger

Optional

limit sets the page size, i.e. maximum number of items from the list to be returned for a single API request. If omitted, the default page size is used.

Minimum: 1Default: 10

offsetinteger

Optional

The number of items in the list to skip over before starting to retrieve the items for the requested page. The default offset of 0 represents the beginning of the list, i.e. the start of the first page. To request the second page of the list, set the offset to the page size as determined by limit. Use multiples of the page size as your offset to request further consecutive pages. E.g. assume your page size is set to 10. An offset of 10 requests the second page, an offset of 20 requests the third page and so on, provided there are sufficiently many items in your list.

Minimum: 0Default: 0
200
SchemaExample
Property nameTypeRequiredDescriptionChild properties
resultarray[object]

Retrieving paginated results

retrieving-paginated-results page anchor

To perform a request for the first page of the paginated list of all campaigns using the default page size, you can omit the limit and offset query parameters:

Retrieve first page from list of all campaignsLink to code sample: Retrieve first page from list of all campaigns
1
const client = require("@sendgrid/client");
2
client.setApiKey(process.env.SENDGRID_API_KEY);
3
4
const queryParams = {
5
limit: 10,
6
};
7
8
const request = {
9
url: `/v3/campaigns`,
10
method: "GET",
11
qs: queryParams,
12
};
13
14
client
15
.request(request)
16
.then(([response, body]) => {
17
console.log(response.statusCode);
18
console.log(response.body);
19
})
20
.catch((error) => {
21
console.error(error);
22
});

If you want to specify a page size of your choice, you can use the limit query parameter. Assume you want a page size of no more than 5 items per request, to retrieve the first page you can use the limit parameter without specifying an offset:

Retrieve first page from list of all campaigns with a specified page sizeLink to code sample: Retrieve first page from list of all campaigns with a specified page size
1
const client = require("@sendgrid/client");
2
client.setApiKey(process.env.SENDGRID_API_KEY);
3
4
const queryParams = {
5
limit: 5,
6
};
7
8
const request = {
9
url: `/v3/campaigns`,
10
method: "GET",
11
qs: queryParams,
12
};
13
14
client
15
.request(request)
16
.then(([response, body]) => {
17
console.log(response.statusCode);
18
console.log(response.body);
19
})
20
.catch((error) => {
21
console.error(error);
22
});

If you want to retrieve items beyond the first page, you can use the offset parameter as follows. Assume you are still working with a page size of 5 as determined by your limit query parameter and you have more than 15 items. To request the fourth page of items, you can use the offset parameter to skip over the first 15 items, i.e. you start retrieving items starting after the first three pages of 5 items each:

Retrieve a specific page from the list of all campaignsLink to code sample: Retrieve a specific page from the list of all campaigns
1
const client = require("@sendgrid/client");
2
client.setApiKey(process.env.SENDGRID_API_KEY);
3
4
const queryParams = {
5
limit: 5,
6
offset: 15,
7
};
8
9
const request = {
10
url: `/v3/campaigns`,
11
method: "GET",
12
qs: queryParams,
13
};
14
15
client
16
.request(request)
17
.then(([response, body]) => {
18
console.log(response.statusCode);
19
console.log(response.body);
20
})
21
.catch((error) => {
22
console.error(error);
23
});

Need some help?

Terms of service

Copyright © 2024 Twilio Inc.