> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.heyreach.io/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.heyreach.io/_mcp/server.

# Create

POST https://api//api/public/campaign/Create
Content-Type: application/json

## Creates a campaign in DRAFT status.

After the campaign is fully configured, call **StartCampaign** (`POST /api/public/campaign/StartCampaign?campaignId=`) to activate it.

**Important:** a campaign cannot be activated without a sequence. The example body below includes a sample `schedule` and `sequence`; if you omit `sequence` from your own call, you must add one via **UpdateSequence** before **StartCampaign** will succeed.

### Body Parameters

* **name** *(string, required)*: The campaign name. 1-50 characters.

* **linkedInUserListId** *(long, required)*: ID of the lead list. Must exist and be of type USER\_LIST.

* **linkedInAccountIds** *(int\[], required)*: Sender LinkedIn account IDs. 1-100 items. All accounts must exist and have valid auth.

* **excludeContactedFromOtherCampaigns** *(bool, optional)*: Skip leads already in any other campaign. Default `false`.

* **excludeHasOtherAccConversations** *(bool, optional)*: Skip leads that already have conversations with other sender accounts. Default `false`.

* **excludeContactedFromSenderInOtherCampaign** *(bool, optional)*: Skip leads the sender accounts have already contacted in other campaigns. Default `false`.

* **excludeListId** *(long, optional)*: A separate list of leads to always exclude. Must not equal `linkedInUserListId`.

* **schedule** *(CampaignScheduleApiDto, optional)*: When the campaign runs. See **UpdateSchedule** for the object shape. If omitted, defaults to Mon-Fri 09:00-17:00 UTC.

* **sequence** *(PublicSequenceNodeDto, optional)*: The automation workflow. The START node is implicit - do not include it. See **UpdateSequence** for the object shape, the `actionDelay` rules, the `SEND_LEAD_TO_*` (Instantly / Smartlead / EmailBison) payload schemas, and the integration node errors - all of it applies identically here. Note that `payload` is required for `CONNECTION_REQUEST`, `MESSAGE`, `INMAIL`, `LIKE_POST`, `SEND_LEAD_TO_INSTANTLY`, `SEND_LEAD_TO_SMARTLEAD` and `SEND_LEAD_TO_BISON` nodes; omitting it is rejected with `Error in the <NODE_TYPE> node of the campaign sequence. The required payload was not provided.` Note: every node that follows an action step (including `END` nodes) must have `actionDelay` of at least 3 hours - use `actionDelay: 3` with `actionDelayUnit: "HOUR"`; an omitted or `0` delay is rejected with `Node at: ... has invalid delay: 00:00:00`. If this parameter is omitted, add it via **UpdateSequence** before starting.

Reference: https://docs.heyreach.io/hey-reach-api/campaigns/create

## Request

### Headers

- `X-API-KEY` (string, optional) — API key header using this scheme. Example: "X-API-KEY: \{API\_KEY}"

### Body (application/json)

This endpoint expects a string.

- `string`

## Response

### 200

OK

- `campaignId` (integer, required)

## Examples

**Request**

```json
"{\n  \"name\": \"My New Campaign\",\n  \"linkedInUserListId\": 123456,\n  \"linkedInAccountIds\": [\n    11111,\n    22222\n  ],\n  \"schedule\": {\n    \"dailyStartTime\": \"09:00:00\",\n    \"dailyEndTime\": \"17:00:00\",\n    \"timeZoneId\": \"Europe/London\",\n    \"enabledMonday\": true,\n    \"enabledTuesday\": true,\n    \"enabledWednesday\": true,\n    \"enabledThursday\": true,\n    \"enabledFriday\": true,\n    \"enabledSaturday\": false,\n    \"enabledSunday\": false,\n    \"startDate\": null,\n    \"endDate\": null\n  },\n  \"sequence\": {\n    \"nodeType\": \"CONNECTION_REQUEST\",\n    \"actionDelay\": 0,\n    \"actionDelayUnit\": \"DAY\",\n    \"payload\": {\n      \"messages\": [\n        \"Hi {FIRST_NAME}, I'd love to connect!\"\n      ],\n      \"fallbackMessage\": \"Hi there, I'd love to connect!\",\n      \"toBeWithdrawnAfterDays\": 30\n    },\n    \"conditionalNode\": {\n      \"nodeType\": \"MESSAGE\",\n      \"actionDelay\": 2,\n      \"actionDelayUnit\": \"DAY\",\n      \"payload\": {\n        \"messages\": [\n          \"Thanks for connecting, {FIRST_NAME}!\"\n        ],\n        \"fallbackMessage\": \"Thanks for connecting!\"\n      },\n      \"unconditionalNode\": {\n        \"nodeType\": \"SEND_LEAD_TO_BISON\",\n        \"actionDelay\": 3,\n        \"actionDelayUnit\": \"HOUR\",\n        \"payload\": {\n          \"bisonCampaignId\": {{bisonCampaignId}},\n          \"stopExternalLead\": false\n        },\n        \"unconditionalNode\": {\n          \"nodeType\": \"END\"\n        }\n      }\n    },\n    \"unconditionalNode\": {\n      \"nodeType\": \"VIEW_PROFILE\",\n      \"actionDelay\": 1,\n      \"actionDelayUnit\": \"DAY\",\n      \"unconditionalNode\": {\n        \"nodeType\": \"END\",\n        \"actionDelay\": 3,\n        \"actionDelayUnit\": \"HOUR\"\n      }\n    }\n  }\n}"
```

**Response**

```json
{
  "campaignId": 12345
}
```

**SDK Code**

```python
import requests

url = "https://api//api/public/campaign/Create"

payload = "{
  \"name\": \"My New Campaign\",
  \"linkedInUserListId\": 123456,
  \"linkedInAccountIds\": [
    11111,
    22222
  ],
  \"schedule\": {
    \"dailyStartTime\": \"09:00:00\",
    \"dailyEndTime\": \"17:00:00\",
    \"timeZoneId\": \"Europe/London\",
    \"enabledMonday\": true,
    \"enabledTuesday\": true,
    \"enabledWednesday\": true,
    \"enabledThursday\": true,
    \"enabledFriday\": true,
    \"enabledSaturday\": false,
    \"enabledSunday\": false,
    \"startDate\": null,
    \"endDate\": null
  },
  \"sequence\": {
    \"nodeType\": \"CONNECTION_REQUEST\",
    \"actionDelay\": 0,
    \"actionDelayUnit\": \"DAY\",
    \"payload\": {
      \"messages\": [
        \"Hi {FIRST_NAME}, I'd love to connect!\"
      ],
      \"fallbackMessage\": \"Hi there, I'd love to connect!\",
      \"toBeWithdrawnAfterDays\": 30
    },
    \"conditionalNode\": {
      \"nodeType\": \"MESSAGE\",
      \"actionDelay\": 2,
      \"actionDelayUnit\": \"DAY\",
      \"payload\": {
        \"messages\": [
          \"Thanks for connecting, {FIRST_NAME}!\"
        ],
        \"fallbackMessage\": \"Thanks for connecting!\"
      },
      \"unconditionalNode\": {
        \"nodeType\": \"SEND_LEAD_TO_BISON\",
        \"actionDelay\": 3,
        \"actionDelayUnit\": \"HOUR\",
        \"payload\": {
          \"bisonCampaignId\": {{bisonCampaignId}},
          \"stopExternalLead\": false
        },
        \"unconditionalNode\": {
          \"nodeType\": \"END\"
        }
      }
    },
    \"unconditionalNode\": {
      \"nodeType\": \"VIEW_PROFILE\",
      \"actionDelay\": 1,
      \"actionDelayUnit\": \"DAY\",
      \"unconditionalNode\": {
        \"nodeType\": \"END\",
        \"actionDelay\": 3,
        \"actionDelayUnit\": \"HOUR\"
      }
    }
  }
}"
headers = {
    "X-API-KEY": "{{HR_API_KEY}}",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript
const url = 'https://api//api/public/campaign/Create';
const options = {
  method: 'POST',
  headers: {'X-API-KEY': '{{HR_API_KEY}}', 'Content-Type': 'application/json'},
  body: '"{\n  \"name\": \"My New Campaign\",\n  \"linkedInUserListId\": 123456,\n  \"linkedInAccountIds\": [\n    11111,\n    22222\n  ],\n  \"schedule\": {\n    \"dailyStartTime\": \"09:00:00\",\n    \"dailyEndTime\": \"17:00:00\",\n    \"timeZoneId\": \"Europe/London\",\n    \"enabledMonday\": true,\n    \"enabledTuesday\": true,\n    \"enabledWednesday\": true,\n    \"enabledThursday\": true,\n    \"enabledFriday\": true,\n    \"enabledSaturday\": false,\n    \"enabledSunday\": false,\n    \"startDate\": null,\n    \"endDate\": null\n  },\n  \"sequence\": {\n    \"nodeType\": \"CONNECTION_REQUEST\",\n    \"actionDelay\": 0,\n    \"actionDelayUnit\": \"DAY\",\n    \"payload\": {\n      \"messages\": [\n        \"Hi {FIRST_NAME}, I\'d love to connect!\"\n      ],\n      \"fallbackMessage\": \"Hi there, I\'d love to connect!\",\n      \"toBeWithdrawnAfterDays\": 30\n    },\n    \"conditionalNode\": {\n      \"nodeType\": \"MESSAGE\",\n      \"actionDelay\": 2,\n      \"actionDelayUnit\": \"DAY\",\n      \"payload\": {\n        \"messages\": [\n          \"Thanks for connecting, {FIRST_NAME}!\"\n        ],\n        \"fallbackMessage\": \"Thanks for connecting!\"\n      },\n      \"unconditionalNode\": {\n        \"nodeType\": \"SEND_LEAD_TO_BISON\",\n        \"actionDelay\": 3,\n        \"actionDelayUnit\": \"HOUR\",\n        \"payload\": {\n          \"bisonCampaignId\": {{bisonCampaignId}},\n          \"stopExternalLead\": false\n        },\n        \"unconditionalNode\": {\n          \"nodeType\": \"END\"\n        }\n      }\n    },\n    \"unconditionalNode\": {\n      \"nodeType\": \"VIEW_PROFILE\",\n      \"actionDelay\": 1,\n      \"actionDelayUnit\": \"DAY\",\n      \"unconditionalNode\": {\n        \"nodeType\": \"END\",\n        \"actionDelay\": 3,\n        \"actionDelayUnit\": \"HOUR\"\n      }\n    }\n  }\n}"'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api//api/public/campaign/Create"

	payload := strings.NewReader("\"{\\n  \\\"name\\\": \\\"My New Campaign\\\",\\n  \\\"linkedInUserListId\\\": 123456,\\n  \\\"linkedInAccountIds\\\": [\\n    11111,\\n    22222\\n  ],\\n  \\\"schedule\\\": {\\n    \\\"dailyStartTime\\\": \\\"09:00:00\\\",\\n    \\\"dailyEndTime\\\": \\\"17:00:00\\\",\\n    \\\"timeZoneId\\\": \\\"Europe/London\\\",\\n    \\\"enabledMonday\\\": true,\\n    \\\"enabledTuesday\\\": true,\\n    \\\"enabledWednesday\\\": true,\\n    \\\"enabledThursday\\\": true,\\n    \\\"enabledFriday\\\": true,\\n    \\\"enabledSaturday\\\": false,\\n    \\\"enabledSunday\\\": false,\\n    \\\"startDate\\\": null,\\n    \\\"endDate\\\": null\\n  },\\n  \\\"sequence\\\": {\\n    \\\"nodeType\\\": \\\"CONNECTION_REQUEST\\\",\\n    \\\"actionDelay\\\": 0,\\n    \\\"actionDelayUnit\\\": \\\"DAY\\\",\\n    \\\"payload\\\": {\\n      \\\"messages\\\": [\\n        \\\"Hi {FIRST_NAME}, I'd love to connect!\\\"\\n      ],\\n      \\\"fallbackMessage\\\": \\\"Hi there, I'd love to connect!\\\",\\n      \\\"toBeWithdrawnAfterDays\\\": 30\\n    },\\n    \\\"conditionalNode\\\": {\\n      \\\"nodeType\\\": \\\"MESSAGE\\\",\\n      \\\"actionDelay\\\": 2,\\n      \\\"actionDelayUnit\\\": \\\"DAY\\\",\\n      \\\"payload\\\": {\\n        \\\"messages\\\": [\\n          \\\"Thanks for connecting, {FIRST_NAME}!\\\"\\n        ],\\n        \\\"fallbackMessage\\\": \\\"Thanks for connecting!\\\"\\n      },\\n      \\\"unconditionalNode\\\": {\\n        \\\"nodeType\\\": \\\"SEND_LEAD_TO_BISON\\\",\\n        \\\"actionDelay\\\": 3,\\n        \\\"actionDelayUnit\\\": \\\"HOUR\\\",\\n        \\\"payload\\\": {\\n          \\\"bisonCampaignId\\\": {{bisonCampaignId}},\\n          \\\"stopExternalLead\\\": false\\n        },\\n        \\\"unconditionalNode\\\": {\\n          \\\"nodeType\\\": \\\"END\\\"\\n        }\\n      }\\n    },\\n    \\\"unconditionalNode\\\": {\\n      \\\"nodeType\\\": \\\"VIEW_PROFILE\\\",\\n      \\\"actionDelay\\\": 1,\\n      \\\"actionDelayUnit\\\": \\\"DAY\\\",\\n      \\\"unconditionalNode\\\": {\\n        \\\"nodeType\\\": \\\"END\\\",\\n        \\\"actionDelay\\\": 3,\\n        \\\"actionDelayUnit\\\": \\\"HOUR\\\"\\n      }\\n    }\\n  }\\n}\"")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("X-API-KEY", "{{HR_API_KEY}}")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://api//api/public/campaign/Create")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '{{HR_API_KEY}}'
request["Content-Type"] = 'application/json'
request.body = "\"{\\n  \\\"name\\\": \\\"My New Campaign\\\",\\n  \\\"linkedInUserListId\\\": 123456,\\n  \\\"linkedInAccountIds\\\": [\\n    11111,\\n    22222\\n  ],\\n  \\\"schedule\\\": {\\n    \\\"dailyStartTime\\\": \\\"09:00:00\\\",\\n    \\\"dailyEndTime\\\": \\\"17:00:00\\\",\\n    \\\"timeZoneId\\\": \\\"Europe/London\\\",\\n    \\\"enabledMonday\\\": true,\\n    \\\"enabledTuesday\\\": true,\\n    \\\"enabledWednesday\\\": true,\\n    \\\"enabledThursday\\\": true,\\n    \\\"enabledFriday\\\": true,\\n    \\\"enabledSaturday\\\": false,\\n    \\\"enabledSunday\\\": false,\\n    \\\"startDate\\\": null,\\n    \\\"endDate\\\": null\\n  },\\n  \\\"sequence\\\": {\\n    \\\"nodeType\\\": \\\"CONNECTION_REQUEST\\\",\\n    \\\"actionDelay\\\": 0,\\n    \\\"actionDelayUnit\\\": \\\"DAY\\\",\\n    \\\"payload\\\": {\\n      \\\"messages\\\": [\\n        \\\"Hi {FIRST_NAME}, I'd love to connect!\\\"\\n      ],\\n      \\\"fallbackMessage\\\": \\\"Hi there, I'd love to connect!\\\",\\n      \\\"toBeWithdrawnAfterDays\\\": 30\\n    },\\n    \\\"conditionalNode\\\": {\\n      \\\"nodeType\\\": \\\"MESSAGE\\\",\\n      \\\"actionDelay\\\": 2,\\n      \\\"actionDelayUnit\\\": \\\"DAY\\\",\\n      \\\"payload\\\": {\\n        \\\"messages\\\": [\\n          \\\"Thanks for connecting, {FIRST_NAME}!\\\"\\n        ],\\n        \\\"fallbackMessage\\\": \\\"Thanks for connecting!\\\"\\n      },\\n      \\\"unconditionalNode\\\": {\\n        \\\"nodeType\\\": \\\"SEND_LEAD_TO_BISON\\\",\\n        \\\"actionDelay\\\": 3,\\n        \\\"actionDelayUnit\\\": \\\"HOUR\\\",\\n        \\\"payload\\\": {\\n          \\\"bisonCampaignId\\\": {{bisonCampaignId}},\\n          \\\"stopExternalLead\\\": false\\n        },\\n        \\\"unconditionalNode\\\": {\\n          \\\"nodeType\\\": \\\"END\\\"\\n        }\\n      }\\n    },\\n    \\\"unconditionalNode\\\": {\\n      \\\"nodeType\\\": \\\"VIEW_PROFILE\\\",\\n      \\\"actionDelay\\\": 1,\\n      \\\"actionDelayUnit\\\": \\\"DAY\\\",\\n      \\\"unconditionalNode\\\": {\\n        \\\"nodeType\\\": \\\"END\\\",\\n        \\\"actionDelay\\\": 3,\\n        \\\"actionDelayUnit\\\": \\\"HOUR\\\"\\n      }\\n    }\\n  }\\n}\""

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api//api/public/campaign/Create")
  .header("X-API-KEY", "{{HR_API_KEY}}")
  .header("Content-Type", "application/json")
  .body("\"{\\n  \\\"name\\\": \\\"My New Campaign\\\",\\n  \\\"linkedInUserListId\\\": 123456,\\n  \\\"linkedInAccountIds\\\": [\\n    11111,\\n    22222\\n  ],\\n  \\\"schedule\\\": {\\n    \\\"dailyStartTime\\\": \\\"09:00:00\\\",\\n    \\\"dailyEndTime\\\": \\\"17:00:00\\\",\\n    \\\"timeZoneId\\\": \\\"Europe/London\\\",\\n    \\\"enabledMonday\\\": true,\\n    \\\"enabledTuesday\\\": true,\\n    \\\"enabledWednesday\\\": true,\\n    \\\"enabledThursday\\\": true,\\n    \\\"enabledFriday\\\": true,\\n    \\\"enabledSaturday\\\": false,\\n    \\\"enabledSunday\\\": false,\\n    \\\"startDate\\\": null,\\n    \\\"endDate\\\": null\\n  },\\n  \\\"sequence\\\": {\\n    \\\"nodeType\\\": \\\"CONNECTION_REQUEST\\\",\\n    \\\"actionDelay\\\": 0,\\n    \\\"actionDelayUnit\\\": \\\"DAY\\\",\\n    \\\"payload\\\": {\\n      \\\"messages\\\": [\\n        \\\"Hi {FIRST_NAME}, I'd love to connect!\\\"\\n      ],\\n      \\\"fallbackMessage\\\": \\\"Hi there, I'd love to connect!\\\",\\n      \\\"toBeWithdrawnAfterDays\\\": 30\\n    },\\n    \\\"conditionalNode\\\": {\\n      \\\"nodeType\\\": \\\"MESSAGE\\\",\\n      \\\"actionDelay\\\": 2,\\n      \\\"actionDelayUnit\\\": \\\"DAY\\\",\\n      \\\"payload\\\": {\\n        \\\"messages\\\": [\\n          \\\"Thanks for connecting, {FIRST_NAME}!\\\"\\n        ],\\n        \\\"fallbackMessage\\\": \\\"Thanks for connecting!\\\"\\n      },\\n      \\\"unconditionalNode\\\": {\\n        \\\"nodeType\\\": \\\"SEND_LEAD_TO_BISON\\\",\\n        \\\"actionDelay\\\": 3,\\n        \\\"actionDelayUnit\\\": \\\"HOUR\\\",\\n        \\\"payload\\\": {\\n          \\\"bisonCampaignId\\\": {{bisonCampaignId}},\\n          \\\"stopExternalLead\\\": false\\n        },\\n        \\\"unconditionalNode\\\": {\\n          \\\"nodeType\\\": \\\"END\\\"\\n        }\\n      }\\n    },\\n    \\\"unconditionalNode\\\": {\\n      \\\"nodeType\\\": \\\"VIEW_PROFILE\\\",\\n      \\\"actionDelay\\\": 1,\\n      \\\"actionDelayUnit\\\": \\\"DAY\\\",\\n      \\\"unconditionalNode\\\": {\\n        \\\"nodeType\\\": \\\"END\\\",\\n        \\\"actionDelay\\\": 3,\\n        \\\"actionDelayUnit\\\": \\\"HOUR\\\"\\n      }\\n    }\\n  }\\n}\"")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api//api/public/campaign/Create', [
  'body' => '"{\\n  \\"name\\": \\"My New Campaign\\",\\n  \\"linkedInUserListId\\": 123456,\\n  \\"linkedInAccountIds\\": [\\n    11111,\\n    22222\\n  ],\\n  \\"schedule\\": {\\n    \\"dailyStartTime\\": \\"09:00:00\\",\\n    \\"dailyEndTime\\": \\"17:00:00\\",\\n    \\"timeZoneId\\": \\"Europe/London\\",\\n    \\"enabledMonday\\": true,\\n    \\"enabledTuesday\\": true,\\n    \\"enabledWednesday\\": true,\\n    \\"enabledThursday\\": true,\\n    \\"enabledFriday\\": true,\\n    \\"enabledSaturday\\": false,\\n    \\"enabledSunday\\": false,\\n    \\"startDate\\": null,\\n    \\"endDate\\": null\\n  },\\n  \\"sequence\\": {\\n    \\"nodeType\\": \\"CONNECTION_REQUEST\\",\\n    \\"actionDelay\\": 0,\\n    \\"actionDelayUnit\\": \\"DAY\\",\\n    \\"payload\\": {\\n      \\"messages\\": [\\n        \\"Hi {FIRST_NAME}, I\'d love to connect!\\"\\n      ],\\n      \\"fallbackMessage\\": \\"Hi there, I\'d love to connect!\\",\\n      \\"toBeWithdrawnAfterDays\\": 30\\n    },\\n    \\"conditionalNode\\": {\\n      \\"nodeType\\": \\"MESSAGE\\",\\n      \\"actionDelay\\": 2,\\n      \\"actionDelayUnit\\": \\"DAY\\",\\n      \\"payload\\": {\\n        \\"messages\\": [\\n          \\"Thanks for connecting, {FIRST_NAME}!\\"\\n        ],\\n        \\"fallbackMessage\\": \\"Thanks for connecting!\\"\\n      },\\n      \\"unconditionalNode\\": {\\n        \\"nodeType\\": \\"SEND_LEAD_TO_BISON\\",\\n        \\"actionDelay\\": 3,\\n        \\"actionDelayUnit\\": \\"HOUR\\",\\n        \\"payload\\": {\\n          \\"bisonCampaignId\\": {{bisonCampaignId}},\\n          \\"stopExternalLead\\": false\\n        },\\n        \\"unconditionalNode\\": {\\n          \\"nodeType\\": \\"END\\"\\n        }\\n      }\\n    },\\n    \\"unconditionalNode\\": {\\n      \\"nodeType\\": \\"VIEW_PROFILE\\",\\n      \\"actionDelay\\": 1,\\n      \\"actionDelayUnit\\": \\"DAY\\",\\n      \\"unconditionalNode\\": {\\n        \\"nodeType\\": \\"END\\",\\n        \\"actionDelay\\": 3,\\n        \\"actionDelayUnit\\": \\"HOUR\\"\\n      }\\n    }\\n  }\\n}"',
  'headers' => [
    'Content-Type' => 'application/json',
    'X-API-KEY' => '{{HR_API_KEY}}',
  ],
]);

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://api//api/public/campaign/Create");
var request = new RestRequest(Method.POST);
request.AddHeader("X-API-KEY", "{{HR_API_KEY}}");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "\"{\\n  \\\"name\\\": \\\"My New Campaign\\\",\\n  \\\"linkedInUserListId\\\": 123456,\\n  \\\"linkedInAccountIds\\\": [\\n    11111,\\n    22222\\n  ],\\n  \\\"schedule\\\": {\\n    \\\"dailyStartTime\\\": \\\"09:00:00\\\",\\n    \\\"dailyEndTime\\\": \\\"17:00:00\\\",\\n    \\\"timeZoneId\\\": \\\"Europe/London\\\",\\n    \\\"enabledMonday\\\": true,\\n    \\\"enabledTuesday\\\": true,\\n    \\\"enabledWednesday\\\": true,\\n    \\\"enabledThursday\\\": true,\\n    \\\"enabledFriday\\\": true,\\n    \\\"enabledSaturday\\\": false,\\n    \\\"enabledSunday\\\": false,\\n    \\\"startDate\\\": null,\\n    \\\"endDate\\\": null\\n  },\\n  \\\"sequence\\\": {\\n    \\\"nodeType\\\": \\\"CONNECTION_REQUEST\\\",\\n    \\\"actionDelay\\\": 0,\\n    \\\"actionDelayUnit\\\": \\\"DAY\\\",\\n    \\\"payload\\\": {\\n      \\\"messages\\\": [\\n        \\\"Hi {FIRST_NAME}, I'd love to connect!\\\"\\n      ],\\n      \\\"fallbackMessage\\\": \\\"Hi there, I'd love to connect!\\\",\\n      \\\"toBeWithdrawnAfterDays\\\": 30\\n    },\\n    \\\"conditionalNode\\\": {\\n      \\\"nodeType\\\": \\\"MESSAGE\\\",\\n      \\\"actionDelay\\\": 2,\\n      \\\"actionDelayUnit\\\": \\\"DAY\\\",\\n      \\\"payload\\\": {\\n        \\\"messages\\\": [\\n          \\\"Thanks for connecting, {FIRST_NAME}!\\\"\\n        ],\\n        \\\"fallbackMessage\\\": \\\"Thanks for connecting!\\\"\\n      },\\n      \\\"unconditionalNode\\\": {\\n        \\\"nodeType\\\": \\\"SEND_LEAD_TO_BISON\\\",\\n        \\\"actionDelay\\\": 3,\\n        \\\"actionDelayUnit\\\": \\\"HOUR\\\",\\n        \\\"payload\\\": {\\n          \\\"bisonCampaignId\\\": {{bisonCampaignId}},\\n          \\\"stopExternalLead\\\": false\\n        },\\n        \\\"unconditionalNode\\\": {\\n          \\\"nodeType\\\": \\\"END\\\"\\n        }\\n      }\\n    },\\n    \\\"unconditionalNode\\\": {\\n      \\\"nodeType\\\": \\\"VIEW_PROFILE\\\",\\n      \\\"actionDelay\\\": 1,\\n      \\\"actionDelayUnit\\\": \\\"DAY\\\",\\n      \\\"unconditionalNode\\\": {\\n        \\\"nodeType\\\": \\\"END\\\",\\n        \\\"actionDelay\\\": 3,\\n        \\\"actionDelayUnit\\\": \\\"HOUR\\\"\\n      }\\n    }\\n  }\\n}\"", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = [
  "X-API-KEY": "{{HR_API_KEY}}",
  "Content-Type": "application/json"
]
let parameters = "{
  \"name\": \"My New Campaign\",
  \"linkedInUserListId\": 123456,
  \"linkedInAccountIds\": [
    11111,
    22222
  ],
  \"schedule\": {
    \"dailyStartTime\": \"09:00:00\",
    \"dailyEndTime\": \"17:00:00\",
    \"timeZoneId\": \"Europe/London\",
    \"enabledMonday\": true,
    \"enabledTuesday\": true,
    \"enabledWednesday\": true,
    \"enabledThursday\": true,
    \"enabledFriday\": true,
    \"enabledSaturday\": false,
    \"enabledSunday\": false,
    \"startDate\": null,
    \"endDate\": null
  },
  \"sequence\": {
    \"nodeType\": \"CONNECTION_REQUEST\",
    \"actionDelay\": 0,
    \"actionDelayUnit\": \"DAY\",
    \"payload\": {
      \"messages\": [
        \"Hi {FIRST_NAME}, I'd love to connect!\"
      ],
      \"fallbackMessage\": \"Hi there, I'd love to connect!\",
      \"toBeWithdrawnAfterDays\": 30
    },
    \"conditionalNode\": {
      \"nodeType\": \"MESSAGE\",
      \"actionDelay\": 2,
      \"actionDelayUnit\": \"DAY\",
      \"payload\": {
        \"messages\": [
          \"Thanks for connecting, {FIRST_NAME}!\"
        ],
        \"fallbackMessage\": \"Thanks for connecting!\"
      },
      \"unconditionalNode\": {
        \"nodeType\": \"SEND_LEAD_TO_BISON\",
        \"actionDelay\": 3,
        \"actionDelayUnit\": \"HOUR\",
        \"payload\": {
          \"bisonCampaignId\": {{bisonCampaignId}},
          \"stopExternalLead\": false
        },
        \"unconditionalNode\": {
          \"nodeType\": \"END\"
        }
      }
    },
    \"unconditionalNode\": {
      \"nodeType\": \"VIEW_PROFILE\",
      \"actionDelay\": 1,
      \"actionDelayUnit\": \"DAY\",
      \"unconditionalNode\": {
        \"nodeType\": \"END\",
        \"actionDelay\": 3,
        \"actionDelayUnit\": \"HOUR\"
      }
    }
  }
}" as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api//api/public/campaign/Create")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```