Developers

Build on your help center

A REST API, signed webhooks, an MCP server and a Claude Code plugin. Draft, version and publish your docs from code, or hand the drafting to an agent.

articles.ts
const res = await fetch("https://api.sapanbase.com/v1/articles?limit=20", {
  headers: { Authorization: `Bearer ${key}` }
});

const { data, nextCursor } = await res.json();
// pass nextCursor back to fetch the next page
Quickstart

Up and running in three steps

01

Create a scoped key

Keys are scoped to a single knowledge base, so each integration only sees what it needs.

# Settings → API keys
SAPANBASE_KEY=your-key
02

Embed the widget

Add the script to your site or app, then initialise it with your company ID.

<script src="https://app.sapanbase.com/widget.js"></script>
SapanBase.init({ companyId });
03

Connect your agent

Add the MCP server to Claude Code, or install the plugin.

$ claude mcp add --transport http \
  sapanbase https://mcp.sapanbase.com
Surfaces

Build it your way

Pick the surface that fits the job, or use them together.

REST API

api.sapanbase.com/v1 with cursor pagination and granular, per-knowledge-base scoped keys.

Webhooks

HMAC-signed, automatically retried events to keep your systems in lockstep.

Explore →

MCP server

Four tools over streamable HTTP with OAuth 2.1. Search published docs and write drafts.

Explore →

Claude Code plugin

Draft and update articles from your terminal. Point it at a PR and it writes the doc.

Explore →

Versioned API docs

Import your OpenAPI file and get a hosted reference. Old versions stay published.

User identity

Sign the user with an HMAC so the widget knows who is asking.

Webhooks

Events you can trust

Subscribe to events and keep your systems in lockstep. Every webhook is HMAC-signed so you can verify it came from SapanBase, and failed deliveries are retried automatically.

webhook
# Events
article.published      article.updated
article.feedback       support_request.created
support_request.updated

# Every delivery is signed
X-SapanBase-Signature: <hex HMAC-SHA256>
X-SapanBase-Timestamp: <unix seconds>
X-SapanBase-Event-Id: <id for idempotency>
Human in the loop

Agents draft. People publish.

Whatever an agent writes lands as a draft for you to review. Nothing goes live on its own.

  • Write tools only ever create drafts
  • Review, edit, publish or discard, like any other draft
  • Scoped per knowledge base, so an agent only sees what you grant
Via the MCP serverAgent
Search published docs
Draft articles, changelog entries and doc updates
Publish—
Delete—
SapanCal APIv1 (stable)
EVENTSCreate eventList eventsUpdate event
POST /v1/events

Creates an event on a connected calendar.

Versioned by default

Ship v2 without stranding v1

Import your OpenAPI file and get a hosted reference with parameters, schemas and code samples. Maintain draft, beta, stable and deprecated versions, with a public version switcher and a changelog per version.

FAQ

Developer questions

Hosted for you. Import your OpenAPI spec and SapanBase generates a versioned reference with parameters, schemas and code samples. Old versions stay published when a new one ships.
The REST API lives at api.sapanbase.com/v1, uses cursor pagination, and issues granular API keys scoped to a single knowledge base.
Any client that speaks MCP over streamable HTTP, including Claude Code and agents you build yourself. The server uses OAuth 2.1, and its write tools only ever create drafts.
Yes. Webhooks are HMAC-signed so you can verify they came from SapanBase, and failed deliveries are retried automatically.

Ship docs like you ship code.

Join the beta, get an API key and connect your first agent. Free for 14 days.

Private beta · Free for 14 days · New spots every week