---
title: "Kitbase developer resources — API, OpenAPI spec, MCP server, CLI, SDKs"
description: "Everything a developer or an AI agent needs to integrate with Kitbase: REST API reference, OpenAPI specification, authentication and API keys, error model, rate limits, webhooks, the hosted MCP server and its server card, the Kitbase CLI on npm, and the JavaScript, React and Angular SDKs."
canonical: https://kitbase.dev/developers
---

Developers

# Kitbase developer resources

The REST API and its OpenAPI specification, authentication, errors and rate limits, webhooks, the hosted MCP server, the CLI and the SDKs — at predictable URLs, for people and for agents.

[/openapi.json](/openapi.json) [api.kitbase.dev/mcp](https://api.kitbase.dev/mcp) [/llms.txt](/llms.txt) [/.well-known/ai-catalog.json](/.well-known/ai-catalog.json)

## REST API

### [Kitbase API reference](https://docs.kitbase.dev/api-reference)

Endpoints with curl examples: events, identify, server-side crawler ingestion, status codes and rate limits.

docs.kitbase.dev/api-reference

[Open →](https://docs.kitbase.dev/api-reference)

### [Kitbase OpenAPI specification](/openapi.json)

OpenAPI 3.0 document for the public surface — every operation with an operationId, description, typed parameters, response schemas and a typed error model. Also as YAML.

kitbase.dev/openapi.json · api.kitbase.dev/openapi.json

[Open →](/openapi.json) · [openapi.yaml](/openapi.yaml)

### [Authentication & API keys](https://docs.kitbase.dev/api-reference#authentication)

Private API keys (sk\_kitbase\_…) via Authorization: Bearer or X-API-Key, SDK keys (pk\_kitbase\_…) for ingestion, user sessions for the dashboard and CLI. Keys carry the permissions of the user who created them, scoped to one project.

docs.kitbase.dev/api-reference#authentication

[Open →](https://docs.kitbase.dev/api-reference#authentication)

### [Errors, rate limits, versioning](https://docs.kitbase.dev/api-reference#http-status-codes)

One JSON error envelope with a stable machine-readable code, RateLimit / X-RateLimit headers on every response, Retry-After on 429, and a deprecation policy with Deprecation + Sunset headers.

docs.kitbase.dev/api-reference#http-status-codes

[Open →](https://docs.kitbase.dev/api-reference#http-status-codes)

### [Webhooks](https://docs.kitbase.dev/cli#commands)

Subscribe to every system event with HMAC-signed HTTP callbacks (X-Webhook-Signature); manage subscriptions from the dashboard, the CLI (kitbase webhooks) or the Webhooks operations in the OpenAPI spec.

kitbase webhooks · openapi.json → Webhooks

[Open →](https://docs.kitbase.dev/cli#commands)

## Agents

### [Kitbase MCP server](https://docs.kitbase.dev/sdks/mcp)

Hosted Model Context Protocol server (Streamable HTTP) at api.kitbase.dev/mcp. OAuth 2.1 with PKCE for claude.ai and Claude Desktop, or a private API key for headless clients. 180 tools for querying and managing a project.

https://api.kitbase.dev/mcp

[Open →](https://docs.kitbase.dev/sdks/mcp)

### [MCP server card & catalog](https://api.kitbase.dev/mcp/server-card)

Machine-readable connection details for the MCP server (application/mcp-server-card+json), advertised in /.well-known/ai-catalog.json on this domain.

api.kitbase.dev/mcp/server-card · kitbase.dev/.well-known/ai-catalog.json

[Open →](https://api.kitbase.dev/mcp/server-card) · [ai-catalog.json](/.well-known/ai-catalog.json)

### [llms.txt & Markdown pages](/llms.txt)

An llms.txt index for this site and one for the docs. Every page on kitbase.dev is served as Markdown when you send Accept: text/markdown (or append .md to the URL); docs pages have .md twins too, and llms-full.txt is the whole documentation in one file.

kitbase.dev/llms.txt · docs.kitbase.dev/llms.txt · docs.kitbase.dev/llms-full.txt

[Open →](/llms.txt) · [docs llms.txt](https://docs.kitbase.dev/llms.txt)

### [Kitbase project assistant](https://docs.kitbase.dev/guide/assistant)

Ask about a project in plain language from the dashboard (or Slack); it reads data through the same tools the MCP server exposes, with the same permission checks.

docs.kitbase.dev/guide/assistant

[Open →](https://docs.kitbase.dev/guide/assistant)

## Tooling & SDKs

### [Kitbase CLI (@kitbase/cli)](https://docs.kitbase.dev/cli)

npm install -g @kitbase/cli. Browser-based login or API-key auth, --json output for scripting, and a command for every public API operation.

npmjs.com/package/@kitbase/cli

[Open →](https://docs.kitbase.dev/cli) · [npm](https://www.npmjs.com/package/@kitbase/cli)

### [JavaScript / TypeScript SDK](https://docs.kitbase.dev/sdks/javascript)

@kitbase/analytics — pageviews, custom events, identify, sessions and feature flags for browsers and Node.js.

npmjs.com/package/@kitbase/analytics

[Open →](https://docs.kitbase.dev/sdks/javascript) · [npm](https://www.npmjs.com/package/@kitbase/analytics)

### [React & Angular integrations](https://docs.kitbase.dev/sdks/react)

@kitbase/analytics-react and @kitbase/analytics-angular wrap the core SDK with providers, hooks and services.

docs.kitbase.dev/sdks/react · docs.kitbase.dev/sdks/angular

[Open →](https://docs.kitbase.dev/sdks/react) · [Angular](https://docs.kitbase.dev/sdks/angular)

### [Tracking script](https://docs.kitbase.dev/tracking-script)

One script tag from kitbase.dev/lite.js, ~3 KB gzipped, no build step, cookie-free.

docs.kitbase.dev/tracking-script

[Open →](https://docs.kitbase.dev/tracking-script)

### [Self-hosting & open source](https://docs.kitbase.dev/self-hosting)

Run Kitbase yourself with Docker Compose, or read the SDK source on GitHub. Open-source projects get Kitbase free.

github.com/scr2em/kitbase-sdk

[Open →](https://docs.kitbase.dev/self-hosting) · [GitHub](https://github.com/scr2em/kitbase-sdk)

## Conventions you can rely on

-   **Base URL.** `https://api.kitbase.dev`; ingestion also answers on `https://ingest.kitbase.dev`. The public surface is version 1 and path-stable; breaking changes ship under a new prefix.
-   **One error shape.** Every non-2xx response is `{ error: { code, message, details }, timestamp }` with a stable, machine-readable `code` (`AUTH_003`, `PERM_001`, …).
-   **Rate limits you can read.** `RateLimit-Policy`, `RateLimit` and `X-RateLimit-*` on every response, `Retry-After` on a 429.
-   **Deprecation you can see coming.** An operation marked `deprecated: true` in the spec sends `Deprecation`, `Sunset` and a `Link rel="deprecation"` header for at least 90 days before removal.
-   **Markdown on request.** Send `Accept: text/markdown` to any page on kitbase.dev, or append `.md` (docs.kitbase.dev pages have `.md` twins as well). Unknown URLs return a real `404` — as Markdown, with links to recover from, if that is what you asked for.
