# How to get sequence numbers for a campaign using v1 API

**URL:** <https://integration.keap.com/t/how-to-get-sequence-numbers-for-a-campaign-using-v1-api/93651>\
**Category:** API Q&A\
**Created:** [April 23, 2025, 8:17pm UTC](https://integration.keap.com/t/how-to-get-sequence-numbers-for-a-campaign-using-v1-api/93651 "2025-04-23T20:17:25Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sean\_Manning](https://avatars.discourse-cdn.com/v4/letter/s/e274bd/32.png) [@Sean\_Manning](https://integration.keap.com/u/Sean_Manning)\
**Post date:** [April 23, 2025, 8:17pm UTC](https://integration.keap.com/t/how-to-get-sequence-numbers-for-a-campaign-using-v1-api/93651/1 "2025-04-23T20:17:25Z")

</div>

I am trying to figure out how to get sequence IDs for a specific campaign, using the v1 API. I have the campaign ID. As best I can tell, I need to use the “restfulRequest()” function call in the Infusionsoft library I’m using along with the ‘optional\_properties=sequences’ parameter in order to get sequence numbers. This gives me a call that looks like this:

```
    $urlToCall = 'https://api.infusionsoft.com/crm/rest/v1/campaigns/{campaignId}?optional_properties=sequences';
    $campaignInfo = $infusionsoft->restfulRequest('get',$urlToCall,[$campaignNumber]);

```

But when I try to execute this, I get an ‘invalid token’ error. I then tried adding the auth token as a second GET parameter:

```
    $urlToCall = 'https://api.infusionsoft.com/crm/rest/v1/campaigns/{campaignId}?accessToken=' . $accessToken . '&optional_properties=sequences';

```

and I get the same thing.

If I completely remove the attempt to get optional properties:

$urlToCall = ‘[https://api.infusionsoft.com/crm/rest/v1/campaigns/{campaignId}](https://api.infusionsoft.com/crm/rest/v1/campaigns/%7BcampaignId%7D)’;  
$campaignInfo = $infusionsoft-\>restfulRequest(‘get’,$urlToCall,[$campaignNumber]);

then I get a “General server error”.

What am I doing wrong?

---

<div class="post-metadata">

**Author:** ![Marion\_Dorsett2](https://sea1.discourse-cdn.com/flex019/user_avatar/integration.keap.com/marion_dorsett2/32/14894_2.png) [@Marion\_Dorsett2](https://integration.keap.com/u/Marion_Dorsett2)\
**Post date:** [April 23, 2025, 8:36pm UTC](https://integration.keap.com/t/how-to-get-sequence-numbers-for-a-campaign-using-v1-api/93651/2 "2025-04-23T20:36:02Z")

</div>

Before making a request to the REST API, you have to using the OAuth2 or API Key Authentication.

If this is for a single client, the API Key authentication will work.

> **[Personal Access Tokens & Service Account Keys - Keap Developer Portal](https://developer.infusionsoft.com/pat-and-sak/)**

If you’re developing an application to work with Keap accounts to offer in the marketplace, then you’ll need to work with OAuth.

> **[Getting Started with OAuth2 - Keap Developer Portal](https://developer.infusionsoft.com/getting-started-oauth-keys/)**

---

<div class="post-metadata">

**Author:** ![Sean\_Manning](https://avatars.discourse-cdn.com/v4/letter/s/e274bd/32.png) [@Sean\_Manning](https://integration.keap.com/u/Sean_Manning)\
**Post date:** [April 23, 2025, 8:49pm UTC](https://integration.keap.com/t/how-to-get-sequence-numbers-for-a-campaign-using-v1-api/93651/3 "2025-04-23T20:49:24Z")

</div>

Hi Marion. Thanks for replying.

I do have a valid authentication token, and it should be incorporated into the $infusionsoft variable referred to in my code. I know it’s valid because I can do other function calls with it, including getting a list of campaigns with this call:

```
    $urlToCall = 'https://api.infusionsoft.com/crm/rest/v1/campaigns';
    $campaignInfo = $infusionsoft->restfulRequest('get',$urlToCall);

```

This works, but trying to do anything with a specific campaign fails. What am I missing?

---

<div class="post-metadata">

**Author:** ![Marion\_Dorsett2](https://sea1.discourse-cdn.com/flex019/user_avatar/integration.keap.com/marion_dorsett2/32/14894_2.png) [@Marion\_Dorsett2](https://integration.keap.com/u/Marion_Dorsett2)\
**Post date:** [April 23, 2025, 9:40pm UTC](https://integration.keap.com/t/how-to-get-sequence-numbers-for-a-campaign-using-v1-api/93651/4 "2025-04-23T21:40:03Z")

</div>

I just tried it using Postman, and I was able to get back a valid response.

If you’re using a PAT… does that user account have permission to Campaigns?

 ![image](https://us1.discourse-cdn.com/flex019/uploads/infusionsoft1/original/2X/3/3732f5b0d88b535a2caddfc4ea390ef9705ac3a6.png)

---

<div class="post-metadata">

**Author:** ![Sean\_Manning](https://avatars.discourse-cdn.com/v4/letter/s/e274bd/32.png) [@Sean\_Manning](https://integration.keap.com/u/Sean_Manning)\
**Post date:** [April 24, 2025, 12:56pm UTC](https://integration.keap.com/t/how-to-get-sequence-numbers-for-a-campaign-using-v1-api/93651/5 "2025-04-24T12:56:49Z")

</div>

Re: “does that user account have permission to Campaigns?”

I don’t know. How do I find out?

---

<div class="post-metadata">

**Author:** ![Marion\_Dorsett2](https://sea1.discourse-cdn.com/flex019/user_avatar/integration.keap.com/marion_dorsett2/32/14894_2.png) [@Marion\_Dorsett2](https://integration.keap.com/u/Marion_Dorsett2)\
**Post date:** [April 24, 2025, 3:53pm UTC](https://integration.keap.com/t/how-to-get-sequence-numbers-for-a-campaign-using-v1-api/93651/6 "2025-04-24T15:53:17Z")

</div>

Log in to Keap, Under the Admin Menu click Users. Clickthe Edit Permissions link next to the user who created the PAT.

Once you’re in the users permissions, click on the Marketing tab, and scroll down to the Automation section and check the permissions there.

---

<div class="post-metadata">

**Author:** ![Sean\_Manning](https://avatars.discourse-cdn.com/v4/letter/s/e274bd/32.png) [@Sean\_Manning](https://integration.keap.com/u/Sean_Manning)\
**Post date:** [May 19, 2025, 5:14pm UTC](https://integration.keap.com/t/how-to-get-sequence-numbers-for-a-campaign-using-v1-api/93651/7 "2025-05-19T17:14:38Z")

</div>

Hello Marion,

I was busy with other issues for a while, but now I’ve come back to this and I still can’t get it to work. I am using the admin login for the account, so permissions are not a problem. I’ve used your screenshot to rewrite the url exactly. I still can’t get a valid response - over and over, it tells me “Error: Bad request. Your client has issued a malformed or illegal request.” No details on what’s wrong.

How am I supposed to be providing the token in the Postman request? Your screenshot doesn’t show, and that’s the only other thing I can think of that I might be doing wrong.

---

<div class="post-metadata">

**Author:** ![Marion\_Dorsett2](https://sea1.discourse-cdn.com/flex019/user_avatar/integration.keap.com/marion_dorsett2/32/14894_2.png) [@Marion\_Dorsett2](https://integration.keap.com/u/Marion_Dorsett2)\
**Post date:** [May 19, 2025, 7:54pm UTC](https://integration.keap.com/t/how-to-get-sequence-numbers-for-a-campaign-using-v1-api/93651/8 "2025-05-19T19:54:13Z")

</div>

Click on the Authorization tab.

Authorization → Auth Type → Bearer Token, and enter the SAK in the Token field.

 ![image](https://us1.discourse-cdn.com/flex019/uploads/infusionsoft1/original/2X/5/5c34d6b0fb3b0bacbd0d0acd623c2a8dfe6772da.png)

---

<div class="post-metadata">

**Author:** ![Sean\_Manning](https://avatars.discourse-cdn.com/v4/letter/s/e274bd/32.png) [@Sean\_Manning](https://integration.keap.com/u/Sean_Manning)\
**Post date:** [May 20, 2025, 4:29pm UTC](https://integration.keap.com/t/how-to-get-sequence-numbers-for-a-campaign-using-v1-api/93651/9 "2025-05-20T16:29:30Z")

</div>

Hi Marion,

Ahh, now I see what I had wrong. I still couldn’t get it to work, so I rechecked everything and finally realized I had a blank parameter checked in the Body tab. No wonder it wasn’t working. Remove that, and now it works.

Thanks for your help!
