Rate this page:

Campaigns API

Elements that can be shared among more than one endpoint definition.

Retrieve all Campaigns

GET /v3/campaigns

Base url:

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.


  • API Key


default: 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.

default: None

Query String


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.

default: 10

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.

default: 0



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

string or null

The subject of your campaign that your recipients will see.

integer or null

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

array[integer] or null

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

array[integer] or null

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.

array[string] or null

The categories you would like associated to this campaign.

integer or null

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

string or null

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

string or null

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

string or null

The HTML of your marketing email.

string or null

The plain text content of your emails.


The editor used in the UI.

Allowed Values: code, design

The status of your campaign.


Retrieving paginated results

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:

Loading Code Sample...

        Retrieve first page from list of all campaigns

        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:

        Loading Code Sample...
              Setting page size to 5 using the limit query parameter

              Retrieve first page from list of all campaigns with a specified page size

              Setting page size to 5 using the limit query parameter

              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:

              Loading Code Sample...
                    Using the offset query parameter in combination with the limit query parameter

                    Retrieve a specific page from the list of all campaigns

                    Using the offset query parameter in combination with the limit query parameter
                    Rate this page:

                    Need some help?

                    We all do sometimes. Get help now from the Twilio SendGrid Support Team.

                    Running into a coding hurdle? Lean on the wisdom of the crowd by browsing the SendGrid tag on Stack Overflow or visiting Twilio's Stack Overflow Collective.

                    Loading Code Sample...

                          Thank you for your feedback!

                          Please select the reason(s) for your feedback. The additional information you provide helps us improve our documentation:

                          Sending your feedback...
                          🎉 Thank you for your feedback!
                          Something went wrong. Please try again.

                          Thanks for your feedback!