curl --request POST \
--url https://api.goextrovert.com/client/v2/campaign \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"ownerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"userStyleId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"userContextId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"postMaxAgeDays": 4503599627370495,
"skipTeammatesLeads": true,
"isIndirectEngagementEnabled": true,
"postActivityFilter": {
"emotionTypes": [],
"monitoredTopicIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"isShowImportantTargetUsersFirstEnabled": true,
"isShowDirectPostFirstEnabled": true,
"minPostLikes": 25
},
"connectingSettings": {
"isSendConnectionRequestEnabled": true,
"sendConnectionRequestOnDirectCommentCount": 4503599627370495,
"isSendConnectionRequestOnIndirectCommentEnabled": true,
"sendConnectionRequestOnIndirectCommentCount": 4503599627370495,
"isSendConnectionRequestOnTimeoutEnabled": true,
"sendConnectionRequestOnTimeoutDays": 4503599627370495,
"isSendConnectionRequestOnNoPostsEnabled": true
},
"dmSettings": {
"isGenerateDmEnabled": true,
"isGenerateDmOnConnectEnabled": true,
"generateDmOnConnectAfterDaysCount": 4503599627370495,
"isGenerateDmOnRelevantPostEnabled": true,
"generateDmOnRelevantPostAfterDaysCount": 4503599627370495,
"isGenerateDmOnTimeoutEnabled": true,
"generateDmOnTimeoutAfterDaysCount": 4503599627370495
},
"applyCommentIntervalH": 4503599627370495
}
'import requests
url = "https://api.goextrovert.com/client/v2/campaign"
payload = {
"ownerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"userStyleId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"userContextId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"postMaxAgeDays": 4503599627370495,
"skipTeammatesLeads": True,
"isIndirectEngagementEnabled": True,
"postActivityFilter": {
"emotionTypes": [],
"monitoredTopicIds": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"isShowImportantTargetUsersFirstEnabled": True,
"isShowDirectPostFirstEnabled": True,
"minPostLikes": 25
},
"connectingSettings": {
"isSendConnectionRequestEnabled": True,
"sendConnectionRequestOnDirectCommentCount": 4503599627370495,
"isSendConnectionRequestOnIndirectCommentEnabled": True,
"sendConnectionRequestOnIndirectCommentCount": 4503599627370495,
"isSendConnectionRequestOnTimeoutEnabled": True,
"sendConnectionRequestOnTimeoutDays": 4503599627370495,
"isSendConnectionRequestOnNoPostsEnabled": True
},
"dmSettings": {
"isGenerateDmEnabled": True,
"isGenerateDmOnConnectEnabled": True,
"generateDmOnConnectAfterDaysCount": 4503599627370495,
"isGenerateDmOnRelevantPostEnabled": True,
"generateDmOnRelevantPostAfterDaysCount": 4503599627370495,
"isGenerateDmOnTimeoutEnabled": True,
"generateDmOnTimeoutAfterDaysCount": 4503599627370495
},
"applyCommentIntervalH": 4503599627370495
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
ownerId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
name: '<string>',
userStyleId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
userContextId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
postMaxAgeDays: 4503599627370495,
skipTeammatesLeads: true,
isIndirectEngagementEnabled: true,
postActivityFilter: {
emotionTypes: [],
monitoredTopicIds: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
isShowImportantTargetUsersFirstEnabled: true,
isShowDirectPostFirstEnabled: true,
minPostLikes: 25
},
connectingSettings: {
isSendConnectionRequestEnabled: true,
sendConnectionRequestOnDirectCommentCount: 4503599627370495,
isSendConnectionRequestOnIndirectCommentEnabled: true,
sendConnectionRequestOnIndirectCommentCount: 4503599627370495,
isSendConnectionRequestOnTimeoutEnabled: true,
sendConnectionRequestOnTimeoutDays: 4503599627370495,
isSendConnectionRequestOnNoPostsEnabled: true
},
dmSettings: {
isGenerateDmEnabled: true,
isGenerateDmOnConnectEnabled: true,
generateDmOnConnectAfterDaysCount: 4503599627370495,
isGenerateDmOnRelevantPostEnabled: true,
generateDmOnRelevantPostAfterDaysCount: 4503599627370495,
isGenerateDmOnTimeoutEnabled: true,
generateDmOnTimeoutAfterDaysCount: 4503599627370495
},
applyCommentIntervalH: 4503599627370495
})
};
fetch('https://api.goextrovert.com/client/v2/campaign', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.goextrovert.com/client/v2/campaign",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'ownerId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'name' => '<string>',
'userStyleId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'userContextId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'postMaxAgeDays' => 4503599627370495,
'skipTeammatesLeads' => true,
'isIndirectEngagementEnabled' => true,
'postActivityFilter' => [
'emotionTypes' => [
],
'monitoredTopicIds' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'isShowImportantTargetUsersFirstEnabled' => true,
'isShowDirectPostFirstEnabled' => true,
'minPostLikes' => 25
],
'connectingSettings' => [
'isSendConnectionRequestEnabled' => true,
'sendConnectionRequestOnDirectCommentCount' => 4503599627370495,
'isSendConnectionRequestOnIndirectCommentEnabled' => true,
'sendConnectionRequestOnIndirectCommentCount' => 4503599627370495,
'isSendConnectionRequestOnTimeoutEnabled' => true,
'sendConnectionRequestOnTimeoutDays' => 4503599627370495,
'isSendConnectionRequestOnNoPostsEnabled' => true
],
'dmSettings' => [
'isGenerateDmEnabled' => true,
'isGenerateDmOnConnectEnabled' => true,
'generateDmOnConnectAfterDaysCount' => 4503599627370495,
'isGenerateDmOnRelevantPostEnabled' => true,
'generateDmOnRelevantPostAfterDaysCount' => 4503599627370495,
'isGenerateDmOnTimeoutEnabled' => true,
'generateDmOnTimeoutAfterDaysCount' => 4503599627370495
],
'applyCommentIntervalH' => 4503599627370495
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.goextrovert.com/client/v2/campaign"
payload := strings.NewReader("{\n \"ownerId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"userStyleId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"userContextId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"postMaxAgeDays\": 4503599627370495,\n \"skipTeammatesLeads\": true,\n \"isIndirectEngagementEnabled\": true,\n \"postActivityFilter\": {\n \"emotionTypes\": [],\n \"monitoredTopicIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"isShowImportantTargetUsersFirstEnabled\": true,\n \"isShowDirectPostFirstEnabled\": true,\n \"minPostLikes\": 25\n },\n \"connectingSettings\": {\n \"isSendConnectionRequestEnabled\": true,\n \"sendConnectionRequestOnDirectCommentCount\": 4503599627370495,\n \"isSendConnectionRequestOnIndirectCommentEnabled\": true,\n \"sendConnectionRequestOnIndirectCommentCount\": 4503599627370495,\n \"isSendConnectionRequestOnTimeoutEnabled\": true,\n \"sendConnectionRequestOnTimeoutDays\": 4503599627370495,\n \"isSendConnectionRequestOnNoPostsEnabled\": true\n },\n \"dmSettings\": {\n \"isGenerateDmEnabled\": true,\n \"isGenerateDmOnConnectEnabled\": true,\n \"generateDmOnConnectAfterDaysCount\": 4503599627370495,\n \"isGenerateDmOnRelevantPostEnabled\": true,\n \"generateDmOnRelevantPostAfterDaysCount\": 4503599627370495,\n \"isGenerateDmOnTimeoutEnabled\": true,\n \"generateDmOnTimeoutAfterDaysCount\": 4503599627370495\n },\n \"applyCommentIntervalH\": 4503599627370495\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<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(string(body))
}HttpResponse<String> response = Unirest.post("https://api.goextrovert.com/client/v2/campaign")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"ownerId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"userStyleId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"userContextId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"postMaxAgeDays\": 4503599627370495,\n \"skipTeammatesLeads\": true,\n \"isIndirectEngagementEnabled\": true,\n \"postActivityFilter\": {\n \"emotionTypes\": [],\n \"monitoredTopicIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"isShowImportantTargetUsersFirstEnabled\": true,\n \"isShowDirectPostFirstEnabled\": true,\n \"minPostLikes\": 25\n },\n \"connectingSettings\": {\n \"isSendConnectionRequestEnabled\": true,\n \"sendConnectionRequestOnDirectCommentCount\": 4503599627370495,\n \"isSendConnectionRequestOnIndirectCommentEnabled\": true,\n \"sendConnectionRequestOnIndirectCommentCount\": 4503599627370495,\n \"isSendConnectionRequestOnTimeoutEnabled\": true,\n \"sendConnectionRequestOnTimeoutDays\": 4503599627370495,\n \"isSendConnectionRequestOnNoPostsEnabled\": true\n },\n \"dmSettings\": {\n \"isGenerateDmEnabled\": true,\n \"isGenerateDmOnConnectEnabled\": true,\n \"generateDmOnConnectAfterDaysCount\": 4503599627370495,\n \"isGenerateDmOnRelevantPostEnabled\": true,\n \"generateDmOnRelevantPostAfterDaysCount\": 4503599627370495,\n \"isGenerateDmOnTimeoutEnabled\": true,\n \"generateDmOnTimeoutAfterDaysCount\": 4503599627370495\n },\n \"applyCommentIntervalH\": 4503599627370495\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.goextrovert.com/client/v2/campaign")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"ownerId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"userStyleId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"userContextId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"postMaxAgeDays\": 4503599627370495,\n \"skipTeammatesLeads\": true,\n \"isIndirectEngagementEnabled\": true,\n \"postActivityFilter\": {\n \"emotionTypes\": [],\n \"monitoredTopicIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"isShowImportantTargetUsersFirstEnabled\": true,\n \"isShowDirectPostFirstEnabled\": true,\n \"minPostLikes\": 25\n },\n \"connectingSettings\": {\n \"isSendConnectionRequestEnabled\": true,\n \"sendConnectionRequestOnDirectCommentCount\": 4503599627370495,\n \"isSendConnectionRequestOnIndirectCommentEnabled\": true,\n \"sendConnectionRequestOnIndirectCommentCount\": 4503599627370495,\n \"isSendConnectionRequestOnTimeoutEnabled\": true,\n \"sendConnectionRequestOnTimeoutDays\": 4503599627370495,\n \"isSendConnectionRequestOnNoPostsEnabled\": true\n },\n \"dmSettings\": {\n \"isGenerateDmEnabled\": true,\n \"isGenerateDmOnConnectEnabled\": true,\n \"generateDmOnConnectAfterDaysCount\": 4503599627370495,\n \"isGenerateDmOnRelevantPostEnabled\": true,\n \"generateDmOnRelevantPostAfterDaysCount\": 4503599627370495,\n \"isGenerateDmOnTimeoutEnabled\": true,\n \"generateDmOnTimeoutAfterDaysCount\": 4503599627370495\n },\n \"applyCommentIntervalH\": 4503599627370495\n}"
response = http.request(request)
puts response.read_body{
"status": "success",
"data": {
"id": "8d256aa6-9b12-49a7-93ee-bf41634b5b60"
},
"message": "Operation completed successfully"
}{
"status": "error",
"data": null,
"message": "An error occurred while processing the request"
}Create Campaign
Creates a new campaign. The campaign owner must already have a Style and a Context.
Two types (backend values TARGET_USER and KEYWORD correspond to user-facing ‘Prospects campaign’ and ‘Topic campaign’ respectively):
TARGET_USER: engages with a specific list of LinkedIn profiles.KEYWORD: discovers posts by topic bindings.
The engagement-automation fields skipTeammatesLeads, isIndirectEngagementEnabled, applyCommentIntervalH, connectingSettings, and dmSettings apply to TARGET_USER (Prospects) campaigns only. For KEYWORD (Topic) campaigns they do not apply — omit them (or leave them off).
curl --request POST \
--url https://api.goextrovert.com/client/v2/campaign \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"ownerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"userStyleId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"userContextId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"postMaxAgeDays": 4503599627370495,
"skipTeammatesLeads": true,
"isIndirectEngagementEnabled": true,
"postActivityFilter": {
"emotionTypes": [],
"monitoredTopicIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"isShowImportantTargetUsersFirstEnabled": true,
"isShowDirectPostFirstEnabled": true,
"minPostLikes": 25
},
"connectingSettings": {
"isSendConnectionRequestEnabled": true,
"sendConnectionRequestOnDirectCommentCount": 4503599627370495,
"isSendConnectionRequestOnIndirectCommentEnabled": true,
"sendConnectionRequestOnIndirectCommentCount": 4503599627370495,
"isSendConnectionRequestOnTimeoutEnabled": true,
"sendConnectionRequestOnTimeoutDays": 4503599627370495,
"isSendConnectionRequestOnNoPostsEnabled": true
},
"dmSettings": {
"isGenerateDmEnabled": true,
"isGenerateDmOnConnectEnabled": true,
"generateDmOnConnectAfterDaysCount": 4503599627370495,
"isGenerateDmOnRelevantPostEnabled": true,
"generateDmOnRelevantPostAfterDaysCount": 4503599627370495,
"isGenerateDmOnTimeoutEnabled": true,
"generateDmOnTimeoutAfterDaysCount": 4503599627370495
},
"applyCommentIntervalH": 4503599627370495
}
'import requests
url = "https://api.goextrovert.com/client/v2/campaign"
payload = {
"ownerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"userStyleId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"userContextId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"postMaxAgeDays": 4503599627370495,
"skipTeammatesLeads": True,
"isIndirectEngagementEnabled": True,
"postActivityFilter": {
"emotionTypes": [],
"monitoredTopicIds": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"isShowImportantTargetUsersFirstEnabled": True,
"isShowDirectPostFirstEnabled": True,
"minPostLikes": 25
},
"connectingSettings": {
"isSendConnectionRequestEnabled": True,
"sendConnectionRequestOnDirectCommentCount": 4503599627370495,
"isSendConnectionRequestOnIndirectCommentEnabled": True,
"sendConnectionRequestOnIndirectCommentCount": 4503599627370495,
"isSendConnectionRequestOnTimeoutEnabled": True,
"sendConnectionRequestOnTimeoutDays": 4503599627370495,
"isSendConnectionRequestOnNoPostsEnabled": True
},
"dmSettings": {
"isGenerateDmEnabled": True,
"isGenerateDmOnConnectEnabled": True,
"generateDmOnConnectAfterDaysCount": 4503599627370495,
"isGenerateDmOnRelevantPostEnabled": True,
"generateDmOnRelevantPostAfterDaysCount": 4503599627370495,
"isGenerateDmOnTimeoutEnabled": True,
"generateDmOnTimeoutAfterDaysCount": 4503599627370495
},
"applyCommentIntervalH": 4503599627370495
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
ownerId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
name: '<string>',
userStyleId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
userContextId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
postMaxAgeDays: 4503599627370495,
skipTeammatesLeads: true,
isIndirectEngagementEnabled: true,
postActivityFilter: {
emotionTypes: [],
monitoredTopicIds: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
isShowImportantTargetUsersFirstEnabled: true,
isShowDirectPostFirstEnabled: true,
minPostLikes: 25
},
connectingSettings: {
isSendConnectionRequestEnabled: true,
sendConnectionRequestOnDirectCommentCount: 4503599627370495,
isSendConnectionRequestOnIndirectCommentEnabled: true,
sendConnectionRequestOnIndirectCommentCount: 4503599627370495,
isSendConnectionRequestOnTimeoutEnabled: true,
sendConnectionRequestOnTimeoutDays: 4503599627370495,
isSendConnectionRequestOnNoPostsEnabled: true
},
dmSettings: {
isGenerateDmEnabled: true,
isGenerateDmOnConnectEnabled: true,
generateDmOnConnectAfterDaysCount: 4503599627370495,
isGenerateDmOnRelevantPostEnabled: true,
generateDmOnRelevantPostAfterDaysCount: 4503599627370495,
isGenerateDmOnTimeoutEnabled: true,
generateDmOnTimeoutAfterDaysCount: 4503599627370495
},
applyCommentIntervalH: 4503599627370495
})
};
fetch('https://api.goextrovert.com/client/v2/campaign', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.goextrovert.com/client/v2/campaign",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'ownerId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'name' => '<string>',
'userStyleId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'userContextId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'postMaxAgeDays' => 4503599627370495,
'skipTeammatesLeads' => true,
'isIndirectEngagementEnabled' => true,
'postActivityFilter' => [
'emotionTypes' => [
],
'monitoredTopicIds' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'isShowImportantTargetUsersFirstEnabled' => true,
'isShowDirectPostFirstEnabled' => true,
'minPostLikes' => 25
],
'connectingSettings' => [
'isSendConnectionRequestEnabled' => true,
'sendConnectionRequestOnDirectCommentCount' => 4503599627370495,
'isSendConnectionRequestOnIndirectCommentEnabled' => true,
'sendConnectionRequestOnIndirectCommentCount' => 4503599627370495,
'isSendConnectionRequestOnTimeoutEnabled' => true,
'sendConnectionRequestOnTimeoutDays' => 4503599627370495,
'isSendConnectionRequestOnNoPostsEnabled' => true
],
'dmSettings' => [
'isGenerateDmEnabled' => true,
'isGenerateDmOnConnectEnabled' => true,
'generateDmOnConnectAfterDaysCount' => 4503599627370495,
'isGenerateDmOnRelevantPostEnabled' => true,
'generateDmOnRelevantPostAfterDaysCount' => 4503599627370495,
'isGenerateDmOnTimeoutEnabled' => true,
'generateDmOnTimeoutAfterDaysCount' => 4503599627370495
],
'applyCommentIntervalH' => 4503599627370495
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.goextrovert.com/client/v2/campaign"
payload := strings.NewReader("{\n \"ownerId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"userStyleId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"userContextId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"postMaxAgeDays\": 4503599627370495,\n \"skipTeammatesLeads\": true,\n \"isIndirectEngagementEnabled\": true,\n \"postActivityFilter\": {\n \"emotionTypes\": [],\n \"monitoredTopicIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"isShowImportantTargetUsersFirstEnabled\": true,\n \"isShowDirectPostFirstEnabled\": true,\n \"minPostLikes\": 25\n },\n \"connectingSettings\": {\n \"isSendConnectionRequestEnabled\": true,\n \"sendConnectionRequestOnDirectCommentCount\": 4503599627370495,\n \"isSendConnectionRequestOnIndirectCommentEnabled\": true,\n \"sendConnectionRequestOnIndirectCommentCount\": 4503599627370495,\n \"isSendConnectionRequestOnTimeoutEnabled\": true,\n \"sendConnectionRequestOnTimeoutDays\": 4503599627370495,\n \"isSendConnectionRequestOnNoPostsEnabled\": true\n },\n \"dmSettings\": {\n \"isGenerateDmEnabled\": true,\n \"isGenerateDmOnConnectEnabled\": true,\n \"generateDmOnConnectAfterDaysCount\": 4503599627370495,\n \"isGenerateDmOnRelevantPostEnabled\": true,\n \"generateDmOnRelevantPostAfterDaysCount\": 4503599627370495,\n \"isGenerateDmOnTimeoutEnabled\": true,\n \"generateDmOnTimeoutAfterDaysCount\": 4503599627370495\n },\n \"applyCommentIntervalH\": 4503599627370495\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<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(string(body))
}HttpResponse<String> response = Unirest.post("https://api.goextrovert.com/client/v2/campaign")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"ownerId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"userStyleId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"userContextId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"postMaxAgeDays\": 4503599627370495,\n \"skipTeammatesLeads\": true,\n \"isIndirectEngagementEnabled\": true,\n \"postActivityFilter\": {\n \"emotionTypes\": [],\n \"monitoredTopicIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"isShowImportantTargetUsersFirstEnabled\": true,\n \"isShowDirectPostFirstEnabled\": true,\n \"minPostLikes\": 25\n },\n \"connectingSettings\": {\n \"isSendConnectionRequestEnabled\": true,\n \"sendConnectionRequestOnDirectCommentCount\": 4503599627370495,\n \"isSendConnectionRequestOnIndirectCommentEnabled\": true,\n \"sendConnectionRequestOnIndirectCommentCount\": 4503599627370495,\n \"isSendConnectionRequestOnTimeoutEnabled\": true,\n \"sendConnectionRequestOnTimeoutDays\": 4503599627370495,\n \"isSendConnectionRequestOnNoPostsEnabled\": true\n },\n \"dmSettings\": {\n \"isGenerateDmEnabled\": true,\n \"isGenerateDmOnConnectEnabled\": true,\n \"generateDmOnConnectAfterDaysCount\": 4503599627370495,\n \"isGenerateDmOnRelevantPostEnabled\": true,\n \"generateDmOnRelevantPostAfterDaysCount\": 4503599627370495,\n \"isGenerateDmOnTimeoutEnabled\": true,\n \"generateDmOnTimeoutAfterDaysCount\": 4503599627370495\n },\n \"applyCommentIntervalH\": 4503599627370495\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.goextrovert.com/client/v2/campaign")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"ownerId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"userStyleId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"userContextId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"postMaxAgeDays\": 4503599627370495,\n \"skipTeammatesLeads\": true,\n \"isIndirectEngagementEnabled\": true,\n \"postActivityFilter\": {\n \"emotionTypes\": [],\n \"monitoredTopicIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"isShowImportantTargetUsersFirstEnabled\": true,\n \"isShowDirectPostFirstEnabled\": true,\n \"minPostLikes\": 25\n },\n \"connectingSettings\": {\n \"isSendConnectionRequestEnabled\": true,\n \"sendConnectionRequestOnDirectCommentCount\": 4503599627370495,\n \"isSendConnectionRequestOnIndirectCommentEnabled\": true,\n \"sendConnectionRequestOnIndirectCommentCount\": 4503599627370495,\n \"isSendConnectionRequestOnTimeoutEnabled\": true,\n \"sendConnectionRequestOnTimeoutDays\": 4503599627370495,\n \"isSendConnectionRequestOnNoPostsEnabled\": true\n },\n \"dmSettings\": {\n \"isGenerateDmEnabled\": true,\n \"isGenerateDmOnConnectEnabled\": true,\n \"generateDmOnConnectAfterDaysCount\": 4503599627370495,\n \"isGenerateDmOnRelevantPostEnabled\": true,\n \"generateDmOnRelevantPostAfterDaysCount\": 4503599627370495,\n \"isGenerateDmOnTimeoutEnabled\": true,\n \"generateDmOnTimeoutAfterDaysCount\": 4503599627370495\n },\n \"applyCommentIntervalH\": 4503599627370495\n}"
response = http.request(request)
puts response.read_body{
"status": "success",
"data": {
"id": "8d256aa6-9b12-49a7-93ee-bf41634b5b60"
},
"message": "Operation completed successfully"
}{
"status": "error",
"data": null,
"message": "An error occurred while processing the request"
}Authorizations
API Key for authentication
Body
User id who owns the campaign.
Display name for the campaign.
1Campaign type. Either TARGET_USER (specific profiles) or KEYWORD (topic-based discovery). Backend values correspond to user-facing 'Prospects campaign' / 'Topic campaign'.
TARGET_USER, KEYWORD Id of the Style this campaign uses. Required.
Id of the Context this campaign uses. Required.
Legacy field. Marked @deprecated not used in the backend DTO but still required by its validator. Pass 30 — the backend ignores the value at runtime.
0 < x <= 9007199254740991If true, skip prospects that are already in teammates' campaigns in the same team — avoids double outreach to the same person. Applies to TARGET_USER (Prospects) campaigns only (recommended true there); for KEYWORD (Topic) campaigns it does not apply — leave it false.
Indirect engagement feature. If true, Extrovert also pulls indirect posts — posts from the people the prospect engages with most frequently (content the prospect is likely to see in their own feed) — so the campaign can comment on them too. Useful for reaching prospects who rarely post themselves. Default false. Applies to TARGET_USER (Prospects) campaigns only; for KEYWORD (Topic) campaigns it does not apply — leave it false.
Filter for which posts qualify for engagement. Required. For KEYWORD (Topic), pass only sortBy=postedDate, postDate, emotionTypes, an empty monitoredTopicIds array, and optional minPostLikes; omit every prospect* field and Prospects-only display-order field.
Show child attributes
Show child attributes
Optional connection-request automation settings. Pass only if the user wants the campaign to also send LinkedIn connection requests in addition to commenting. Applies to TARGET_USER (Prospects) campaigns only — omit it for KEYWORD (Topic) campaigns.
Show child attributes
Show child attributes
Optional direct-message generation settings. Pass only if the user wants the campaign to also draft/send DMs to prospects. Requires DmPlaybook entries to be effective. Applies to TARGET_USER (Prospects) campaigns only — omit it for KEYWORD (Topic) campaigns.
Show child attributes
Show child attributes
Optional: minimum gap in hours between automated comments (spreads approved comments over time so engagement feels natural). Stored in hours but the UI only exposes whole-day choices — pass a multiple of 24 (24, 48, or 72). Omit to keep the feature off. Applies to TARGET_USER (Prospects) campaigns only — omit it for KEYWORD (Topic) campaigns.
0 < x <= 9007199254740991