Replace LinkedIn campaign steps

Deprecated

PATCH
/linkedin/campaigns/{campaignId}/steps

Replaces the full ordered list of LinkedIn steps. The campaign must not be RUNNING or ARCHIVED. Steps after the first need delay.amount > 0; at most one disabled version per step. New integrations should use the multichannel /advanced campaign endpoints instead.

Authorization

apiKey
Authorization<token>

Your 48 character API key, sent as is (a Bearer prefix is tolerated). Create it at https://v3.emelia.io/settings/api.

In: header

Path Parameters

campaignId*string

Mongo ObjectId of the campaign.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

curl -X PATCH "https://example.com/linkedin/campaigns/65f1a2b3c4d5e6f73478765e/steps" \  -H "Authorization: YOUR_API_KEY" \  -H "Content-Type: application/json" \  -d '{    "steps": [      {        "stepType": "VISIT",        "delay": {          "amount": 0,          "unit": "DAYS"        },        "versions": []      },      {        "stepType": "CONNECTION",        "delay": {          "amount": 1,          "unit": "DAYS"        },        "versions": [          {            "message": "Hi {{firstName}}, happy to connect."          }        ]      }    ]  }'
{  "success": true,  "campaign": {    "_id": "6650f1a2b839d800941eec2c",    "userId": "6650f1a2b839d800d0a32198",    "name": "Q4 outreach: SaaS founders",    "status": "DRAFT",    "account": "6650f1a2b839d800463fada8",    "schedule": {      "dailyContact": 35,      "timeZone": "Europe/Paris",      "days": [        1      ],      "start": "08:00",      "end": "17:00",      "excludeAlreadyMessaged": true,      "exclude1stConn": true,      "excludeNoPictures": true    },    "steps": [      {        "_id": "6650f1a2b839d80036a70635",        "stepType": "VISIT",        "delay": {          "amount": 1,          "unit": "DAYS"        },        "versions": [          {            "_id": "6650f1a2b839d800f3a30d30",            "message": "Hi Claire, thanks for your reply. Are you free for a call on Thursday?",            "disabled": false,            "attachments": []          }        ]      }    ],    "recipients": {      "lists": [        {}      ],      "contacts": [        "6650f1a2b839d800fd48d7a4"      ],      "processing": true    },    "createdAt": "2026-10-06T09:30:00.000Z",    "startAt": "2026-10-06T09:30:00.000Z",    "estimatedEnd": "2026-10-06T09:30:00.000Z",    "plannedStart": "2026-10-06T09:30:00.000Z"  }}