How do you get the file?

Download it with any HTTP client. It’s served as JSON, with Cache-Control: no-store, so you always get the current version, and there’s no YAML copy.

The file has no servers entry, so set the base URL in your tool to https://app.kawlnow.com. The paths already start with /api/manage.

Download the file
curl -o kawlnow-openapi.json 'https://app.kawlnow.com/api/openapi'

What does the file contain?

It has four parts:

  • info: the title, version 0.2.0 and a description of how tokens and approval work.
  • security: one scheme, workspaceToken, an HTTP bearer token applied to every operation.
  • components.schemas: Error, which is {"error": string}, AgentSettings with every setting and its limits, Source and Conversation.
  • paths: each operation with a summary, its request body schema and its documented responses. Website import is marked as unavailable.
List the operations with jq
curl -s 'https://app.kawlnow.com/api/openapi' \
  | jq -r '.paths | to_entries[] | .key as $p | .value | to_entries[]
    | select(.key != "parameters") | "\(.key | ascii_upcase) \($p)"'
Output on 8 October 2026
GET /api/manage/insights
GET /api/manage/workspace
PATCH /api/manage/settings
PATCH /api/manage/sales-settings
POST /api/manage/sources
GET /api/manage/sources/{id}
PATCH /api/manage/sources/{id}
DELETE /api/manage/sources/{id}
POST /api/manage/github
POST /api/manage/website
GET /api/manage/conversations/{id}
POST /api/manage/keys
DELETE /api/manage/keys/{id}
POST /api/manage/notifications/test

Where does the file differ from the live API?

Write your code against these details, which the file leaves out or could make you miss:

  • PATCH and DELETE on /api/manage/sources/{id} return 404 when the id isn’t in your workspace, but the file doesn’t list 404 for them.
  • An endpoint that takes a body returns 413 for one over 150,000 bytes, and any endpoint can return 500 for an unexpected error. The file lists neither.
  • The workspace response, the saved settings and the insights report are typed only as object. The workspace and conversations references explain their fields.
  • Source.approved and Conversation.finalized are 0 or 1, while PATCH /api/manage/sources/{id} takes approved as true or false.
  • The Conversation schema has no is_test. That flag appears only in the conversation list inside the workspace response.
  • AgentSettings lists humanNumber, which customer workspaces can’t set because team numbers are verified in the dashboard, and escalationEnabled, which turns on human handover, an early release, once that agent’s number is verified. Before then, turning it on returns 403.
  • The MCP server isn’t in the file, because MCP clients read its tools from the server, and its version, 0.1.0, is separate from the file’s.

How do you use it with your own tools?

Import the file into an API client to browse the operations and send test requests, with your token set as a bearer token in the client’s auth settings, never in the file. A code generator that reads OpenAPI 3.1 can build a typed client from it, although none has been tested and there’s no official SDK.

A coding agent given the file writes requests against the real paths and fields instead of guessing. If an operation you need isn’t in it, such as starting a call or registering a webhook, it doesn’t exist yet.