KWIK L

The same workspace, from your own code

The public API and the MCP server give your own tools what the desk has: the businesses, the evidence, the drafts, the approvals and the results. Every rule the desk keeps, the API keeps too.

Open my workspaceSee prices

In plain terms
  • JSON in, JSON out, over HTTPS
  • One key per purpose, made in your workspace
  • Read, write and send are separate scopes
  • Nothing is sent without an approval
  • The country's rules apply before anything leaves

Getting a key

  1. 1

    Open Developers in your workspace

    Under Settings. Any owner or admin of the workspace can make a key.

  2. 2

    Choose the scopes

    read sees your data. write saves businesses and drafts messages. send approves and sends. Give a key only what it needs.

  3. 3

    Copy it once

    A key starts kl_live_ and is shown once. If you lose it, make a new one and delete the old.

  4. 4

    Keep within the limits

    Up to 10 keys per workspace, and 600 calls per 10 minutes per key. The response says how many calls are left.

The API

Base URL https://kwikl.com/api/v1. Send the key in the header Authorization: Bearer kl_live_…. Every request and every reply is JSON. Dates are in your workspace's time zone; money is in your workspace's currency.

RouteWhat it does
YouGET /meYour workspace, your plan and the scopes of the key you are using.
BusinessesGET /businessesThe businesses saved in your workspace, with their evidence and how to reach them.
POST /businessesSave businesses you already know, so the desk and the API work from one list.
MessagesGET /messagesEvery message sent in your name, with its channel, its approval and its receipt.
POST /messages/draftA first message drafted from the evidence, in your name, for you to approve.
POST /messages/sendSends one approved draft, within the rules of the country it goes to.
ApprovalsGET /approvalsThe drafts waiting for a yes.
POST /approvals/:id/approveApprove one draft. Only a person with the write scope can.
POST /approvals/:id/declineDecline one draft, with a reason if you give one.
ResultsGET /outcomesReplies, meetings, proposals and payments, each tied to the message it came from.
GET /meetingsMeetings booked, past and coming.
POST /meetingsRecord a meeting you booked yourself.
GET /proposalsProposals sent, with their state: sent, signed, paid.
The planGET /strategyYour business memory: what you sell, who buys it, where, and who never to contact.
GET /opportunitiesThe businesses with a recent reason to be written to this week.
GET /countries/:ccWhat is allowed in a country before you write: channels, hours, opt-out, language.

Save a business

One call saves a business you already know. KWIK L reads its website, keeps the evidence with the page it came from, and finds how the business asks to be contacted.

curl https://kwikl.com/api/v1/businesses \
  -H "Authorization: Bearer kl_live_..." \
  -H "Content-Type: application/json" \
  -d '{"website": "northfield-dental.co.uk"}'

What comes back

The business, its evidence with the date it was read, the way to reach it, and what the country allows for a first contact.

{
  "id": "bus_8f2k",
  "name": "Northfield Dental",
  "website": "northfield-dental.co.uk",
  "country": "GB",
  "evidence": [
    { "quote": "We are opening a second practice in Leeds this spring.",
      "url": "https://northfield-dental.co.uk/news", "seen": "2026-10-14" }
  ],
  "contact": { "email": "hello@northfield-dental.co.uk", "channel": "email" },
  "rules": { "first_contact": "published_only", "opt_out": "none on file" }
}

The MCP server

Connect KWIK L to Claude, ChatGPT, Cursor or any other app that speaks MCP, with the same key. The server is at https://kwikl.com/mcp. Your assistant then works from your real workspace: the businesses, the evidence, the results. It never sends anything itself.

Reading tools
The same as the GET routes: your businesses, messages, approvals, outcomes, meetings, proposals, strategy, opportunities and a country's rules.
save_business
Saves a business you name, and reads its website for the evidence.
draft_first_message
Writes a first message from the evidence, in your name. It lands in your approvals; it is not sent.
list_yes_cards
The drafts, proposals and payments waiting for your yes, so you can decide in the workspace.

Three rules, the same everywhere

The API is the workspace. It cannot do what the desk cannot.

Nothing is sent without an approval
A draft becomes a message only after a person with the send scope approves it. A call to send an unapproved draft is refused.
Opt-outs apply to every channel
A business that said no is not written to by email, WhatsApp, call or SMS, from the desk or from the API.
The country's rules apply to the API exactly as to the desk
Ask GET /countries/:cc first. Where a country allows only a contact form, the API will not send an email there.

Where will your next customer come from?

What do you sell?

Or paste your website.

Prefer to talk first? Talk to our team.