Introduction
What Atrix Analytics is, how it is laid out, and where to start.
Atrix Analytics is product analytics, session replay, feature flags and experiments, and an AI analyst. Your data stays in the region you pick for each project, and it is billed on one meter: events.
Getting started
Sign up, create a project, send your first event. About five minutes.
SDKs
Web, React, React Native / Expo, Node, Python, Go, and native iOS and Android replay.
MCP
Connect Claude Code or any MCP client over OAuth and ask your analytics questions.
REST API
Scoped tokens, dry runs, idempotency keys, and an OpenAPI document.
How it is laid out
Atrix has one control plane and one data plane per region.
- The control plane holds accounts, organisations, projects, keys, tokens, billing and configuration
(insight, dashboard, flag and experiment definitions). It lives at
app.analytics.atrix.dev. - Each data plane receives, stores and queries the events of the projects in its region. Your end users' data, and everything derived from it (persons, identity graphs, replays, AI answers), never leaves that region. Queries go from your browser straight to the region with a short-lived token, so results do not pass through the control plane either.
| Host | What it serves |
|---|---|
app.analytics.atrix.dev | The console, the control-plane API (/app, /v1, /oauth) and /openapi.json |
eu.i.analytics.atrix.dev | Ingest for the EU region: events (/e), replay (/r), revenue webhooks (/wh), flags (/flags) |
eu.api.analytics.atrix.dev | The EU region API: queries, SQL, persons, replays, Ask |
mcp.analytics.atrix.dev | The hosted MCP server (/mcp) |
The EU region is live. UAE, US and Pakistan use the same design and open as their in-country infrastructure is ready; see Data residency.
Keys and environments
Each project has three environments, production, preview and development, and a public key for each:
atx_pk_<region>_<environment>_<22 characters>
atx_pk_eu_production_4Qm1c9Zt0bXk2LrV8sYwAaA public key can only write events. It is safe to ship in a web page or an app. The SDKs read the region out of the key and send to the matching ingest host, so you never configure a URL unless you proxy.
Secret credentials are separate and never go in client code:
| Prefix | What it is | Where it comes from |
|---|---|---|
atx_pat_ | Personal access token for the REST API | Console → Settings → Tokens |
atx_oat_ | OAuth access token (MCP clients, apps) | The OAuth flow, see MCP |
atx_svc_ | Flags secret key for local flag evaluation | Console → Flags → Secret keys |
Conventions you will meet everywhere
- Money is integer minor units plus an ISO 4217 currency. AED 19.99 is
{ amount: 1999, currency: "AED" }. - Every event carries a UUIDv7 made on the client. Retries resend the same id, and ingest drops duplicates.
- IP addresses are never stored. Ingest looks up the location and then discards the address.
- Another tenant's resource answers 404, never 403. A 403 means you are in the right organisation but lack a role or scope.