Campaign images
The current images of a campaign's leads, and one image with a fresh preview link.
Current images of some leads of a campaign: each image variable's and the lead's own custom_image
/v1/campaigns/{campaignId}/imagescampaign-images.listNeeds the campaign_images feature on your workspace. Until it is on, calls answer 404.
contactIds (required) is 1 to 200 comma-separated contact ids. variableKey keeps one key: an image variable's key, or custom_image for the lead's own image; an unknown key is an empty list. One item per lead and key that has an image, any status, ordered by contactId then variableKey; an image of a deleted variable is left out. status is pending, ready or failed; a failed image carries errorCode and errorDetail. A ready image carries previewUrl, which works until previewExpiresAt (1 hour). One page: hasMore is always false. Requires the Campaigns page.
Parameters
400 workspace_required).Response 200
data is a list of CampaignImageModel. Each item has these fields. The response also carries pagination.
curl -X GET "https://api.ken.so/v1/campaigns/812/images" \ -H "Authorization: Bearer $KEN_API_KEY" \ -H "Ken-Version: 2026-11-02" \ -H "X-Ken-Workspace-Id: $KEN_WORKSPACE_ID"
{
"success": true,
"data": [
{
"imageKey": "string",
"contactId": 812,
"variableKey": "string",
"status": "string",
"errorCode": "string",
"errorDetail": "string",
"width": 1,
"height": 1,
"previewUrl": "https://example.com",
"previewExpiresAt": "2026-09-23T15:02:11Z",
"updatedAt": "2026-09-23T15:02:11Z"
}
],
"pagination": {
"nextCursor": "eyJpZCI6ODE1fQ",
"hasMore": true,
"total": 1,
"isTotalCapped": true
}
}One image with a fresh preview URL (1 hour)
/v1/campaign-images/{imageKey}campaign-images.getNeeds the campaign_images feature on your workspace. Until it is on, calls answer 404.
imageKey is the image's 26-character key from the list. A ready image carries previewUrl, which works until previewExpiresAt (1 hour); call again for a new one. An unknown or malformed key is 404. Requires the Campaigns page.
Parameters
400 workspace_required).Response 200
data is a CampaignImageModel.
curl -X GET "https://api.ken.so/v1/campaign-images/string" \ -H "Authorization: Bearer $KEN_API_KEY" \ -H "Ken-Version: 2026-11-02" \ -H "X-Ken-Workspace-Id: $KEN_WORKSPACE_ID"
{
"success": true,
"data": {
"imageKey": "string",
"contactId": 812,
"variableKey": "string",
"status": "string",
"errorCode": "string",
"errorDetail": "string",
"width": 1,
"height": 1,
"previewUrl": "https://example.com",
"previewExpiresAt": "2026-09-23T15:02:11Z",
"updatedAt": "2026-09-23T15:02:11Z"
}
}