With url: the link's canonical profile in link, free. With name (and optionally company, knownUrls and the contactId, accountId or personId it is for): candidate profiles in candidates, most likely first, each with a confidence from 0 to 1 and its evidence. A first and last name runs a LinkedIn people search, charged 0.15 credits per record on Kenso's key (free on your own key, and free again within 24 hours); its id is searchId. When that search did not run (a one-word name), did not finish, or is still running, the candidates found from your links and stored profiles still come back, with a warning that says why the list may be short. Errors: 400 validation_failed (no url or name, or a one-word name with no candidates), 402 insufficient_credits, 404 for a contact, account or person outside this workspace, 422 unsupported_link, 424 provider_key_failed, 429 daily_limit_reached, 503 social_data_unavailable. Needs Search edit, and Campaigns edit with contactId or Accounts edit with accountId or personId (403 permission_denied).
Parameters
Name
In
Type
Required
Description
Ken-Version
In: header
string, one of: 2026-11-02, 1.1
optional
The API version, a date in YYYY-MM-DD form. 1.1 is another name for the first dated version. Leave it out to use your API key's pinned version. Keys created in the Kenso app are pinned to the newest version; keys minted by the CLI login are not. A key with no pinned version and no header gets the legacy shape where the path has one, and 404 where the path exists only in this version. A date that is not a version answers 400 unsupported_version; any other value that is not a version is treated as legacy.
X-Ken-Workspace-Id
In: header
integer (int64)
optional
The id of the workspace to act in. Leave it out when your API key reaches only one workspace. When the key reaches more than one, a request without this header answers 400 workspace_required. A workspace you are not a member of answers 404 not_found.
Request body
application/json, optional.
Field
Type
Required
Description
url
string
optional
A social link to resolve to its canonical profile. Free.
name
string
optional
A person's name to find profiles for. A first and last name runs a people search; one word answers only from the links you send and stored profiles.
company
string
optional
The person's company, to rank the candidates.
knownUrls
array of string
optional
Links you already hold for the person, such as a website or another network's profile.
contactId
integer (int64)
optional
A contact of this workspace the person is. Its stored profiles count as evidence.
accountId
integer (int64)
optional
An account of this workspace the person works at.
personId
integer (int64)
optional
A person of this workspace the name is. Its stored profiles count as evidence.
Response 200
data is a SocialResolution.
Field
Type
Description
link
SocialResolvedLink
The canonical profile a url names. Only on a link resolution.
candidates
array of SocialCandidate
Candidate profiles for a name, most likely first. Empty on a link resolution.
searchId
string
The people search the resolution ran (ssr_), when it ran one. Read its records with social-searches.get.
creditsCharged
number (double)
Credits the people search charged (0.15 per record on Kenso's key). A link resolution is free.
warning
SocialResolutionWarning
Why the candidates may be incomplete: the people search did not run, did not finish, or is still running.
Resolve a social link or a name
/v1/social-resolutionssocial-resolutions.createNeeds the
social_datafeature on your workspace. Until it is on, calls answer 404.Try it on developer.ken.so
With
url: the link's canonical profile inlink, free. Withname(and optionallycompany,knownUrlsand thecontactId,accountIdorpersonIdit is for): candidate profiles incandidates, most likely first, each with aconfidencefrom 0 to 1 and itsevidence. A first and last name runs a LinkedIn people search, charged 0.15 credits per record on Kenso's key (free on your own key, and free again within 24 hours); its id issearchId. When that search did not run (a one-word name), did not finish, or is still running, the candidates found from your links and stored profiles still come back, with awarningthat says why the list may be short. Errors: 400validation_failed(no url or name, or a one-word name with no candidates), 402insufficient_credits, 404 for a contact, account or person outside this workspace, 422unsupported_link, 424provider_key_failed, 429daily_limit_reached, 503social_data_unavailable. Needs Search edit, and Campaigns edit withcontactIdor Accounts edit withaccountIdorpersonId(403permission_denied).Parameters
YYYY-MM-DDform.1.1is another name for the first dated version. Leave it out to use your API key's pinned version. Keys created in the Kenso app are pinned to the newest version; keys minted by the CLI login are not. A key with no pinned version and no header gets the legacy shape where the path has one, and404where the path exists only in this version. A date that is not a version answers400 unsupported_version; any other value that is not a version is treated as legacy.400 workspace_required. A workspace you are not a member of answers404 not_found.Request body
application/json, optional.Response 200
datais aSocialResolution.urlnames. Only on a link resolution.ssr_), when it ran one. Read its records withsocial-searches.get.curl -X POST "https://api.ken.so/v1/social-resolutions" \ -H "Authorization: Bearer $KEN_API_KEY" \ -H "Ken-Version: 1.1" \ -H "X-Ken-Workspace-Id: $KEN_WORKSPACE_ID" \ -H "Content-Type: application/json" \ -d '{ "url": "https://example.com", "name": "string", "company": "string", "knownUrls": [ "https://example.com" ], "contactId": 812, "accountId": 812, "personId": 812 }'{ "success": true, "data": { "link": { "platform": "string", "kind": "string", "url": "https://example.com", "handle": "string", "externalId": "string" }, "candidates": [ { "url": "https://example.com", "platform": "string", "name": "string", "headline": "string", "confidence": 0.5, "evidence": [ "string" ] } ], "searchId": "string", "creditsCharged": 0.5, "warning": { "code": "string", "message": "string" } } }