KaiCalls Agency Program API

The Agency Program API from KaiCalls — 1 operation(s) for agency program.

GitHub OpenAPI

Operations 2

GET /v1/agency-program Read a page of up to 50 accessible firms, launch-pack readiness and 30-day Kai… #
POST /v1/agency-program Preview or apply reviewed CaseEngine firm launch packs in batches of up to 50 #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/kaicalls-com:kaicalls-com-agency-program-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

kaicalls-com-agency-program-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: KaiCalls Public Agency Program API
  version: '2026-06-05'
  description: Machine-readable surface for KaiCalls external developers and client agents.
servers:
- url: https://www.kaicalls.com/api
security:
- bearerAuth: []
tags:
- name: Agency Program
paths:
  /v1/agency-program:
    get:
      summary: Read a page of up to 50 accessible firms, launch-pack readiness and 30-day Kai…
      description: Requires membership in every returned firm. Saved source preferences do not establish connector readiness. Training completion is separate from tested customer-route coverage. Also accepts authenticated dashboard sessions.
      parameters:
      - in: query
        name: after
        schema:
          type: string
          format: uuid
        description: Exclusive business-id cursor from nextCursor.
      responses:
        '200':
          description: Firms, source-specific module evidence, review drafts, report scope and nextCursor.
        '401':
          description: Authentication required.
        '403':
          description: Missing scope or membership.
        '503':
          description: Program evidence unavailable.
      x-required-scopes:
        allOf:
        - workspaces:read
        - calls:read
        - leads:read
        - emails:read
      tags:
      - Agency Program
      operationId: getV1AgencyProgram
      x-operation-id-source: derived
    post:
      summary: Preview or apply reviewed CaseEngine firm launch packs in batches of up to 50
      description: Admin membership and workspaces:write + agents:write are required. Each firm commits atomically and replays safely. Applies quiet hours and detection, persists approved training signals and queues synthesis. Sends no messages and changes no live routing, billing, source integrations or campaign approvals.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - action
              - entries
              additionalProperties: false
              properties:
                action:
                  type: string
                  enum:
                  - preview
                  - apply
                approved:
                  type: boolean
                  description: Must be true for apply after reviewing all firm facts.
                entries:
                  type: array
                  minItems: 1
                  maxItems: 50
                  items:
                    type: object
                    required:
                    - businessId
                    - expectedRevision
                    - profile
                    additionalProperties: false
                    properties:
                      businessId:
                        type: string
                        format: uuid
                      expectedRevision:
                        type: string
                        nullable: true
                        description: Current revision, or null for a firm without a launch pack.
                      profile:
                        type: object
                        required:
                        - timezone
                        - practiceAreas
                        - serviceArea
                        - hours
                        - intakeInstructions
                        - dni
                        - lsa
                        - reviewUrl
                        additionalProperties: false
                        properties:
                          timezone:
                            type: string
                          practiceAreas:
                            type: array
                            minItems: 1
                            maxItems: 20
                            items:
                              type: string
                          serviceArea:
                            type: string
                            maxLength: 500
                          hours:
                            type: string
                            maxLength: 1000
                          intakeInstructions:
                            type: string
                            maxLength: 3000
                          dni:
                            type: string
                            enum:
                            - callrail
                            - kai
                            - other
                            - none
                          lsa:
                            type: string
                            enum:
                            - google_lsa
                            - lsa_commander
                            - none
                          reviewUrl:
                            type: string
                            description: Public HTTPS review link, or empty string.
      responses:
        '200':
          description: Preview changes or per-firm applied/replayed/blocked/conflict/failed results. Inspect every outcome before retrying.
        '400':
          description: Invalid launch pack or approval missing.
        '401':
          description: Authentication required.
        '403':
          description: Missing scope or admin membership.
        '413':
          description: Body too large.
      x-required-scopes:
        allOf:
        - workspaces:write
        - agents:write
      tags:
      - Agency Program
      operationId: postV1AgencyProgram
      x-operation-id-source: derived
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'KaiCalls API key. Per-operation scope requirements are published on each operation as `x-required-scopes` — a scope string, or a nested `{ allOf: [...] }` / `{ anyOf: [...] }` expression. An operation with no `x-required-scopes` requires a valid key but no particular scope.'
      x-scopes:
      - workspaces:read
      - workspaces:write
      - numbers:read
      - numbers:write
      - agents:read
      - agents:write
      - communication-runs:read
      - communication-runs:write
      - calls:read
      - calls:write
      - sms:read
      - sms:write
      - webhooks:read
      - webhooks:write
      - events:read
      - events:replay
      - lifecycle:write
      - leads:read
      - leads:write
      - emails:read
      - emails:write
      - sdr:read
      - sdr:write
      - evals:read
      - evals:write
      - appointments:read
      - appointments:write
      - knowledge:read
      - knowledge:write
      - products:read
      - products:write
      - integrations:write
      - approvals:write
      - concierge:write
      - billing:read
      - billing:write
      - call_evidence:read
      - call_evidence:write
      - support:write
    sessionAuth:
      type: apiKey
      in: cookie
      name: sb-access-token
      description: Authenticated dashboard session cookie. Used by first-party flows that mint or manage API keys.