> ## Documentation Index
> Fetch the complete documentation index at: https://docs.clickbase.so/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> The Clickbase REST API is the HTTP twin of the MCP connectors.

The Clickbase REST API is the HTTP twin of the [MCP connectors](/ai/overview). It lets you manage your team's sites, goals and funnels, read every analytics report the dashboard shows, and mint API tokens — programmatically, over plain JSON on the root domain (`https://clickbase.so/api`). Every surface (the web app, this REST API, and the MCP connectors) calls the exact same server-side Actions and serializes through the same Eloquent API Resources, so a number you read here is always the same number the dashboard shows.

## Getting started

* [Authentication](/api/authentication) — Passport bearer tokens, team binding, the subscription requirement, and failure modes.
* [Conventions](/api/conventions) — the cross-cutting contract: base URL, headers, the response envelope, pagination, money, date ranges, filters, and status codes. **Read this first.**
* [Tokens](/api/tokens) — create, list, and revoke API tokens over the API.

## Sites & configuration

* [Sites](/api/sites) — list, create, configure (domain, timezone, currency, KPI, sharing, tracking mode), and delete sites.
* [Tracking config](/api/tracking-config) — the public remote config the browser tracker fetches before its first pageview.

## Goals & funnels

* [Goals](/api/goals) — the goals defined on a site (page, event, scroll, and autocapture types).
* [Funnels](/api/funnels) — ordered sequences of 2–8 goals.

## Analytics & reporting

* [Analytics](/api/analytics) — topline stats: timeseries, breakdowns, goal and funnel stats, journeys, and dimension drill-downs.
* [Sessions](/api/sessions) — the visitor sessions list and a single session's timeline.
* [Events](/api/events) — the raw custom-events log, its chart, and property breakdowns.
* [Errors](/api/errors) — the error report: ranked messages, a single error's detail, its chart, and its events.
* [Realtime](/api/realtime) — the live "right now" feeds: current visitors, activity, and source domains.
* [People](/api/people) — identified users and a single user's profile.
* [Session replay](/api/session-replay) — the replay sessions list and hydrated rrweb events for one session.

## Revenue

* [Revenue](/api/revenue) — MRR, LTV, subscriber growth, and breakdowns by channel, source, campaign, payment, and subscription.
* [Stripe](/api/stripe) — connect, configure, and sync a site's Stripe integration.

## More

* [Annotations](/api/annotations) — chart annotations on a site.
* [Segments](/api/segments) — saved dashboard filter segments on a site.
* [Search Console](/api/search-console) — Google Search Console keyword data.
* [Tracking](/api/tracking) — the public ingestion beacons (`/api/collect`, `/api/event`, `/api/identify`) and the Payments API.

## MCP connectors

Every reporting and management Action above is also exposed as an [MCP connector](/ai/overview) — same tokens, same behavior. See the [reader tools](/ai/reader) and [writer tools](/ai/writer).

## At a glance

**Authentication.** The data endpoints use Passport OAuth bearer tokens, scoped to the token's team. Send `Authorization: Bearer {token}` on every request. The team must have an active subscription, or the request returns `402 Payment Required`. See [Authentication](/api/authentication).

**Response shape.** Responses are unwrapped (`JsonResource::withoutWrapping()`): a single resource serializes flat, a non-paginated collection is a flat array, and only **paginated list endpoints** keep the `data` / `meta` / `links` envelope — the goals, sessions, events, page-titles, site-users, errors, error-events, and session-replays lists. See [Conventions](/api/conventions) for the full list and the pagination params.

**Rate limiting.** The authenticated data group is limited to **60 requests per minute**; exceeding it returns `429 Too Many Requests`. The tracking ingestion and Stripe webhook endpoints have their own, separate limits.
