Skip to main content
POST
/
api
/
client
/
v2
/
campaign
Create Campaign
curl --request POST \
  --url https://prod-nginx-v2.goextrovert.com/webgateway/api/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
}
'
{
  "status": "success",
  "data": {
    "id": "8d256aa6-9b12-49a7-93ee-bf41634b5b60"
  },
  "message": "Operation completed successfully"
}

Authorizations

X-API-Key
string
header
required

API Key for authentication

Body

application/json
ownerId
string<uuid>
required

User id who owns the campaign.

name
string
required

Display name for the campaign.

Minimum string length: 1
type
enum<string>
required

Campaign type. Either TARGET_USER (specific profiles) or KEYWORD (topic-based discovery). Backend values correspond to user-facing 'Prospects campaign' / 'Topic campaign'.

Available options:
TARGET_USER,
KEYWORD
userStyleId
string<uuid>
required

Id of the Style this campaign uses. Required.

userContextId
string<uuid>
required

Id of the Context this campaign uses. Required.

postMaxAgeDays
integer
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.

Required range: 0 < x <= 9007199254740991
skipTeammatesLeads
boolean
required

If 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.

isIndirectEngagementEnabled
boolean
required

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.

postActivityFilter
object
required

Filter for which posts qualify for engagement. Required (the create call is rejected without it). For KEYWORD campaigns fewer filter fields apply by logic (the filter is oriented at working with specific prospects).

connectingSettings
object
required

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.

dmSettings
object
required

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.

applyCommentIntervalH
integer

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.

Required range: 0 < x <= 9007199254740991

Response

status
enum<string>
required

Response status

Available options:
success
data
object
required
message
string
required

Success message

Example:

"Operation completed successfully"