OutFlo Public API / Guide

Campaign lead actions

Pause, resume, or exclude selected leads from campaign execution.

Overview

Campaign lead actions accept the same campaign identifier and LinkedIn URL collection. Only the action changes, so the shared contracts make those differences explicit without changing the presentation.

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.

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"
}