Kenso

Credit ledger

Every credit added and spent.

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

Newest first, cursor paginated. A master or standalone workspace sees every line its account was debited for, its white-label children's included (workspaceId is the child); a child sees only its own lines. Optional filters: from, to (inclusive instants), action, campaignId and category (comma-separated, any matches: infrastructure, ai, data, sending, calling, added_expired; a refund or write-off goes with its charge). Each line carries its category. Needs the billing feature.

Parameters

Name
In
Type
Required
Description
Limit
In: query
integer (int32)
optional
Page size, 1-200 (default 50).
Cursor
In: query
string
optional
From
In: query
string (date-time)
optional
Lines created at or after this instant (UTC).
To
In: query
string (date-time)
optional
Lines created at or before this instant (UTC).
Action
In: query
string
optional
One credit action, e.g. email_found.
CampaignId
In: query
integer (int64)
optional
Category
In: query
string
optional
Comma-separated spend categories, any of them matches: infrastructure, ai, data, sending, added_expired. A refund or write-off goes with its charge's category.
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 list of CreditLedgerEntryModel. Each item has these fields. The response also carries pagination.

Field
Type
Description
id
integer (int64)
createdAt
string (date-time)
action
string
Credit action, e.g. email_found, campaign_build, grant, refund.
units
integer (int32)
Units the line is for (contacts, sends, inboxes). Omitted for token-priced and bookkeeping lines.
millicredits
integer (int64)
Signed millicredits.
reason
string
charge, release, settle, add_on, rebaseline, write_off, expire, launch_offer (a charge the launch offer waived, recorded at no cost), email_pool_hit (emails Kenso's shared pool gave for free, recorded at no cost; units counts the emails).
campaignId
integer (int64)
workspaceId
integer (int64)
The workspace that caused the line (a white-label child on its master's ledger).
description
string
shadow
boolean
True when the workspace is exempt: the cost was recorded but not debited.
category
string
infrastructure, ai, data, sending, calling or added_expired (grants, expiries and manual adjustments). A refund or write-off is in its charge's category. Clients tolerate unknown values.
Request
curl -X GET "https://api.ken.so/v1/credits/ledger" \
  -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": [
    {
      "id": 812,
      "createdAt": "2026-09-23T15:02:11Z",
      "action": "string",
      "units": 1,
      "millicredits": 1,
      "reason": "string",
      "campaignId": 812,
      "workspaceId": 812,
      "description": "string",
      "shadow": true,
      "category": "string"
    }
  ],
  "pagination": {
    "nextCursor": "eyJpZCI6ODE1fQ",
    "hasMore": true,
    "total": 1,
    "isTotalCapped": true
  }
}