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.
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
| Field | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Workspace API key. |
| Content-Type | string | Yes | Must be application/json.Example: application/json |
Path parameters
No path parameters.
Query parameters
No query parameters.
Request body · application/json
| Field | Type | Required | Description |
|---|---|---|---|
| campaign_id | string · UUID | Yes | Campaign whose leads should be updated. |
| linkedin_urls | string[] | Yes | LinkedIn profile URLs to update. |
Success response · 200
| Field | Type | Required | Description |
|---|---|---|---|
| status | integer | Yes | HTTP status mirrored in the JSON body. Success: 200. |
| data | object | array | null | Yes | Exclude leads from a campaign result. The exact data fields depend on the selected resource. |
| error | string | null | Yes | Null 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
| Field | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Workspace API key. |
| Content-Type | string | Yes | Must be application/json.Example: application/json |
Path parameters
No path parameters.
Query parameters
No query parameters.
Request body · application/json
| Field | Type | Required | Description |
|---|---|---|---|
| campaign_id | string · UUID | Yes | Campaign whose leads should be updated. |
| linkedin_urls | string[] | Yes | LinkedIn profile URLs to update. |
Success response · 200
| Field | Type | Required | Description |
|---|---|---|---|
| status | integer | Yes | HTTP status mirrored in the JSON body. Success: 200. |
| data | object | array | null | Yes | Pause campaign leads result. The exact data fields depend on the selected resource. |
| error | string | null | Yes | Null 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
| Field | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Workspace API key. |
| Content-Type | string | Yes | Must be application/json.Example: application/json |
Path parameters
No path parameters.
Query parameters
No query parameters.
Request body · application/json
| Field | Type | Required | Description |
|---|---|---|---|
| campaign_id | string · UUID | Yes | Campaign whose leads should be updated. |
| linkedin_urls | string[] | Yes | LinkedIn profile URLs to update. |
Success response · 200
| Field | Type | Required | Description |
|---|---|---|---|
| status | integer | Yes | HTTP status mirrored in the JSON body. Success: 200. |
| data | object | array | null | Yes | Resume campaign leads result. The exact data fields depend on the selected resource. |
| error | string | null | Yes | Null 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"
}