Kenso

Members

Workspace members and their permissions.

Workspace and credits1 endpointKen-Version: 2026-11-02AuthenticationWorkspacesErrors

Return a member's permission template, overrides and effective permissions

GET/v1/members/{memberId}/permissionsmembers.get-permissions

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

Try it on developer.ken.so

overrides holds only the differences from the template; changeCount counts them. Members read their own; reading someone else's needs the members permission (403 forbidden otherwise). A user who is not a member of the workspace is 404 not_found. Behind the permissions flag.

Parameters

Name
In
Type
Required
Description
memberId
In: path
integer (int64)
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 MemberPermissionsModel.

Field
Type
Description
template
MemberPermissionTemplateModel
overrides
PermissionOverridesModel
Only the differences from the template.
effective
PermissionSetModel
changeCount
integer (int32)
How many rows differ from the template.
Request
curl -X GET "https://api.ken.so/v1/members/812/permissions" \
  -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": {
    "template": {
      "id": 812,
      "name": "string",
      "builtIn": "string"
    },
    "overrides": {
      "pages": {
        "key": "string"
      },
      "features": {
        "key": true
      },
      "accountScope": "string",
      "credits": {
        "monthlyLimit": 1
      }
    },
    "effective": {
      "pages": {
        "key": "string"
      },
      "features": [
        "string"
      ],
      "accountScope": "string",
      "monthlyCreditLimit": 1
    },
    "changeCount": 1
  }
}