Credit estimates
Estimate what a campaign, a build, infrastructure or new accounts will cost in credits. Nothing is charged.
Estimate the credits a campaign, a build, an infra purchase, adding accounts, importing leads or places searches need
/v1/credits/estimatescredit-estimates.createComputes only; nothing is charged or reserved. kind is campaign (target leads, steps, personalization; defaults come from campaignId), build (a typical campaign build, or 0 when the free monthly build is left), infra (items; monthly items count their first month upfront) or accounts (accountCount, 1-1,000: an estimated 12 credits of account research per account, metered per run, plus about 6 valid committee emails, charged only when found) or leads (leadCount, 1-1,000,000: 1.45 credits a lead, from about 3 rows qualified, 1 valid email found and 1 personalization) or places (pages, 0-1,000, at 1 credit a search page of up to 200 places, and opens, 0-100,000, free for the first 500 a workspace a day and then 0.05 credits an open; send at least one above 0). Fields that do not belong to the kind are rejected. Campaign, build, accounts, leads and places estimates are measured against available credits, infra against the whole balance, and its inbox and domain lines against inboxDomainEligibleMillicredits (infra only: free and bonus credits cannot pay them). Any member of the workspace.
Parameters
400 workspace_required).Request body
application/json, optional.
campaign, build, infra, accounts, leads or places.Response 200
data is a CreditEstimateModel.
credit_estimate.sufficient is false when these lines cost more, even when availableMillicredits covers the total.curl -X POST "https://api.ken.so/v1/credits/estimates" \
-H "Authorization: Bearer $KEN_API_KEY" \
-H "Ken-Version: 2026-11-02" \
-H "X-Ken-Workspace-Id: $KEN_WORKSPACE_ID" \
-H "Content-Type: application/json" \
-d '{
"kind": "string",
"campaignId": 812,
"targetLeads": 1,
"sequenceSteps": 1,
"personalization": true,
"items": [
{
"action": "string",
"quantity": 1,
"registrarPriceUsd": 0.5,
"renewalPriceUsd": 0.5
}
],
"accountCount": 1,
"leadCount": 1,
"pages": 1,
"opens": 1
}'{
"success": true,
"data": {
"object": "string",
"totalMillicredits": 1,
"monthlyRecurringMillicredits": 1,
"lines": [
{
"action": "string",
"units": 1,
"millicredits": 1,
"description": "string"
}
],
"availableMillicredits": 1,
"sufficient": true,
"freeBuild": true,
"inboxDomainEligibleMillicredits": 1
}
}