Leads in campaigns
POST
/campaigns/{id}/leads

Adds leads from a leads array of { profileUrl, ... } objects, or imports a whole lead list with listId. The workspace lead is upserted from the fields you pass and enrolled in one call — you don't need to create leads separately first. Caller-supplied fields win over the best-effort LinkedIn lookup. Leads already in the campaign are skipped. Max 1000 leads per request.

Authorization

bearerAuth
AuthorizationBearer <token>

An API key created under Settings → API & Webhooks.

In: header

Path Parameters

id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/campaigns/string/leads" \  -H "Content-Type: application/json" \  -d '{    "leads": [      {        "profileUrl": "https://www.linkedin.com/in/jane-doe",        "firstName": "Jane",        "lastName": "Doe"      },      {        "profileUrl": "https://www.linkedin.com/in/john-roe",        "company": "Acme",        "customVariables": {          "plan": "enterprise"        }      }    ]  }'
{  "data": {    "inserted": 0,    "skipped": 0  }}