OutFlo Public API / Guide
Add leads to a campaign
Add or update a LinkedIn lead in an active or paused campaign.
Overview
Use this endpoint for CRM, form, automation, and enrichment integrations. The LinkedIn URL identifies the lead; additional fields become profile data or template variables.
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/campaign/addleadtoactivecampaign/{campaignId}Add a lead to an active 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
| Field | Type | Required | Description |
|---|---|---|---|
| campaignId | string · UUID | Yes | campaignId path identifier. |
Query parameters
No query parameters.
Request body · application/json
| Field | Type | Required | Description |
|---|---|---|---|
| linkedinUrl | string · URL | Yes | Lead LinkedIn profile URL. |
| firstName | string | No | Lead first name. |
| lastName | string | No | Lead last name. |
| company | string | No | Lead company. |
| title | string | No | Lead job title. |
| {customField} | string | number | boolean | No | Any additional top-level key becomes a template variable. Keys cannot contain spaces.Example: SaaS |
Success response · 201
| Field | Type | Required | Description |
|---|---|---|---|
| status | integer | Yes | HTTP status mirrored in the JSON body. Success: 201. |
| data | object | array | null | Yes | Add a lead to an active 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
{
"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"
}