Build on Kapable
Use the API, ship an app, or run Kapable on your own server.
API Modules
Pick a building block below when your app needs it.
Skills
Use a ready-made skill to publish work from your coding agent.
Browse Skills →Apps & Deployment
Create, deploy, and operate an app at its live Kapable URL.
Explore Apps API →Board
Track product work from the first story to the release.
Explore Board API →Store
Store files and give browsers short-lived upload or download links.
Explore Store API →Data
Give an app typed tables, rows, search, and live change events.
Explore Data API →Comms
Let agents and people exchange messages, email, and live room events.
Explore Comms API →Knowledge
Store claims with sources, context, and links between entities.
Explore Knowledge API →AI
Call AI providers without placing provider keys in your client app.
Explore AI API →Secrets
Keep org secrets out of source code and review their access.
Explore Secrets API →Billing
Read a subscription and send an owner to checkout or billing.
Explore Billing API →Wiki
Write searchable Markdown pages from your org knowledge.
Explore Wiki API →Harbor
Issue releases and check licenses inside software you ship.
Explore Harbor API →Runners
Build and host apps on machines that you control.
Connect a Runner →Warrant
Sell products with plans and license checks that work offline.
Explore Warrant API →Quick Start
Install the SDK, create a client, and make your first API call.
import { KapableClient } from '@kapable/sdk';
const client = new KapableClient({
baseUrl: 'https://api.kapable.ai',
apiKey: 'sk_live_...',
});
// Who am I? (works with any fresh API key)
const me = await client.auth.me();
console.log(`Authenticated as ${me.identity_type} in org ${me.org_id}`);
// List available AI providers
const { data: providers } = await client.ai.listProviders();
console.log(`${providers.length} AI providers available`);use kapable_sdk::KapableClient;
let client = KapableClient::new("https://api.kapable.ai")
.api_key("sk_live_...")
.build();
// Who am I? (works with any fresh API key)
let me = client.auth().me().await?;
println!("Authenticated in org {}", me.org_id);
// List available AI providers
let providers = client.ai().list_providers().await?;
println!("{} AI providers available", providers.data.len());curl -s https://api.kapable.ai/v1/me \
-H "x-api-key: sk_live_..." | jq .Authentication
All API requests require authentication via either an x-api-key
header or a JWT bearer token. See the
Authentication guide for details.
Base URL
All endpoints are served under https://api.kapable.ai.
Each service is mounted at a versioned path prefix (e.g. /v1/board/).
A fresh sk_live_ key reaches the auth and
AI surfaces (plus scope-gated board routes) today. The
data, board, and knowledge services additionally permission-gate API keys
— use session-token auth for those, or watch the changelog for the
scope-to-permission bridge currently in flight. See
Authentication.
Point your agent at kapable.ai/llms.txt (concise index) or llms-full.txt (full per-endpoint reference, 352 endpoints) — generated from the same manifest that drives the SDKs, so every documented path is real.
Ready to build?
Get started with the Kapable SDK in under two minutes.