# Developers overview > The Flax programmatic surface — a REST API, an MCP server, and embedding — for building on top of your warehouse-native BI *[View this page in the Flax docs](https://flax-analytics.com/docs/developers/overview)* Flax exposes everything the app does through a programmatic surface, so you can automate modelling, run queries, build charts and dashboards, and embed them in your own products. This section is for developers and platform teams. ## The three surfaces - **REST API** — the foundation. Every capability is a JSON HTTP endpoint under `/api`. Charts, dashboards, sheets, queries, connections, and models are all created and read the same way the app does it. See the [API reference](/docs/api-reference/overview). - **MCP server** — the same API wrapped as [Model Context Protocol](/docs/developers/mcp-overview) tools, so agents like Claude can discover your semantic layers, validate queries, and assemble charts and dashboards for you. - **Embedding** — put a chart or dashboard inside another application, either as an [iframe](/docs/developers/embed-iframe) or a [static PNG](/docs/developers/embed-png). ## Base URL The API is served from your Flax host under `/api`. If your instance is at `https://flax.example.com`, the base URL is: ``` https://flax.example.com/api ``` All examples in this section use that origin as a placeholder — substitute your own host. ## Authentication at a glance - Automations and scripts authenticate with a **service-account API token** (`flax_pat_…`) sent as a bearer token. See [Authentication](/docs/developers/authentication). - MCP clients that need an interactive, delegated login use the built-in [OAuth authorization server](/docs/developers/oauth). Every request is authorized by the caller's scopes and by the same team and row-level-security rules as the app — the programmatic surface grants no extra privilege. ## Next steps - [Authentication](/docs/developers/authentication) - [MCP overview](/docs/developers/mcp-overview) - [Embedding overview](/docs/developers/embedding-overview) - [API reference](/docs/api-reference/overview)