Developers

Kweko API

Read and change leads, contacts, conversations and tasks from your own systems, get webhooks when things happen, and build apps that live inside Kweko.

Quick start

You need a Kweko workspace and the owner or admin role in it.

  1. In Kweko, open Settings → Developers and create an API key. Give it a name, pick the scopes it needs (for this guide: leads:write, which includes leads:read, and contacts:write) and an expiry. Kweko shows the key once: copy it now. It starts with kwk_live_.
  2. Keep the key on your server. It is a password to the workspace's data: never put it in a browser, a mobile app or a URL.
  3. Make your first request. whoami answers with the key's name, scopes and workspace:
Request
curl https://api.kweko.uz/v1/api-keys/whoami \
  -H "Authorization: Bearer $KWEKO_API_KEY"
Response
{
  "object": "api_key",
  "id": "key_01j8z6q3m7e2x9c4v5b6n7p8r0",
  "name": "Website form",
  "scopes": ["contacts:write", "leads:write"],
  "workspace": { "id": "ws_01j8z5w2k4h6j8m0n2p4r6t8v0", "slug": "acme" }
}
  1. Create a lead. Without pipeline_id or stage_id it lands in the first stage of the workspace's first pipeline, a contact object creates the contact with it, and amount is in the currency's smallest unit (tiyin for UZS):
Request
curl https://api.kweko.uz/v1/leads \
  -H "Authorization: Bearer $KWEKO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Website order #1042", "amount": 150000000, "source": "website",
       "contact": {"name": "Dilnoza Karimova", "phone": "+998 90 123 45 67"}}'

The answer is 201 Created with the full lead. See Leads for every field.

  1. List leads, newest first. Follow next_cursor to get the next page:
Request
curl "https://api.kweko.uz/v1/leads?limit=50" \
  -H "Authorization: Bearer $KWEKO_API_KEY"

What to read next

Base URL and versions

Every endpoint lives under https://api.kweko.uz/v1. The version is part of the path; v1 is the only version. Changes that could break an integration will come as a new version, announced in the changelog. New fields, new endpoints and new event types can appear in v1 at any time, so ignore fields you do not know.

The API speaks JSON over HTTPS only. There is no official client library yet; any HTTP client works.