Kenso

Segment LinkedIn sequences

The LinkedIn sequence of one segment and its saved versions.

Campaigns and sequences6 endpointsKen-Version: 2026-11-02AuthenticationWorkspacesErrors

Return the segment LinkedIn sequence

GET/v1/segments/{segmentId}/linkedin-sequencesegment-linkedin-sequences.get

Try it on developer.ken.so

Parameters

Name
In
Type
Required
Description
segmentId
In: path
integer (int64)
required
Ken-Version
In: header
string, one of: 2026-11-02, 1.1
required
The API version: a dated version (YYYY-MM-DD), or 1.1, another name for the first dated version. Without it the request uses your API key's pinned version; an unpinned key reaches the legacy shape of the same path. 1.0 selects the legacy shape explicitly.
X-Ken-Workspace-Id
In: header
integer (int64)
optional
Workspace to act in. Required when your credential can reach more than one workspace (otherwise 400 workspace_required).

Response 200

data is a LinkedInSequenceModel.

Field
Type
Description
campaignId
integer (int64)
segmentId
integer (int64)
steps
array of LinkedInSequenceStepModel
Request
curl -X GET "https://api.ken.so/v1/segments/812/linkedin-sequence" \
  -H "Authorization: Bearer $KEN_API_KEY" \
  -H "Ken-Version: 2026-11-02" \
  -H "X-Ken-Workspace-Id: $KEN_WORKSPACE_ID"
Response 200
{
  "success": true,
  "data": {
    "campaignId": 812,
    "segmentId": 812,
    "steps": [
      {
        "id": 812,
        "stepOrder": 1,
        "stepType": "string",
        "variant": "string",
        "name": "string",
        "subject": "string",
        "body": "string",
        "waitDays": 1,
        "anchorEmailStepOrder": 1,
        "positionInGap": 1,
        "conditionType": "string",
        "conditionScopeStepOrder": 1,
        "isOptional": true,
        "openProfileOnly": true,
        "isActive": true,
        "noteMode": "string",
        "aiInstructions": "string"
      }
    ]
  }
}

Replace the segment LinkedIn sequence

PUT/v1/segments/{segmentId}/linkedin-sequencesegment-linkedin-sequences.replace

Try it on developer.ken.so

Parameters

Name
In
Type
Required
Description
segmentId
In: path
integer (int64)
required
Ken-Version
In: header
string, one of: 2026-11-02, 1.1
required
The API version: a dated version (YYYY-MM-DD), or 1.1, another name for the first dated version. Without it the request uses your API key's pinned version; an unpinned key reaches the legacy shape of the same path. 1.0 selects the legacy shape explicitly.
X-Ken-Workspace-Id
In: header
integer (int64)
optional
Workspace to act in. Required when your credential can reach more than one workspace (otherwise 400 workspace_required).

Request body

application/json, optional.

Field
Type
Required
Description
steps
array of ReplaceLinkedInSequenceStepRequest
optional

Response 200

data is a LinkedInSequenceModel.

Field
Type
Description
campaignId
integer (int64)
segmentId
integer (int64)
steps
array of LinkedInSequenceStepModel
Request
curl -X PUT "https://api.ken.so/v1/segments/812/linkedin-sequence" \
  -H "Authorization: Bearer $KEN_API_KEY" \
  -H "Ken-Version: 2026-11-02" \
  -H "X-Ken-Workspace-Id: $KEN_WORKSPACE_ID" \
  -H "Content-Type: application/json" \
  -d '{
  "steps": [
    {
      "id": 812,
      "stepOrder": 1,
      "stepType": "string",
      "variant": "string",
      "name": "string",
      "subject": "string",
      "body": "string",
      "waitDays": 1,
      "anchorEmailStepOrder": 1,
      "positionInGap": 1,
      "conditionType": "string",
      "conditionScopeStepOrder": 1,
      "isOptional": true,
      "openProfileOnly": true,
      "isActive": true,
      "noteMode": "string",
      "aiInstructions": "string"
    }
  ]
}'
Response 200
{
  "success": true,
  "data": {
    "campaignId": 812,
    "segmentId": 812,
    "steps": [
      {
        "id": 812,
        "stepOrder": 1,
        "stepType": "string",
        "variant": "string",
        "name": "string",
        "subject": "string",
        "body": "string",
        "waitDays": 1,
        "anchorEmailStepOrder": 1,
        "positionInGap": 1,
        "conditionType": "string",
        "conditionScopeStepOrder": 1,
        "isOptional": true,
        "openProfileOnly": true,
        "isActive": true,
        "noteMode": "string",
        "aiInstructions": "string"
      }
    ]
  }
}

List saved versions of a segment LinkedIn sequence, newest first

GET/v1/segments/{segmentId}/linkedin-sequence/versionssegment-linkedin-sequences.list-versions

Try it on developer.ken.so

Parameters

Name
In
Type
Required
Description
segmentId
In: path
integer (int64)
required
limit
In: query
integer (int32)
optional
cursor
In: query
string
optional
Ken-Version
In: header
string, one of: 2026-11-02, 1.1
required
The API version: a dated version (YYYY-MM-DD), or 1.1, another name for the first dated version. Without it the request uses your API key's pinned version; an unpinned key reaches the legacy shape of the same path. 1.0 selects the legacy shape explicitly.
X-Ken-Workspace-Id
In: header
integer (int64)
optional
Workspace to act in. Required when your credential can reach more than one workspace (otherwise 400 workspace_required).

Response 200

data is a list of SequenceVersionModel. Each item has these fields. The response also carries pagination.

Field
Type
Description
id
integer (int64)
versionNumber
integer (int32)
createdAt
string (date-time)
createdByUserId
integer (int64)
createdByEmail
string
isRevert
boolean
revertedFromVersionId
integer (int64)
revertedFromVersionNumber
integer (int32)
revertedFromCreatedAt
string (date-time)
Request
curl -X GET "https://api.ken.so/v1/segments/812/linkedin-sequence/versions?limit=1" \
  -H "Authorization: Bearer $KEN_API_KEY" \
  -H "Ken-Version: 2026-11-02" \
  -H "X-Ken-Workspace-Id: $KEN_WORKSPACE_ID"
Response 200
{
  "success": true,
  "data": [
    {
      "id": 812,
      "versionNumber": 1,
      "createdAt": "2026-09-23T15:02:11Z",
      "createdByUserId": 812,
      "createdByEmail": "[email protected]",
      "isRevert": true,
      "revertedFromVersionId": 812,
      "revertedFromVersionNumber": 1,
      "revertedFromCreatedAt": "2026-09-23T15:02:11Z"
    }
  ],
  "pagination": {
    "nextCursor": "eyJpZCI6ODE1fQ",
    "hasMore": true,
    "total": 1,
    "isTotalCapped": true
  }
}

Save a new segment LinkedIn sequence version

POST/v1/segments/{segmentId}/linkedin-sequence/versionssegment-linkedin-sequences.save-version

Try it on developer.ken.so

Omit steps to snapshot the live lane. With sourceVersionId, omitted or empty steps keep that version's steps, and a non-empty list overlays them. Requires Campaigns edit access (owners, admins and editors by default).

Parameters

Name
In
Type
Required
Description
segmentId
In: path
integer (int64)
required
Ken-Version
In: header
string, one of: 2026-11-02, 1.1
required
The API version: a dated version (YYYY-MM-DD), or 1.1, another name for the first dated version. Without it the request uses your API key's pinned version; an unpinned key reaches the legacy shape of the same path. 1.0 selects the legacy shape explicitly.
X-Ken-Workspace-Id
In: header
integer (int64)
optional
Workspace to act in. Required when your credential can reach more than one workspace (otherwise 400 workspace_required).

Request body

application/json, optional.

Field
Type
Required
Description
sourceVersionId
integer (int64)
optional
steps
array of ReplaceLinkedInSequenceStepRequest
optional

Response 200

data is a LinkedInSequenceVersionSaveModel.

Field
Type
Description
sequence
LinkedInSequenceModel
version
SequenceVersionModel
versionWarning
string
Request
curl -X POST "https://api.ken.so/v1/segments/812/linkedin-sequence/versions" \
  -H "Authorization: Bearer $KEN_API_KEY" \
  -H "Ken-Version: 2026-11-02" \
  -H "X-Ken-Workspace-Id: $KEN_WORKSPACE_ID" \
  -H "Content-Type: application/json" \
  -d '{
  "sourceVersionId": 812,
  "steps": [
    {
      "id": 812,
      "stepOrder": 1,
      "stepType": "string",
      "variant": "string",
      "name": "string",
      "subject": "string",
      "body": "string",
      "waitDays": 1,
      "anchorEmailStepOrder": 1,
      "positionInGap": 1,
      "conditionType": "string",
      "conditionScopeStepOrder": 1,
      "isOptional": true,
      "openProfileOnly": true,
      "isActive": true,
      "noteMode": "string",
      "aiInstructions": "string"
    }
  ]
}'
Response 200
{
  "success": true,
  "data": {
    "sequence": {
      "campaignId": 812,
      "segmentId": 812,
      "steps": [
        {
          "id": 812,
          "stepOrder": 1,
          "stepType": "string",
          "variant": "string",
          "name": "string",
          "subject": "string",
          "body": "string",
          "waitDays": 1,
          "anchorEmailStepOrder": 1,
          "positionInGap": 1,
          "conditionType": "string",
          "conditionScopeStepOrder": 1,
          "isOptional": true,
          "openProfileOnly": true,
          "isActive": true,
          "noteMode": "string",
          "aiInstructions": "string"
        }
      ]
    },
    "version": {
      "id": 812,
      "versionNumber": 1,
      "createdAt": "2026-09-23T15:02:11Z",
      "createdByUserId": 812,
      "createdByEmail": "[email protected]",
      "isRevert": true,
      "revertedFromVersionId": 812,
      "revertedFromVersionNumber": 1,
      "revertedFromCreatedAt": "2026-09-23T15:02:11Z"
    },
    "versionWarning": "string"
  }
}

Return one segment LinkedIn sequence version

GET/v1/segments/{segmentId}/linkedin-sequence/versions/{versionId}segment-linkedin-sequences.get-version

Try it on developer.ken.so

Parameters

Name
In
Type
Required
Description
segmentId
In: path
integer (int64)
required
versionId
In: path
integer (int64)
required
Ken-Version
In: header
string, one of: 2026-11-02, 1.1
required
The API version: a dated version (YYYY-MM-DD), or 1.1, another name for the first dated version. Without it the request uses your API key's pinned version; an unpinned key reaches the legacy shape of the same path. 1.0 selects the legacy shape explicitly.
X-Ken-Workspace-Id
In: header
integer (int64)
optional
Workspace to act in. Required when your credential can reach more than one workspace (otherwise 400 workspace_required).

Response 200

data is a LinkedInSequenceVersionDetailModel.

Field
Type
Description
id
integer (int64)
versionNumber
integer (int32)
createdAt
string (date-time)
createdByUserId
integer (int64)
createdByEmail
string
isRevert
boolean
revertedFromVersionId
integer (int64)
revertedFromVersionNumber
integer (int32)
revertedFromCreatedAt
string (date-time)
steps
array of LinkedInSequenceSnapshotStepModel
Request
curl -X GET "https://api.ken.so/v1/segments/812/linkedin-sequence/versions/812" \
  -H "Authorization: Bearer $KEN_API_KEY" \
  -H "Ken-Version: 2026-11-02" \
  -H "X-Ken-Workspace-Id: $KEN_WORKSPACE_ID"
Response 200
{
  "success": true,
  "data": {
    "id": 812,
    "versionNumber": 1,
    "createdAt": "2026-09-23T15:02:11Z",
    "createdByUserId": 812,
    "createdByEmail": "[email protected]",
    "isRevert": true,
    "revertedFromVersionId": 812,
    "revertedFromVersionNumber": 1,
    "revertedFromCreatedAt": "2026-09-23T15:02:11Z",
    "steps": [
      {
        "stepOrder": 1,
        "stepType": "string",
        "variant": "string",
        "name": "string",
        "subject": "string",
        "body": "string",
        "waitDays": 1,
        "anchorEmailStepOrder": 1,
        "positionInGap": 1,
        "conditionType": "string",
        "conditionScopeStepOrder": 1,
        "isOptional": true,
        "openProfileOnly": true,
        "isActive": true,
        "noteMode": "string",
        "aiInstructions": "string"
      }
    ]
  }
}

Restore a segment LinkedIn sequence to a saved version

POST/v1/segments/{segmentId}/linkedin-sequence/versions/{versionId}/restoresegment-linkedin-sequences.restore-version

Try it on developer.ken.so

Requires Campaigns edit access (owners, admins and editors by default).

Parameters

Name
In
Type
Required
Description
segmentId
In: path
integer (int64)
required
versionId
In: path
integer (int64)
required
Ken-Version
In: header
string, one of: 2026-11-02, 1.1
required
The API version: a dated version (YYYY-MM-DD), or 1.1, another name for the first dated version. Without it the request uses your API key's pinned version; an unpinned key reaches the legacy shape of the same path. 1.0 selects the legacy shape explicitly.
X-Ken-Workspace-Id
In: header
integer (int64)
optional
Workspace to act in. Required when your credential can reach more than one workspace (otherwise 400 workspace_required).

Response 200

data is a SequenceRestoreModel.

Field
Type
Description
newVersionNumber
integer (int32)
versionWarning
string
Request
curl -X POST "https://api.ken.so/v1/segments/812/linkedin-sequence/versions/812/restore" \
  -H "Authorization: Bearer $KEN_API_KEY" \
  -H "Ken-Version: 2026-11-02" \
  -H "X-Ken-Workspace-Id: $KEN_WORKSPACE_ID"
Response 200
{
  "success": true,
  "data": {
    "newVersionNumber": 1,
    "versionWarning": "string"
  }
}