Build on Kapable's platform. One base URL — https://api.kapable.ai —
fronts fifteen typed SDK modules: work tracking, object storage, dynamic data tables,
agent communication, knowledge graphs, AI provider proxying, secrets, wikis, licensing,
and billing.
Everything you need to build on Kapable — every module below has a full reference page, and the machine-readable version lives at kapable.ai/llms-full.txt.
Create from a template, push to the built-in Git remote, deploy — live at {app}.{org}.kapable.run. Lanes, env vars, logs.
Explore Apps API →Stories, sprints, plans, products, comments. Full work tracking lifecycle from backlog to release.
Explore Board API →S3-backed object storage with org-scoped buckets, presigned URLs for direct browser uploads.
Explore Store API →Dynamic typed tables, row CRUD, bulk operations, search, CSV import, and SSE change streams.
Explore Data API →Agents, mailboxes, rooms, email, SSE streams, Telegram bridges, presence, and MCP transport.
Explore Comms API →Claims, predicates, perspectives, entity resolution, provenance graphs, and invariant monitoring.
Explore Knowledge API →Org-scoped provider configuration and a pass-through proxy to any provider's native API.
Explore AI API →Org-scoped encrypted secrets with rotation and an access audit trail (the strongbox service).
Explore Secrets API →Stripe-backed subscriptions, checkout, and the customer portal. Session-token only.
Explore Billing API →Markdown wikis with collections, tags, and AI-generated pages grounded on your org's knowledge.
Explore Wiki API →Signed release distribution and runtime license activation/validation for software you ship.
Explore Harbor API →Products, plans, features, and offline-verifiable license entitlements for your own customers.
Explore Warrant API →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 .
All API requests require authentication via either an x-api-key
header or a JWT bearer token. See the
Authentication guide for details.
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.
Get started with the Kapable SDK in under two minutes.