Kenso

Kenso API changelog

Every change to the Kenso API, newest version first. Breaking changes ship only in a new dated version, and your key stays on its version until you move it: see Versioning.

Ken-Version: 2026-11-02

2026-11-02

  • Added GET /v1/saved-list-members: search the people and companies on the workspace's own saved lists and lists shared with it (never library lists) by name, title or company with q (2-200 characters). Each result is a member as saved-lists.list-members shows it, plus savedListId, savedListName and savedListKind; a person on two lists comes back once per list. Cursor pagination, no total; a page can hold fewer results than limit, even none, with hasMore true, so keep paging with nextCursor.
  • Changed2026-11-02saved-lists.list-members
    Added the optional q parameter: matches a part of a member's full name, title or company name, any case. Up to 200 characters; shorter than 2 is ignored. With q, includeTotal counts the matches.
  • Changed2026-11-02
    Documentation fix: enum fields in this reference now show the string values the API has always sent and accepted (for example "active"), not integer codes. No request or response changed.
  • Changed2026-11-02search.search-people
    Added the optional view query parameter to search.search-people. view=summary returns each person with only the fields a list shows (names, headline, LinkedIn URL, photo, current title and company, location, seniority, function, job-change signals, hasKenEmail, kenEmailStatus, lookalike), about 1-2 KB a person instead of 17-28 KB. Without view, or with view=full, the response is unchanged.
  • Changed2026-11-02contacts.get
    Added optional field data.phoneCountryAssumed to the contacts.get response.
  • Changed2026-11-02contacts.list
    Added optional field data[].phoneCountryAssumed to the contacts.list response.
  • Changed2026-11-02contacts.search
    Added optional field data[].phoneCountryAssumed to the contacts.search response.
  • Each LinkedIn engagement in the list now carries optional fields: reactionType for a reaction, commentId and parentCommentId for a comment or a reply under one, postText, an intent label on comments and replies (requesting, positive, question, neutral or negative) with its intentReason, and ownPost, which is false when the post was pasted in and is not by a connected seat or your company page. Existing fields are unchanged.
  • Added2026-11-02cli-logins.create
    Added cli-logins.create, which starts a Kenso CLI browser login and returns the code to approve. It answers 404 until Kenso CLI browser login is turned on.
  • Added2026-11-02cli-logins.token
    Added cli-logins.token, which the Kenso CLI polls until its browser login is approved, denied or expired. It answers 404 until Kenso CLI browser login is turned on.
  • Changed2026-11-02contacts.create
    The response adds data.results: one item per submitted contact, in request order, with its index, status (created, updated, skipped or failed), the contact id when saved, a reason and message when not, and sendable. succeeded and failed are unchanged.
  • Changed2026-11-02contacts.update
    Documented the request body. customVariables merges into the contact's custom variables; a null or empty value removes that key.
  • Changed2026-11-02contacts.bulk-update
    Documented the items: each is a contactId (required) plus any field contacts.update accepts, customVariables included.
  • Changed2026-11-02contacts.bulk-delete
    The response schema it shares with contacts.create now lists data.results. Only contacts.create fills it, so this operation's responses do not change.
  • Changed2026-11-02contacts.bulk-pause
    The response schema it shares with contacts.create now lists data.results. Only contacts.create fills it, so this operation's responses do not change.
  • Changed2026-11-02contacts.bulk-resume
    The response schema it shares with contacts.create now lists data.results. Only contacts.create fills it, so this operation's responses do not change.
  • Changed2026-11-02contact-imports.create
    Documented the JSON and multipart request bodies: source, target, contacts, columnMappings, the uploaded file and the import options. The endpoint already accepted these fields.
  • Changed2026-11-02contact-exports.create
    Documented the request body: kind, the campaign, segment and workspace filters, fields and the events range. The endpoint already accepted these fields.
  • Added2026-11-02
    First dated version of the Kenso API. Its shapes are identical to Ken-Version: 1.1, which stays an alias of this version. Send Ken-Version: 2026-11-02 and your integration keeps these shapes until the version retires, 12 months after the next version ships. A request without the header uses the version its API key is pinned to.

Guides