The platform exposes 388 route handlers under /api. That number is
derived from the repository at build time, not maintained by hand: if
it is wrong here, the build fails.
Most of those are internal to the dashboard. What follows is the part you would integrate against.
Three doors, three jobs
| Door | For | Auth |
|---|---|---|
| Remote MCP server | Giving an AI client tool access to a store. | OAuth 2.1 PKCE, or a bst_mcp_ bearer. |
| Intelligence API | Reading store-intelligence records programmatically. | bei_ key, read-only. |
| Webhooks | Receiving events from Stripe, Shopify and Resend. | Signature verification, per provider. |
Pick by what you are building. An AI client that should act on a store takes the MCP server. A script that should read intelligence takes the Intelligence API. There is no general-purpose REST API for store mutation — that surface is the MCP server, deliberately, because every tool there carries a scope check.
Versioning — read this before you build
Being precise, because this page previously was not:
- There is no API version header. Nothing in the platform reads one. Do not send one and do not build around one.
- The MCP endpoint has two paths. The original
/api/mcp/<storeId>shipped unversioned and installed clients hold it in their config, so it stays exactly as it is, indefinitely. New connections should use/api/mcp/v1/<storeId>. - Those two paths are one endpoint with two names: the same handlers, and a token minted through either works on either.
- There is no published deprecation window, because nothing has been deprecated yet. When something is, the policy will be written here before the deprecation, not after.
Rate limits
Limits are counted per credential rather than per IP address, which matters if you are calling from a serverless platform where the address changes between invocations.
Errors
| Code | Means |
|---|---|
| 401 | Missing, malformed or revoked credential. |
| 402 | Estimated cost exceeds the organisation's credit balance. |
| 403 | Authenticated, but the scope or membership does not allow it. |
| 404 | Also returned when a resource exists but is not yours. |
That last row is intentional: a tenant-scoped miss answers 404, not
403, so the API never confirms that someone else's resource exists.
Next
- Authentication — the credential families and which to use.
- MCP server — the endpoint and its tools.
- Webhooks — the seven endpoints.