Segments
Split a campaign's audience into segments, preview their filters, switch them on or off and restore saved versions.
List segments of a campaign in the current workspace
/v1/campaigns/{campaignId}/segmentssegments.listOrdered by id. q matches the name. isActive filters that flag. includeMetrics=false skips the contact counts and omits contactCount, rawContactCount and readyContactCount: use it when only ids and names are needed. Read-only. Requires ReadAccess.
Parameters
contactCount, rawContactCount, readyContactCount are omitted): a names-only read for pickers.400 workspace_required).Response 200
data is a list of SegmentModel. Each item has these fields. The response also carries pagination.
includeMetrics=false.includeMetrics=false.includeMetrics=false.curl -X GET "https://api.ken.so/v1/campaigns/812/segments" \ -H "Authorization: Bearer $KEN_API_KEY" \ -H "Ken-Version: 2026-11-02" \ -H "X-Ken-Workspace-Id: $KEN_WORKSPACE_ID"
{
"success": true,
"data": [
{
"id": 1207,
"campaignId": 4821,
"name": "Engineering leaders",
"description": "VPs and heads of engineering at B2B SaaS companies with 50 to 500 employees.",
"isDefault": false,
"isActive": true,
"sortOrder": 1,
"segmentationType": "ai",
"contactCount": 640,
"rawContactCount": 712,
"readyContactCount": 598,
"createdAt": "2026-09-23T15:02:11Z",
"modifiedAt": "2026-10-14T09:41:27Z"
}
],
"pagination": {
"nextCursor": "eyJpZCI6ODE1fQ",
"hasMore": true,
"total": 1,
"isTotalCapped": true
}
}Create a segment on a campaign in the current workspace
/v1/campaigns/{campaignId}/segmentssegments.createReturns 201 and Location. Requires WriteAccess.
Parameters
400 workspace_required).Request body
application/json, optional.
Response 201
data is a SegmentModel.
includeMetrics=false.includeMetrics=false.includeMetrics=false.curl -X POST "https://api.ken.so/v1/campaigns/812/segments" \
-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 '{
"name": "Engineering leaders",
"description": "VPs and heads of engineering at B2B SaaS companies with 50 to 500 employees.",
"segmentationType": "ai",
"sortOrder": 1
}'{
"success": true,
"data": {
"id": 1207,
"campaignId": 4821,
"name": "Engineering leaders",
"description": "VPs and heads of engineering at B2B SaaS companies with 50 to 500 employees.",
"isDefault": false,
"isActive": true,
"sortOrder": 1,
"segmentationType": "ai",
"contactCount": 640,
"rawContactCount": 712,
"readyContactCount": 598,
"createdAt": "2026-09-23T15:02:11Z",
"modifiedAt": "2026-10-14T09:41:27Z"
}
}Preview a segment filter against the campaign
/v1/campaigns/{campaignId}/segments/previewsegments.previewReturns the match count, a contact sample, and the filter catalog (filterOptions). Omit the body to read the catalog only, or read it without a campaign at GET /v1/segments/filter-options. A body, including an empty object, runs the match preview. segmentId scopes a match preview to an existing segment. Read-only. Requires ReadAccess.
Parameters
400 workspace_required).Request body
application/json, optional.
Response 200
data is a SegmentPreviewModel.
curl -X POST "https://api.ken.so/v1/campaigns/812/segments/preview" \
-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 '{
"fullName": {
"contains": "string",
"notContains": "string"
},
"titles": [
"string"
],
"excludeTitles": [
"string"
],
"lastJobTitle": {
"contains": "string",
"notContains": "string"
},
"headlines": [
"string"
],
"excludeHeadlines": [
"string"
],
"summaryContains": "string",
"seniorityLevels": [
"string"
],
"excludeSeniorityLevels": [
"string"
],
"functions": [
"string"
],
"excludeFunctions": [
"string"
],
"employmentTypes": [
"string"
],
"isDecisionMaker": true,
"changedJobRecently": true,
"yearsOfExperience": {
"min": 0.5,
"max": 0.5
},
"yearsInCurrentRole": {
"min": 0.5,
"max": 0.5
},
"yearsInCurrentCompany": {
"min": 0.5,
"max": 0.5
},
"profileCountries": [
"string"
],
"excludeProfileCountries": [
"string"
],
"profileState": "string",
"profileCity": "string",
"skillsContains": "string",
"certificationsContains": "string",
"languages": [
"string"
],
"emailValidity": [
"string"
],
"emailProviders": [
"string"
],
"excludeEmailProviders": [
"string"
],
"isPersonalEmail": true,
"hasLinkedInUrl": true,
"hasPhone": true,
"hasValidPhone": true,
"companyNames": [
"string"
],
"excludeCompanyNames": [
"string"
],
"companyDomainContains": "string",
"companyDescriptionContains": "string",
"companySpecialitiesContains": "string",
"industries": [
"string"
],
"excludeIndustries": [
"string"
],
"companyHeadcount": {
"min": 1,
"max": 1
},
"companyFollowers": {
"min": 1,
"max": 1
},
"companyFoundedYear": {
"min": 1,
"max": 1
},
"companyTypes": [
"string"
],
"lastFundingRounds": [
"string"
],
"totalFunding": {
"min": 1,
"max": 1
},
"technologies": [
"string"
],
"excludeTechnologies": [
"string"
],
"companyHqCountries": [
"string"
],
"excludeCompanyHqCountries": [
"string"
],
"companyHqState": "string",
"companyHqCity": "string",
"doNotContact": true,
"createdAt": {
"from": "2026-09-23T15:02:11Z",
"to": "2026-09-23T15:02:11Z"
},
"totalClicks": {
"min": 1,
"max": 1
},
"leadQualityScore": {
"min": 1,
"max": 1
},
"aiVariableFilters": [
{
"promptId": 812,
"operator": "Exists",
"value": "string"
}
],
"customVariableFilters": [
{
"variableKey": "string",
"operator": "Contains",
"value": "string"
}
]
}'{
"success": true,
"data": {
"matchingCount": 1,
"totalCampaignContacts": 1,
"sampleContacts": [
{
"id": 812,
"fullName": "string",
"title": "string",
"companyName": "string",
"location": "string",
"email": "[email protected]",
"emailValidity": "string"
}
],
"filterOptions": {
"seniorityLevels": [
{
"value": "string",
"label": "string",
"category": "string"
}
],
"functions": [
{
"value": "string",
"label": "string",
"category": "string"
}
],
"industries": [
{
"value": "string",
"label": "string",
"category": "string"
}
],
"companyTypes": [
{
"value": "string",
"label": "string",
"category": "string"
}
],
"employmentTypes": [
{
"value": "string",
"label": "string",
"category": "string"
}
],
"lastFundingRounds": [
{
"value": "string",
"label": "string",
"category": "string"
}
],
"technologies": [
{
"value": "string",
"label": "string",
"category": "string"
}
],
"emailValidity": [
{
"value": "string",
"label": "string",
"category": "string"
}
],
"emailProviders": [
{
"value": "string",
"label": "string",
"category": "string"
}
],
"languages": [
{
"value": "string",
"label": "string",
"category": "string"
}
]
}
}
}Return one segment in the current workspace
/v1/segments/{segmentId}segments.getA missing or cross-workspace id is not_found. Requires ReadAccess.
Parameters
400 workspace_required).Response 200
data is a SegmentModel.
includeMetrics=false.includeMetrics=false.includeMetrics=false.curl -X GET "https://api.ken.so/v1/segments/812" \ -H "Authorization: Bearer $KEN_API_KEY" \ -H "Ken-Version: 2026-11-02" \ -H "X-Ken-Workspace-Id: $KEN_WORKSPACE_ID"
{
"success": true,
"data": {
"id": 1207,
"campaignId": 4821,
"name": "Engineering leaders",
"description": "VPs and heads of engineering at B2B SaaS companies with 50 to 500 employees.",
"isDefault": false,
"isActive": true,
"sortOrder": 1,
"segmentationType": "ai",
"contactCount": 640,
"rawContactCount": 712,
"readyContactCount": 598,
"createdAt": "2026-09-23T15:02:11Z",
"modifiedAt": "2026-10-14T09:41:27Z"
}
}Absent fields stay unchanged. JSON null clears description and abTestPercentage. Requires WriteAccess.
Parameters
400 workspace_required).Request body
application/json, optional.
Response 200
data is a SegmentModel.
includeMetrics=false.includeMetrics=false.includeMetrics=false.curl -X PATCH "https://api.ken.so/v1/segments/812" \
-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 '{
"name": "string",
"description": "string",
"segmentationType": "string",
"abTestPercentage": 1,
"sortOrder": 1,
"filterCriteria": {
"fullName": {
"contains": "string",
"notContains": "string"
},
"titles": [
"string"
],
"excludeTitles": [
"string"
],
"lastJobTitle": {
"contains": "string",
"notContains": "string"
},
"headlines": [
"string"
],
"excludeHeadlines": [
"string"
],
"summaryContains": "string",
"seniorityLevels": [
"string"
],
"excludeSeniorityLevels": [
"string"
],
"functions": [
"string"
],
"excludeFunctions": [
"string"
],
"employmentTypes": [
"string"
],
"isDecisionMaker": true,
"changedJobRecently": true,
"yearsOfExperience": {
"min": 0.5,
"max": 0.5
},
"yearsInCurrentRole": {
"min": 0.5,
"max": 0.5
},
"yearsInCurrentCompany": {
"min": 0.5,
"max": 0.5
},
"profileCountries": [
"string"
],
"excludeProfileCountries": [
"string"
],
"profileState": "string",
"profileCity": "string",
"skillsContains": "string",
"certificationsContains": "string",
"languages": [
"string"
],
"emailValidity": [
"string"
],
"emailProviders": [
"string"
],
"excludeEmailProviders": [
"string"
],
"isPersonalEmail": true,
"hasLinkedInUrl": true,
"hasPhone": true,
"hasValidPhone": true,
"companyNames": [
"string"
],
"excludeCompanyNames": [
"string"
],
"companyDomainContains": "string",
"companyDescriptionContains": "string",
"companySpecialitiesContains": "string",
"industries": [
"string"
],
"excludeIndustries": [
"string"
],
"companyHeadcount": {
"min": 1,
"max": 1
},
"companyFollowers": {
"min": 1,
"max": 1
},
"companyFoundedYear": {
"min": 1,
"max": 1
},
"companyTypes": [
"string"
],
"lastFundingRounds": [
"string"
],
"totalFunding": {
"min": 1,
"max": 1
},
"technologies": [
"string"
],
"excludeTechnologies": [
"string"
],
"companyHqCountries": [
"string"
],
"excludeCompanyHqCountries": [
"string"
],
"companyHqState": "string",
"companyHqCity": "string",
"doNotContact": true,
"createdAt": {
"from": "2026-09-23T15:02:11Z",
"to": "2026-09-23T15:02:11Z"
},
"totalClicks": {
"min": 1,
"max": 1
},
"leadQualityScore": {
"min": 1,
"max": 1
},
"aiVariableFilters": [
{
"promptId": 812,
"operator": "Exists",
"value": "string"
}
],
"customVariableFilters": [
{
"variableKey": "string",
"operator": "Contains",
"value": "string"
}
]
}
}'{
"success": true,
"data": {
"id": 1207,
"campaignId": 4821,
"name": "Engineering leaders",
"description": "VPs and heads of engineering at B2B SaaS companies with 50 to 500 employees.",
"isDefault": false,
"isActive": true,
"sortOrder": 1,
"segmentationType": "ai",
"contactCount": 640,
"rawContactCount": 712,
"readyContactCount": 598,
"createdAt": "2026-09-23T15:02:11Z",
"modifiedAt": "2026-10-14T09:41:27Z"
}
}Moves the segment's contacts to Default (or the remaining A/B buckets) and soft-deletes the segment's email sequence, LinkedIn steps and prompts with it. Returns 400 validation_failed when its contacts would move to Default and the segment has an email or LinkedIn sequence that neither Default nor the campaign root has. Requires Campaigns edit access (owners, admins and editors by default). Returns 204.
Parameters
400 workspace_required).Response 204
curl -X DELETE "https://api.ken.so/v1/segments/812" \ -H "Authorization: Bearer $KEN_API_KEY" \ -H "Ken-Version: 2026-11-02" \ -H "X-Ken-Workspace-Id: $KEN_WORKSPACE_ID"
HTTP/1.1 204 No Content
Idempotent when the segment is already active. Requires WriteAccess.
Parameters
400 workspace_required).Response 200
data is a SegmentModel.
includeMetrics=false.includeMetrics=false.includeMetrics=false.curl -X POST "https://api.ken.so/v1/segments/812/activate" \ -H "Authorization: Bearer $KEN_API_KEY" \ -H "Ken-Version: 2026-11-02" \ -H "X-Ken-Workspace-Id: $KEN_WORKSPACE_ID"
{
"success": true,
"data": {
"id": 1207,
"campaignId": 4821,
"name": "Engineering leaders",
"description": "VPs and heads of engineering at B2B SaaS companies with 50 to 500 employees.",
"isDefault": false,
"isActive": true,
"sortOrder": 1,
"segmentationType": "ai",
"contactCount": 640,
"rawContactCount": 712,
"readyContactCount": 598,
"createdAt": "2026-09-23T15:02:11Z",
"modifiedAt": "2026-10-14T09:41:27Z"
}
}Deactivate a segment
/v1/segments/{segmentId}/deactivatesegments.deactivateIdempotent when the segment is already inactive. Requires WriteAccess.
Parameters
400 workspace_required).Response 200
data is a SegmentModel.
includeMetrics=false.includeMetrics=false.includeMetrics=false.curl -X POST "https://api.ken.so/v1/segments/812/deactivate" \ -H "Authorization: Bearer $KEN_API_KEY" \ -H "Ken-Version: 2026-11-02" \ -H "X-Ken-Workspace-Id: $KEN_WORKSPACE_ID"
{
"success": true,
"data": {
"id": 1207,
"campaignId": 4821,
"name": "Engineering leaders",
"description": "VPs and heads of engineering at B2B SaaS companies with 50 to 500 employees.",
"isDefault": false,
"isActive": true,
"sortOrder": 1,
"segmentationType": "ai",
"contactCount": 640,
"rawContactCount": 712,
"readyContactCount": 598,
"createdAt": "2026-09-23T15:02:11Z",
"modifiedAt": "2026-10-14T09:41:27Z"
}
}List saved versions of a segment, newest first
/v1/segments/{segmentId}/versionssegments.list-versionslimit is 1 to 100 and defaults to 20. cursor is the opaque cursor from the previous page. Requires ReadAccess.
Parameters
400 workspace_required).Response 200
data is a list of SegmentVersionModel. Each item has these fields. The response also carries pagination.
curl -X GET "https://api.ken.so/v1/segments/812/versions?limit=1" \ -H "Authorization: Bearer $KEN_API_KEY" \ -H "Ken-Version: 2026-11-02" \ -H "X-Ken-Workspace-Id: $KEN_WORKSPACE_ID"
{
"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 segment as a new version
/v1/segments/{segmentId}/versionssegments.save-versionApplies the body to the segment and writes one version row. The body takes the PATCH /v1/segments/{segmentId} fields plus sourceVersionId. Absent fields keep the live segment's value, or the sourceVersionId version's value when one is given, so a save with no body saves the current state. JSON null clears description and abTestPercentage. A sourceVersionId of another segment is not_found, and another save in progress for the segment is 409 conflict. When the save lands but version history is not captured, version is null and versionWarning says so. Requires WriteAccess.
Parameters
400 workspace_required).Request body
application/json, optional.
manual, ai or ab_test.Response 200
data is a SegmentVersionSaveModel.
curl -X POST "https://api.ken.so/v1/segments/812/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,
"name": "string",
"description": "string",
"segmentationType": "string",
"abTestPercentage": 1,
"sortOrder": 1,
"filterCriteria": {
"fullName": {
"contains": "string",
"notContains": "string"
},
"titles": [
"string"
],
"excludeTitles": [
"string"
],
"lastJobTitle": {
"contains": "string",
"notContains": "string"
},
"headlines": [
"string"
],
"excludeHeadlines": [
"string"
],
"summaryContains": "string",
"seniorityLevels": [
"string"
],
"excludeSeniorityLevels": [
"string"
],
"functions": [
"string"
],
"excludeFunctions": [
"string"
],
"employmentTypes": [
"string"
],
"isDecisionMaker": true,
"changedJobRecently": true,
"yearsOfExperience": {
"min": 0.5,
"max": 0.5
},
"yearsInCurrentRole": {
"min": 0.5,
"max": 0.5
},
"yearsInCurrentCompany": {
"min": 0.5,
"max": 0.5
},
"profileCountries": [
"string"
],
"excludeProfileCountries": [
"string"
],
"profileState": "string",
"profileCity": "string",
"skillsContains": "string",
"certificationsContains": "string",
"languages": [
"string"
],
"emailValidity": [
"string"
],
"emailProviders": [
"string"
],
"excludeEmailProviders": [
"string"
],
"isPersonalEmail": true,
"hasLinkedInUrl": true,
"hasPhone": true,
"hasValidPhone": true,
"companyNames": [
"string"
],
"excludeCompanyNames": [
"string"
],
"companyDomainContains": "string",
"companyDescriptionContains": "string",
"companySpecialitiesContains": "string",
"industries": [
"string"
],
"excludeIndustries": [
"string"
],
"companyHeadcount": {
"min": 1,
"max": 1
},
"companyFollowers": {
"min": 1,
"max": 1
},
"companyFoundedYear": {
"min": 1,
"max": 1
},
"companyTypes": [
"string"
],
"lastFundingRounds": [
"string"
],
"totalFunding": {
"min": 1,
"max": 1
},
"technologies": [
"string"
],
"excludeTechnologies": [
"string"
],
"companyHqCountries": [
"string"
],
"excludeCompanyHqCountries": [
"string"
],
"companyHqState": "string",
"companyHqCity": "string",
"doNotContact": true,
"createdAt": {
"from": "2026-09-23T15:02:11Z",
"to": "2026-09-23T15:02:11Z"
},
"totalClicks": {
"min": 1,
"max": 1
},
"leadQualityScore": {
"min": 1,
"max": 1
},
"aiVariableFilters": [
{
"promptId": 812,
"operator": "Exists",
"value": "string"
}
],
"customVariableFilters": [
{
"variableKey": "string",
"operator": "Contains",
"value": "string"
}
]
}
}'{
"success": true,
"data": {
"segment": {
"id": 1207,
"campaignId": 4821,
"name": "Engineering leaders",
"description": "VPs and heads of engineering at B2B SaaS companies with 50 to 500 employees.",
"isDefault": false,
"isActive": true,
"sortOrder": 1,
"segmentationType": "ai",
"contactCount": 640,
"rawContactCount": 712,
"readyContactCount": 598,
"createdAt": "2026-09-23T15:02:11Z",
"modifiedAt": "2026-10-14T09:41:27Z"
},
"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 version and its snapshot
/v1/segments/{segmentId}/versions/{versionId}segments.get-versionsegmentationType and status on the snapshot are lowercase snake_case. Requires ReadAccess.
Parameters
400 workspace_required).Response 200
data is a SegmentVersionDetailModel.
curl -X GET "https://api.ken.so/v1/segments/812/versions/812" \ -H "Authorization: Bearer $KEN_API_KEY" \ -H "Ken-Version: 2026-11-02" \ -H "X-Ken-Workspace-Id: $KEN_WORKSPACE_ID"
{
"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",
"snapshot": {
"schemaVersion": 1,
"segment": {
"name": "string",
"description": "string",
"isActive": true,
"sortOrder": 1,
"segmentationType": "string",
"abTestPercentage": 1,
"status": "string"
},
"filterCriteria": {
"fullNameContains": "string",
"fullNameNotContains": "string",
"lastJobTitleContains": "string",
"lastJobTitleNotContains": "string",
"summaryContains": "string",
"profileStateContains": "string",
"profileCityContains": "string",
"skillsContains": "string",
"certificationsContains": "string",
"titles": "string",
"excludeTitles": "string",
"headlines": "string",
"excludeHeadlines": "string",
"seniorityLevels": "string",
"excludeSeniorityLevels": "string",
"functions": "string",
"excludeFunctions": "string",
"employmentTypes": "string",
"profileCountries": "string",
"excludeProfileCountries": "string",
"languages": "string",
"emailValidity": "string",
"emailProviders": "string",
"excludeEmailProviders": "string",
"isDecisionMaker": true,
"changedJobRecently": true,
"isPersonalEmail": true,
"hasLinkedInUrl": true,
"hasPhone": true,
"hasValidPhone": true,
"yearsOfExperienceMin": 0.5,
"yearsOfExperienceMax": 0.5,
"yearsInCurrentRoleMin": 0.5,
"yearsInCurrentRoleMax": 0.5,
"yearsInCurrentCompanyMin": 0.5,
"yearsInCurrentCompanyMax": 0.5,
"companyDomainContains": "string",
"companyDescriptionContains": "string",
"companySpecialitiesContains": "string",
"companyHqStateContains": "string",
"companyHqCityContains": "string",
"companyNames": "string",
"excludeCompanyNames": "string",
"industries": "string",
"excludeIndustries": "string",
"companyTypes": "string",
"lastFundingRounds": "string",
"technologies": "string",
"excludeTechnologies": "string",
"companyHqCountries": "string",
"excludeCompanyHqCountries": "string",
"companyHeadcountMin": 1,
"companyHeadcountMax": 1,
"companyFollowersMin": 1,
"companyFollowersMax": 1,
"companyFoundedYearMin": 1,
"companyFoundedYearMax": 1,
"totalFundingMin": 1,
"totalFundingMax": 1,
"doNotContact": true,
"createdFrom": "2026-09-23T15:02:11Z",
"createdTo": "2026-09-23T15:02:11Z",
"totalClicksMin": 1,
"totalClicksMax": 1,
"leadQualityScoreMin": 1,
"leadQualityScoreMax": 1,
"aiVariableFiltersJson": "string",
"customVariableFiltersJson": "string"
}
}
}
}Restore a segment to a saved version
/v1/segments/{segmentId}/versions/{versionId}/restoresegments.restore-versiondryRun returns the cascade preview and does not write. Each child includes the resolved snapshot the revert dialog renders. An applying restore that would clear campaign AI output returns 409 conflict with error.impact until confirm is true. Cascade kind and status are lowercase snake_case. Requires WriteAccess.
Parameters
400 workspace_required).Request body
application/json, optional.
Response 200
data is a SegmentRestoreModel.
curl -X POST "https://api.ken.so/v1/segments/812/versions/812/restore" \
-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 '{
"confirm": true,
"dryRun": true
}'{
"success": true,
"data": {
"dryRun": true,
"newVersionNumber": 1,
"versionWarning": "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"
},
"snapshot": {
"schemaVersion": 1,
"segment": {
"name": "string",
"description": "string",
"isActive": true,
"sortOrder": 1,
"segmentationType": "string",
"abTestPercentage": 1,
"status": "string"
},
"filterCriteria": {
"fullNameContains": "string",
"fullNameNotContains": "string",
"lastJobTitleContains": "string",
"lastJobTitleNotContains": "string",
"summaryContains": "string",
"profileStateContains": "string",
"profileCityContains": "string",
"skillsContains": "string",
"certificationsContains": "string",
"titles": "string",
"excludeTitles": "string",
"headlines": "string",
"excludeHeadlines": "string",
"seniorityLevels": "string",
"excludeSeniorityLevels": "string",
"functions": "string",
"excludeFunctions": "string",
"employmentTypes": "string",
"profileCountries": "string",
"excludeProfileCountries": "string",
"languages": "string",
"emailValidity": "string",
"emailProviders": "string",
"excludeEmailProviders": "string",
"isDecisionMaker": true,
"changedJobRecently": true,
"isPersonalEmail": true,
"hasLinkedInUrl": true,
"hasPhone": true,
"hasValidPhone": true,
"yearsOfExperienceMin": 0.5,
"yearsOfExperienceMax": 0.5,
"yearsInCurrentRoleMin": 0.5,
"yearsInCurrentRoleMax": 0.5,
"yearsInCurrentCompanyMin": 0.5,
"yearsInCurrentCompanyMax": 0.5,
"companyDomainContains": "string",
"companyDescriptionContains": "string",
"companySpecialitiesContains": "string",
"companyHqStateContains": "string",
"companyHqCityContains": "string",
"companyNames": "string",
"excludeCompanyNames": "string",
"industries": "string",
"excludeIndustries": "string",
"companyTypes": "string",
"lastFundingRounds": "string",
"technologies": "string",
"excludeTechnologies": "string",
"companyHqCountries": "string",
"excludeCompanyHqCountries": "string",
"companyHeadcountMin": 1,
"companyHeadcountMax": 1,
"companyFollowersMin": 1,
"companyFollowersMax": 1,
"companyFoundedYearMin": 1,
"companyFoundedYearMax": 1,
"totalFundingMin": 1,
"totalFundingMax": 1,
"doNotContact": true,
"createdFrom": "2026-09-23T15:02:11Z",
"createdTo": "2026-09-23T15:02:11Z",
"totalClicksMin": 1,
"totalClicksMax": 1,
"leadQualityScoreMin": 1,
"leadQualityScoreMax": 1,
"aiVariableFiltersJson": "string",
"customVariableFiltersJson": "string"
}
},
"children": [
{
"kind": "string",
"parentId": 812,
"status": "string",
"versionId": 812,
"versionNumber": 1,
"createdAt": "2026-09-23T15:02:11Z",
"newVersionNumber": 1,
"versionWarning": "string",
"snapshot": null
}
]
}
}Return the segment filter catalog
/v1/segments/filter-optionssegments.get-filter-optionsThe values a segment filter accepts: seniority levels, functions, industries, company types, employment types, funding rounds, technologies, email validity, email providers and languages, each as value, label and an optional category. The catalog is the same for every workspace and is the filterOptions object POST /v1/campaigns/{campaignId}/segments/preview returns; this read needs no campaign. It replaces GET /v1/campaigns/segments/filter-metadata. Read-only. Requires ReadAccess.
Parameters
400 workspace_required).Response 200
data is a SegmentFilterMetadataDTO.
curl -X GET "https://api.ken.so/v1/segments/filter-options" \ -H "Authorization: Bearer $KEN_API_KEY" \ -H "Ken-Version: 2026-11-02" \ -H "X-Ken-Workspace-Id: $KEN_WORKSPACE_ID"
{
"success": true,
"data": {
"seniorityLevels": [
{
"value": "string",
"label": "string",
"category": "string"
}
],
"functions": [
{
"value": "string",
"label": "string",
"category": "string"
}
],
"industries": [
{
"value": "string",
"label": "string",
"category": "string"
}
],
"companyTypes": [
{
"value": "string",
"label": "string",
"category": "string"
}
],
"employmentTypes": [
{
"value": "string",
"label": "string",
"category": "string"
}
],
"lastFundingRounds": [
{
"value": "string",
"label": "string",
"category": "string"
}
],
"technologies": [
{
"value": "string",
"label": "string",
"category": "string"
}
],
"emailValidity": [
{
"value": "string",
"label": "string",
"category": "string"
}
],
"emailProviders": [
{
"value": "string",
"label": "string",
"category": "string"
}
],
"languages": [
{
"value": "string",
"label": "string",
"category": "string"
}
]
}
}