OutFlo Public API / Guide

Campaign management

Create, configure, launch, pause, and inspect LinkedIn outreach campaigns.

Overview

Campaign operations cover lifecycle control, sequence configuration, lead retrieval, timelines, and campaign-level reporting. Open an endpoint below to see its complete request and response contract.

Authentication

Send the same x-api-key header with every request.

Manage API keys
Canonical contract

Request and response schemas

Every operation below follows the same contract order. All responses use the standard status, data, and error envelope.

GET/api/public/campaignsList campaigns

Headers

FieldTypeRequiredDescription
x-api-keystringYesWorkspace API key.

Path parameters

No path parameters.

Query parameters

FieldTypeRequiredDescription
statusenumNoactive, paused, draft, or completed.
search_textstringNoCase-insensitive campaign-name search.

Request body

No request body.

Success response · 200

FieldTypeRequiredDescription
statusintegerYesHTTP status mirrored in the JSON body. Success: 200.
dataobject | array | nullYesList campaigns result. The exact data fields depend on the selected resource.
errorstring | nullYesNull on success; a developer-readable message on failure.
Query example
{
  "status": "<string>",
  "search_text": "<string>"
}
Standard success envelope · 200
{
  "status": 200,
  "data": "<endpoint-specific response data>",
  "error": null
}
Standard error envelope
{
  "status": 400,
  "data": null,
  "error": "Developer-readable error message"
}
POST/api/public/campaignsCreate a campaign

Headers

FieldTypeRequiredDescription
x-api-keystringYesWorkspace API key.
Content-TypestringYesMust be application/json.Example: application/json

Path parameters

No path parameters.

Query parameters

No query parameters.

Request body · application/json

FieldTypeRequiredDescription
namestringYesCampaign name.
senderUrlsstring[]One sender sourceConnected sender LinkedIn profile URLs.
senderAccountIdsstring[] · UUIDOne sender sourceConnected OutFlo account IDs.
timeZonestringNoCampaign timezone.Example: UTC
leadListIdstring · UUIDNoExisting lead list to attach.
sendMessageToPreviousConnectedLeadsbooleanNoAllow messages to leads who were already connected.Example: true
sequenceView sequence definitionobjectNoInline classic or smart outreach sequence.
sequenceCampaignIdstring · UUIDNoExisting campaign whose sequence should be cloned.
operationalTimesView operationalTimes definitionobjectNoEnabled days and operating hours.
variableResolutionView variableResolution definitionobjectNoTemplate-variable fallback behavior.
launchCampaignbooleanNoLaunch immediately after creation.Example: false
Object definitions

Object and array fields link to their immediate child schema below.

sequence

Inline classic or smart outreach sequence.

FieldTypeRequiredDescription
sequenceTypeenumNoclassic or smart.Example: classic
sequenceStepsView sequence.sequenceSteps definitionrecord<string, object>Classic sequencesClassic sequence steps keyed consecutively from "0".
graphView sequence.graph definitionobjectSmart sequencesNode-and-edge graph for a smart sequence.
sequence.sequenceSteps

Classic sequence steps keyed consecutively from "0".

FieldTypeRequiredDescription
{step}View sequence.sequenceSteps.{step} definitionobjectYesOne classic sequence step.
sequence.sequenceSteps.{step}

One classic sequence step.

FieldTypeRequiredDescription
actionTypeenumYesSEND_CONNECTION_REQUEST, SEND_MESSAGE, SEND_VOICE_NOTE, FOLLOW_PROFILE, LIKE_A_POST, VIEW_PROFILE, WITHDRAW_INVITE, CHECK_CONNECTION, CHECK_OPEN_PROFILE, SEND_INMAIL, SEND_FREE_INMAIL, or ENDORSE_SKILLS.
standardTextstringNoConnection-request note. Only valid for SEND_CONNECTION_REQUEST.
premiumTextstringNoPremium connection-request note. Only valid for SEND_CONNECTION_REQUEST.
messageTextstringMessage and InMail actionsMessage or InMail body.
subjectstringInMail actionsInMail subject.
voiceNoteUrlstring · URLSEND_VOICE_NOTEPublic voice-note URL.
delaynumberNoDelay before execution, in minutes. Message, InMail, and voice-note actions require at least 180.Example: 180
sequence.graph

Node-and-edge graph for a smart sequence.

FieldTypeRequiredDescription
nodesView sequence.graph.nodes[] definitionobject[]YesAt least two nodes, including exactly one start node.
edgesView sequence.graph.edges[] definitionobject[]YesAt least one edge connecting node IDs.
sequence.graph.nodes[]

At least two nodes, including exactly one start node.

FieldTypeRequiredDescription
idstringYesStable node ID referenced by graph edges.
typeenumYesstart, action, or end.
actionTypeenumAction nodesSEND_CONNECTION_REQUEST, SEND_MESSAGE, SEND_VOICE_NOTE, FOLLOW_PROFILE, LIKE_A_POST, VIEW_PROFILE, WITHDRAW_INVITE, CHECK_CONNECTION, CHECK_OPEN_PROFILE, SEND_INMAIL, SEND_FREE_INMAIL, or ENDORSE_SKILLS.
dataView sequence.graph.nodes[].data definitionobjectNoPayload accepted by the selected action type.
sequence.graph.nodes[].data

Payload accepted by the selected action type.

FieldTypeRequiredDescription
messageTextstringNoMessage body.
attachmentsstring[]NoMessage attachment URLs.
standardTextstringNoConnection-request note.
premiumTextstringNoPremium connection-request note.
subjectstringNoInMail subject.
voiceNoteUrlstring · URLNoPublic voice-note URL.
sequence.graph.edges[]

At least one edge connecting node IDs.

FieldTypeRequiredDescription
idstringNoOptional stable edge ID.
sourcestringYesSource node ID.
targetstringYesTarget node ID.
outcomeenumBranching actionspositive, negative, or open_profile_false.
waitMinutesnumberNoDelay before following the edge, in minutes.Example: 0
operationalTimes

Enabled days and operating hours.

FieldTypeRequiredDescription
{day}View operationalTimes.{day} definitionobjectNoA capitalized weekday from Monday through Sunday.
operationalTimes.{day}

A capitalized weekday from Monday through Sunday.

FieldTypeRequiredDescription
enabledbooleanWhen day is providedWhether outreach can run on this day.Example: true
startTimestring · HH:MMWhen day is providedStart of the operating window in 24-hour time.Example: 09:00
endTimestring · HH:MMWhen day is providedEnd of the operating window in 24-hour time.Example: 18:00
variableResolution

Template-variable fallback behavior.

FieldTypeRequiredDescription
{variable}View variableResolution.{variable} definitionobjectNoResolution rule keyed by the template variable name.
variableResolution.{variable}

Resolution rule keyed by the template variable name.

FieldTypeRequiredDescription
fixTypeenumYesskipLead, sendBlank, or fallbackValue.Example: fallbackValue
fallbackValuestringfixType = fallbackValueReplacement text when fixType is fallbackValue.Example: there

Success response · 201

FieldTypeRequiredDescription
statusintegerYesHTTP status mirrored in the JSON body. Success: 201.
dataobject | array | nullYesCreate a campaign result. The exact data fields depend on the selected resource.
errorstring | nullYesNull on success; a developer-readable message on failure.
Request body example
{
  "name": "<string>",
  "senderUrls": [],
  "senderAccountIds": [],
  "timeZone": "UTC",
  "leadListId": "00000000-0000-4000-8000-000000000000",
  "sendMessageToPreviousConnectedLeads": true,
  "sequence": {
    "sequenceType": "classic",
    "sequenceSteps": {
      "0": {
        "actionType": "SEND_CONNECTION_REQUEST",
        "standardText": "Hi {firstName}, I would like to connect.",
        "delay": 180
      }
    }
  },
  "sequenceCampaignId": "00000000-0000-4000-8000-000000000000",
  "operationalTimes": {
    "Monday": {
      "enabled": true,
      "startTime": "09:00",
      "endTime": "18:00"
    }
  },
  "variableResolution": {
    "firstName": {
      "fixType": "fallbackValue",
      "fallbackValue": "there"
    }
  },
  "launchCampaign": false
}
Standard success envelope · 201
{
  "status": 201,
  "data": "<endpoint-specific response data>",
  "error": null
}
Standard error envelope
{
  "status": 400,
  "data": null,
  "error": "Developer-readable error message"
}
GET/api/public/campaigns/{id}/sequenceGet a campaign sequence

Headers

FieldTypeRequiredDescription
x-api-keystringYesWorkspace API key.

Path parameters

FieldTypeRequiredDescription
idstring · UUIDYesid path identifier.

Query parameters

No query parameters.

Request body

No request body.

Success response · 200

FieldTypeRequiredDescription
statusintegerYesHTTP status mirrored in the JSON body. Success: 200.
dataobject | array | nullYesGet a campaign sequence result. The exact data fields depend on the selected resource.
errorstring | nullYesNull on success; a developer-readable message on failure.
Request example
{
  "headers": {
    "x-api-key": "<string>"
  }
}
Standard success envelope · 200
{
  "status": 200,
  "data": "<endpoint-specific response data>",
  "error": null
}
Standard error envelope
{
  "status": 400,
  "data": null,
  "error": "Developer-readable error message"
}
GET/api/public/campaigns/{id}/leads/{leadId}/timelineGet a campaign lead timeline

Headers

FieldTypeRequiredDescription
x-api-keystringYesWorkspace API key.

Path parameters

FieldTypeRequiredDescription
idstring · UUIDYesid path identifier.
leadIdstring · UUIDYesleadId path identifier.

Query parameters

No query parameters.

Request body

No request body.

Success response · 200

FieldTypeRequiredDescription
statusintegerYesHTTP status mirrored in the JSON body. Success: 200.
dataobject | array | nullYesGet a campaign lead timeline result. The exact data fields depend on the selected resource.
errorstring | nullYesNull on success; a developer-readable message on failure.
Request example
{
  "headers": {
    "x-api-key": "<string>"
  }
}
Standard success envelope · 200
{
  "status": 200,
  "data": "<endpoint-specific response data>",
  "error": null
}
Standard error envelope
{
  "status": 400,
  "data": null,
  "error": "Developer-readable error message"
}
GET/api/public/campaigns/{id}/analytics/overviewGet campaign analytics overview

Headers

FieldTypeRequiredDescription
x-api-keystringYesWorkspace API key.

Path parameters

FieldTypeRequiredDescription
idstring · UUIDYesid path identifier.

Query parameters

FieldTypeRequiredDescription
connection_statusstring · CSVNoComma-separated connection statuses.
reply_statusstring · CSVNoComma-separated reply statuses.
account_idstring · CSVNoComma-separated sender account UUIDs.
overall_statusstring · CSVNoComma-separated lead workflow statuses.
from_datestring · date-timeNoInclusive ISO 8601 start timestamp.
to_datestring · date-timeNoInclusive ISO 8601 end timestamp.
search_textstringNoCase-insensitive lead search text.
timezonestringNoTimezone used for date grouping.

Request body

No request body.

Success response · 200

FieldTypeRequiredDescription
statusintegerYesHTTP status mirrored in the JSON body. Success: 200.
dataobject | array | nullYesGet campaign analytics overview result. The exact data fields depend on the selected resource.
errorstring | nullYesNull on success; a developer-readable message on failure.
Query example
{
  "connection_status": "<string>",
  "reply_status": "<string>",
  "account_id": "<string>",
  "overall_status": "<string>",
  "from_date": "<string>",
  "to_date": "<string>",
  "search_text": "<string>",
  "timezone": "<string>"
}
Standard success envelope · 200
{
  "status": 200,
  "data": "<endpoint-specific response data>",
  "error": null
}
Standard error envelope
{
  "status": 400,
  "data": null,
  "error": "Developer-readable error message"
}
GET/api/public/campaigns/{id}/analytics/funnelGet campaign funnel analytics

Headers

FieldTypeRequiredDescription
x-api-keystringYesWorkspace API key.

Path parameters

FieldTypeRequiredDescription
idstring · UUIDYesid path identifier.

Query parameters

FieldTypeRequiredDescription
connection_statusstring · CSVNoComma-separated connection statuses.
reply_statusstring · CSVNoComma-separated reply statuses.
account_idstring · CSVNoComma-separated sender account UUIDs.
overall_statusstring · CSVNoComma-separated lead workflow statuses.
from_datestring · date-timeNoInclusive ISO 8601 start timestamp.
to_datestring · date-timeNoInclusive ISO 8601 end timestamp.
search_textstringNoCase-insensitive lead search text.

Request body

No request body.

Success response · 200

FieldTypeRequiredDescription
statusintegerYesHTTP status mirrored in the JSON body. Success: 200.
dataobject | array | nullYesGet campaign funnel analytics result. The exact data fields depend on the selected resource.
errorstring | nullYesNull on success; a developer-readable message on failure.
Query example
{
  "connection_status": "<string>",
  "reply_status": "<string>",
  "account_id": "<string>",
  "overall_status": "<string>",
  "from_date": "<string>",
  "to_date": "<string>",
  "search_text": "<string>"
}
Standard success envelope · 200
{
  "status": 200,
  "data": "<endpoint-specific response data>",
  "error": null
}
Standard error envelope
{
  "status": 400,
  "data": null,
  "error": "Developer-readable error message"
}
GET/api/public/campaigns/{id}/analytics/sequencesGet campaign sequence analytics

Headers

FieldTypeRequiredDescription
x-api-keystringYesWorkspace API key.

Path parameters

FieldTypeRequiredDescription
idstring · UUIDYesid path identifier.

Query parameters

No query parameters.

Request body

No request body.

Success response · 200

FieldTypeRequiredDescription
statusintegerYesHTTP status mirrored in the JSON body. Success: 200.
dataobject | array | nullYesGet campaign sequence analytics result. The exact data fields depend on the selected resource.
errorstring | nullYesNull on success; a developer-readable message on failure.
Request example
{
  "headers": {
    "x-api-key": "<string>"
  }
}
Standard success envelope · 200
{
  "status": 200,
  "data": "<endpoint-specific response data>",
  "error": null
}
Standard error envelope
{
  "status": 400,
  "data": null,
  "error": "Developer-readable error message"
}
GET/api/public/campaigns/{id}/analytics/tagsGet campaign tag analytics

Headers

FieldTypeRequiredDescription
x-api-keystringYesWorkspace API key.

Path parameters

FieldTypeRequiredDescription
idstring · UUIDYesid path identifier.

Query parameters

FieldTypeRequiredDescription
tag_idsstring · CSVNoComma-separated tag IDs.
connection_statusstring · CSVNoComma-separated connection statuses.
reply_statusstring · CSVNoComma-separated reply statuses.
account_idstring · CSVNoComma-separated sender account UUIDs.
overall_statusstring · CSVNoComma-separated lead workflow statuses.
from_datestring · date-timeNoInclusive ISO 8601 start timestamp.
to_datestring · date-timeNoInclusive ISO 8601 end timestamp.
search_textstringNoCase-insensitive lead search text.

Request body

No request body.

Success response · 200

FieldTypeRequiredDescription
statusintegerYesHTTP status mirrored in the JSON body. Success: 200.
dataobject | array | nullYesGet campaign tag analytics result. The exact data fields depend on the selected resource.
errorstring | nullYesNull on success; a developer-readable message on failure.
Query example
{
  "tag_ids": "<string>",
  "connection_status": "<string>",
  "reply_status": "<string>",
  "account_id": "<string>",
  "overall_status": "<string>",
  "from_date": "<string>",
  "to_date": "<string>",
  "search_text": "<string>"
}
Standard success envelope · 200
{
  "status": 200,
  "data": "<endpoint-specific response data>",
  "error": null
}
Standard error envelope
{
  "status": 400,
  "data": null,
  "error": "Developer-readable error message"
}
GET/api/public/campaigns/{id}/leadsList campaign leads

Headers

FieldTypeRequiredDescription
x-api-keystringYesWorkspace API key.

Path parameters

FieldTypeRequiredDescription
idstring · UUIDYesid path identifier.

Query parameters

FieldTypeRequiredDescription
connection_statusstring · CSVNoComma-separated connection statuses.
reply_statusstring · CSVNoComma-separated reply statuses.
account_idstring · CSVNoComma-separated sender account UUIDs.
overall_statusstring · CSVNoComma-separated lead workflow statuses.
from_datestring · date-timeNoInclusive ISO 8601 start timestamp.
to_datestring · date-timeNoInclusive ISO 8601 end timestamp.
search_textstringNoCase-insensitive lead search text.

Request body

No request body.

Success response · 200

FieldTypeRequiredDescription
statusintegerYesHTTP status mirrored in the JSON body. Success: 200.
dataobject | array | nullYesList campaign leads result. The exact data fields depend on the selected resource.
errorstring | nullYesNull on success; a developer-readable message on failure.
Query example
{
  "connection_status": "<string>",
  "reply_status": "<string>",
  "account_id": "<string>",
  "overall_status": "<string>",
  "from_date": "<string>",
  "to_date": "<string>",
  "search_text": "<string>"
}
Standard success envelope · 200
{
  "status": 200,
  "data": "<endpoint-specific response data>",
  "error": null
}
Standard error envelope
{
  "status": 400,
  "data": null,
  "error": "Developer-readable error message"
}
POST/api/public/campaigns/launchLaunch a campaign

Headers

FieldTypeRequiredDescription
x-api-keystringYesWorkspace API key.

Path parameters

No path parameters.

Query parameters

FieldTypeRequiredDescription
campaign_idstring · UUIDYesCampaign to launch.

Request body

No request body.

Success response · 200

FieldTypeRequiredDescription
statusintegerYesHTTP status mirrored in the JSON body. Success: 200.
dataobject | array | nullYesLaunch a campaign result. The exact data fields depend on the selected resource.
errorstring | nullYesNull on success; a developer-readable message on failure.
Query example
{
  "campaign_id": "00000000-0000-4000-8000-000000000000"
}
Standard success envelope · 200
{
  "status": 200,
  "data": "<endpoint-specific response data>",
  "error": null
}
Standard error envelope
{
  "status": 400,
  "data": null,
  "error": "Developer-readable error message"
}
POST/api/public/campaigns/pausePause a campaign

Headers

FieldTypeRequiredDescription
x-api-keystringYesWorkspace API key.

Path parameters

No path parameters.

Query parameters

FieldTypeRequiredDescription
campaign_idstring · UUIDYesCampaign to pause.

Request body

No request body.

Success response · 200

FieldTypeRequiredDescription
statusintegerYesHTTP status mirrored in the JSON body. Success: 200.
dataobject | array | nullYesPause a campaign result. The exact data fields depend on the selected resource.
errorstring | nullYesNull on success; a developer-readable message on failure.
Query example
{
  "campaign_id": "00000000-0000-4000-8000-000000000000"
}
Standard success envelope · 200
{
  "status": 200,
  "data": "<endpoint-specific response data>",
  "error": null
}
Standard error envelope
{
  "status": 400,
  "data": null,
  "error": "Developer-readable error message"
}
POST/api/public/campaigns/resumeResume a campaign

Headers

FieldTypeRequiredDescription
x-api-keystringYesWorkspace API key.

Path parameters

No path parameters.

Query parameters

FieldTypeRequiredDescription
campaign_idstring · UUIDYesCampaign to resume.

Request body

No request body.

Success response · 200

FieldTypeRequiredDescription
statusintegerYesHTTP status mirrored in the JSON body. Success: 200.
dataobject | array | nullYesResume a campaign result. The exact data fields depend on the selected resource.
errorstring | nullYesNull on success; a developer-readable message on failure.
Query example
{
  "campaign_id": "00000000-0000-4000-8000-000000000000"
}
Standard success envelope · 200
{
  "status": 200,
  "data": "<endpoint-specific response data>",
  "error": null
}
Standard error envelope
{
  "status": 400,
  "data": null,
  "error": "Developer-readable error message"
}
POST/api/public/campaigns/exclude-leadsExclude leads from a campaign

Headers

FieldTypeRequiredDescription
x-api-keystringYesWorkspace API key.
Content-TypestringYesMust be application/json.Example: application/json

Path parameters

No path parameters.

Query parameters

No query parameters.

Request body · application/json

FieldTypeRequiredDescription
campaign_idstring · UUIDYesCampaign whose leads should be updated.
linkedin_urlsstring[]YesLinkedIn profile URLs to update.

Success response · 200

FieldTypeRequiredDescription
statusintegerYesHTTP status mirrored in the JSON body. Success: 200.
dataobject | array | nullYesExclude leads from a campaign result. The exact data fields depend on the selected resource.
errorstring | nullYesNull on success; a developer-readable message on failure.
Request body example
{
  "campaign_id": "00000000-0000-4000-8000-000000000000",
  "linkedin_urls": []
}
Standard success envelope · 200
{
  "status": 200,
  "data": "<endpoint-specific response data>",
  "error": null
}
Standard error envelope
{
  "status": 400,
  "data": null,
  "error": "Developer-readable error message"
}
POST/api/public/campaigns/pause-leadsPause campaign leads

Headers

FieldTypeRequiredDescription
x-api-keystringYesWorkspace API key.
Content-TypestringYesMust be application/json.Example: application/json

Path parameters

No path parameters.

Query parameters

No query parameters.

Request body · application/json

FieldTypeRequiredDescription
campaign_idstring · UUIDYesCampaign whose leads should be updated.
linkedin_urlsstring[]YesLinkedIn profile URLs to update.

Success response · 200

FieldTypeRequiredDescription
statusintegerYesHTTP status mirrored in the JSON body. Success: 200.
dataobject | array | nullYesPause campaign leads result. The exact data fields depend on the selected resource.
errorstring | nullYesNull on success; a developer-readable message on failure.
Request body example
{
  "campaign_id": "00000000-0000-4000-8000-000000000000",
  "linkedin_urls": []
}
Standard success envelope · 200
{
  "status": 200,
  "data": "<endpoint-specific response data>",
  "error": null
}
Standard error envelope
{
  "status": 400,
  "data": null,
  "error": "Developer-readable error message"
}
POST/api/public/campaigns/resume-leadsResume campaign leads

Headers

FieldTypeRequiredDescription
x-api-keystringYesWorkspace API key.
Content-TypestringYesMust be application/json.Example: application/json

Path parameters

No path parameters.

Query parameters

No query parameters.

Request body · application/json

FieldTypeRequiredDescription
campaign_idstring · UUIDYesCampaign whose leads should be updated.
linkedin_urlsstring[]YesLinkedIn profile URLs to update.

Success response · 200

FieldTypeRequiredDescription
statusintegerYesHTTP status mirrored in the JSON body. Success: 200.
dataobject | array | nullYesResume campaign leads result. The exact data fields depend on the selected resource.
errorstring | nullYesNull on success; a developer-readable message on failure.
Request body example
{
  "campaign_id": "00000000-0000-4000-8000-000000000000",
  "linkedin_urls": []
}
Standard success envelope · 200
{
  "status": 200,
  "data": "<endpoint-specific response data>",
  "error": null
}
Standard error envelope
{
  "status": 400,
  "data": null,
  "error": "Developer-readable error message"
}
PUT/api/public/campaigns/sequenceUpdate a campaign sequence

Headers

FieldTypeRequiredDescription
x-api-keystringYesWorkspace API key.
Content-TypestringYesMust be application/json.Example: application/json

Path parameters

No path parameters.

Query parameters

FieldTypeRequiredDescription
campaign_idstring · UUIDYesDraft campaign to update.

Request body · application/json

FieldTypeRequiredDescription
sequenceView sequence definitionobjectNoReplacement classic or smart sequence.
sequenceCampaignIdstring · UUIDNoCampaign whose sequence should be cloned.
Object definitions

Object and array fields link to their immediate child schema below.

sequence

Replacement classic or smart sequence.

FieldTypeRequiredDescription
sequenceTypeenumNoclassic or smart.Example: classic
sequenceStepsView sequence.sequenceSteps definitionrecord<string, object>Classic sequencesClassic sequence steps keyed consecutively from "0".
graphView sequence.graph definitionobjectSmart sequencesNode-and-edge graph for a smart sequence.
sequence.sequenceSteps

Classic sequence steps keyed consecutively from "0".

FieldTypeRequiredDescription
{step}View sequence.sequenceSteps.{step} definitionobjectYesOne classic sequence step.
sequence.sequenceSteps.{step}

One classic sequence step.

FieldTypeRequiredDescription
actionTypeenumYesSEND_CONNECTION_REQUEST, SEND_MESSAGE, SEND_VOICE_NOTE, FOLLOW_PROFILE, LIKE_A_POST, VIEW_PROFILE, WITHDRAW_INVITE, CHECK_CONNECTION, CHECK_OPEN_PROFILE, SEND_INMAIL, SEND_FREE_INMAIL, or ENDORSE_SKILLS.
standardTextstringNoConnection-request note. Only valid for SEND_CONNECTION_REQUEST.
premiumTextstringNoPremium connection-request note. Only valid for SEND_CONNECTION_REQUEST.
messageTextstringMessage and InMail actionsMessage or InMail body.
subjectstringInMail actionsInMail subject.
voiceNoteUrlstring · URLSEND_VOICE_NOTEPublic voice-note URL.
delaynumberNoDelay before execution, in minutes. Message, InMail, and voice-note actions require at least 180.Example: 180
sequence.graph

Node-and-edge graph for a smart sequence.

FieldTypeRequiredDescription
nodesView sequence.graph.nodes[] definitionobject[]YesAt least two nodes, including exactly one start node.
edgesView sequence.graph.edges[] definitionobject[]YesAt least one edge connecting node IDs.
sequence.graph.nodes[]

At least two nodes, including exactly one start node.

FieldTypeRequiredDescription
idstringYesStable node ID referenced by graph edges.
typeenumYesstart, action, or end.
actionTypeenumAction nodesSEND_CONNECTION_REQUEST, SEND_MESSAGE, SEND_VOICE_NOTE, FOLLOW_PROFILE, LIKE_A_POST, VIEW_PROFILE, WITHDRAW_INVITE, CHECK_CONNECTION, CHECK_OPEN_PROFILE, SEND_INMAIL, SEND_FREE_INMAIL, or ENDORSE_SKILLS.
dataView sequence.graph.nodes[].data definitionobjectNoPayload accepted by the selected action type.
sequence.graph.nodes[].data

Payload accepted by the selected action type.

FieldTypeRequiredDescription
messageTextstringNoMessage body.
attachmentsstring[]NoMessage attachment URLs.
standardTextstringNoConnection-request note.
premiumTextstringNoPremium connection-request note.
subjectstringNoInMail subject.
voiceNoteUrlstring · URLNoPublic voice-note URL.
sequence.graph.edges[]

At least one edge connecting node IDs.

FieldTypeRequiredDescription
idstringNoOptional stable edge ID.
sourcestringYesSource node ID.
targetstringYesTarget node ID.
outcomeenumBranching actionspositive, negative, or open_profile_false.
waitMinutesnumberNoDelay before following the edge, in minutes.Example: 0

Success response · 200

FieldTypeRequiredDescription
statusintegerYesHTTP status mirrored in the JSON body. Success: 200.
dataobject | array | nullYesUpdate a campaign sequence result. The exact data fields depend on the selected resource.
errorstring | nullYesNull on success; a developer-readable message on failure.
Request body example
{
  "sequence": {
    "sequenceType": "classic",
    "sequenceSteps": {
      "0": {
        "actionType": "SEND_MESSAGE",
        "messageText": "Hi {firstName}",
        "delay": 180
      }
    }
  },
  "sequenceCampaignId": "00000000-0000-4000-8000-000000000000"
}
Standard success envelope · 200
{
  "status": 200,
  "data": "<endpoint-specific response data>",
  "error": null
}
Standard error envelope
{
  "status": 400,
  "data": null,
  "error": "Developer-readable error message"
}
POST/api/public/campaign/addleadtoactivecampaign/{campaignId}Add a lead to an active campaign

Headers

FieldTypeRequiredDescription
x-api-keystringYesWorkspace API key.
Content-TypestringYesMust be application/json.Example: application/json

Path parameters

FieldTypeRequiredDescription
campaignIdstring · UUIDYescampaignId path identifier.

Query parameters

No query parameters.

Request body · application/json

FieldTypeRequiredDescription
linkedinUrlstring · URLYesLead LinkedIn profile URL.
firstNamestringNoLead first name.
lastNamestringNoLead last name.
companystringNoLead company.
titlestringNoLead job title.
{customField}string | number | booleanNoAny additional top-level key becomes a template variable. Keys cannot contain spaces.Example: SaaS

Success response · 201

FieldTypeRequiredDescription
statusintegerYesHTTP status mirrored in the JSON body. Success: 201.
dataobject | array | nullYesAdd a lead to an active campaign result. The exact data fields depend on the selected resource.
errorstring | nullYesNull on success; a developer-readable message on failure.
Request body example
{
  "linkedinUrl": "https://www.linkedin.com/in/example/",
  "firstName": "<string>",
  "lastName": "<string>",
  "company": "<string>",
  "title": "<string>",
  "industry": "SaaS"
}
Standard success envelope · 201
{
  "status": 201,
  "data": "<endpoint-specific response data>",
  "error": null
}
Standard error envelope
{
  "status": 400,
  "data": null,
  "error": "Developer-readable error message"
}