Kenso

Meetings

The Meetings endpoints of the Kenso API.

Meetings and calling1 endpointKen-Version: 2026-11-02AuthenticationWorkspacesErrors

Return the meeting's prep brief without its credit and write state

GET/v1/meetings/{meetingId}/client-briefmeetings.get-client-brief

Needs the meetings feature on your workspace. Until it is on, calls answer 404.

Try it on developer.ken.so

status is ready, not_written or not_eligible (ineligibleReason: not_account_meeting, no_owner, cancelled, owner_declined, no_external_guest, too_many_guests, already_started). version, writtenAt, language, authorSource (ken, agent or user), isStale and staleSince, and sections as GET /v1/meetings/{meetingId}/brief returns them, every line with its sources. No credits, no canWrite or canRefresh, and no write: a member with meetings edit writes or refreshes the brief. Flag meetings; meetings view.

Parameters

Name
In
Type
Required
Description
meetingId
In: path
string
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 MeetingClientBriefModel.

Field
Type
Description
meetingId
string
mtg_ id.
status
string
ready, not_written or not_eligible.
ineligibleReason
string
Why the meeting gets no brief: not_account_meeting, no_owner, cancelled, owner_declined, no_external_guest, too_many_guests, already_started. Omitted while the meeting qualifies.
version
integer (int32)
0 until the first brief is written; one more on each rewrite.
writtenAt
string (date-time)
language
string
The language the brief is written in, such as en.
authorSource
string
ken, agent or user; omitted until it is written.
staleSince
string (date-time)
The account's first activity after writtenAt.
isStale
boolean
sections
MeetingBriefSectionsModel
The brief's sections. Attending, relationship and touchHistory come from Kenso's data; the other lines are written by the model, each with its sources.
Request
curl -X GET "https://api.ken.so/v1/meetings/string/client-brief" \
  -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": {
    "meetingId": "string",
    "status": "string",
    "ineligibleReason": "string",
    "version": 1,
    "writtenAt": "2026-09-23T15:02:11Z",
    "language": "string",
    "authorSource": "string",
    "staleSince": "2026-09-23T15:02:11Z",
    "isStale": true,
    "sections": {
      "openWith": {
        "text": "string",
        "sources": [
          {
            "kind": "string",
            "id": "string",
            "label": "string",
            "url": "https://example.com",
            "at": "2026-09-23T15:02:11Z"
          }
        ]
      },
      "attending": [
        {
          "name": "string",
          "email": "[email protected]",
          "title": "string",
          "committeeRole": "string",
          "isNew": true,
          "personId": 812,
          "stakeholderId": 812,
          "response": "string"
        }
      ],
      "gotTheYes": {
        "text": "string",
        "sources": [
          {
            "kind": "string",
            "id": "string",
            "label": "string",
            "url": "https://example.com",
            "at": "2026-09-23T15:02:11Z"
          }
        ]
      },
      "relationship": {
        "stage": "string",
        "touches": 1,
        "replies": 1,
        "firstContactAt": "2026-09-23T15:02:11Z",
        "lastTouchAt": "2026-09-23T15:02:11Z"
      },
      "whyNow": [
        {
          "text": "string",
          "sources": [
            {}
          ]
        }
      ],
      "angle": [
        {
          "text": "string",
          "sources": [
            {}
          ]
        }
      ],
      "openItems": [
        {
          "text": "string",
          "sources": [
            {}
          ]
        }
      ],
      "touchHistory": [
        {
          "at": "2026-09-23T15:02:11Z",
          "channel": "string",
          "direction": "string",
          "title": "string",
          "personName": "string",
          "source": {
            "kind": "string",
            "id": "string",
            "label": "string",
            "url": "https://example.com",
            "at": "2026-09-23T15:02:11Z"
          }
        }
      ],
      "dataNote": "string"
    }
  }
}