Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

KaiCalls

REMOTE · WWW.KAICALLS.COM · SCANNED AUG 4

AI phone secretary: place calls, read transcripts, list calls, agents, and stats.

Available components

−28 this week 39 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →

Endpoint Security97
Transport & Reachability0
Schema Quality & AI Usability0
  • Schema blocked by authentication: the endpoint requires auth we don't have to read it. See how to fix → Unverified
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage0
  • Tool coverage blocked by authentication: the endpoint requires auth we don't have to read its tools.Unverified
Capabilities0
  • Capabilities blocked by authentication: the endpoint requires auth we don't have to read them. See how to fix → Unverified

Unverified: 5 categories

Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.

Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

remote · www.kaicalls.com

# add to Claude Code
claude mcp add --transport http com-kaicalls-kaicalls https://www.kaicalls.com/api/mcp
# ~/.codex/config.toml
[mcp_servers.com-kaicalls-kaicalls]
url = "https://www.kaicalls.com/api/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-kaicalls-kaicalls": {
      "type": "remote",
      "url": "https://www.kaicalls.com/api/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add com-kaicalls-kaicalls --url https://www.kaicalls.com/api/mcp --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  com-kaicalls-kaicalls:
    url: "https://www.kaicalls.com/api/mcp"
// mcp.json
{
  "mcpServers": {
    "com-kaicalls-kaicalls": {
      "type": "http",
      "url": "https://www.kaicalls.com/api/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 1 Aug 26 −36
    • Endpoint reachability: reachable → behind authorisation security
    • Transport: pass → unverified security
    • Stability: 0.17 → unverified security
    • Authorization: The endpoint enforces authorisation, advertised via RFC 9728 protected-resource metadata. security
    • Capabilities: fail → unverified functional
    • Tool coverage: 100 → unverified functional
    • First check of Schema quality: unverified functional
  • 31 Jul 26 +7
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 29 Jul 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

  • 27 Jul 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Jul 26 66

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 4 Aug 2026 · Probed https://www.kaicalls.com/api/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=www.kaicalls.com CN=YR2,O=Let's Encrypt,C=US 20 Jun 2026 18 Sept 2026 RSA 2048 SHA256-RSA 50bdac0ddc08bc0eedac503838df7e99aa4
SANs: www.kaicalls.com
CN=YR2,O=Let's Encrypt,C=US (CA) CN=Root YR,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 RSA 2048 SHA256-RSA 4ebd24947e24d394802d84a52fd5b319
CN=Root YR,O=ISRG,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 RSA 4096 SHA256-RSA f24b6d17f9d9ad7cb1c9fea78782699f
DNSSEC insecure

Validation of www.kaicalls.com. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
kaicalls.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Enforced and verified

The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.

Result Enforced and verified
Enforced On connection
HTTP status 401

WWW-Authenticate challenge Bearer resource_metadata="https://www.kaicalls.com/.well-known/oauth-protected-resource", scope="agents:read calls:read calls:write"

Bearer resource_metadata="https://www.kaicalls.com/.well-known/oauth-protected-resource", scope="agents:read calls:read calls:write"
Header Value
strict-transport-security max-age=63072000
www-authenticate Bearer resource_metadata="https://www.kaicalls.com/.well-known/oauth-protected-resource", scope="agents:read calls:read calls:write"

Protected resource metadata

Document https://www.kaicalls.com/.well-known/oauth-protected-resource
Retrieved Yes
Resource https://www.kaicalls.com/api/mcp
Authorisation server https://www.kaicalls.com
Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://www.kaicalls.com/api/mcp Auth required 401
http (plaintext) http://www.kaicalls.com/api/mcp HTTPS enforced 308 https://www.kaicalls.com/api/mcp
MCP tools — 51 exposed · ~7,092 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
attach_number ~116

Assign a phone number already in the KaiCalls registry pool to a business (and optionally route it directly to an agent). Does NOT purchase a new number — use search_available_numbers + buy_number for that. Mirrors POST /api/v1/phone-numbers.

NameTypeReqDescription
agent_idstringAgent ID to route this number to directly (optional).
business_idstringBusiness ID (optional only when the token can access exactly one business).
phone_numberstringyesE.164 phone number already in the registry.
NameTypeReqDescription
business_idstring
errorstringPresent when success is false
numberobject
successbooleanyesWhether the tool completed successfully

No examples provided.

buy_number ~466

Purchase a real phone number from the carrier and register it to a business. This spends real money — the number is billed by the carrier immediately, so the purchase is APPROVAL-GATED: without human-grade authority (an authority envelope with mode human_confirmed, or a dashboard approval) the tool executes nothing and returns a pending_approval record the business owner approves or denies from the dashboard — relay the returned confirmation text to them. Agent-initiated purchases never run unattended. Does not auto-attach an agent; call attach_number afterward to route it. Mirrors POST /api/v1/phone-numbers/purchase via the numbers.purchase update intent. Compliance: KaiCalls automatically applies state-aware AI-disclosure and consent handling to numbers it provisions, and flags high-risk business categories for extra review.

NameTypeReqDescription
actorobjectWho is asking: { type: agent|human|system|integration, id, display_name }.
agent_idstringAgent ID to route this number to directly once purchased (optional; requires the number to also be voice-runtime-imported, which is not guaranteed at purchase time — prefer a follow-up attach_number…
authorityobjectHow the purchase was authorized: { mode, confirmed_by, confirmed_at, confirmation_ref }. human_confirmed requires all three confirmation fields; anything weaker returns pending_approval.
business_idstringBusiness ID (optional only when the token can access exactly one business).
dry_runbooleanValidate tenant, scope, and policy without buying anything.
idempotency_keystringStable key for the purchase request; repeating it returns the original outcome. Defaults to a key derived from the phone number — pass your own to retry a previously failed purchase.
phone_numberstringyesThe exact E.164 phone number to purchase, as returned by search_available_numbers.
queue_for_approvalbooleanWhen authority is insufficient, create a durable dashboard approval (default true). Set false to get needs_approval and retry yourself with the same idempotency_key once a human confirms.
reasonstringOptional reason recorded in the durable audit.
source_refstringExternal source reference, such as a ticket or automation run ID.
NameTypeReqDescription
approvalobject|null
business_idstring|null
codestring|null
errorstringPresent when success is false
messagestring|null
request_idstring|null
resultobject|nullOn executed: { number, vapi_registered, agent_attached, compliance: { high_risk_category, disclosure_note } }.
risk_levelstring|null
statusstring
successbooleanyesWhether the tool completed successfully
summaryobject|null

No examples provided.

check_call_status ~32

Check the status of a call by its ID

NameTypeReqDescription
call_idstringyesThe call ID to check
NameTypeReqDescription
callobject
errorstringPresent when success is false
successbooleanyesWhether the tool completed successfully

No examples provided.

configure_agent_business_rules ~318

Safely add or replace a named operational rules section inside an agent inbound prompt, then route the prompt patch through the governed agent.patch broker. Use this for cross-business handoffs, callback language, alert promises, and client-specific operating rules without round-tripping the whole prompt manually.

NameTypeReqDescription
actorobjectWho is asking: { type: agent|human|system|integration, id, display_name }.
agent_idstringyesKaiCalls agent ID to update
authorityobjectHuman-grade authority for live prompt changes: { mode: human_confirmed|dashboard_session|system_policy, confirmed_by, confirmed_at, confirmation_ref }.
business_idstringBusiness ID. Required when the agent has multiple accessible assignments.
dry_runbooleanValidate and show the prompt patch metadata without writing.
idempotency_keystringRequired for writes. Reuse the same key when retrying the same proposed prompt change.
modestringreplace (default) or append.
queue_for_approvalbooleanWhen authority is missing, create a pending dashboard approval instead of returning needs_approval.
rulesarrayyesPlain-language operational rules to insert as bullets, e.g. callback capture, sister-location boundaries, urgent alert handling.
section_titlestringPrompt section heading to replace/append. Default: Operational handoff rules.
source_refstringExternal source reference, such as a support ticket or Claude conversation ID.
NameTypeReqDescription
agent_idstring|null
approvalobject|null
business_idstring|null
codestring|null
errorstringPresent when success is false
request_idstring|null
resultobject|null
rules_countinteger|null
section_titlestring|null
statusstring
successbooleanyesWhether the tool completed successfully
summaryobject|null

No examples provided.

configure_staff_alerts ~207

Configure business-owned staff alert recipients and post-call escalation rules. Use this for emergency/urgent texts, callback alerts, billing/provider follow-up alerts, and ensuring alerts go only to the correct business staff.

NameTypeReqDescription
business_idstringBusiness ID (optional only when the token has exactly one accessible business)
dry_runbooleanValidate and show the proposed settings without writing.
email_notificationsbooleanEnable or disable email staff alerts for this business.
escalation_rulesarrayPost-call escalation rules evaluated against completed transcripts. Each rule is { id?, when, then, enabled? }. v1 action then includes text_owner.
notification_emailstring|arrayComma-separated string or array of staff email addresses that receive escalation emails.
notification_phonestring|arrayComma-separated string or array of staff phone numbers that receive SMS escalation alerts.
sms_notificationsbooleanEnable or disable SMS staff alerts for this business.
NameTypeReqDescription
business_idstring
current_settingsobject|null
dry_runboolean
errorstringPresent when success is false
proposed_settingsobject
settingsobject
successbooleanyesWhether the tool completed successfully

No examples provided.

configure_textable_links ~125

Create or repair the business_links entries used by the send_link/send_sms tools. Use this when callers need booking, directions, cancellation, sister-location, or service-specific links texted without exposing raw URLs in the voice prompt.

NameTypeReqDescription
business_idstringBusiness ID (optional only when the token has exactly one accessible business)
dry_runbooleanValidate and show create/update plan without writing.
linksarrayyesLinks to create/update by link_key. New links require label and destination_url. Existing links can be deactivated with is_active=false.
NameTypeReqDescription
business_idstring
dry_runboolean
errorstringPresent when success is false
linksarray
planarray
successbooleanyesWhether the tool completed successfully

No examples provided.

create_agent ~234

Create a new KaiCalls voice agent (Vapi assistant + KaiCalls records) with a system prompt, greeting, voice, and model. Mirrors POST /api/v1/agents. Every subsequent mutation to this agent is versioned (assistant_config_versions) and reversible via rollback_config — inspect history with get_change_history / list_config_versions. Compliance: KaiCalls automatically applies state-aware AI-disclosure and consent handling to every agent it provisions, and flags high-risk business categories for extra review.

NameTypeReqDescription
business_idstringyesBusiness ID to create the agent under.
first_messagestringSpoken greeting (optional).
metadataobjectExtra KaiCalls metadata to store (optional).
modelobjectLanguage model selection: { provider, model, temperature } (optional).
namestringyesAgent display name.
system_promptstringyesThe agent's inbound system prompt / instructions.
voiceobjectRaw voice selection: { provider, voiceId } (optional).
voice_catalog_idstringPreferred: a curated catalog id from list_voices (optional).
NameTypeReqDescription
agentobject
complianceobject
errorstringPresent when success is false
successbooleanyesWhether the tool completed successfully

No examples provided.

create_campaign ~181

Create an outbound call campaign (cadence + lead batch) and optionally launch it immediately. Launching queues calls for the orchestrator; existing TCPA/consent gating still applies at dial time. Requires admin role on the business.

NameTypeReqDescription
agent_idstringAgent ID to place the calls. Required when launch is true.
business_idstringBusiness ID (required only when the token can access multiple businesses).
cadence_configobjectyesCadence configuration. { template: standard|aggressive|nurture|custom, attempts: number }.
descriptionstringOptional campaign description.
launchbooleanWhen true, launch the campaign immediately after creating it.
lead_idsarrayLead IDs to enroll in the campaign (optional at create time).
namestringyesCampaign name.
NameTypeReqDescription
campaignobject
errorstringPresent when success is false
launchedboolean
queuedinteger|null
sequence_idstring|null
successbooleanyesWhether the tool completed successfully
total_leadsinteger|null

No examples provided.

delete_webhook ~59

Remove a business outbound webhook by ID. Mirrors DELETE /api/v1/webhooks.

NameTypeReqDescription
business_idstringBusiness ID (optional only when the token can access exactly one business).
idstringyesWebhook ID to remove.
NameTypeReqDescription
business_idstring
errorstringPresent when success is false
messagestring
successbooleanyesWhether the tool completed successfully

No examples provided.

detach_number ~70

Release a phone number from a business back to the unassigned registry pool. Mirrors DELETE /api/v1/phone-numbers.

NameTypeReqDescription
business_idstringBusiness ID (optional only when the token can access exactly one business).
phone_numberstringyesE.164 phone number to release.
NameTypeReqDescription
business_idstring
errorstringPresent when success is false
released_phone_numberstring
successbooleanyes

No examples provided.

get_analytics ~62

Get a dashboard summary (lead counts by status, conversion rate, call volume and duration, top agents, and business outcomes by type) over a recent time window.

NameTypeReqDescription
daysintegerLookback window in days (default 30, max 90)
NameTypeReqDescription
agentsobject
callsobject
errorstringPresent when success is false
leadsobject
outcomesobject
outcomes_totalinteger
periodobject
successbooleanyesWhether the tool completed successfully

No examples provided.

get_balance ~33

Get per-business minutes-used and subscription status across every business the caller can access. Mirrors GET /api/v1/balance.

Input schema present but exposes no named parameters.

NameTypeReqDescription
businessesarray
errorstringPresent when success is false
successbooleanyesWhether the tool completed successfully

No examples provided.

get_business_info ~39

Get business information, agent count, and recent call stats

NameTypeReqDescription
business_idstringBusiness ID (optional, defaults to first accessible business)
NameTypeReqDescription
agent_countinteger
businessobject
calls_last_30_daysinteger
errorstringPresent when success is false
successbooleanyesWhether the tool completed successfully

No examples provided.

get_call_recording ~53

Get the real call recording URL for a call so reviewers can listen to the voice/audio instead of relying only on the transcript.

NameTypeReqDescription
call_idstringyesThe KaiCalls call ID to get the recording for
NameTypeReqDescription
callobject
errorstringPresent when success is false
recording_availableboolean
successbooleanyesWhether the tool completed successfully

No examples provided.

get_change_history ~123

List an agent's recent config-change audit trail (change_type, change_source, old/new value, timestamp) from admin_change_history — the same record the admin_get_change_history voice tool reads over the phone. Every mutation KaiCalls makes to an agent (via update_agent_config, configure_agent_business_rules, the admin call-in secretary, or the dashboard) is logged here and reversible with rollback_config.

NameTypeReqDescription
agent_idstringyesAgent ID to fetch change history for.
limitintegerMax results to return (default 20, max 100).
NameTypeReqDescription
agent_idstring
changesarray
errorstringPresent when success is false
successbooleanyesWhether the tool completed successfully

No examples provided.

get_conversation ~44

Get a single SMS conversation thread by ID. Mirrors GET /api/v1/sms/conversations?id=.

NameTypeReqDescription
conversation_idstringyesThe conversation ID to fetch.
NameTypeReqDescription
conversationobject
errorstringPresent when success is false
successbooleanyesWhether the tool completed successfully

No examples provided.

get_lead ~41

Get full details for a single lead by ID, including the latest AI lead score and explanation.

NameTypeReqDescription
lead_idstringyesThe lead ID to fetch
NameTypeReqDescription
errorstringPresent when success is false
leadobject
successbooleanyesWhether the tool completed successfully

No examples provided.

get_operational_settings ~69

Audit the business-level operational setup Claude needs before changing a client account: staff alert recipients, SMS/email alert flags, escalation rules, textable send-link entries, and assigned agent voice/model/greeting metadata.

NameTypeReqDescription
business_idstringBusiness ID (optional, defaults to first accessible business)
NameTypeReqDescription
agentsarray
available_setup_toolsarray
businessobject
business_linksarray
errorstringPresent when success is false
notification_settingsobject|null
successbooleanyesWhether the tool completed successfully

No examples provided.

get_transcript ~35

Get the transcript and summary of a completed call

NameTypeReqDescription
call_idstringyesThe call ID to get the transcript for
NameTypeReqDescription
callobject
errorstringPresent when success is false
successbooleanyesWhether the tool completed successfully
transcriptstring|null
transcript_availableboolean
transcript_lengthinteger
transcript_truncatedboolean

No examples provided.

get_usage ~85

List recent API usage events (endpoint, method, status code, cost) for the caller's account. Mirrors GET /api/v1/usage.

NameTypeReqDescription
endstringISO date/time upper bound (optional).
limitintegerMax results to return (default 100, max 500).
startstringISO date/time lower bound (optional).
NameTypeReqDescription
errorstringPresent when success is false
has_moreboolean
successbooleanyesWhether the tool completed successfully
usagearray

No examples provided.

get_webhook ~55

List the configured outbound webhook(s) for a business, including supported event types. Mirrors GET /api/v1/webhooks.

NameTypeReqDescription
business_idstringBusiness ID (optional only when the token can access exactly one business).
NameTypeReqDescription
business_idstring
errorstringPresent when success is false
eventsarray
successbooleanyesWhether the tool completed successfully
webhooksarray

No examples provided.

list_agents ~71

List KaiCalls agents available to the authenticated account

NameTypeReqDescription
business_idstringBusiness ID to filter by (optional, must be accessible)
limitintegerMax results to return (default 50, max 100)
offsetintegerZero-based pagination offset (default 0)
NameTypeReqDescription
agentsarray
countinteger
errorstringPresent when success is false
filtersobject
has_moreboolean
limitinteger
next_offsetinteger|null
offsetinteger
successbooleanyesWhether the tool completed successfully

No examples provided.

list_campaigns ~65

List outbound call campaigns for the authenticated business.

NameTypeReqDescription
limitintegerMax results to return (default 25, max 100)
offsetintegerZero-based pagination offset (default 0)
statusstringFilter by campaign status (optional)
NameTypeReqDescription
campaignsarray
countinteger
errorstringPresent when success is false
filtersobject
has_moreboolean
limitinteger
next_offsetinteger|null
offsetinteger
successbooleanyesWhether the tool completed successfully

No examples provided.

list_config_versions ~121

List an agent's hashed, redacted assistant config version history (rollback lineage included). Pass `version` to fetch one version's full redacted config_snapshot instead of the list. Mirrors GET /api/v1/agents/versions.

NameTypeReqDescription
agent_idstringyesAgent ID (required).
limitintegerMax versions to return when listing (optional, default 50, max 100).
versionintegerFetch a single version by its per-agent version_number, including its redacted config_snapshot (optional; omit to list).
NameTypeReqDescription
agent_idstring
errorstringPresent when success is false
successbooleanyesWhether the tool completed successfully
versionobject|null
versionsarray

No examples provided.

list_conversations ~58

List SMS conversation threads (counterparty timeline metadata) for the authenticated business, most recent first. Mirrors GET /api/v1/sms/conversations.

NameTypeReqDescription
limitintegerMax results to return (default 50, max 100).
NameTypeReqDescription
conversationsarray
errorstringPresent when success is false
has_moreboolean
successbooleanyesWhether the tool completed successfully

No examples provided.

list_evals ~48

List canned mock-conversation eval scenarios for an agent (or all accessible agents). Mirrors GET /api/v1/evals.

NameTypeReqDescription
agent_idstringFilter by agent ID (optional).
NameTypeReqDescription
errorstringPresent when success is false
evalsarray
successbooleanyesWhether the tool completed successfully

No examples provided.

list_knowledge ~75

List agent knowledge base entries for a business. Mirrors GET /api/v1/knowledge.

NameTypeReqDescription
business_idstringBusiness ID (optional only when the token can access exactly one business).
categorystringFilter by category (optional).
querystringFree-text search over title/content (optional).
NameTypeReqDescription
errorstringPresent when success is false
knowledgearray
successbooleanyesWhether the tool completed successfully

No examples provided.

list_leads ~107

List leads for the authenticated business, with optional status/source/agent filters. Includes the latest AI lead score when available.

NameTypeReqDescription
agent_idstringFilter by agent ID (optional)
limitintegerMax results to return (default 50, max 100)
offsetintegerZero-based pagination offset (default 0)
sourcestringFilter by lead source (optional)
statusstringFilter by lead status (optional)
NameTypeReqDescription
countinteger
errorstringPresent when success is false
filtersobject
has_moreboolean
leadsarray
limitinteger
next_offsetinteger|null
offsetinteger
successbooleanyesWhether the tool completed successfully

No examples provided.

list_numbers ~48

List phone numbers owned by the accessible business(es), with capability and compliance flags. Mirrors GET /api/v1/numbers.

NameTypeReqDescription
business_idstringBusiness ID to filter by (optional).
NameTypeReqDescription
errorstringPresent when success is false
numbersarray
successbooleanyesWhether the tool completed successfully

No examples provided.

list_observability_events ~245

List a business-scoped timeline of compact call-runtime events and redacted integration-delivery attempts. Mirrors GET /api/v1/observability-events and uses bounded keyset pagination.

NameTypeReqDescription
business_idstringBusiness ID (optional only when the token can access exactly one business).
call_idstringRuntime-event call UUID filter.
connection_idstringIntegration connection UUID filter.
conversation_idstringRuntime-event filter.
correlation_idstringRuntime-event filter.
cursorstringOpaque next_cursor returned by the previous page.
event_typestringRuntime-event filter.
fromstring
limitinteger
object_idstringIntegration-delivery filter.
object_typestringIntegration-delivery filter.
operationstringIntegration-delivery filter.
outcomestringIntegration-delivery filter.
providerstringIntegration-delivery filter.
severitystringRuntime-event filter.
sourcestringEvent stream to read (default: all).
tostring
NameTypeReqDescription
business_idstring
errorstringPresent when success is false
eventsarray
paginationobject
successbooleanyesWhether the tool completed successfully

No examples provided.

list_overage_charges ~128

List the idempotent overage-minutes ledger from billing_overage_charges (legacy per-minute-overage tiers only — 2026 plans carry no overage). GET /v1/balance/get_balance only returns an aggregate; this returns the underlying per-period ledger rows. Mirrors GET /api/v1/overage-charges.

NameTypeReqDescription
business_idstringBusiness ID (optional only when the token can access exactly one business).
fromstring
limitinteger
statusstring
tostring
NameTypeReqDescription
business_idstring
chargesarray
errorstringPresent when success is false
successbooleanyesWhether the tool completed successfully

No examples provided.

list_products ~88

List a business's agent product catalog. Mirrors GET /api/v1/products.

NameTypeReqDescription
business_idstringBusiness ID (optional only when the token can access exactly one business).
categorystringFilter by category (optional).
inventorybooleanInclude current inventory quantity per product (optional).
querystringFree-text search over name/description (optional).
NameTypeReqDescription
errorstringPresent when success is false
productsarray
successbooleanyesWhether the tool completed successfully

No examples provided.

list_recent_calls ~77

List recent calls for the authenticated business

NameTypeReqDescription
agent_idstringFilter by agent ID (optional)
limitintegerMax results to return (default 20, max 100)
offsetintegerZero-based pagination offset (default 0)
statusstringFilter by status (optional)
NameTypeReqDescription
callsarray
countinteger
errorstringPresent when success is false
filtersobject
has_moreboolean
limitinteger
next_offsetinteger|null
offsetinteger
successbooleanyesWhether the tool completed successfully

No examples provided.

list_rightsize_recommendations ~124

List per-period auto-right-size decisions from plan_rightsize_recommendations, including the dry_run -> notified -> (kept | applied | superseded) lifecycle. Answers "is this business about to get right-sized". Mirrors GET /api/v1/rightsize-recommendations.

NameTypeReqDescription
actionstring
business_idstringBusiness ID (optional only when the token can access exactly one business).
fromstring
limitinteger
statusstring
tostring
NameTypeReqDescription
business_idstring
errorstringPresent when success is false
recommendationsarray
successbooleanyesWhether the tool completed successfully

No examples provided.

list_sms_messages ~93

List recent SMS messages for the authenticated business. Filter by conversation or direction (inbound/outbound).

NameTypeReqDescription
conversation_idstringFilter by conversation ID (optional)
directionstringFilter by direction: inbound or outbound (optional)
limitintegerMax results to return (default 50, max 100)
offsetintegerZero-based pagination offset (default 0)
NameTypeReqDescription
countinteger
errorstringPresent when success is false
filtersobject
has_moreboolean
limitinteger
messagesarray
next_offsetinteger|null
offsetinteger
successbooleanyesWhether the tool completed successfully

No examples provided.

list_subscription_history ~118

List plan/price change history from subscription_change_history — the billing analogue of admin_change_history, written from the Stripe webhook and the right-size apply job. Mirrors GET /api/v1/subscription-history.

NameTypeReqDescription
business_idstringBusiness ID (optional only when the token can access exactly one business).
change_typestring
fromstring
limitinteger
sourcestringe.g. stripe_webhook, rightsize_apply_job.
tostring
NameTypeReqDescription
business_idstring
changesarray
errorstringPresent when success is false
successbooleanyesWhether the tool completed successfully

No examples provided.

list_tool_execution_logs ~185

List per-call Vapi tool execution traces from vapi_tool_execution_logs — outcome, latency, timeout, and a redacted result preview for each routed tool call. Mirrors GET /api/v1/tool-execution-logs. Answers "did this tool call actually work".

NameTypeReqDescription
business_idstringBusiness ID (optional only when the token can access exactly one business).
call_idstringVapi call/conversation id filter.
fromstring
limitinteger
outcome_statusstringOutcome envelope status filter (e.g. success, needs_clarification, unavailable, queued, retryable_delay, hard_failure).
tostring
tool_call_idstringExact tool_call_id filter.
tool_namestringTool name filter (e.g. send_sms).
NameTypeReqDescription
business_idstring
errorstringPresent when success is false
logsarray
successbooleanyesWhether the tool completed successfully

No examples provided.

list_voicemails ~60

List recent voicemails for the authenticated business, including transcripts and recording URLs.

NameTypeReqDescription
limitintegerMax results to return (default 20, max 100)
offsetintegerZero-based pagination offset (default 0)
NameTypeReqDescription
countinteger
errorstringPresent when success is false
has_moreboolean
limitinteger
next_offsetinteger|null
offsetinteger
successbooleanyesWhether the tool completed successfully
voicemailsarray

No examples provided.

list_voices ~102

List the curated, credential-free voice catalog (id, display name, accent, language, gender, sample URL) used to configure agent voices. Mirrors GET /api/v1/voices.

NameTypeReqDescription
genderstringFilter by gender: male or female.
languagestringFilter by language label, e.g. English or Spanish.
providerstringFilter by provider, e.g. vapi, 11labs, or azure.
NameTypeReqDescription
errorstringPresent when success is false
successbooleanyesWhether the tool completed successfully
voicesarray

No examples provided.

list_workflow_templates ~90

List the cadence/campaign workflow templates KaiCalls can run (standard, aggressive, nurture, custom), including each template's retry interval, defaults (call windows, days, attempts), and a ready-to-use cadence_config example. Call this before create_campaign so an external agent can trigger a multi-step sequence with launch=true instead of guessing the cadence_config shape blind. Static catalog — no per-business state.

Input schema present but exposes no named parameters.

NameTypeReqDescription
cadence_config_fieldsarray
defaultsobject
errorstringPresent when success is false
successbooleanyesWhether the tool completed successfully
templatesarray
usagestring

No examples provided.

make_call ~195

Initiate a real outbound phone call via a KaiCalls AI agent. Pass an idempotency_key to make the request safely retryable: a replay with the same key returns the original call instead of dialing again, and the same key with different arguments is rejected.

NameTypeReqDescription
agent_idstringyesKaiCalls agent ID to use for the call
contextstringCall context or reason (optional)
first_messagestringOverride the agent greeting message (optional)
idempotency_keystringClient-chosen key that makes this call exactly-once: retries with the same key never place a second call (optional but recommended)
lead_idstringExisting lead ID to associate (optional)
namestringCaller/lead name (optional)
tostringyesPhone number to call (E.164 format, e.g. +19085551234)
NameTypeReqDescription
callobject
errorstringPresent when success is false
idempotency_keystring
intent_idstring
replayedboolean
successbooleanyesWhether the tool completed successfully

No examples provided.

request_kaicalls_update ~514

Ask the KaiCalls on-behalf update broker to perform a scoped, governed mutation. Supported intents: phone.emergency_address.set, transcripts.sink.configure, agent.patch, numbers.purchase, agent.config.rollback. Prefer update_agent_config for prompt/voice/model edits, configure_agent_business_rules for a single named operational prompt section, upsert_lead for lead create/update, send_sms for outbound texts, configure_staff_alerts for alert recipients/rules, and configure_textable_links for send-link setup. Mutating requests need an idempotency_key; high-risk changes need human authority. The broker returns needs_user_input, needs_approval, pending_approval, executed, denied, or unsupported — never an unaudited side effect.

NameTypeReqDescription
actorobjectWho is asking: { type: agent|human|system|integration, id, display_name }.
authorityobjectHow the change was authorized: { mode: none|agent_asserted|human_confirmed|dashboard_session|system_policy, confirmed_by, confirmed_at, confirmation_ref }. human_confirmed requires all three confirma…
business_idstringBusiness ID. Required when the API key can access multiple businesses.
dry_runbooleanValidate tenant, scope, schema, authority, and policy without executing.
idempotency_keystringRequired for any mutating request. Repeating a key returns the original outcome instead of re-running provider side effects.
intentstringyesUpdate intent: phone.emergency_address.set, transcripts.sink.configure, agent.patch, numbers.purchase, or agent.config.rollback
payloadobjectIntent payload. E911: address + disclosure_acknowledged=true. transcripts: webhook_url + events. agent.patch: name, inbound_prompt, outbound_prompt, sms_prompt, first_message, voice, model, max_durat…
queue_for_approvalbooleanWhen authority is missing, create a pending dashboard approval instead of returning needs_approval.
reasonstringRequired when changing raw vapi_config; recorded in the durable audit.
requesterobjectOptional legacy requester metadata for audit trails (prefer actor).
source_refstringExternal source reference, such as a Discord message or automation run ID.
targetobjectTarget identifiers, e.g. { phone_number } for E911 or { agent_id } for agent.patch.
NameTypeReqDescription
approvalobject|null
business_idstring|null
codestring|null
errorstringPresent when success is false
intentstring|null
messagestring|null
missing_fieldsarray|null
request_idstring|null
resultobject|null
risk_levelstring|null
statusstring
successbooleanyesWhether the tool completed successfully
summaryobject|null

No examples provided.