diff --git a/_data/shared_chrome.json b/_data/shared_chrome.json index 762afd5eb6..297a5480b2 100644 --- a/_data/shared_chrome.json +++ b/_data/shared_chrome.json @@ -1,7 +1,7 @@ { "$schema": "https://www.metabase.com/shared/chrome.schema.json", "version": 1, - "generated_at": "2026-06-05T18:12:55+00:00", + "generated_at": "2026-06-08T22:31:41+00:00", "origin": "https://www.metabase.com", "stylesheets": [ { @@ -108,6 +108,14 @@ }, "children": "\n {\n \"@context\": \"https://schema.org\",\n \"@type\": \"Organization\",\n \"url\": \"https://www.metabase.com/\",\n \"sameAs\": [\n \"https://github.com/metabase\",\n \"https://www.linkedin.com/company/metabase/\",\n \"https://x.com/metabase\",\n \"https://www.youtube.com/@metabasedata\"\n ],\n \"logo\": \"https://github.com/metabase/metabase.github.io/blob/master/images/metabase-logo.png?raw=\",\n \"name\": \"Metabase\",\n \"description\": \"Metabase is an open source Business Intelligence and Embedded Analytics tool. Connect to your data stack in 5 minutes to make queries, visualizations, and dashboards easy for everyone—no SQL required\",\n \"email\": \"hello@metabase.com\",\n \"foundingDate\": \"2015-02-01T00:00:00.000Z\",\n \"address\": {\n \"@type\": \"PostalAddress\",\n \"streetAddress\": \"9740 Campo Rd\",\n \"addressLocality\": \"Spring Valley\",\n \"addressCountry\": \"USA\",\n \"addressRegion\": \"CA\",\n \"postalCode\": \"91977\"\n },\n \"knowsAbout\": [\n { \"@type\": \"Thing\", \"name\": \"Business Intelligence\" },\n { \"@type\": \"Thing\", \"name\": \"Embedded Analytics\" },\n { \"@type\": \"Thing\", \"name\": \"Self-service analytics\" },\n { \"@type\": \"Thing\", \"name\": \"Open source Business Intelligence\" }\n ]\n }\n" }, + { + "tag": "script", + "attributes": { + "type": "text/javascript", + "id": "vwoCode" + }, + "children": "\n window._vwo_code ||\n (function () {\n var w=window,\n d=document;\n var account_id=576439,\n version=2.2,\n settings_tolerance=2000,\n hide_element='body',\n hide_element_style = 'opacity:0 !important;filter:alpha(opacity=0) !important;background:none !important';\n /* DO NOT EDIT BELOW THIS LINE */\n var f=0, v;\n if(f=!1,v=d.querySelector('#vwoCode'),cc={},-1\n
\n \n
\n
\n New\n Metabase 61: AI governance - access controls, token limits, Metabot customization, build dashboards with MCP, and more.\n \n Read the announcement\"Chevron\n \n
\n \n
\n\n\n \n\n
\n
\n \n\n \n
\n\n \n\n
\n \n\n \n\n \n\n \n\n
\n Pricing\n
\n
\n \n\n
\n \n Log in\n \n\n Get started\n
\n \n \n \n \n \n
\n
\n
\n
\n \n\n
\n\n \n\n\n\n\n\n \n\n\n\n\n\n \n\n\n\n\n\n \n\n\n\n\n \n Pricing\n \n\n \n Log in\n \n
\n\n
\n\n\n\n\n\n", + "header_html": "\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n
\n \n
\n
\n New\n Metabase 61: AI governance - access controls, token limits, Metabot customization, build dashboards with MCP, and more.\n \n Read the announcement\"Chevron\n \n
\n \n
\n\n\n \n\n
\n
\n \n\n \n
\n\n \n\n
\n \n\n \n\n \n\n \n\n
\n Pricing\n
\n \n\n
\n \n\n
\n \n Log in\n \n\n Get started\n
\n \n \n \n \n \n
\n
\n
\n
\n \n\n
\n\n \n\n\n\n\n\n \n\n\n\n\n\n \n\n\n\n\n\n \n\n\n\n\n \n Pricing\n \n \n\n \n Log in\n \n
\n\n
\n
\n\n\n\n\n\n\n\n", "footer_html": "\n
\n \n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" } diff --git a/_docs/latest/CONTRIBUTING.md b/_docs/latest/CONTRIBUTING.md index 78c73b2af6..c251c81481 100644 --- a/_docs/latest/CONTRIBUTING.md +++ b/_docs/latest/CONTRIBUTING.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: false show_title_breadcrumb: true diff --git a/_docs/latest/README.md b/_docs/latest/README.md index 3f75de3aa7..7ac981a4fb 100644 --- a/_docs/latest/README.md +++ b/_docs/latest/README.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: false show_title_breadcrumb: true @@ -61,7 +61,8 @@ Metabase's reference documentation. - [Development instances](./installation-and-operation/development-instance) - [Serialization](./installation-and-operation/serialization) - [Remote sync](./installation-and-operation/remote-sync) -- [Commands](./installation-and-operation/commands) +- [Metabase CLI](./installation-and-operation/metabase-cli) +- [Metabase JAR commands](./installation-and-operation/commands) - [Supported browsers](./installation-and-operation/supported-browsers) - [Privacy](./installation-and-operation/privacy) - [About the anonymous usage data we collect](./installation-and-operation/information-collection) @@ -106,6 +107,7 @@ Metabase's reference documentation. - [Visualizing data](./questions/visualizations/visualizing-results) - [Box plots](./questions/visualizations/box-plot) - [Combo charts](./questions/visualizations/combo-chart) +- [Custom visualizations](./questions/visualizations/custom) - [Detail](./questions/visualizations/detail) - [Funnel charts](./questions/visualizations/funnel) - [Gauge charts](./questions/visualizations/gauge) diff --git a/_docs/latest/actions/basic.md b/_docs/latest/actions/basic.md index 029e1cef8f..ccd3b62065 100644 --- a/_docs/latest/actions/basic.md +++ b/_docs/latest/actions/basic.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/actions/custom.md b/_docs/latest/actions/custom.md index 5fe6ff4fd7..c5ee06fd62 100644 --- a/_docs/latest/actions/custom.md +++ b/_docs/latest/actions/custom.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/actions/introduction.md b/_docs/latest/actions/introduction.md index 3f55b3500f..8f7c110a8c 100644 --- a/_docs/latest/actions/introduction.md +++ b/_docs/latest/actions/introduction.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/actions/start.md b/_docs/latest/actions/start.md index 6a550c0380..f0e180e0ea 100644 --- a/_docs/latest/actions/start.md +++ b/_docs/latest/actions/start.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: false diff --git a/_docs/latest/ai/agent-api.md b/_docs/latest/ai/agent-api.md index 6c04887dcc..61b3f20c16 100644 --- a/_docs/latest/ai/agent-api.md +++ b/_docs/latest/ai/agent-api.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/ai/customization.md b/_docs/latest/ai/customization.md index 1eb3e9e477..8b36dbd33f 100644 --- a/_docs/latest/ai/customization.md +++ b/_docs/latest/ai/customization.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/ai/file-based-development.md b/_docs/latest/ai/file-based-development.md index 669f1d7c9b..432a8b489d 100644 --- a/_docs/latest/ai/file-based-development.md +++ b/_docs/latest/ai/file-based-development.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -9,8 +9,8 @@ source_url: >- https://github.com/metabase/metabase/blob/master/docs/ai/file-based-development.md layout: new-docs summary: >- - Use an agent with skills to create Metabase content on your local machine as - YAML files, then upload the files to your Metabase. + Use a coding agent and the Metabase CLI to create Metabase content, then + version that content as YAML files with Remote Sync. latest: true --- @@ -18,27 +18,29 @@ latest: true {% include plans-blockquote.html feature="Agent-driven development" %} -Metabase content like questions and dashboards can be serialized as YAML files. You can edit those YAML files by hand, sure, but now that we have actual genies, you can just ask them to edit them for you (call it "lamp-rubbing development"). +Now that we have actual genies, you can just ask the genies to create the content for you (call it "lamp-rubbing development"). -Paired with some skills we've developed, you can export your Metabase as YAML files, ask your agent to create new questions and dashboards YAML files, then import that new content into your Metabase. It's a whole new way to work with Metabase. +Give an agent the [Metabase CLI](../installation-and-operation/metabase-cli), and it can create content for you. But since LLMs can be unpredictable, we recommend developing content in a dev instance of Metabase, then using [Remote Sync](../installation-and-operation/remote-sync) to get your changes into production. -## The agent-driven development toolkit - -To develop your Metabase content on your local filesystem, we've put together a set of tools, including a set of agent skills. - -- [**Metabase Representation Format**](https://github.com/metabase/representations): the YAML schema and spec for every Metabase entity (questions, dashboards, collections, transforms, and so on). -- **[Metabase Database Metadata Format](https://github.com/metabase/database-metadata)**: diff-friendly representations of synced databases, their tables, and their fields, as a tree of YAML files. -- **Export and Import** CLI and API endpoints to move serialized content between your local files and Metabase. -- [**Remote Sync**](../installation-and-operation/remote-sync) (Optional): push content from a Read-write Metabase into a git repo, and pull it into a Read-only Metabase in production. +With this set up, a typical workflow using an agent with a development instance of Metabase would be: -## How content moves between files and Metabase +1. Prompt the agent with `/metabase-cli Create a dashboard based on the sales table.` +2. Agent creates questions and a dashboard. +3. View the dashboard in your dev instance. +4. Iterate either in your Metabase or via the agent until you're happy with the dashboard. +5. Use Remote Sync to push your changes to a repo. +6. Create a PR. +7. Merge the changes. +8. Once merged, your production Metabase pulls in the changes via Remote Sync. -You'll need a way to get YAML files out of Metabase to edit and back into Metabase to verify and ship. There are two options: +## The agent-driven development toolkit -- **[Remote Sync](../installation-and-operation/remote-sync)** — push and pull from inside Metabase. Requires a Read-write development instance and a Read-only production instance. -- **Serialization API** — `curl`-based export and import against the `/api/ee/serialization/` endpoints. +To develop your Metabase content with an agent, we've put together a set of tools. -Pick one before you start the [Initial setup](#initial-setup); the setup steps differ slightly (Remote Sync doesn't need a separate API key in production). +- A Metabase instance to use for development. +- [**Metabase CLI**](../installation-and-operation/metabase-cli): a command-line client (`mb`) your agent uses to create content directly in your Metabase. Use the CLI with the [`/metabase-cli` skill](https://github.com/metabase/agent-skills/tree/main/skills/metabase-cli). +- [**Metabase Representation Format**](https://github.com/metabase/representations): the YAML schema and spec for every Metabase entity (questions, dashboards, collections, transforms, and so on). This is the format your content takes once you version it as files. +- [**Remote Sync**](../installation-and-operation/remote-sync): push content from a Read-write Metabase into a git repo, and pull it into a Read-only Metabase in production. ## Initial setup @@ -46,20 +48,19 @@ Some things to put into place to get a workflow going: 1. [Set up a development Metabase](#set-up-a-development-metabase) 2. [Set up a repository to version your YAML files](#set-up-a-repository-to-version-your-yaml-files) -3. [Add agent skills to your repository](#add-agent-skills-to-your-repository) -4. [Download the database metadata](#download-the-database-metadata) +3. [Install and authenticate the Metabase CLI](#install-and-authenticate-the-metabase-cli) +4. [Add the agent skill](#add-the-agent-skill) -Once you have these set up, you can step through one of the example workflows. +Once you have these set up, you can step through the example workflow. ### Set up a development Metabase 1. Set up a Metabase instance to check your work before pushing changes to production. This Metabase should connect to the same data warehouse(s) your production Metabase connects to. A [config file](../configuring-metabase/config-file) will come in handy here. -2. Create an [API key](../people-and-groups/api-keys#create-an-api-key) and assign it to the Admin group. The skills export and import all content and read database metadata, so they need Admin-level access. If you're using the [Serialization API workflow](#how-content-moves-between-files-and-metabase), you'll also need to create an API key in your production Metabase so you can import your files into it. +2. Create an [API key](../people-and-groups/api-keys#create-an-api-key) in this development Metabase and assign it to the Admin group, so the agent can create content and work with Remote Sync. 3. We also recommend turning off the sample content and usage analytics, so they don't pollute the data model. If you're using a [docker compose file](../installation-and-operation/running-metabase-on-docker), add these [environment variables](../configuring-metabase/environment-variables): - ``` MB_LOAD_SAMPLE_CONTENT: "false" MB_INSTALL_ANALYTICS_DATABASE: "false" @@ -67,271 +68,89 @@ MB_INSTALL_ANALYTICS_DATABASE: "false" ### Set up a repository to version your YAML files -1. Initialize a new repo. -2. Add a `.gitignore` file and add `.metabase/` and `.env`. -3. Add the following to your `.env`: - -``` - METABASE_URL={your-metabase-url} - METABASE_API_KEY={your-api-key} -``` - -### Add agent skills to your repository - -You should add the following skills to your agent so it has context it needs. If you commit the skills into `.claude/skills/` in your repo, for example, Claude loads them automatically whenever you run it from that directory. - -- [**`metabase-representation-format` agent skill**](https://github.com/metabase/agent-skills/blob/main/skills/metabase-representation-format/SKILL.md): teaches the agent the representation format and ships the schema checker. -- [**`metabase-database-metadata` agent skill**](https://github.com/metabase/agent-skills/blob/main/skills/metabase-database-metadata/SKILL.md): fetches database metadata from your Metabase into an on-disk YAML tree the agent can read while editing. -- [**`metabase-semantic-checker` agent skill**](https://github.com/metabase/agent-skills/blob/main/skills/metabase-semantic-checker/SKILL.md) (optional): runs Metabase's semantic checker in Docker to catch referential and query errors the schema check doesn't. - -### Download the database metadata - -Invoke the `metabase-database-metadata` skill and ask your agent to fetch the database metadata. The agent will: - -- Check that `.env` exists. If it doesn't, the agent will prompt you to create it. -- Verify that `.env` and `.metabase/` are in `.gitignore`, asking before adding them. -- Fetch `/api/database/metadata` into `.metabase/metadata.json` (raw API response; can be several GB on large warehouses). -- Extract a diff-friendly YAML tree to `.metabase/databases//schemas//tables/.yaml` by running `npx @metabase/database-metadata extract-metadata`. - -The agent can use the YAML extracted to your `.metabase` directory while creating and editing new questions and dashboards in YAML. That way your agent can refer to real column names, field types, and foreign-key relationships without making live API calls (which would be much slower). - -To refresh this database metadata, just ask your agent to re-fetch it. - -## Example workflows - -The workflows below both assume you've completed the [Initial setup](#initial-setup). - -### Example prompts - -Once your repo has the agent skills and a baseline of content, prompt the agent with a structured request: +Create a new git repository for your Metabase content. You'll point Remote Sync at this repo when you configure it, and clone the repo locally to review changes and open pull requests. -``` -Use the metabase-representation-format and metabase-database-metadata skills to create new YAML files in this directory: +### Install and authenticate the Metabase CLI -1. Create a new dashboard called "Support overview" in collections/main/. -2. Add questions showing total ticket volume, open tickets, and average satisfaction rating. -``` - -Or, depending on how capable your model is, try a more open-ended request: +Install the [Metabase CLI](../installation-and-operation/metabase-cli) globally: ``` -Use the metabase-representation-format and metabase-database-metadata skills to analyze our support data. Look at the tickets, customers, and interactions tables, and create a dashboard that gives an overview of our team's support workload. +npm install -g @metabase/cli ``` -The agent will read the representation format spec, check existing files for local conventions, consult `.metabase/databases/` for real column names, and write new YAML. - -## Example workflow with Remote Sync - -### 1. Configure Remote Sync on both instances - -In your development Metabase, configure [Remote Sync in Read-write mode](../installation-and-operation/remote-sync#setting-up-remote-sync) pointed at your repo. In production, configure a second Metabase in Read-only mode pointed at the same repo. - -### 2. Create a branch from the Metabase UI - -Switch branches in Metabase, as the Metabase UI is the source of truth for which branch the development instance pushes to and pulls from. - -In your development Metabase, click the **branch dropdown** at the top and [create a new branch](../installation-and-operation/remote-sync#creating-a-branch) for your work, like `feature/support-dashboard`. - -### 3. Push existing content to seed the repo - -Click the up arrow (**push**) icon to [commit and push](../installation-and-operation/remote-sync#committing-and-pushing-your-changes) your existing synced collections to the branch. +Then authenticate it against your development Metabase: -### 4. Clone the repo locally and check out the branch - -```sh -git clone your-metabase-repo -cd your-metabase-repo -git checkout feature/support-dashboard ``` - -### 5. Ask the agent to edit or create content - -See [Example prompts](#example-prompts) above for prompt patterns to use here. - -### 6. Validate the YAML files - -Run the [schema check](#schema-check) after every batch of edits, and optionally run the [semantic check](#semantic-checker-for-deeper-validation) at the end of the session. See [Validating YAML files](#validating-yaml-files) below. - -If anything fails, the agent should be able to fix the issue if you give it the error. - -### 7. Commit and open a pull request - -```sh -git add -A -git commit -m "Add support-overview dashboard" -git push origin feature/support-dashboard +mb auth login --url your-metabase-url-here ``` -Open a pull request so your team can review the YAML diff. - -### 8. Pull the branch into your development Metabase - -Click the **pull** (down arrow) icon in your development Metabase to load the agent's changes. Verify the dashboard renders correctly and the questions return expected results. +Authenticate with the API key you created in your Metabase instance. -### 9. Merge the PR so production picks up the changes +### Add the agent skill -If you've enabled [auto-sync](../installation-and-operation/remote-sync#pulling-changes-automatically), your production Metabase (in Read-only mode) will pull the new main branch automatically on its next interval. Otherwise, trigger a pull from production manually. +Add the [`/metabase-cli` skill](https://github.com/metabase/agent-skills/tree/main/skills/metabase-cli) to your agent so it knows how to use the CLI to create content directly in your Metabase. -## Example workflow with import and export endpoints +## Example prompts -### 1. Clone the empty repo and create a branch +These examples assume you've completed the [Initial setup](#initial-setup). Run the `/metabase-cli` skill and give the agent a structured request. The agent will run CLI commands to create the content directly in your development Metabase: -```sh -git clone https://github.com/your-org/your-repo.git -cd your-repo -git checkout -b feature/support-dashboard ``` - -### 2. Export existing content to seed the repo - -The agent does better work when the repo already holds your current Metabase content, so it can see real examples of the Representation Format and your collection conventions. Run the [serialization export](../installation-and-operation/serialization#serialization-workflow-example) from inside the clone: - -```sh -curl \ - -H 'X-API-Key: YOUR_API_KEY' \ - -X POST 'https://your-metabase-url/api/ee/serialization/export?data_model=false' \ - -o metabase_data.tgz -tar -xzf metabase_data.tgz -``` - -Set `data_model=false` to keep the export small. The agent should get its metadata from the `metabase-database-metadata` skill instead. For more on export options, see [Serialization](../installation-and-operation/serialization). - -Commit the extracted YAML so you have a baseline to revert to if the agent goes off the rails. - -### 3. Ask the agent to edit or create content - -See [Example prompts](#example-prompts) above for prompt patterns to use here. - -### 4. Validate the YAML files - -Run the [schema check](#schema-check) after every batch of edits, and optionally run the [semantic check](#semantic-checker-for-deeper-validation) at the end of the session. See [Validating YAML files](#validating-yaml-files) below. - -### 5. Commit and open a pull request - -```sh -git add -A -git commit -m "Add support-overview dashboard" -git push origin feature/support-dashboard +/metabase-cli Create a new dashboard called "Support overview". Add questions showing total ticket volume, open tickets, and average satisfaction rating. ``` -Then open open a pull request so your team can review the YAML diff. - -### 6. Import the YAML into your development Metabase - -Re-bundle the YAML and import it: +Or, depending on how capable your model is, try a more open-ended request: -```sh -tar -czf metabase_data.tgz metabase_data -curl -X POST \ - -H 'X-API-Key: YOUR_API_KEY' \ - -F 'file=@metabase_data.tgz' \ - 'https://your-metabase-url/api/ee/serialization/import' \ - -o - ``` - -The `-o -` flag writes the import response to stdout, so you can see whether the import succeeded and check any warnings. You can ask the agent to generate `export.sh` and `import.sh` wrappers so you're running a single command each time. - -Verify the dashboard renders correctly and the questions return expected results. - -### 7. Repeat the import against production - -Once you're confident in the changes, run the same `tar` + `curl` import against your production Metabase, using its API key. - -## Undoing the agent's changes - -If you want to undo the agent's changes, use `git` to revert your YAML files to the last known-good commit before pushing or re-importing. - -If you're using Remote Sync, don't try to fix things by re-pushing from Metabase: Metabase's push only reflects its current state and won't delete any new files the agent created locally. - -## Validating YAML files - -Run both checks locally before pushing. The same checks belong in CI — see [CI example](#ci-example) below. - -### Schema check - -You can run a quick schema check: - -```sh -npx --yes @metabase/representations validate-schema +/metabase-cli Analyze our support data. Look at the tickets, customers, and interactions tables, and build a dashboard that gives an overview of our team's support workload. ``` -The check validates the shape of every YAML file against the Representation Format spec. The `metabase-representation-format` skill should run this check for you automatically after the agent makes any edits. +The agent writes the CLI commands and creates the questions and dashboard for you—just describe what you want. -### Semantic checker for deeper validation +## Example workflow -> The semantic checker is only available in the Pro/Enterprise plans. +### 1. Configure Remote Sync on both Metabase instances -The **semantic checker** catches things like references to tables that don't exist or columns the agent invented. +In your development Metabase, configure [Remote Sync in Read-write mode](../installation-and-operation/remote-sync#setting-up-remote-sync) pointed at your repo. -What it validates beyond schema: +Set up Remote Sync in your production Metabase in Read-only mode pointed at the same repo. -- Cross-entity references: `collection_id`, `dashboard_id`, `parent_id`, snippet names, transform tags, card embeddings. -- MBQL query compilation: `source-table`, field references, joins, segments, measures, expressions. -- Native-query references: tables, columns, and snippets named in SQL. - -If you've installed the `metabase-semantic-checker` skill, just ask the agent to run the semantic checker; the skill picks the right image, passes the right flags, and summarizes the findings. +### 2. Create a branch from the Metabase UI -You can manually run the semantic checker via Docker like so: +Switch branches in Metabase, as the Metabase UI is the source of truth for which branch the development instance pushes to and pulls from. -```sh -docker pull metabase/metabase-enterprise:latest +In your development Metabase, click the **branch dropdown** at the top and [create a new branch](../installation-and-operation/remote-sync#creating-a-branch) for your work, like `feature/support-dashboard`. -docker run --rm \ - -v "$PWD:/workspace" \ - --entrypoint "" \ - -w /app \ - metabase/metabase-enterprise:latest \ - java -jar metabase.jar \ - --mode checker \ - --export /workspace \ - --schema-dir /workspace/.metabase/metadata.json \ - --schema-format concise -``` +### 3. Ask the agent to create content -Match the image tag (`:latest`) to your Metabase build. +Run the `/metabase-cli` skill and prompt the agent to build your questions and dashboards. The agent creates the content directly in your development Metabase. -### CI example +### 4. Verify the content in your development Metabase -You can hook the schema check into GitHub Actions so your team catches problems on the PR, before anyone pulls the changes into Metabase: +Open your development Metabase and confirm the dashboard renders correctly and the questions return expected results. Make any changes you want, either in the UI or via the agent. -```yaml -# .github/workflows/schema-check.yml -name: Schema Check +### 5. If you make any changes in your Metabase, push the new content to the branch -on: - push: - branches: [main] - pull_request: +To commit the work, [push the change from your Metabase](../installation-and-operation/remote-sync#committing-and-pushing-your-changes). If you don't push your changes from your Metabase to your repo, you could lose work the next time you pull changes into that Metabase. -jobs: - schema-check: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 +### 6. Open a pull request - - uses: actions/setup-node@v4 - with: - node-version: "20" +Open a pull request so your team can review the YAML diff. They can also use Remote Sync to pull the branch into a development Metabase and see the changes live. - - name: Validate representation YAML files - run: npx --yes @metabase/representations validate-schema -``` +### 7. Merge the PR so production picks up the changes -For the semantic check, add a second workflow that fetches `.metabase/metadata.json` from your Metabase and then runs the Docker command above against the checkout. If you run the semantic check in more than one workflow (for example, a semantic check and per-PR preview environments), you should probably factor the database metadata fetch to run and cache once a day so you don't hit the API on every push. +If you've enabled [auto-sync](../installation-and-operation/remote-sync#pulling-changes-automatically), your production Metabase (in Read-only mode) will pull the new main branch automatically on its next interval. -## Deleting content +## Undoing the agent's changes -Since imports and exports _don't_ delete content, you'll need to delete content in the Metabase application itself, then update the YAML files as well. +Since the agent uses the CLI to create content directly in Metabase, to undo changes, you could either: -1. Delete the content in your production Metabase (in the app's UI). -2. Push (with Remote Sync) or re-export (without) so the change is reflected in the repo. -3. Commit the deletion. That way Metabase won't recreate the deleted items the next time it pulls. +- **Revert to a commit and pull changes**: Revert to a previous commit, and pull that commit into your Metabase. Pulling that commit would overwrite any changes you or the agent had made. +- **Update Metabase and push changes**: Edit or archive the content in your Metabase (either manually or via an agent with the CLI), and push the changes to your repo. You may want to pick this approach if you want to keep some, but not all of the changes made by the AI, or if you've made additional changes via Metabase's handy UI that you want to keep. ## Further reading - [Remote Sync](../installation-and-operation/remote-sync) -- [Serialization](../installation-and-operation/serialization) +- [Metabase CLI](../installation-and-operation/metabase-cli) - [Metabase Representation Format](https://github.com/metabase/representations) -- [Metabase Database Metadata Format](https://github.com/metabase/database-metadata) - [Agent skills](https://github.com/metabase/agent-skills) -- [MCP server](./mcp) — for agents that need live metadata lookups outside the file-based workflow. +- [MCP server](./mcp): for agents that need live metadata lookups outside the file-based workflow. diff --git a/_docs/latest/ai/mcp.md b/_docs/latest/ai/mcp.md index 341b02b593..13e45b66ed 100644 --- a/_docs/latest/ai/mcp.md +++ b/_docs/latest/ai/mcp.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -106,16 +106,25 @@ You don't need to have an [AI provider](settings#choose-ai-provider) configured Some clients (like Claude Desktop) will ask you to approve each tool the first time it's used. The MCP server builds on Metabase's [Agent API](./agent-api), and exposes the following tools. If you're building a custom integration and need full control, use the [Agent API](./agent-api) directly instead. -- **search**: Find tables and metrics using keyword or natural language search. -- **get_table**: Get details about a table, including its fields, related tables, and metrics. -- **get_table_field_values**: Get sample values and statistics for a field in a table. -- **get_metric**: Get details about a metric, including its queryable dimensions. -- **get_metric_field_values**: Get sample values and statistics for a field in a metric. -- **construct_query**: Construct a query against a table or metric. Returns an opaque query string that can be executed with `execute_query`. -- **execute_query**: Execute a previously constructed query and return the results with column metadata, row count, and execution time. +### Discovery and reading + +- **search**: Find tables, metrics, cards, dashboards, and collections using keyword or natural language search. +- **read_resource**: Read one or more Metabase entities by `metabase://` URI. Covers database / schema / table / collection / card / dashboard / metric / transform navigation in a single tool. Up to 5 URIs per call. + +### Query construction and execution + +- **construct_query**: Construct a query against a table or metric. Returns an opaque query handle that can be passed to `execute_query`. - **query**: Query a table or metric and return results. -- **create_question**: Create questions. -- **create_dashboard**: Create dashboards. +- **execute_query**: Execute a previously constructed query and return the results with column metadata, row count, and execution time. +- **execute_sql**: Execute a raw SQL query against a database. Requires native-query permission on the target database. An admin can disable this tool instance-wide via the `mcp-execute-sql-enabled` setting. + +### Writing + +- **create_question**: Save a query as a named question (card). +- **update_question**: Update a saved question. Setting `collection_id` moves the card to another collection. +- **create_dashboard**: Create a new dashboard, optionally populated with saved questions. +- **update_dashboard**: Update a dashboard's metadata (name, description, collection, archived). +- **create_collection**: Create a new collection, optionally nested under a parent collection. ## Use the MCP server with file-based development diff --git a/_docs/latest/ai/metabot-slack.md b/_docs/latest/ai/metabot-slack.md index e83d08371a..4476b25204 100644 --- a/_docs/latest/ai/metabot-slack.md +++ b/_docs/latest/ai/metabot-slack.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/ai/metabot.md b/_docs/latest/ai/metabot.md index 72a7a2cc06..8643bb5d4d 100644 --- a/_docs/latest/ai/metabot.md +++ b/_docs/latest/ai/metabot.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/ai/overview.md b/_docs/latest/ai/overview.md index 844484e23b..f401af837a 100644 --- a/_docs/latest/ai/overview.md +++ b/_docs/latest/ai/overview.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -58,7 +58,7 @@ See [full docs for MCP server](mcp). **Best for: developers creating stuff that other people will use.** -Use a coding agent like Claude Code to understand your database's metadata, generate Metabase content as YAML files locally, verify the schema, then sync and import the generated content into your production Metabase. Sky's the limit on what you can accomplish. +Use a coding agent like Claude Code with the Metabase CLI to create Metabase content directly in a development instance, then version that content as YAML files and pull the changes into your production Metabase. **Controls**: Only admins can sync content to Metabase instances. diff --git a/_docs/latest/ai/privacy.md b/_docs/latest/ai/privacy.md index 473573c3a9..28043408f7 100644 --- a/_docs/latest/ai/privacy.md +++ b/_docs/latest/ai/privacy.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/ai/settings.md b/_docs/latest/ai/settings.md index 9bb3997fa6..c5dc464718 100644 --- a/_docs/latest/ai/settings.md +++ b/_docs/latest/ai/settings.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/ai/start.md b/_docs/latest/ai/start.md index 605b57f26d..5037b0965a 100644 --- a/_docs/latest/ai/start.md +++ b/_docs/latest/ai/start.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: false diff --git a/_docs/latest/ai/system-prompts.md b/_docs/latest/ai/system-prompts.md index 0e0d6c4a39..0c84fcf54a 100644 --- a/_docs/latest/ai/system-prompts.md +++ b/_docs/latest/ai/system-prompts.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/ai/usage-auditing.md b/_docs/latest/ai/usage-auditing.md index bc806ea44b..6d7dc0f467 100644 --- a/_docs/latest/ai/usage-auditing.md +++ b/_docs/latest/ai/usage-auditing.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/ai/usage-controls.md b/_docs/latest/ai/usage-controls.md index 3ae7949e82..45a75f568c 100644 --- a/_docs/latest/ai/usage-controls.md +++ b/_docs/latest/ai/usage-controls.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/api.html b/_docs/latest/api.html index a56fa2db0f..1b0c177a3e 100644 --- a/_docs/latest/api.html +++ b/_docs/latest/api.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: false show_title_breadcrumb: true diff --git a/_docs/latest/api.json b/_docs/latest/api.json index 090d1643ea..8a41ad3a1f 100644 --- a/_docs/latest/api.json +++ b/_docs/latest/api.json @@ -43,6 +43,31 @@ } }, "required" : [ "url", "created_at", "sync_started_at", "created_by_id", "db_id" ] + }, { + "type" : "object", + "properties" : { + "created_at" : { + "type" : "integer", + "minimum" : 1 + }, + "created_by_id" : { + "type" : "integer", + "minimum" : 1 + }, + "db_id" : { + "type" : "integer", + "minimum" : 1 + }, + "sync_started_at" : { + "type" : "integer", + "minimum" : 1 + }, + "url" : { + "type" : "string", + "minLength" : 1 + } + }, + "required" : [ "url", "created_at", "sync_started_at", "created_by_id", "db_id" ] }, { "type" : "object", "properties" : { @@ -1142,6 +1167,114 @@ "$ref" : "#/components/schemas/metabase-enterprise.action-v2.api.api-action-expression" } ] }, + "metabase-enterprise.data-complexity-score.api.node" : { + "anyOf" : [ { + "type" : "object", + "properties" : { + "error" : { + "type" : "string" + } + }, + "required" : [ "error" ], + "additionalProperties" : false + }, { + "type" : "object", + "properties" : { + "measurement" : { + "type" : "number" + }, + "rating" : { + "oneOf" : [ { + "type" : "string", + "enum" : [ "low", "medium", "high" ] + }, { + "type" : "null" + } ] + }, + "rating_label" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "score" : { + "type" : "integer", + "minimum" : 0 + } + }, + "required" : [ "measurement", "score", "rating", "rating_label" ], + "additionalProperties" : false + }, { + "type" : "object", + "properties" : { + "components" : { + "type" : "object", + "additionalProperties" : { + "$ref" : "#/components/schemas/metabase-enterprise.data-complexity-score.api.node" + } + }, + "rating" : { + "oneOf" : [ { + "type" : "string", + "enum" : [ "low", "medium", "high" ] + }, { + "type" : "null" + } ] + }, + "rating_label" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "score" : { + "oneOf" : [ { + "type" : "integer", + "minimum" : 0 + }, { + "type" : "null" + } ] + } + }, + "required" : [ "score", "rating", "rating_label", "components" ], + "additionalProperties" : false + } ] + }, + "metabase-enterprise.data-studio.api.table.publish-table-selectors" : { + "type" : "object", + "properties" : { + "collection_id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "database_ids" : { + "type" : "array", + "items" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + } + }, + "schema_ids" : { + "type" : "array", + "items" : { + "type" : "string" + } + }, + "table_ids" : { + "type" : "array", + "items" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + } + } + }, + "required" : [ "collection_id" ] + }, "metabase-enterprise.data-studio.api.table.publish-tables-response" : { "description" : "Schema for /publish-tables endpoint response. Matches frontend PublishTablesResponse type.", "type" : "object", @@ -1869,6 +2002,454 @@ }, "required" : [ "id", "analyzed_entity_type", "analyzed_entity_id", "error_type" ] }, + "metabase-enterprise.erd.impl.erd-edge" : { + "type" : "object", + "properties" : { + "relationship" : { + "type" : "string", + "enum" : [ "one-to-one", "many-to-one" ] + }, + "source_field_id" : { + "type" : "integer" + }, + "source_table_id" : { + "type" : "integer" + }, + "target_field_id" : { + "type" : "integer" + }, + "target_table_id" : { + "type" : "integer" + } + }, + "required" : [ "source_table_id", "source_field_id", "target_table_id", "target_field_id", "relationship" ] + }, + "metabase-enterprise.erd.impl.erd-field" : { + "type" : "object", + "properties" : { + "base_type" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "id" : { + "type" : "integer" + }, + "name" : { + "type" : "string" + }, + "semantic_type" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "fk_target_table_id" : { + "oneOf" : [ { + "type" : "integer" + }, { + "type" : "null" + } ] + }, + "display_name" : { + "type" : "string" + }, + "effective_type" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "database_type" : { + "type" : "string" + }, + "fk_target_field_id" : { + "oneOf" : [ { + "type" : "integer" + }, { + "type" : "null" + } ] + } + }, + "required" : [ "id", "name", "display_name", "database_type" ] + }, + "metabase-enterprise.erd.impl.erd-node" : { + "type" : "object", + "properties" : { + "db_id" : { + "type" : "integer" + }, + "description" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "display_name" : { + "type" : "string" + }, + "fields" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/metabase-enterprise.erd.impl.erd-field" + } + }, + "name" : { + "type" : "string" + }, + "owner" : { + "$ref" : "#/components/schemas/metabase-enterprise.erd.impl.erd-owner" + }, + "schema" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "table_id" : { + "type" : "integer" + } + }, + "required" : [ "table_id", "name", "display_name", "db_id", "fields" ] + }, + "metabase-enterprise.erd.impl.erd-owner" : { + "oneOf" : [ { + "type" : "object", + "properties" : { + "email" : { + "type" : "string" + }, + "first_name" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "id" : { + "type" : "integer" + }, + "last_name" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + } + }, + "required" : [ "email" ] + }, { + "type" : "null" + } ] + }, + "metabase-enterprise.erd.impl.erd-request" : { + "type" : "object", + "properties" : { + "database-id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "schema" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "table-ids" : { + "oneOf" : [ { + "type" : "array", + "items" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + } + }, { + "type" : "null" + } ] + } + }, + "required" : [ "database-id" ] + }, + "metabase-enterprise.erd.impl.erd-response" : { + "type" : "object", + "properties" : { + "edges" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/metabase-enterprise.erd.impl.erd-edge" + } + }, + "nodes" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/metabase-enterprise.erd.impl.erd-node" + } + } + }, + "required" : [ "nodes", "edges" ] + }, + "metabase-enterprise.notification-admin.api.bulk-response" : { + "type" : "object", + "properties" : { + "updated" : { + "description" : "value must be an integer greater or equal to than zero.", + "type" : "integer", + "minimum" : 0 + } + }, + "required" : [ "updated" ] + }, + "metabase-enterprise.notification-admin.api.channel-entry" : { + "description" : "One channel delivery attempt within a tick.", + "type" : "object", + "properties" : { + "channel_type" : { + "type" : "string" + }, + "error" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "status" : { + "$ref" : "#/components/schemas/metabase-enterprise.notification-admin.api.run-status" + } + }, + "required" : [ "channel_type", "status", "error" ], + "additionalProperties" : false + }, + "metabase-enterprise.notification-admin.api.detail-response" : { + "type" : "object", + "properties" : { + "last_check" : { + "oneOf" : [ { + "$ref" : "#/components/schemas/metabase-enterprise.notification-admin.api.run-summary" + }, { + "type" : "null" + } ] + }, + "payload_type" : { + "type" : "string" + }, + "payload_id" : { + "oneOf" : [ { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, { + "type" : "null" + } ] + }, + "send_history" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/metabase-enterprise.notification-admin.api.tick-send-entry" + } + }, + "id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "check_history" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/metabase-enterprise.notification-admin.api.run-summary" + } + }, + "last_send" : { + "oneOf" : [ { + "$ref" : "#/components/schemas/metabase-enterprise.notification-admin.api.run-summary" + }, { + "type" : "null" + } ] + }, + "updated_at" : { + "type" : "string", + "format" : "date-time" + }, + "created_at" : { + "type" : "string", + "format" : "date-time" + }, + "active" : { + "type" : "boolean" + }, + "creator_id" : { + "oneOf" : [ { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, { + "type" : "null" + } ] + } + }, + "required" : [ "id", "active", "creator_id", "created_at", "updated_at", "payload_type", "payload_id", "last_check", "last_send", "check_history", "send_history" ] + }, + "metabase-enterprise.notification-admin.api.list-response" : { + "type" : "object", + "properties" : { + "data" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/metabase-enterprise.notification-admin.api.list-row" + } + }, + "limit" : { + "oneOf" : [ { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, { + "type" : "null" + } ] + }, + "offset" : { + "oneOf" : [ { + "description" : "value must be an integer greater or equal to than zero.", + "type" : "integer", + "minimum" : 0 + }, { + "type" : "null" + } ] + }, + "total" : { + "description" : "value must be an integer greater or equal to than zero.", + "type" : "integer", + "minimum" : 0 + } + }, + "required" : [ "data", "total", "limit", "offset" ] + }, + "metabase-enterprise.notification-admin.api.list-row" : { + "type" : "object", + "properties" : { + "last_check" : { + "oneOf" : [ { + "$ref" : "#/components/schemas/metabase-enterprise.notification-admin.api.run-summary" + }, { + "type" : "null" + } ] + }, + "payload_type" : { + "type" : "string" + }, + "payload_id" : { + "oneOf" : [ { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, { + "type" : "null" + } ] + }, + "id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "last_send" : { + "oneOf" : [ { + "$ref" : "#/components/schemas/metabase-enterprise.notification-admin.api.run-summary" + }, { + "type" : "null" + } ] + }, + "updated_at" : { + "type" : "string", + "format" : "date-time" + }, + "created_at" : { + "type" : "string", + "format" : "date-time" + }, + "active" : { + "type" : "boolean" + }, + "creator_id" : { + "oneOf" : [ { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, { + "type" : "null" + } ] + } + }, + "required" : [ "id", "active", "creator_id", "created_at", "updated_at", "payload_type", "payload_id", "last_check", "last_send" ] + }, + "metabase-enterprise.notification-admin.api.run-status" : { + "type" : "string", + "enum" : [ "failing", "successful" ] + }, + "metabase-enterprise.notification-admin.api.run-summary" : { + "type" : "object", + "properties" : { + "at" : { + "type" : "string", + "format" : "date-time" + }, + "error" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "status" : { + "$ref" : "#/components/schemas/metabase-enterprise.notification-admin.api.run-status" + } + }, + "required" : [ "at", "error", "status" ], + "additionalProperties" : false + }, + "metabase-enterprise.notification-admin.api.sort-column" : { + "type" : "string", + "enum" : [ "id", "last_send", "last_check", "card_name", "creator_name", "updated_at" ] + }, + "metabase-enterprise.notification-admin.api.sort-direction" : { + "type" : "string", + "enum" : [ "asc", "desc" ] + }, + "metabase-enterprise.notification-admin.api.tick-send-entry" : { + "description" : "One tick's worth of sends, rolled up across all channels that fired in that tick.", + "type" : "object", + "properties" : { + "at" : { + "type" : "string", + "format" : "date-time" + }, + "channels" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/metabase-enterprise.notification-admin.api.channel-entry" + } + }, + "error" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "status" : { + "$ref" : "#/components/schemas/metabase-enterprise.notification-admin.api.run-status" + } + }, + "required" : [ "at", "status", "error", "channels" ], + "additionalProperties" : false + }, "metabase-enterprise.permission-debug.impl.group-id" : { "type" : "integer" }, @@ -2139,6 +2720,156 @@ }, "required" : [ "min", "fixed" ] }, + "metabase-enterprise.serialization.schema.export-metadata-response" : { + "type" : "object", + "properties" : { + "databases" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/metabase-enterprise.serialization.schema.exported-database" + } + }, + "fields" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/metabase-enterprise.serialization.schema.exported-field" + } + }, + "tables" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/metabase-enterprise.serialization.schema.exported-table" + } + } + } + }, + "metabase-enterprise.serialization.schema.exported-database" : { + "type" : "object", + "properties" : { + "engine" : { + "type" : "string" + }, + "id" : { + "$ref" : "#/components/schemas/metabase.lib.schema.id.database" + }, + "name" : { + "type" : "string" + } + }, + "required" : [ "id", "name", "engine" ] + }, + "metabase-enterprise.serialization.schema.exported-field" : { + "type" : "object", + "properties" : { + "base_type" : { + "type" : "string" + }, + "id" : { + "$ref" : "#/components/schemas/metabase.lib.schema.id.field" + }, + "coercion_strategy" : { + "type" : "string" + }, + "name" : { + "type" : "string" + }, + "semantic_type" : { + "type" : "string" + }, + "table_id" : { + "$ref" : "#/components/schemas/metabase.lib.schema.id.table" + }, + "nfc_path" : { + "type" : "array", + "items" : { + "type" : "string" + } + }, + "effective_type" : { + "type" : "string" + }, + "parent_id" : { + "$ref" : "#/components/schemas/metabase.lib.schema.id.field" + }, + "database_type" : { + "type" : "string" + }, + "description" : { + "type" : "string" + }, + "fk_target_field_id" : { + "$ref" : "#/components/schemas/metabase.lib.schema.id.field" + } + }, + "required" : [ "id", "table_id", "name", "base_type" ] + }, + "metabase-enterprise.serialization.schema.exported-table" : { + "type" : "object", + "properties" : { + "db_id" : { + "$ref" : "#/components/schemas/metabase.lib.schema.id.database" + }, + "description" : { + "type" : "string" + }, + "id" : { + "$ref" : "#/components/schemas/metabase.lib.schema.id.table" + }, + "name" : { + "type" : "string" + }, + "schema" : { + "type" : "string" + } + }, + "required" : [ "id", "db_id", "name" ] + }, + "metabase-enterprise.serialization.schema.import-status-response" : { + "description" : "Wire shape of `GET /metadata/import/:id`. Timestamps are ISO-8601 strings.\n `:started-at`/`:finished-at`/`:wall-ms` are nil until the relevant lifecycle\n stage is reached; `:error` is nil unless the import failed.", + "type" : "object", + "properties" : { + "enqueued-at" : { + "type" : "string" + }, + "error" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "finished-at" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "id" : { + "type" : "string" + }, + "started-at" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "status" : { + "type" : "string", + "enum" : [ "queued", "running", "ok", "error" ] + }, + "wall-ms" : { + "oneOf" : [ { + "type" : "number" + }, { + "type" : "null" + } ] + } + }, + "required" : [ "id", "status", "enqueued-at", "started-at", "finished-at", "wall-ms", "error" ], + "additionalProperties" : false + }, "metabase-enterprise.support-access-grants.schema.create-grant-request" : { "description" : "Schema for POST /api/ee/support-access-grants request body.", "type" : "object", @@ -3183,6 +3914,11 @@ "required" : [ "unknown" ] } ] }, + "metabase.agent-api.api.card-display" : { + "description" : "Display types accepted by Card. Validates LLM-passed values so a bogus\n value (e.g. `\"potato\"`) gets a 400 rather than persisting junk.", + "type" : "string", + "enum" : [ "table", "bar", "line", "pie", "scatter", "area", "row", "combo", "pivot", "scalar", "smartscalar", "gauge", "progress", "funnel", "map", "waterfall", "sankey" ] + }, "metabase.agent-api.api.column-metadata" : { "description" : "Metadata for a single result column.", "type" : "object", @@ -3206,10 +3942,39 @@ }, "required" : [ "name", "base_type", "display_name" ] }, + "metabase.agent-api.api.construct-query-request" : { + "description" : "Request body for /v2/construct-query and the fresh-query branch of /v2/query.\n A single `:query` key whose value is a JSON object matching\n [[metabase.lib.schema/external-query]] — the canonical portable MBQL 5 wire format. The\n query is fully self-describing: the database is derived from the first stage's\n `source-table:` or `source-card:`, all field references are portable FKs\n (`[, , , ]`), and there is no auxiliary\n `source_entity` / `referenced_entities` envelope. See\n `resources/metabot/prompts/tools/construct_notebook_query.md` for the full format reference\n (including operators, joins, expressions, multi-stage queries, and FK conventions).\n\n Closed map: any extra top-level keys (notably the legacy `source_entity` /\n `referenced_entities` envelope from before the repr migration) are rejected with a 400 so\n callers don't silently send fields the server ignores.\n\n The inner `:query` value is intentionally typed as a plain `:map` at this boundary rather\n than `::lib.schema/external-query`. Reasons:\n\n 1. Deep MBQL-shape validation runs inside the representations pipeline\n (`metabot.tools.construct/execute-representations-query` calls `repr/validate-query`\n after the repair pass), so the boundary check would be redundant.\n\n 2. The strict-tool manifest lint (`assert-optional-fields-nullable!`) walks every map\n reachable from the tool input schema. `::external-query` references `::query`, which\n carries several `:optional` keys (`:lib/metadata`, `:database`, `:settings`, …) that\n are not `[:maybe ...]` — for sound reasons unrelated to this endpoint. Recursing into\n them would force a wide schema change just to satisfy the lint at the agent boundary.", + "type" : "object", + "properties" : { + "prompt" : { + "oneOf" : [ { + "type" : "string", + "minLength" : 1, + "maxLength" : 10000 + }, { + "type" : "null" + } ] + }, + "query" : { + "type" : "object", + "properties" : { } + } + }, + "required" : [ "query" ], + "additionalProperties" : false + }, "metabase.agent-api.api.construct-query-response" : { - "description" : "Response containing a base64-encoded MBQL query for use with /v1/execute.", + "description" : "Response containing a base64-encoded MBQL query for use with /v1/execute. The optional\n `:prompt` echoes the request's prompt back so the MCP layer can store it with the\n handle (see `metabase.mcp.tools/make-store-construct-query-result`).", "type" : "object", "properties" : { + "prompt" : { + "oneOf" : [ { + "type" : "string", + "minLength" : 1 + }, { + "type" : "null" + } ] + }, "query" : { "type" : "string", "minLength" : 1 @@ -3217,10 +3982,279 @@ }, "required" : [ "query" ] }, - "metabase.agent-api.api.entity-type" : { - "description" : "The type of queryable entity.", - "type" : "string", - "enum" : [ "table", "metric" ] + "metabase.agent-api.api.create-collection-request" : { + "description" : "Request shape for `create_collection`. `:parent_collection_id` is named separately from\n the internal `:parent_id` field to make the LLM-facing API less ambiguous (the caller is\n saying \"put it under this parent\", not echoing back a server-set field).", + "type" : "object", + "properties" : { + "description" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "name" : { + "type" : "string", + "minLength" : 1 + }, + "parent_collection_id" : { + "oneOf" : [ { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, { + "type" : "null" + } ] + } + }, + "required" : [ "name" ] + }, + "metabase.agent-api.api.create-collection-response" : { + "description" : "Returned by `create_collection`. Exposes the materialized-path `:location` so callers\n can sanity-check nesting without a follow-up read.", + "type" : "object", + "properties" : { + "description" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "location" : { + "type" : "string", + "minLength" : 1 + }, + "name" : { + "type" : "string", + "minLength" : 1 + }, + "parent_id" : { + "oneOf" : [ { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, { + "type" : "null" + } ] + } + }, + "required" : [ "id", "name", "parent_id", "location", "description" ] + }, + "metabase.agent-api.api.create-dashboard-request" : { + "type" : "object", + "properties" : { + "collection_id" : { + "oneOf" : [ { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, { + "type" : "null" + } ] + }, + "description" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "name" : { + "type" : "string", + "minLength" : 1 + }, + "question_ids" : { + "oneOf" : [ { + "type" : "array", + "items" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + } + }, { + "type" : "null" + } ] + } + }, + "required" : [ "name" ] + }, + "metabase.agent-api.api.create-dashboard-response" : { + "type" : "object", + "properties" : { + "collection_id" : { + "oneOf" : [ { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, { + "type" : "null" + } ] + }, + "dashcard_ids" : { + "type" : "array", + "items" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + } + }, + "description" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "name" : { + "type" : "string", + "minLength" : 1 + } + }, + "required" : [ "id", "name", "collection_id", "description", "dashcard_ids" ] + }, + "metabase.agent-api.api.create-question-request" : { + "type" : "object", + "properties" : { + "collection_id" : { + "oneOf" : [ { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, { + "type" : "null" + } ] + }, + "description" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "display" : { + "oneOf" : [ { + "$ref" : "#/components/schemas/metabase.agent-api.api.card-display" + }, { + "type" : "null" + } ] + }, + "name" : { + "type" : "string", + "minLength" : 1 + }, + "query" : { + "type" : "string", + "minLength" : 1 + }, + "visualization_settings" : { + "oneOf" : [ { + "type" : "object", + "properties" : { } + }, { + "type" : "null" + } ] + } + }, + "required" : [ "name", "query" ] + }, + "metabase.agent-api.api.create-question-response" : { + "type" : "object", + "properties" : { + "collection_id" : { + "oneOf" : [ { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, { + "type" : "null" + } ] + }, + "description" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "display" : { + "type" : "string" + }, + "id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "name" : { + "type" : "string", + "minLength" : 1 + } + }, + "required" : [ "id", "name", "display", "collection_id", "description" ] + }, + "metabase.agent-api.api.dashcard-mutation" : { + "description" : "One dashcard mutation. Discriminated on `:action`:\n - `add` : requires `card_id`. Auto-positioned. Optional `display_size`(\"wide\", \"tall\", or \"full\").\n - `remove` : requires `dashcard_id`.\n - `move` : requires `dashcard_id` and `position` (\"top\" or \"bottom\").", + "oneOf" : [ { + "type" : "object", + "properties" : { + "action" : { + "const" : "add" + }, + "card_id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "display_size" : { + "oneOf" : [ { + "type" : "string", + "enum" : [ "wide", "tall", "full" ] + }, { + "type" : "null" + } ] + } + }, + "required" : [ "action", "card_id" ] + }, { + "type" : "object", + "properties" : { + "action" : { + "const" : "remove" + }, + "dashcard_id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + } + }, + "required" : [ "action", "dashcard_id" ] + }, { + "type" : "object", + "properties" : { + "action" : { + "const" : "move" + }, + "dashcard_id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "position" : { + "type" : "string", + "enum" : [ "top", "bottom" ] + } + }, + "required" : [ "action", "dashcard_id", "position" ] + } ] }, "metabase.agent-api.api.execute-query-request" : { "description" : "Request schema for /v1/execute. Accepts a base64-encoded MBQL query.", @@ -3272,240 +4306,24 @@ }, "required" : [ "status" ] }, - "metabase.agent-api.api.field" : { - "description" : "A field from a table or metric. field_id is the real database field ID (integer) for concrete fields,\n or a string alias for expression/aggregation columns.", + "metabase.agent-api.api.execute-sql-request" : { + "description" : "Request shape for /v1/execute-sql. The LLM passes a raw SQL string against a target database.", "type" : "object", "properties" : { - "base_type" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] - }, - "coercion_strategy" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] - }, - "name" : { - "type" : "string" - }, - "semantic_type" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] - }, - "display_name" : { - "type" : "string" - }, - "field_values" : { - "oneOf" : [ { - "type" : "array", - "items" : { } - }, { - "type" : "null" - } ] - }, - "type" : { - "oneOf" : [ { - "$ref" : "#/components/schemas/metabase.agent-api.api.field-type" - }, { - "type" : "null" - } ] - }, - "field_id" : { - "$ref" : "#/components/schemas/metabase.agent-api.api.field-id" - }, - "effective_type" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] - }, - "database_type" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] - }, - "description" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] - } - }, - "required" : [ "field_id", "name", "display_name" ] - }, - "metabase.agent-api.api.field-id" : { - "description" : "Field id as accepted by agent_api endpoints — either a real app-DB field id (positive integer)\n or a string alias for expression/aggregation columns.", - "anyOf" : [ { - "$ref" : "#/components/schemas/metabase.lib.schema.id.field" - }, { - "type" : "string" - } ] - }, - "metabase.agent-api.api.field-type" : { - "description" : "A data type for a field derived from Metabase's type hierarchy.", - "type" : "string", - "enum" : [ "boolean", "date", "datetime", "time", "number", "string" ] - }, - "metabase.agent-api.api.field-values" : { - "description" : "Statistics and sample values for a specific field.", - "type" : "object", - "properties" : { - "field_id" : { - "oneOf" : [ { - "$ref" : "#/components/schemas/metabase.agent-api.api.field-id" - }, { - "type" : "null" - } ] - }, - "statistics" : { - "oneOf" : [ { - "$ref" : "#/components/schemas/metabase.agent-api.api.statistics" - }, { - "type" : "null" - } ] - }, - "values" : { - "oneOf" : [ { - "type" : "array", - "items" : { } - }, { - "type" : "null" - } ] - } - } - }, - "metabase.agent-api.api.measure" : { - "description" : "A reusable aggregation expression associated with a table. Reference via measure_id in the aggregations array.", - "type" : "object", - "properties" : { - "description" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] - }, - "display_name" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] - }, - "id" : { - "type" : "integer" - }, - "name" : { - "type" : "string" - } - }, - "required" : [ "id", "name" ] - }, - "metabase.agent-api.api.metric" : { - "description" : "A metric with its queryable dimensions and segments. The default_time_dimension_field_id is the field_id of the recommended time dimension for temporal breakouts.", - "type" : "object", - "properties" : { - "default_time_dimension_field_id" : { - "oneOf" : [ { - "$ref" : "#/components/schemas/metabase.agent-api.api.field-id" - }, { - "type" : "null" - } ] - }, - "description" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] - }, - "id" : { - "type" : "integer" - }, - "name" : { - "type" : "string" - }, - "queryable_dimensions" : { - "oneOf" : [ { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/metabase.agent-api.api.field" - } - }, { - "type" : "null" - } ] - }, - "segments" : { - "oneOf" : [ { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/metabase.agent-api.api.segment" - } - }, { - "type" : "null" - } ] - }, - "type" : { - "const" : "metric" - }, - "verified" : { - "oneOf" : [ { - "type" : "boolean" - }, { - "type" : "null" - } ] - } - }, - "required" : [ "id", "type", "name" ] - }, - "metabase.agent-api.api.metric-summary" : { - "description" : "Summary of a metric associated with a table. Includes the field_id of the default time dimension for temporal breakouts.", - "type" : "object", - "properties" : { - "default_time_dimension_field_id" : { - "oneOf" : [ { - "$ref" : "#/components/schemas/metabase.agent-api.api.field-id" - }, { - "type" : "null" - } ] - }, - "description" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] - }, - "id" : { - "type" : "integer" - }, - "name" : { - "type" : "string" + "database_id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 }, - "type" : { - "const" : "metric" + "sql" : { + "type" : "string", + "minLength" : 1 } }, - "required" : [ "id", "type", "name" ] - }, - "metabase.agent-api.api.program-request" : { - "description" : "Request body for /v2/construct-query and /v2/query.\n An agent-lib structured program with `:source` and `:operations`. The top-level\n `:source` must reference a database entity (`table`, `card`, `dataset`, or\n `metric`); `context` and nested `program` sources are rejected at the HTTP\n boundary by [[evaluate-program-for-execution]] because they require an\n in-process evaluation context.", - "$ref" : "#/components/schemas/metabase.agent-lib.schema.program" + "required" : [ "database_id", "sql" ] }, "metabase.agent-api.api.query-request" : { - "description" : "Request body for /v2/query. Accepts either a structured program or a continuation_token.", + "description" : "Request body for /v2/query. Accepts either a fresh-query payload (`{:query }`,\n same shape as /v2/construct-query) or a `:continuation_token` from a prior response.\n\n Both branches are closed maps: extra top-level keys (e.g. the legacy\n `source_entity` / `referenced_entities` envelope, or sending `:query` and\n `:continuation_token` simultaneously) are rejected with a 400.", "oneOf" : [ { "type" : "object", "properties" : { @@ -3514,9 +4332,10 @@ "minLength" : 1 } }, - "required" : [ "continuation_token" ] + "required" : [ "continuation_token" ], + "additionalProperties" : false }, { - "$ref" : "#/components/schemas/metabase.agent-api.api.program-request" + "$ref" : "#/components/schemas/metabase.agent-api.api.construct-query-request" } ] }, "metabase.agent-api.api.query-response" : { @@ -3565,73 +4384,58 @@ }, "required" : [ "status" ] }, - "metabase.agent-api.api.related-table" : { - "description" : "A table related to the queried entity via foreign key. The related_by field indicates the FK field name.", + "metabase.agent-api.api.read-resource-item" : { + "description" : "One fetched resource. Either `:content` (success) or `:error` (failure) is present.", "type" : "object", "properties" : { - "database_engine" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] - }, - "id" : { - "type" : "integer" - }, - "name" : { - "type" : "string" - }, - "database_id" : { - "oneOf" : [ { - "type" : "integer" - }, { - "type" : "null" - } ] - }, - "related_by" : { - "oneOf" : [ { - "type" : "string" - }, { + "content" : { + "oneOf" : [ { }, { "type" : "null" } ] }, - "display_name" : { + "error" : { "oneOf" : [ { "type" : "string" }, { "type" : "null" } ] }, - "type" : { - "const" : "table" - }, - "fields" : { - "oneOf" : [ { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/metabase.agent-api.api.field" - } - }, { - "type" : "null" - } ] - }, - "database_schema" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] + "uri" : { + "type" : "string", + "minLength" : 1 + } + }, + "required" : [ "uri" ] + }, + "metabase.agent-api.api.read-resource-request" : { + "description" : "Request shape for /v1/read-resource. Accepts up to 5 metabase:// URIs.", + "type" : "object", + "properties" : { + "uris" : { + "type" : "array", + "items" : { + "type" : "string", + "minLength" : 1 + } + } + }, + "required" : [ "uris" ] + }, + "metabase.agent-api.api.read-resource-response" : { + "description" : "Response shape from /v1/read-resource. `:resources` is the per-URI result list;\n `:output` is the formatted XML string the LLM consumes.", + "type" : "object", + "properties" : { + "output" : { + "type" : "string" }, - "description" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] + "resources" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/metabase.agent-api.api.read-resource-item" + } } }, - "required" : [ "id", "type", "name" ] + "required" : [ "resources", "output" ] }, "metabase.agent-api.api.search-response" : { "description" : "Search results containing tables and metrics matching the query.", @@ -3711,568 +4515,237 @@ }, "required" : [ "id", "type", "name" ] }, - "metabase.agent-api.api.segment" : { - "description" : "A predefined filter condition that can be applied to queries via the segment_id in filters.", - "type" : "object", - "properties" : { - "description" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] - }, - "display_name" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] - }, - "id" : { - "type" : "integer" - }, - "name" : { - "type" : "string" - } - }, - "required" : [ "id", "name" ] - }, - "metabase.agent-api.api.statistics" : { - "description" : "Statistical summary of a field's values computed during database sync. Includes counts, percentages, numeric summaries (min/max/avg/quartiles/sd), and date ranges.", + "metabase.agent-api.api.update-dashboard-request" : { + "description" : "Patch shape for `update_dashboard`. Metadata fields and an optional `dashcards` list of\n add/remove/move mutations applied in order.", "type" : "object", "properties" : { - "min" : { + "archived" : { "oneOf" : [ { - "type" : "number" + "type" : "boolean" }, { "type" : "null" } ] }, - "percent_url" : { + "collection_id" : { "oneOf" : [ { - "type" : "number" + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 }, { "type" : "null" } ] }, - "average_length" : { + "dashcards" : { "oneOf" : [ { - "type" : "number" + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/metabase.agent-api.api.dashcard-mutation" + } }, { "type" : "null" } ] }, - "earliest" : { + "description" : { "oneOf" : [ { "type" : "string" }, { "type" : "null" } ] }, - "q1" : { + "name" : { "oneOf" : [ { - "type" : "number" + "type" : "string", + "minLength" : 1 }, { "type" : "null" } ] + } + } + }, + "metabase.agent-api.api.update-dashboard-response" : { + "description" : "Returned by `update_dashboard`. `:dashcard_ids` is the post-mutation list of dashcard\n ids in row/col order so the LLM can confirm what landed on the dashboard.", + "type" : "object", + "properties" : { + "archived" : { + "type" : "boolean" }, - "max" : { + "collection_id" : { "oneOf" : [ { - "type" : "number" + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 }, { "type" : "null" } ] }, - "distinct_count" : { - "oneOf" : [ { - "type" : "integer" - }, { - "type" : "null" - } ] + "dashcard_ids" : { + "type" : "array", + "items" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + } }, - "percent_state" : { + "description" : { "oneOf" : [ { - "type" : "number" + "type" : "string" }, { "type" : "null" } ] }, - "percent_null" : { + "id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "name" : { + "type" : "string", + "minLength" : 1 + } + }, + "required" : [ "id", "name", "collection_id", "description", "archived", "dashcard_ids" ] + }, + "metabase.agent-api.api.update-question-request" : { + "description" : "Patch shape for `update_question`. Every field is optional; only the fields the caller\n passes are changed. `:query` accepts a base64-encoded MBQL string (or query_handle UUID\n resolved upstream in the MCP layer).", + "type" : "object", + "properties" : { + "archived" : { "oneOf" : [ { - "type" : "number" + "type" : "boolean" }, { "type" : "null" } ] }, - "avg" : { + "collection_id" : { "oneOf" : [ { - "type" : "number" + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 }, { "type" : "null" } ] }, - "sd" : { + "description" : { "oneOf" : [ { - "type" : "number" + "type" : "string" }, { "type" : "null" } ] }, - "percent_email" : { + "display" : { "oneOf" : [ { - "type" : "number" + "$ref" : "#/components/schemas/metabase.agent-api.api.card-display" }, { "type" : "null" } ] }, - "latest" : { + "name" : { "oneOf" : [ { - "type" : "string" + "type" : "string", + "minLength" : 1 }, { "type" : "null" } ] }, - "q3" : { + "query" : { "oneOf" : [ { - "type" : "number" + "type" : "string", + "minLength" : 1 }, { "type" : "null" } ] }, - "percent_json" : { + "visualization_settings" : { "oneOf" : [ { - "type" : "number" + "type" : "object", + "properties" : { } }, { "type" : "null" } ] } } }, - "metabase.agent-api.api.table" : { - "description" : "Full details of a table including its fields, related tables, metrics, and segments.", + "metabase.agent-api.api.update-question-response" : { + "description" : "Returned by `update_question` - the fields the LLM is most likely to want to read back\n after an update. Excludes the full dataset_query, which the caller can re-fetch via\n `read_resource` if needed.", "type" : "object", "properties" : { - "database_engine" : { - "type" : "string" - }, - "id" : { - "type" : "integer" - }, - "name" : { - "type" : "string" - }, - "database_id" : { - "type" : "integer" - }, - "related_tables" : { - "oneOf" : [ { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/metabase.agent-api.api.related-table" - } - }, { - "type" : "null" - } ] - }, - "display_name" : { - "type" : "string" + "archived" : { + "type" : "boolean" }, - "segments" : { + "collection_id" : { "oneOf" : [ { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/metabase.agent-api.api.segment" - } + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 }, { "type" : "null" } ] }, - "type" : { - "$ref" : "#/components/schemas/metabase.agent-api.api.entity-type" - }, - "fields" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/metabase.agent-api.api.field" - } - }, - "database_schema" : { + "description" : { "oneOf" : [ { "type" : "string" }, { "type" : "null" } ] }, - "metrics" : { - "oneOf" : [ { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/metabase.agent-api.api.metric-summary" - } - }, { - "type" : "null" - } ] + "display" : { + "type" : "string" }, - "measures" : { - "oneOf" : [ { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/metabase.agent-api.api.measure" - } - }, { - "type" : "null" - } ] + "id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 }, - "description" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] + "name" : { + "type" : "string", + "minLength" : 1 } }, - "required" : [ "id", "type", "name", "display_name", "database_id", "database_engine", "fields" ] + "required" : [ "id", "name", "display", "collection_id", "description", "archived" ] }, - "metabase.agent-lib.schema.aggregation-ref-form" : { - "type" : "array", - "prefixItems" : [ { - "const" : "aggregation-ref" - }, { - "type" : "integer", - "minimum" : 0 - } ] - }, - "metabase.agent-lib.schema.expression-ref-form" : { - "type" : "array", - "prefixItems" : [ { - "const" : "expression-ref" + "metabase.analyze.query-results.ResultsMetadata" : { + "description" : "value must be an array of valid results column metadata maps.", + "oneOf" : [ { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/metabase.query-processor.schema..result-metadata.column" + } }, { - "$ref" : "#/components/schemas/metabase.agent-lib.schema.non-blank-string" + "type" : "null" } ] }, - "metabase.agent-lib.schema.form" : { - "anyOf" : [ { - "$ref" : "#/components/schemas/metabase.agent-lib.schema.source-ref" - }, { - "$ref" : "#/components/schemas/metabase.agent-lib.schema.query-aware-ref" + "metabase.api-keys.schema..key.masked" : { + "description" : "Masked string like 'mb_1234**********'.", + "allOf" : [ { + "$ref" : "#/components/schemas/metabase.api-keys.schema..key.raw" }, { - "$ref" : "#/components/schemas/metabase.agent-lib.schema.nested-operator-form" + "type" : "string", + "pattern" : "^mb_.*{4}\\*+$" } ] }, - "metabase.agent-lib.schema.map-literal" : { - "type" : "object", - "additionalProperties" : { - "$ref" : "#/components/schemas/metabase.agent-lib.schema.node" - } + "metabase.api-keys.schema..key.raw" : { + "description" : "Unhashed string of the form 'mb_'.", + "type" : "string", + "minLength" : 12, + "maxLength" : 254 }, - "metabase.agent-lib.schema.nested-operator-form" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/metabase.agent-lib.schema.node" - }, - "minItems" : 1 + "metabase.api-keys.schema.id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 }, - "metabase.agent-lib.schema.node" : { - "anyOf" : [ { - "$ref" : "#/components/schemas/metabase.agent-lib.schema.scalar" - }, { - "$ref" : "#/components/schemas/metabase.agent-lib.schema.program-literal" - }, { - "$ref" : "#/components/schemas/metabase.agent-lib.schema.map-literal" - }, { - "$ref" : "#/components/schemas/metabase.agent-lib.schema.form" - }, { - "$ref" : "#/components/schemas/metabase.agent-lib.schema.vector-literal" - } ] + "metabase.api-keys.schema.name" : { + "type" : "string", + "minLength" : 1, + "maxLength" : 254 }, - "metabase.agent-lib.schema.non-blank-string" : { - "type" : "string" + "metabase.api-keys.schema.prefix" : { + "description" : "Prefix string of an API Key, suitable for passing around unmasked. This must be unique.", + "type" : "string", + "minLength" : 7, + "maxLength" : 7 }, - "metabase.agent-lib.schema.page" : { - "type" : "object", - "properties" : { - "items" : { - "description" : "value must be an integer greater than zero.", - "type" : "integer", - "minimum" : 1 - }, - "page" : { - "description" : "value must be an integer greater than zero.", - "type" : "integer", - "minimum" : 1 - } - }, - "required" : [ "page", "items" ], - "additionalProperties" : false - }, - "metabase.agent-lib.schema.program" : { - "type" : "object", - "properties" : { - "operations" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/metabase.agent-lib.schema.top-level-op" - } - }, - "source" : { - "$ref" : "#/components/schemas/metabase.agent-lib.schema.source" - } - }, - "required" : [ "source", "operations" ], - "additionalProperties" : false - }, - "metabase.agent-lib.schema.program-literal" : { - "type" : "object", - "properties" : { - "program" : { - "$ref" : "#/components/schemas/metabase.agent-lib.schema.program" - }, - "type" : { - "const" : "program" - } - }, - "required" : [ "type", "program" ], - "additionalProperties" : false - }, - "metabase.agent-lib.schema.query-aware-ref" : { - "anyOf" : [ { - "$ref" : "#/components/schemas/metabase.agent-lib.schema.expression-ref-form" - }, { - "$ref" : "#/components/schemas/metabase.agent-lib.schema.aggregation-ref-form" - } ] - }, - "metabase.agent-lib.schema.scalar" : { - "anyOf" : [ { - "type" : "null" - }, { - "type" : "string" - }, { - "type" : "number" - }, { - "type" : "boolean" - } ] - }, - "metabase.agent-lib.schema.source" : { - "anyOf" : [ { - "type" : "object", - "properties" : { - "ref" : { - "const" : "source" - }, - "type" : { - "const" : "context" - } - }, - "required" : [ "type", "ref" ], - "additionalProperties" : false - }, { - "type" : "object", - "properties" : { - "id" : { - "description" : "value must be an integer greater than zero.", - "type" : "integer", - "minimum" : 1 - }, - "type" : { - "type" : "string", - "enum" : [ "table", "card", "dataset", "metric" ] - } - }, - "required" : [ "type", "id" ], - "additionalProperties" : false - }, { - "$ref" : "#/components/schemas/metabase.agent-lib.schema.program-literal" - } ] - }, - "metabase.agent-lib.schema.source-ref" : { - "anyOf" : [ { - "type" : "array", - "prefixItems" : [ { - "const" : "field" - }, { - "description" : "value must be an integer greater than zero.", - "type" : "integer", - "minimum" : 1 - } ] - }, { - "type" : "array", - "prefixItems" : [ { - "const" : "table" - }, { - "description" : "value must be an integer greater than zero.", - "type" : "integer", - "minimum" : 1 - } ] - }, { - "type" : "array", - "prefixItems" : [ { - "const" : "card" - }, { - "description" : "value must be an integer greater than zero.", - "type" : "integer", - "minimum" : 1 - } ] - }, { - "type" : "array", - "prefixItems" : [ { - "const" : "metric" - }, { - "description" : "value must be an integer greater than zero.", - "type" : "integer", - "minimum" : 1 - } ] - } ] - }, - "metabase.agent-lib.schema.top-level-op" : { - "anyOf" : [ { - "type" : "array", - "prefixItems" : [ { - "const" : "filter" - }, { - "$ref" : "#/components/schemas/metabase.agent-lib.schema.form" - } ] - }, { - "type" : "array", - "prefixItems" : [ { - "const" : "aggregate" - }, { - "$ref" : "#/components/schemas/metabase.agent-lib.schema.form" - } ] - }, { - "type" : "array", - "prefixItems" : [ { - "const" : "breakout" - }, { - "$ref" : "#/components/schemas/metabase.agent-lib.schema.form" - } ] - }, { - "type" : "array", - "prefixItems" : [ { - "const" : "with-fields" - }, { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/metabase.agent-lib.schema.form" - } - } ] - }, { - "type" : "array", - "prefixItems" : [ { - "const" : "limit" - }, { - "description" : "value must be an integer greater than zero.", - "type" : "integer", - "minimum" : 1 - } ] - }, { - "type" : "array", - "prefixItems" : [ { - "const" : "expression" - }, { - "$ref" : "#/components/schemas/metabase.agent-lib.schema.non-blank-string" - }, { - "$ref" : "#/components/schemas/metabase.agent-lib.schema.form" - } ] - }, { - "type" : "array", - "prefixItems" : [ { - "const" : "join" - }, { - "$ref" : "#/components/schemas/metabase.agent-lib.schema.form" - } ] - }, { - "anyOf" : [ { - "type" : "array", - "prefixItems" : [ { - "const" : "order-by" - }, { - "$ref" : "#/components/schemas/metabase.agent-lib.schema.form" - } ] - }, { - "type" : "array", - "prefixItems" : [ { - "const" : "order-by" - }, { - "$ref" : "#/components/schemas/metabase.agent-lib.schema.form" - }, { - "type" : "string", - "enum" : [ "asc", "desc" ] - } ] - } ] - }, { - "type" : "array", - "prefixItems" : [ { - "const" : "append-stage" - } ] - }, { - "type" : "array", - "prefixItems" : [ { - "const" : "drop-stage" - } ] - }, { - "type" : "array", - "prefixItems" : [ { - "const" : "drop-empty-stages" - } ] - }, { - "type" : "array", - "prefixItems" : [ { - "const" : "with-page" - }, { - "$ref" : "#/components/schemas/metabase.agent-lib.schema.page" - } ] - } ] - }, - "metabase.agent-lib.schema.vector-literal" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/metabase.agent-lib.schema.node" - } - }, - "metabase.analyze.query-results.ResultsMetadata" : { - "description" : "value must be an array of valid results column metadata maps.", - "oneOf" : [ { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/metabase.query-processor.schema..result-metadata.column" - } - }, { - "type" : "null" - } ] - }, - "metabase.api-keys.schema..key.masked" : { - "description" : "Masked string like 'mb_1234**********'.", - "allOf" : [ { - "$ref" : "#/components/schemas/metabase.api-keys.schema..key.raw" - }, { - "type" : "string", - "pattern" : "^mb_.*{4}\\*+$" - } ] - }, - "metabase.api-keys.schema..key.raw" : { - "description" : "Unhashed string of the form 'mb_'.", - "type" : "string", - "minLength" : 12, - "maxLength" : 254 - }, - "metabase.api-keys.schema.id" : { - "description" : "value must be an integer greater than zero.", - "type" : "integer", - "minimum" : 1 - }, - "metabase.api-keys.schema.name" : { - "type" : "string", - "minLength" : 1, - "maxLength" : 254 - }, - "metabase.api-keys.schema.prefix" : { - "description" : "Prefix string of an API Key, suitable for passing around unmasked. This must be unique.", - "type" : "string", - "minLength" : 7, - "maxLength" : 7 - }, - "metabase.cache.api..cache-strategy.base.ee" : { + "metabase.cache.api..cache-strategy.base.ee" : { "type" : "object", "properties" : { "type" : { @@ -5168,7 +5641,7 @@ }, "metabase.driver.connection.connection-type" : { "type" : "string", - "enum" : [ "default", "write-data" ] + "enum" : [ "default", "write-data", "admin", "transform" ] }, "metabase.embedding-rest.api.theme.EmbeddingTheme" : { "type" : "object", @@ -8000,6 +8473,8 @@ "required" : [ "lib/type" ] }, { "$ref" : "#/components/schemas/metabase.lib.schema..stage.valid-refs" + }, { + "$ref" : "#/components/schemas/metabase.lib.schema..stage.page-and-limit-are-mutually-exclusive" }, { "allOf" : [ ] } ] @@ -8053,6 +8528,9 @@ "allOf" : [ ] } ] }, + "metabase.lib.schema..stage.page-and-limit-are-mutually-exclusive" : { + "description" : "If an MBQL query stage specifies `:page`, it should not also specify `:limit`" + }, "metabase.lib.schema..stage.type" : { "type" : "string", "enum" : [ "mbql.stage/native", "mbql.stage/mbql" ] @@ -9572,7 +10050,21 @@ "description" : "Schema for fingerprint information for Fields deriving from `:type/Number`.", "type" : "object", "properties" : { - "avg" : { + "mode-fraction" : { + "oneOf" : [ { + "$ref" : "#/components/schemas/metabase.lib.schema.metadata.fingerprint.percent" + }, { + "type" : "null" + } ] + }, + "min" : { + "oneOf" : [ { + "type" : "number" + }, { + "type" : "null" + } ] + }, + "q1" : { "oneOf" : [ { "type" : "number" }, { @@ -9586,14 +10078,21 @@ "type" : "null" } ] }, - "min" : { + "avg" : { "oneOf" : [ { "type" : "number" }, { "type" : "null" } ] }, - "q1" : { + "sd" : { + "oneOf" : [ { + "type" : "number" + }, { + "type" : "null" + } ] + }, + "skewness" : { "oneOf" : [ { "type" : "number" }, { @@ -9607,12 +10106,26 @@ "type" : "null" } ] }, - "sd" : { + "top-3-fraction" : { + "oneOf" : [ { + "$ref" : "#/components/schemas/metabase.lib.schema.metadata.fingerprint.percent" + }, { + "type" : "null" + } ] + }, + "excess-kurtosis" : { "oneOf" : [ { "type" : "number" }, { "type" : "null" } ] + }, + "zero-fraction" : { + "oneOf" : [ { + "$ref" : "#/components/schemas/metabase.lib.schema.metadata.fingerprint.percent" + }, { + "type" : "null" + } ] } } }, @@ -9633,6 +10146,27 @@ }, { "type" : "null" } ] + }, + "mode-fraction" : { + "oneOf" : [ { + "$ref" : "#/components/schemas/metabase.lib.schema.metadata.fingerprint.percent" + }, { + "type" : "null" + } ] + }, + "skewness" : { + "oneOf" : [ { + "type" : "number" + }, { + "type" : "null" + } ] + }, + "top-3-fraction" : { + "oneOf" : [ { + "$ref" : "#/components/schemas/metabase.lib.schema.metadata.fingerprint.percent" + }, { + "type" : "null" + } ] } } }, @@ -9647,6 +10181,20 @@ "type" : "null" } ] }, + "mode-fraction" : { + "oneOf" : [ { + "$ref" : "#/components/schemas/metabase.lib.schema.metadata.fingerprint.percent" + }, { + "type" : "null" + } ] + }, + "percent-blank" : { + "oneOf" : [ { + "$ref" : "#/components/schemas/metabase.lib.schema.metadata.fingerprint.percent" + }, { + "type" : "null" + } ] + }, "percent-email" : { "oneOf" : [ { "$ref" : "#/components/schemas/metabase.lib.schema.metadata.fingerprint.percent" @@ -9674,6 +10222,13 @@ }, { "type" : "null" } ] + }, + "top-3-fraction" : { + "oneOf" : [ { + "$ref" : "#/components/schemas/metabase.lib.schema.metadata.fingerprint.percent" + }, { + "type" : "null" + } ] } } }, @@ -13797,212 +14352,58 @@ "required" : [ "enabled" ] } }, - "metabase.warehouses-rest.api.database-info" : { + "metabase.workspaces.core.table-namespace" : { + "description" : "A `{:db ?, :schema ?}` namespace map. Either or both keys may be present\n depending on the driver's `qualified-name-components`; at least one must\n populate. Empty-string `\"\"` is reserved for the storage layer; the atom\n carries `nil`/missing for absent slots.", "type" : "object", "properties" : { - "engine" : { - "type" : "string" - }, - "id" : { - "$ref" : "#/components/schemas/metabase.lib.schema.id.database" - }, - "name" : { - "type" : "string" - } - }, - "required" : [ "id", "name", "engine" ] - }, - "metabase.warehouses-rest.api.databases-metadata-response" : { - "type" : "object", - "properties" : { - "databases" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/metabase.warehouses-rest.api.database-info" - } - }, - "fields" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/metabase.warehouses-rest.api.field-info" - } - }, - "tables" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/metabase.warehouses-rest.api.table-info" - } - } - }, - "required" : [ "databases", "tables", "fields" ] - }, - "metabase.warehouses-rest.api.field-info" : { - "type" : "object", - "properties" : { - "base_type" : { - "type" : "string" - }, - "id" : { - "$ref" : "#/components/schemas/metabase.lib.schema.id.field" - }, - "coercion_strategy" : { - "type" : "string" - }, - "name" : { - "type" : "string" - }, - "semantic_type" : { - "type" : "string" - }, - "table_id" : { - "$ref" : "#/components/schemas/metabase.lib.schema.id.table" - }, - "effective_type" : { - "type" : "string" - }, - "parent_id" : { - "$ref" : "#/components/schemas/metabase.lib.schema.id.field" - }, - "database_type" : { - "type" : "string" - }, - "description" : { - "type" : "string" + "db" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] }, - "fk_target_field_id" : { - "$ref" : "#/components/schemas/metabase.lib.schema.id.field" + "schema" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] } - }, - "required" : [ "id", "table_id", "name", "base_type" ] + } }, - "metabase.warehouses-rest.api.field-values-info" : { + "metabase.workspaces.core.workspace-database-config" : { + "description" : "Per-database workspace config: `:input_schemas` is a vector of driver-opaque\n schema names (the source schemas the workspace reads from) — may be empty\n on drivers with no schema layer (e.g. MySQL), where the bound DB itself acts\n as the implicit input namespace; `:output` is a single namespace map (the\n workspace's isolation schema, expanded with the warehouse catalog at boot).", "type" : "object", "properties" : { - "field_id" : { - "$ref" : "#/components/schemas/metabase.lib.schema.id.field" - }, - "has_more_values" : { - "type" : "boolean" - }, - "human_readable_values" : { + "input_schemas" : { "type" : "array", "items" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] + "type" : "string" } }, - "values" : { - "type" : "array", - "items" : { - "type" : "array", - "items" : { } - } + "output" : { + "$ref" : "#/components/schemas/metabase.workspaces.core.table-namespace" } }, - "required" : [ "field_id", "values", "has_more_values" ] + "required" : [ "input_schemas", "output" ] }, - "metabase.warehouses-rest.api.field-values-response" : { - "type" : "object", - "properties" : { - "field_values" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/metabase.warehouses-rest.api.field-values-info" - } - } - }, - "required" : [ "field_values" ] - }, - "metabase.warehouses-rest.api.metadata-import-report" : { + "metabase.workspaces.core.workspace-instance-config" : { + "description" : "The shape stored in the EE `instance-workspace` setting after the `:workspace`\n config.yml loader has resolved database names to ids. Database keys are integer\n ids (post-resolution); the wire format with name keys lives in\n `metabase-enterprise.advanced-config.file.workspace`.", "type" : "object", "properties" : { "databases" : { "type" : "object", - "properties" : { - "failed" : { - "type" : "array", - "items" : { - "type" : "object", - "properties" : { } - } - }, - "matched" : { - "type" : "integer" - }, - "missing" : { - "type" : "array", - "items" : { - "type" : "object", - "properties" : { } - } - } - }, - "required" : [ "matched", "missing" ] - }, - "fields" : { - "type" : "object", - "properties" : { - "created" : { - "type" : "integer" - }, - "matched" : { - "type" : "integer" - }, - "missing" : { - "type" : "array", - "items" : { - "type" : "object", - "properties" : { } - } - } - }, - "required" : [ "matched", "created", "missing" ] - }, - "tables" : { - "type" : "object", - "properties" : { - "created" : { - "type" : "integer" - }, - "matched" : { - "type" : "integer" - }, - "missing" : { - "type" : "array", - "items" : { - "type" : "object", - "properties" : { } - } - } - }, - "required" : [ "matched", "created", "missing" ] - } - }, - "required" : [ "databases", "tables", "fields" ] - }, - "metabase.warehouses-rest.api.table-info" : { - "type" : "object", - "properties" : { - "db_id" : { - "$ref" : "#/components/schemas/metabase.lib.schema.id.database" - }, - "description" : { - "type" : "string" - }, - "id" : { - "$ref" : "#/components/schemas/metabase.lib.schema.id.table" + "additionalProperties" : { + "$ref" : "#/components/schemas/metabase.workspaces.core.workspace-database-config" + } }, "name" : { - "type" : "string" - }, - "schema" : { - "type" : "string" + "type" : "string", + "minLength" : 1 } }, - "required" : [ "id", "db_id", "name" ] + "required" : [ "name", "databases" ] }, "metabase.xrays.api.automagic-dashboards.base-64-encoded-json" : { "description" : "form-encoded base-64-encoded JSON" @@ -14518,6 +14919,123 @@ "tags" : [ "/api/activity" ] } }, + "/api/agent/v1/collection" : { + "post" : { + "operationId" : "post-api-agent-v1-collection", + "summary" : "POST /api/agent/v1/collection", + "description" : "Create a new Collection.\n\n Pass `parent_collection_id` to nest under another collection; omit for a root-level collection.\n The caller must have write access to the parent (or root, if no parent given).", + "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/metabase.agent-api.api.create-collection-response" + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/metabase.agent-api.api.create-collection-request" + } + } + } + }, + "tags" : [ "/api/agent" ] + } + }, + "/api/agent/v1/dashboard" : { + "post" : { + "operationId" : "post-api-agent-v1-dashboard", + "summary" : "POST /api/agent/v1/dashboard", + "description" : "Create a new dashboard, optionally populated with saved questions.\n\n Pass `question_ids` to add existing saved questions as cards on the dashboard.\n Cards are automatically positioned on the grid based on their display type.", + "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/metabase.agent-api.api.create-dashboard-response" + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/metabase.agent-api.api.create-dashboard-request" + } + } + } + }, + "tags" : [ "/api/agent" ] + } + }, + "/api/agent/v1/dashboard/{id}" : { + "put" : { + "operationId" : "put-api-agent-v1-dashboard-id", + "summary" : "PUT /api/agent/v1/dashboard/{id}", + "description" : "Update a dashboard. Patch semantics - only fields you pass are changed.\n\n Metadata: `name`, `description`, `collection_id`, `archived`. Dashcard mutations\n are submitted under `dashcards` as a list of `{action: add|remove|move, ...}`\n entries applied in order. `add` requires `card_id`; `remove` and `move` require\n `dashcard_id`.", + "parameters" : [ { + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "integer", + "minimum" : 1 + }, + "description" : "value must be an integer greater than zero." + } ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/metabase.agent-api.api.update-dashboard-response" + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/metabase.agent-api.api.update-dashboard-request" + } + } + } + }, + "tags" : [ "/api/agent" ] + } + }, "/api/agent/v1/execute" : { "post" : { "operationId" : "post-api-agent-v1-execute", @@ -14554,72 +15072,88 @@ "tags" : [ "/api/agent" ] } }, - "/api/agent/v1/metric/{id}" : { - "get" : { - "operationId" : "get-api-agent-v1-metric-id", - "summary" : "GET /api/agent/v1/metric/{id}", - "description" : "Get details for a metric by ID.", - "parameters" : [ { - "in" : "path", - "name" : "id", - "required" : true, - "schema" : { - "type" : "integer", - "minimum" : 1 + "/api/agent/v1/execute-sql" : { + "post" : { + "operationId" : "post-api-agent-v1-execute-sql", + "summary" : "POST /api/agent/v1/execute-sql", + "description" : "Execute a raw SQL query against a database. Returns rows + column metadata.\n\n Requires the user to have native-query permission on the target database; the QP\n middleware enforces this. The instance-level `mcp-execute-sql-enabled` setting\n must also be on (it is by default).", + "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/metabase.agent-api.api.execute-query-response" + } + } + } }, - "description" : "value must be an integer greater than zero." - }, { - "in" : "query", - "name" : "with-default-temporal-breakout", - "required" : false, - "schema" : { - "oneOf" : [ { - "type" : "boolean" - }, { - "type" : "null" - } ] - } - }, { - "in" : "query", - "name" : "with-field-values", - "required" : false, - "schema" : { - "oneOf" : [ { - "type" : "boolean" - }, { - "type" : "null" - } ] + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" } - }, { - "in" : "query", - "name" : "with-queryable-dimensions", - "required" : false, - "schema" : { - "oneOf" : [ { - "type" : "boolean" - }, { - "type" : "null" - } ] + }, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/metabase.agent-api.api.execute-sql-request" + } + } } - }, { - "in" : "query", - "name" : "with-segments", - "required" : false, - "schema" : { - "oneOf" : [ { - "type" : "boolean" - }, { - "type" : "null" - } ] + }, + "tags" : [ "/api/agent" ] + } + }, + "/api/agent/v1/ping" : { + "get" : { + "operationId" : "get-api-agent-v1-ping", + "summary" : "GET /api/agent/v1/ping", + "description" : "Health check endpoint for the Agent API.", + "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "message" : { + "type" : "string" + } + }, + "required" : [ "message" ] + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" } - } ], + }, + "tags" : [ "/api/agent" ] + } + }, + "/api/agent/v1/question" : { + "post" : { + "operationId" : "post-api-agent-v1-question", + "summary" : "POST /api/agent/v1/question", + "description" : "Save a previously constructed query as a named question (card).\n\n The `query` parameter accepts a `query_handle` (UUID) returned by `construct_query`,\n or a base64-encoded MBQL string. MCP callers should always use the handle.\n Optionally specify display type, description, collection, and visualization settings.", + "parameters" : [ ], "responses" : { "2XX" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/metabase.agent-api.api.metric" + "$ref" : "#/components/schemas/metabase.agent-api.api.create-question-response" } } } @@ -14631,14 +15165,23 @@ "description" : "Server error response" } }, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/metabase.agent-api.api.create-question-request" + } + } + } + }, "tags" : [ "/api/agent" ] } }, - "/api/agent/v1/metric/{id}/field/{field-id}/values" : { - "get" : { - "operationId" : "get-api-agent-v1-metric-id-field-field-id-values", - "summary" : "GET /api/agent/v1/metric/{id}/field/{field-id}/values", - "description" : "Get statistics and sample values for a metric field.", + "/api/agent/v1/question/{id}" : { + "put" : { + "operationId" : "put-api-agent-v1-question-id", + "summary" : "PUT /api/agent/v1/question/{id}", + "description" : "Update a saved question (card). Patch semantics - only fields that you pass are changed.\n\n Set `collection_id` to move the card to a different collection. Set `archived: true` to archive.\n Pass `query` (a query_handle from construct_query, or a base64 MBQL string) to replace the underlying query.", "parameters" : [ { "in" : "path", "name" : "id", @@ -14648,14 +15191,6 @@ "minimum" : 1 }, "description" : "value must be an integer greater than zero." - }, { - "in" : "path", - "name" : "field-id", - "required" : true, - "schema" : { - "type" : "string", - "minLength" : 1 - } } ], "responses" : { "2XX" : { @@ -14663,7 +15198,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/metabase.agent-api.api.field-values" + "$ref" : "#/components/schemas/metabase.agent-api.api.update-question-response" } } } @@ -14675,14 +15210,23 @@ "description" : "Server error response" } }, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/metabase.agent-api.api.update-question-request" + } + } + } + }, "tags" : [ "/api/agent" ] } }, - "/api/agent/v1/ping" : { - "get" : { - "operationId" : "get-api-agent-v1-ping", - "summary" : "GET /api/agent/v1/ping", - "description" : "Health check endpoint for the Agent API.", + "/api/agent/v1/read-resource" : { + "post" : { + "operationId" : "post-api-agent-v1-read-resource", + "summary" : "POST /api/agent/v1/read-resource", + "description" : "Read one or more Metabase resources via metabase:// URI patterns.\n\n Dispatches into the shared URI resolver in `metabase.metabot.tools.resources`,\n which validates URIs, fetches entities with per-URI permission checks, and\n returns a map of `{:resources ... :output ...}`. Up to 5 URIs per call.", "parameters" : [ ], "responses" : { "2XX" : { @@ -14690,13 +15234,7 @@ "content" : { "application/json" : { "schema" : { - "type" : "object", - "properties" : { - "message" : { - "type" : "string" - } - }, - "required" : [ "message" ] + "$ref" : "#/components/schemas/metabase.agent-api.api.read-resource-response" } } } @@ -14708,6 +15246,15 @@ "description" : "Server error response" } }, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/metabase.agent-api.api.read-resource-request" + } + } + } + }, "tags" : [ "/api/agent" ] } }, @@ -14781,157 +15328,11 @@ "tags" : [ "/api/agent" ] } }, - "/api/agent/v1/table/{id}" : { - "get" : { - "operationId" : "get-api-agent-v1-table-id", - "summary" : "GET /api/agent/v1/table/{id}", - "description" : "Get details for a table by ID.", - "parameters" : [ { - "in" : "path", - "name" : "id", - "required" : true, - "schema" : { - "type" : "integer", - "minimum" : 1 - }, - "description" : "value must be an integer greater than zero." - }, { - "in" : "query", - "name" : "with-field-values", - "required" : false, - "schema" : { - "oneOf" : [ { - "type" : "boolean" - }, { - "type" : "null" - } ] - } - }, { - "in" : "query", - "name" : "with-fields", - "required" : false, - "schema" : { - "oneOf" : [ { - "type" : "boolean" - }, { - "type" : "null" - } ] - } - }, { - "in" : "query", - "name" : "with-related-tables", - "required" : false, - "schema" : { - "oneOf" : [ { - "type" : "boolean" - }, { - "type" : "null" - } ] - } - }, { - "in" : "query", - "name" : "with-metrics", - "required" : false, - "schema" : { - "oneOf" : [ { - "type" : "boolean" - }, { - "type" : "null" - } ] - } - }, { - "in" : "query", - "name" : "with-measures", - "required" : false, - "schema" : { - "oneOf" : [ { - "type" : "boolean" - }, { - "type" : "null" - } ] - } - }, { - "in" : "query", - "name" : "with-segments", - "required" : false, - "schema" : { - "oneOf" : [ { - "type" : "boolean" - }, { - "type" : "null" - } ] - } - } ], - "responses" : { - "2XX" : { - "description" : "Successful response", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/metabase.agent-api.api.table" - } - } - } - }, - "4XX" : { - "description" : "Client error response" - }, - "5XX" : { - "description" : "Server error response" - } - }, - "tags" : [ "/api/agent" ] - } - }, - "/api/agent/v1/table/{id}/field/{field-id}/values" : { - "get" : { - "operationId" : "get-api-agent-v1-table-id-field-field-id-values", - "summary" : "GET /api/agent/v1/table/{id}/field/{field-id}/values", - "description" : "Get statistics and sample values for a table field.", - "parameters" : [ { - "in" : "path", - "name" : "id", - "required" : true, - "schema" : { - "type" : "integer", - "minimum" : 1 - }, - "description" : "value must be an integer greater than zero." - }, { - "in" : "path", - "name" : "field-id", - "required" : true, - "schema" : { - "type" : "string", - "minLength" : 1 - } - } ], - "responses" : { - "2XX" : { - "description" : "Successful response", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/metabase.agent-api.api.field-values" - } - } - } - }, - "4XX" : { - "description" : "Client error response" - }, - "5XX" : { - "description" : "Server error response" - } - }, - "tags" : [ "/api/agent" ] - } - }, "/api/agent/v2/construct-query" : { "post" : { "operationId" : "post-api-agent-v2-construct-query", "summary" : "POST /api/agent/v2/construct-query", - "description" : "Construct an MBQL query from a structured agent-lib program.\n\n The body is the program itself: a JSON object with `source` (identifying the\n table/card/dataset/metric to query) and `operations` (an array of operator\n tuples). Returns a base64-encoded MBQL query that can be executed via\n /v1/execute. See the agent_api reference for the full program syntax.", + "description" : "Construct an MBQL query from a portable MBQL 5 representations JSON payload.\n\n The body is `{\"query\": }` where `` is a JSON object\n matching `::lib.schema/external-query` — see the `construct_notebook_query` tool\n documentation for the format reference. Returns a base64-encoded MBQL query that can be\n executed via /v1/execute or paginated via /v2/query.", "parameters" : [ ], "responses" : { "2XX" : { @@ -14955,7 +15356,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/metabase.agent-api.api.program-request" + "$ref" : "#/components/schemas/metabase.agent-api.api.construct-query-request" } } } @@ -14967,7 +15368,7 @@ "post" : { "operationId" : "post-api-agent-v2-query", "summary" : "POST /api/agent/v2/query", - "description" : "Execute a structured program and stream the results, with continuation-token pagination.\n\n Accepts either a program (same shape as /v2/construct-query) or a\n `continuation_token` from a previous response. Returns results with column\n metadata and an optional `continuation_token` for fetching the next page.", + "description" : "Execute a portable MBQL 5 representations JSON query and stream the results, with\n continuation-token pagination.\n\n Accepts either a JSON body (same shape as /v2/construct-query) or a `continuation_token`\n from a previous response. Returns results with column metadata and an optional\n `continuation_token` for fetching the next page.", "parameters" : [ ], "responses" : { "2XX" : { @@ -16740,6 +17141,26 @@ "type" : "string", "minLength" : 1 }, + "size" : { + "oneOf" : [ { + "type" : "object", + "properties" : { + "size_x" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "size_y" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + } + }, + "required" : [ "size_x", "size_y" ] + }, { + "type" : "null" + } ] + }, "parameters" : { "oneOf" : [ { "$ref" : "#/components/schemas/metabase.parameters.schema.parameters" @@ -18365,7 +18786,7 @@ "type" : "array", "items" : { "type" : "string", - "enum" : [ "dashboard", "table", "dataset", "no_models", "timeline", "snippet", "collection", "transform", "document", "pulse", "metric", "card" ] + "enum" : [ "dashboard", "table", "dataset", "no_models", "timeline", "snippet", "collection", "measure", "transform", "document", "pulse", "metric", "card" ] } }, { "type" : "null" @@ -18893,7 +19314,7 @@ "type" : "array", "items" : { "type" : "string", - "enum" : [ "dashboard", "table", "dataset", "no_models", "timeline", "snippet", "collection", "transform", "document", "pulse", "metric", "card" ] + "enum" : [ "dashboard", "table", "dataset", "no_models", "timeline", "snippet", "collection", "measure", "transform", "document", "pulse", "metric", "card" ] } }, { "type" : "null" @@ -20946,19 +21367,20 @@ "get" : { "operationId" : "get-api-database", "summary" : "GET /api/database", - "description" : "Fetch all `Databases`.\n\n * `include=tables` means we should hydrate the Tables belonging to each DB. Default: `false`.\n\n * `saved` means we should include the saved questions virtual database. Default: `false`.\n\n * `include_editable_data_model` will only include DBs for which the current user has data model editing\n permissions. (If `include=tables`, this also applies to the list of tables in each DB). Should only be used if\n Enterprise Edition code is available the advanced-permissions feature is enabled.\n\n * `exclude_uneditable_details` will only include DBs for which the current user can edit the DB details. Has no\n effect unless Enterprise Edition code is available and the advanced-permissions feature is enabled.\n\n * `include_only_uploadable` will only include DBs into which Metabase can insert new data.\n\n * `can-query` will only include DBs for which the current user has query permissions. Default: `false`.\n\n * `can-write-metadata` will only include DBs for which the current user has data model editing permissions\n for at least one table in the database. Default: `false`.\n\n Independently of these flags, the implementation of [[metabase.models.interface/to-json]] for `:model/Database` in\n [[metabase.warehouses.models.database]] uses the implementation of [[metabase.models.interface/can-write?]] for\n `:model/Database` in [[metabase.warehouses.models.database]] to exclude the `details` field, if the requesting user\n lacks permission to change the database details.", + "description" : "Fetch all `Databases`.\n\n * `include=tables` means we should hydrate the Tables belonging to each DB. Default: `false`.\n\n * `include=schemas` hydrates a `:schemas` list on each DB (only schemas with visible\n tables the current user can read), matching the per-DB `/api/database/:id/schemas`\n response. Lets clients avoid N round-trips when populating a database/schema picker.\n\n * `saved` means we should include the saved questions virtual database. Default: `false`.\n\n * `include_editable_data_model` will only include DBs for which the current user has data model editing\n permissions. (If `include=tables`, this also applies to the list of tables in each DB). Should only be used if\n Enterprise Edition code is available the advanced-permissions feature is enabled.\n\n * `exclude_uneditable_details` will only include DBs for which the current user can edit the DB details. Has no\n effect unless Enterprise Edition code is available and the advanced-permissions feature is enabled.\n\n * `include_only_uploadable` will only include DBs into which Metabase can insert new data.\n\n * `can-query` will only include DBs for which the current user has query permissions. Default: `false`.\n\n * `can-write-metadata` will only include DBs for which the current user has data model editing permissions\n for at least one table in the database. Default: `false`.\n\n Independently of these flags, the implementation of [[metabase.models.interface/to-json]] for `:model/Database` in\n [[metabase.warehouses.models.database]] uses the implementation of [[metabase.models.interface/can-write?]] for\n `:model/Database` in [[metabase.warehouses.models.database]] to exclude the `details` field, if the requesting user\n lacks permission to change the database details.", "parameters" : [ { "in" : "query", "name" : "include", "required" : false, "schema" : { "oneOf" : [ { - "const" : "tables" + "type" : "string", + "enum" : [ "tables", "schemas" ] }, { "type" : "null" } ] }, - "description" : "include must be either empty or the value 'tables'" + "description" : "include must be either empty, 'tables', or 'schemas'" }, { "in" : "query", "name" : "include_analytics", @@ -21168,94 +21590,6 @@ "tags" : [ "/api/database" ] } }, - "/api/database/field-values" : { - "get" : { - "operationId" : "get-api-database-field-values", - "summary" : "GET /api/database/field-values", - "description" : "Get sampled field values for every field in the instance, streamed as a single\n `{\"field_values\": [...]}` document. Each entry carries `field_id`, `values`,\n optional `human_readable_values`, and `has_more_values`.\n\n Only unconstrained (`:full`) FieldValues are included — sandboxed, impersonation, and\n linked-filter variants are user-specific and would bypass their own enforcement\n mechanisms in a bulk export. Pair with `GET /api/database/metadata` to resolve\n `field_id` to table and field names. Response is streamed for efficiency with large\n schemas.\n\n Admin-only: this endpoint exposes cached values computed over the unrestricted\n dataset, so it would leak data past sandbox / impersonation rules if served to\n regular users.", - "parameters" : [ ], - "responses" : { - "2XX" : { - "description" : "Successful response", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/metabase.warehouses-rest.api.field-values-response" - } - } - } - }, - "4XX" : { - "description" : "Client error response" - }, - "5XX" : { - "description" : "Server error response" - } - }, - "tags" : [ "/api/database" ] - } - }, - "/api/database/metadata" : { - "get" : { - "operationId" : "get-api-database-metadata", - "summary" : "GET /api/database/metadata", - "description" : "Get metadata (databases, tables, and fields) for all databases visible to the current user.\n Returns a flat structure with three arrays: databases, tables, and fields.\n Response is streamed for efficiency with large schemas.\n\n Requires `View data` → `Can view` and `Create queries` → `Query builder only` (or\n `Query builder and native`) permissions on each database and table.", - "parameters" : [ ], - "responses" : { - "2XX" : { - "description" : "Successful response", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/metabase.warehouses-rest.api.databases-metadata-response" - } - } - } - }, - "4XX" : { - "description" : "Client error response" - }, - "5XX" : { - "description" : "Server error response" - } - }, - "tags" : [ "/api/database" ] - }, - "post" : { - "operationId" : "post-api-database-metadata", - "summary" : "POST /api/database/metadata", - "description" : "Import database/table/field metadata previously exported from `GET /api/database/metadata`.\n\n Entities are matched by natural key — databases by `(name, engine)`, tables by\n `(database, schema, name)`, fields by `(table, parent-path, name)` — so the numeric ids\n in the payload are only used to link fields to their tables within the request.\n\n Tables and fields that don't exist on the target are created when their parent\n (database for tables; table for fields) is present on the target. Databases are\n not auto-created — missing databases are reported instead. Field `fk_target_field_id`\n is re-resolved through the natural-key lookup after all fields exist.\n\n For matched entities, only user-editable metadata is written: table `description`;\n field `description`, `semantic_type`, `coercion_strategy`, `effective_type`, and\n `fk_target_field_id`. For newly-created fields, `base_type` and `database_type` are\n also populated from the payload. Keys absent from the payload (including null values)\n are left untouched on matched entities.\n\n Processing is isolated per target database: each matched DB imports in its own\n transaction so a failure on one DB does not roll back the others. DBs whose\n transaction failed appear under `databases.failed` in the response along with\n the error message; every other DB's tables, fields, and same-DB `fk_target_field_id`\n references still commit. Cross-database `fk_target_field_id` references are\n resolved in a final pass after all per-DB transactions have committed.\n\n Returns counts of matched + created entities per type, a list of entities in the\n payload that could not be placed (their parent was missing on the target), and,\n when any DB failed, a `databases.failed` list naming each failed DB.", - "parameters" : [ ], - "responses" : { - "2XX" : { - "description" : "Successful response", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/metabase.warehouses-rest.api.metadata-import-report" - } - } - } - }, - "4XX" : { - "description" : "Client error response" - }, - "5XX" : { - "description" : "Server error response" - } - }, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/metabase.warehouses-rest.api.databases-metadata-response" - } - } - } - }, - "tags" : [ "/api/database" ] - } - }, "/api/database/sample_database" : { "post" : { "operationId" : "post-api-database-sample_database", @@ -21489,6 +21823,15 @@ "type" : "null" } ] }, + "admin_details" : { + "oneOf" : [ { + "description" : "Value must be a map.", + "type" : "object", + "properties" : { } + }, { + "type" : "null" + } ] + }, "refingerprint" : { "oneOf" : [ { "type" : "boolean" @@ -21960,6 +22303,17 @@ "type" : "null" } ] } + }, { + "in" : "query", + "name" : "include_measures", + "required" : false, + "schema" : { + "oneOf" : [ { + "type" : "boolean" + }, { + "type" : "null" + } ] + } } ], "responses" : { "2XX" : { @@ -22043,6 +22397,17 @@ "type" : "null" } ] } + }, { + "in" : "query", + "name" : "include_measures", + "required" : false, + "schema" : { + "oneOf" : [ { + "type" : "boolean" + }, { + "type" : "null" + } ] + } } ], "responses" : { "2XX" : { @@ -22421,7 +22786,7 @@ "post" : { "operationId" : "post-api-dataset-native", "summary" : "POST /api/dataset/native", - "description" : "Fetch a native version of an MBQL query.", + "description" : "Fetch a native version of an MBQL query.\n\n Display path: workspace remapping is suppressed via\n [[ws.table-remapping/with-display-context]] so the user sees canonical-schema SQL\n in the 'Show me the SQL' panel. The query still executes against the workspace\n isolation schema at warehouse time (separate code path); this endpoint only\n affects what the user reads.", "parameters" : [ ], "responses" : { "2XX" : { @@ -23533,6 +23898,55 @@ "tags" : [ "/api/ee/action-v2" ] } }, + "/api/ee/advanced-config" : { + "post" : { + "operationId" : "post-api-ee-advanced-config", + "summary" : "POST /api/ee/advanced-config", + "description" : "Apply an uploaded `config.yml` to this instance. Runs the same per-section\n initializers (`settings`, `databases`, `users`, `api-keys`, `workspace`, ...)\n the boot-time loader runs. Superuser-only.\n\n Unlike the boot-time loader, `{{env VAR}}` templates are NOT expanded — the\n file's values are inserted verbatim, so an admin's upload can't read\n server-side environment variables it didn't intend to.", + "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "type" : "null" + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "requestBody" : { + "content" : { + "multipart/form-data" : { + "schema" : { + "type" : "object", + "properties" : { + "config" : { + "type" : "object", + "properties" : { + "filename" : { + "type" : "string" + }, + "tempfile" : { } + }, + "required" : [ "filename", "tempfile" ] + } + }, + "required" : [ "config" ] + } + } + } + }, + "tags" : [ "/api/ee/advanced-config" ] + } + }, "/api/ee/advanced-permissions/application/graph" : { "get" : { "operationId" : "get-api-ee-advanced-permissions-application-graph", @@ -23694,6 +24108,9 @@ "schema" : { "type" : "object", "properties" : { + "advanced" : { + "type" : "boolean" + }, "permissions" : { "type" : "array", "items" : { @@ -23716,7 +24133,7 @@ } } }, - "required" : [ "permissions" ] + "required" : [ "permissions", "advanced" ] } } } @@ -23743,6 +24160,9 @@ "schema" : { "type" : "object", "properties" : { + "advanced" : { + "type" : "boolean" + }, "permissions" : { "type" : "array", "items" : { @@ -23765,7 +24185,7 @@ } } }, - "required" : [ "permissions" ] + "required" : [ "permissions", "advanced" ] } } } @@ -23813,6 +24233,112 @@ "tags" : [ "/api/ee/ai-controls/permissions" ] } }, + "/api/ee/ai-controls/permissions/advanced" : { + "post" : { + "operationId" : "post-api-ee-ai-controls-permissions-advanced", + "summary" : "POST /api/ee/ai-controls/permissions/advanced", + "description" : "Switch to advanced group-level permissions. Removes any custom permissions from the All Users group.", + "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "advanced" : { + "type" : "boolean" + }, + "permissions" : { + "type" : "array", + "items" : { + "type" : "object", + "properties" : { + "group_id" : { + "type" : "integer", + "minimum" : 1 + }, + "perm_type" : { + "type" : "string", + "enum" : [ "permission/metabot", "permission/metabot-nlq", "permission/metabot-other-tools", "permission/metabot-sql-generation" ] + }, + "perm_value" : { + "type" : "string", + "enum" : [ "yes", "no" ] + } + }, + "required" : [ "group_id", "perm_type", "perm_value" ] + } + } + }, + "required" : [ "permissions", "advanced" ] + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "tags" : [ "/api/ee/ai-controls/permissions" ] + }, + "delete" : { + "operationId" : "delete-api-ee-ai-controls-permissions-advanced", + "summary" : "DELETE /api/ee/ai-controls/permissions/advanced", + "description" : "Switch back to simple permissions. Removes any custom permissions from all specific groups, keeping only Admins and All Users.", + "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "advanced" : { + "type" : "boolean" + }, + "permissions" : { + "type" : "array", + "items" : { + "type" : "object", + "properties" : { + "group_id" : { + "type" : "integer", + "minimum" : 1 + }, + "perm_type" : { + "type" : "string", + "enum" : [ "permission/metabot", "permission/metabot-nlq", "permission/metabot-other-tools", "permission/metabot-sql-generation" ] + }, + "perm_value" : { + "type" : "string", + "enum" : [ "yes", "no" ] + } + }, + "required" : [ "group_id", "perm_type", "perm_value" ] + } + } + }, + "required" : [ "permissions", "advanced" ] + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "tags" : [ "/api/ee/ai-controls/permissions" ] + } + }, "/api/ee/ai-controls/usage/group" : { "get" : { "operationId" : "get-api-ee-ai-controls-usage-group", @@ -24647,12 +25173,2571 @@ "tags" : [ "/api/ee/content-translation" ] } }, + "/api/ee/custom-viz-plugin" : { + "post" : { + "operationId" : "post-api-ee-custom-viz-plugin", + "summary" : "POST /api/ee/custom-viz-plugin", + "description" : "Register a new custom visualization plugin from an uploaded tar.gz bundle.\n\n The archive must contain `metabase-plugin.json` at the root and\n `dist/index.js` for the JS bundle, plus any whitelisted assets under\n `dist/assets/`. The plugin's `identifier` is taken from the manifest's `name`\n field.", + "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "enabled" : { + "type" : "boolean" + }, + "id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "updated_at" : { }, + "status" : { + "type" : "string", + "enum" : [ "active", "error" ] + }, + "error_message" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "identifier" : { + "type" : "string", + "minLength" : 1 + }, + "display_name" : { + "type" : "string", + "minLength" : 1 + }, + "dev_only" : { + "type" : "boolean" + }, + "created_at" : { }, + "bundle_hash" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "manifest" : { + "oneOf" : [ { }, { + "type" : "null" + } ] + }, + "dev_bundle_url" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "metabase_version" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "icon" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + } + }, + "required" : [ "id", "display_name", "identifier", "status", "enabled", "dev_only", "created_at", "updated_at" ] + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "requestBody" : { + "content" : { + "multipart/form-data" : { + "schema" : { + "type" : "object", + "properties" : { + "file" : { + "type" : "object", + "properties" : { + "filename" : { + "type" : "string" + }, + "tempfile" : { } + }, + "required" : [ "filename", "tempfile" ] + } + }, + "required" : [ "file" ] + } + } + } + }, + "tags" : [ "/api/ee/custom-viz-plugin" ] + }, + "get" : { + "operationId" : "get-api-ee-custom-viz-plugin", + "summary" : "GET /api/ee/custom-viz-plugin", + "description" : "List all registered custom visualization plugins.", + "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "type" : "array", + "items" : { + "type" : "object", + "properties" : { + "enabled" : { + "type" : "boolean" + }, + "id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "updated_at" : { }, + "status" : { + "type" : "string", + "enum" : [ "active", "error" ] + }, + "error_message" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "identifier" : { + "type" : "string", + "minLength" : 1 + }, + "display_name" : { + "type" : "string", + "minLength" : 1 + }, + "dev_only" : { + "type" : "boolean" + }, + "created_at" : { }, + "bundle_hash" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "manifest" : { + "oneOf" : [ { }, { + "type" : "null" + } ] + }, + "dev_bundle_url" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "metabase_version" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "icon" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + } + }, + "required" : [ "id", "display_name", "identifier", "status", "enabled", "dev_only", "created_at", "updated_at" ] + } + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "tags" : [ "/api/ee/custom-viz-plugin" ] + } + }, + "/api/ee/custom-viz-plugin/dev" : { + "post" : { + "operationId" : "post-api-ee-custom-viz-plugin-dev", + "summary" : "POST /api/ee/custom-viz-plugin/dev", + "description" : "Register a dev-only custom visualization plugin from a local dev server.\n No bundle upload is required — files are served from the dev server URL.\n Requires custom viz plugin dev mode to be enabled.", + "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "enabled" : { + "type" : "boolean" + }, + "id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "updated_at" : { }, + "status" : { + "type" : "string", + "enum" : [ "active", "error" ] + }, + "error_message" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "identifier" : { + "type" : "string", + "minLength" : 1 + }, + "display_name" : { + "type" : "string", + "minLength" : 1 + }, + "dev_only" : { + "type" : "boolean" + }, + "created_at" : { }, + "bundle_hash" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "manifest" : { + "oneOf" : [ { }, { + "type" : "null" + } ] + }, + "dev_bundle_url" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "metabase_version" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "icon" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + } + }, + "required" : [ "id", "display_name", "identifier", "status", "enabled", "dev_only", "created_at", "updated_at" ] + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "dev_bundle_url" : { + "type" : "string", + "minLength" : 1 + }, + "identifier" : { + "oneOf" : [ { + "type" : "string", + "minLength" : 1 + }, { + "type" : "null" + } ] + } + }, + "required" : [ "dev_bundle_url" ] + } + } + } + }, + "tags" : [ "/api/ee/custom-viz-plugin" ] + } + }, + "/api/ee/custom-viz-plugin/list" : { + "get" : { + "operationId" : "get-api-ee-custom-viz-plugin-list", + "summary" : "GET /api/ee/custom-viz-plugin/list", + "description" : "List active and enabled custom visualization plugins. Available to any authenticated user.\n Plugins with incompatible Metabase version requirements are excluded.\n Dev-only plugins are excluded when dev mode is disabled.", + "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "type" : "array", + "items" : { + "type" : "object", + "properties" : { + "bundle_hash" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "bundle_url" : { + "type" : "string", + "minLength" : 1 + }, + "dev_bundle_url" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "display_name" : { + "type" : "string", + "minLength" : 1 + }, + "icon" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "identifier" : { + "type" : "string", + "minLength" : 1 + }, + "manifest" : { + "oneOf" : [ { }, { + "type" : "null" + } ] + } + }, + "required" : [ "id", "identifier", "display_name", "bundle_url" ] + } + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "tags" : [ "/api/ee/custom-viz-plugin" ] + } + }, + "/api/ee/custom-viz-plugin/sandbox-host" : { + "get" : { + "operationId" : "get-api-ee-custom-viz-plugin-sandbox-host", + "summary" : "GET /api/ee/custom-viz-plugin/sandbox-host", + "description" : "Serve a minimal HTML document used as the iframe `src` for the near-membrane custom-viz\n sandbox. The response carries a per-document `Content-Security-Policy` that permits\n `'unsafe-eval'` only inside this iframe, so the main Metabase document keeps its strict\n nonce-based CSP.", + "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "tags" : [ "/api/ee/custom-viz-plugin" ] + } + }, + "/api/ee/custom-viz-plugin/{id}" : { + "delete" : { + "operationId" : "delete-api-ee-custom-viz-plugin-id", + "summary" : "DELETE /api/ee/custom-viz-plugin/{id}", + "description" : "Remove a custom visualization plugin and evict its on-disk cache.", + "parameters" : [ { + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "integer", + "minimum" : 1 + }, + "description" : "value must be an integer greater than zero." + } ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "type" : "null" + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "tags" : [ "/api/ee/custom-viz-plugin" ] + }, + "put" : { + "operationId" : "put-api-ee-custom-viz-plugin-id", + "summary" : "PUT /api/ee/custom-viz-plugin/{id}", + "description" : "Update a custom visualization plugin. Currently only `enabled` may be toggled.", + "parameters" : [ { + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "integer", + "minimum" : 1 + }, + "description" : "value must be an integer greater than zero." + } ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "enabled" : { + "type" : "boolean" + }, + "id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "updated_at" : { }, + "status" : { + "type" : "string", + "enum" : [ "active", "error" ] + }, + "error_message" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "identifier" : { + "type" : "string", + "minLength" : 1 + }, + "display_name" : { + "type" : "string", + "minLength" : 1 + }, + "dev_only" : { + "type" : "boolean" + }, + "created_at" : { }, + "bundle_hash" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "manifest" : { + "oneOf" : [ { }, { + "type" : "null" + } ] + }, + "dev_bundle_url" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "metabase_version" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "icon" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + } + }, + "required" : [ "id", "display_name", "identifier", "status", "enabled", "dev_only", "created_at", "updated_at" ] + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "enabled" : { + "oneOf" : [ { + "type" : "boolean" + }, { + "type" : "null" + } ] + } + } + } + } + } + }, + "tags" : [ "/api/ee/custom-viz-plugin" ] + } + }, + "/api/ee/custom-viz-plugin/{id}/asset" : { + "get" : { + "operationId" : "get-api-ee-custom-viz-plugin-id-asset", + "summary" : "GET /api/ee/custom-viz-plugin/{id}/asset", + "description" : "Serve a static image asset from the plugin's bundle.\n The asset path is passed as a `path` query parameter (e.g. `?path=icon.svg`)\n and must match an entry in the manifest's `assets` whitelist.\n Only image files are served.\n In dev mode, proxies from the dev base URL if set.", + "parameters" : [ { + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "integer", + "minimum" : 1 + }, + "description" : "value must be an integer greater than zero." + }, { + "in" : "query", + "name" : "path", + "required" : true, + "schema" : { + "type" : "string", + "minLength" : 1 + } + } ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "tags" : [ "/api/ee/custom-viz-plugin" ] + } + }, + "/api/ee/custom-viz-plugin/{id}/bundle" : { + "put" : { + "operationId" : "put-api-ee-custom-viz-plugin-id-bundle", + "summary" : "PUT /api/ee/custom-viz-plugin/{id}/bundle", + "description" : "Replace the bundle for an existing plugin. Accepts a multipart tar.gz upload in\n the same format as the `POST /` endpoint. The manifest's `name` field must\n match the plugin's existing `identifier`.", + "parameters" : [ { + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "integer", + "minimum" : 1 + }, + "description" : "value must be an integer greater than zero." + } ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "enabled" : { + "type" : "boolean" + }, + "id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "updated_at" : { }, + "status" : { + "type" : "string", + "enum" : [ "active", "error" ] + }, + "error_message" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "identifier" : { + "type" : "string", + "minLength" : 1 + }, + "display_name" : { + "type" : "string", + "minLength" : 1 + }, + "dev_only" : { + "type" : "boolean" + }, + "created_at" : { }, + "bundle_hash" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "manifest" : { + "oneOf" : [ { }, { + "type" : "null" + } ] + }, + "dev_bundle_url" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "metabase_version" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "icon" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + } + }, + "required" : [ "id", "display_name", "identifier", "status", "enabled", "dev_only", "created_at", "updated_at" ] + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "requestBody" : { + "content" : { + "multipart/form-data" : { + "schema" : { + "type" : "object", + "properties" : { + "file" : { + "type" : "object", + "properties" : { + "filename" : { + "type" : "string" + }, + "tempfile" : { } + }, + "required" : [ "filename", "tempfile" ] + } + }, + "required" : [ "file" ] + } + } + } + }, + "tags" : [ "/api/ee/custom-viz-plugin" ] + }, + "get" : { + "operationId" : "get-api-ee-custom-viz-plugin-id-bundle", + "summary" : "GET /api/ee/custom-viz-plugin/{id}/bundle", + "description" : "Serve the JS bundle for a plugin from the on-disk cache.\n Returns application/javascript with ETag and Cache-Control headers.\n In dev mode, proxies from `dev_bundle_url` if set.", + "parameters" : [ { + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "integer", + "minimum" : 1 + }, + "description" : "value must be an integer greater than zero." + } ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "tags" : [ "/api/ee/custom-viz-plugin" ] + } + }, + "/api/ee/custom-viz-plugin/{id}/dev-sse" : { + "get" : { + "operationId" : "get-api-ee-custom-viz-plugin-id-dev-sse", + "summary" : "GET /api/ee/custom-viz-plugin/{id}/dev-sse", + "description" : "Proxy Server-Sent Events from the plugin's dev server.\n Connects to `{dev_bundle_url}/__sse` and forwards events to the browser.\n This avoids the need for a CSP exception for the dev server origin.\n Requires custom viz plugin dev mode to be enabled.", + "parameters" : [ { + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "integer", + "minimum" : 1 + }, + "description" : "value must be an integer greater than zero." + } ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "tags" : [ "/api/ee/custom-viz-plugin" ] + } + }, + "/api/ee/custom-viz-plugin/{id}/dev-url" : { + "put" : { + "operationId" : "put-api-ee-custom-viz-plugin-id-dev-url", + "summary" : "PUT /api/ee/custom-viz-plugin/{id}/dev-url", + "description" : "Set or clear the dev base URL for a plugin (e.g. `http://localhost:5174`).\n The bundle is fetched from `{base}/index.js` and assets from `{base}/assets/{name}`.\n Persisted to the database so it survives server restarts.\n Requires custom viz plugin dev mode to be enabled.", + "parameters" : [ { + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "integer", + "minimum" : 1 + }, + "description" : "value must be an integer greater than zero." + } ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "dev_bundle_url" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + } + }, + "required" : [ "dev_bundle_url" ] + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "dev_bundle_url" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + } + }, + "required" : [ "dev_bundle_url" ] + } + } + } + }, + "tags" : [ "/api/ee/custom-viz-plugin" ] + } + }, + "/api/ee/custom-viz-plugin/{id}/refresh" : { + "post" : { + "operationId" : "post-api-ee-custom-viz-plugin-id-refresh", + "summary" : "POST /api/ee/custom-viz-plugin/{id}/refresh", + "description" : "Re-fetch the manifest from the dev server for a dev-only plugin. For uploaded\n plugins this is a no-op — to update an upload-backed plugin, PUT a new bundle\n to `/:id/bundle`.", + "parameters" : [ { + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "integer", + "minimum" : 1 + }, + "description" : "value must be an integer greater than zero." + } ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "enabled" : { + "type" : "boolean" + }, + "id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "updated_at" : { }, + "status" : { + "type" : "string", + "enum" : [ "active", "error" ] + }, + "error_message" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "identifier" : { + "type" : "string", + "minLength" : 1 + }, + "display_name" : { + "type" : "string", + "minLength" : 1 + }, + "dev_only" : { + "type" : "boolean" + }, + "created_at" : { }, + "bundle_hash" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "manifest" : { + "oneOf" : [ { }, { + "type" : "null" + } ] + }, + "dev_bundle_url" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "metabase_version" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "icon" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + } + }, + "required" : [ "id", "display_name", "identifier", "status", "enabled", "dev_only", "created_at", "updated_at" ] + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "tags" : [ "/api/ee/custom-viz-plugin" ] + } + }, "/api/ee/data-complexity-score/complexity" : { "get" : { - "operationId" : "get-api-ee-data-complexity-score-complexity", - "summary" : "GET /api/ee/data-complexity-score/complexity", - "description" : "Return the current Data Complexity Score for this instance.\n Superuser-only, expensive, and emits Snowplow events for benchmark consumers. Concurrent\n requests on the same JVM fast-fail with HTTP 409 — a scoring pass walks the full app-db\n catalog and one in-flight run per node is enough. The guard is per-JVM, so in a clustered\n deployment each node can still run one pass concurrently.", + "operationId" : "get-api-ee-data-complexity-score-complexity", + "summary" : "GET /api/ee/data-complexity-score/complexity", + "description" : "Return the most recently stored Data Complexity Score for this instance.\n Pass `force-recalculation=true` to recompute, persist, and return a fresh score.\n Superuser-only.", + "parameters" : [ { + "in" : "query", + "name" : "force-recalculation", + "required" : true, + "schema" : { + "default" : false, + "type" : "boolean" + } + } ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "library" : { + "$ref" : "#/components/schemas/metabase-enterprise.data-complexity-score.api.node" + }, + "meta" : { + "type" : "object", + "properties" : { + "calculated_at" : { }, + "embedding_model" : { + "oneOf" : [ { + "type" : "object", + "properties" : { + "model_name" : { + "type" : "string" + }, + "provider" : { + "type" : "string" + } + }, + "required" : [ "provider", "model_name" ] + }, { + "type" : "null" + } ] + }, + "format_version" : { + "type" : "integer", + "minimum" : 1 + }, + "formula_version" : { + "type" : "integer", + "minimum" : 1 + }, + "synonym_threshold" : { + "type" : "number" + } + }, + "required" : [ "formula_version", "format_version", "synonym_threshold" ] + }, + "metabot" : { + "$ref" : "#/components/schemas/metabase-enterprise.data-complexity-score.api.node" + }, + "universe" : { + "$ref" : "#/components/schemas/metabase-enterprise.data-complexity-score.api.node" + } + }, + "required" : [ "library", "universe", "metabot", "meta" ] + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "tags" : [ "/api/ee/data-complexity-score" ] + } + }, + "/api/ee/data-studio/table/publish-tables" : { + "post" : { + "operationId" : "post-api-ee-data-studio-table-publish-tables", + "summary" : "POST /api/ee/data-studio/table/publish-tables", + "description" : "Set collection for each of selected tables and all upstream dependencies recursively.", + "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/metabase-enterprise.data-studio.api.table.publish-tables-response" + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/metabase-enterprise.data-studio.api.table.publish-table-selectors" + } + } + } + }, + "tags" : [ "/api/ee/data-studio/table" ] + } + }, + "/api/ee/data-studio/table/unpublish-tables" : { + "post" : { + "operationId" : "post-api-ee-data-studio-table-unpublish-tables", + "summary" : "POST /api/ee/data-studio/table/unpublish-tables", + "description" : "Unset collection for each of selected tables and all downstream dependents recursively.", + "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "type" : "null" + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/metabase-enterprise.data-studio.api.table.table-selectors" + } + } + } + }, + "tags" : [ "/api/ee/data-studio/table" ] + } + }, + "/api/ee/database-replication/connection/{database-id}" : { + "post" : { + "operationId" : "post-api-ee-database-replication-connection-database-id", + "summary" : "POST /api/ee/database-replication/connection/{database-id}", + "description" : "Create a new PG replication connection for the specified database.", + "parameters" : [ { + "in" : "path", + "name" : "database-id", + "required" : true, + "schema" : { + "type" : "integer", + "minimum" : 1 + }, + "description" : "value must be an integer greater than zero." + } ], + "responses" : { + "2XX" : { + "description" : "Successful response" + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "replicationSchemaFilters" : { + "type" : "object", + "properties" : { + "schema-filters-patterns" : { + "type" : "string" + }, + "schema-filters-type" : { + "type" : "string", + "enum" : [ "inclusion", "exclusion", "all" ] + } + }, + "required" : [ "schema-filters-type", "schema-filters-patterns" ] + } + } + } + } + } + }, + "tags" : [ "/api/ee/database-replication" ] + }, + "delete" : { + "operationId" : "delete-api-ee-database-replication-connection-database-id", + "summary" : "DELETE /api/ee/database-replication/connection/{database-id}", + "description" : "Delete PG replication connection for the specified database.", + "parameters" : [ { + "in" : "path", + "name" : "database-id", + "required" : true, + "schema" : { + "type" : "integer", + "minimum" : 1 + }, + "description" : "value must be an integer greater than zero." + } ], + "responses" : { + "2XX" : { + "description" : "Successful response" + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "tags" : [ "/api/ee/database-replication" ] + } + }, + "/api/ee/database-replication/connection/{database-id}/preview" : { + "post" : { + "operationId" : "post-api-ee-database-replication-connection-database-id-preview", + "summary" : "POST /api/ee/database-replication/connection/{database-id}/preview", + "description" : "Return info about pg-replication connection that is about to be created.", + "parameters" : [ { + "in" : "path", + "name" : "database-id", + "required" : true, + "schema" : { + "type" : "integer", + "minimum" : 1 + }, + "description" : "value must be an integer greater than zero." + } ], + "responses" : { + "2XX" : { + "description" : "Successful response" + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "replicationSchemaFilters" : { + "type" : "object", + "properties" : { + "schema-filters-patterns" : { + "type" : "string" + }, + "schema-filters-type" : { + "type" : "string", + "enum" : [ "inclusion", "exclusion", "all" ] + } + }, + "required" : [ "schema-filters-type", "schema-filters-patterns" ] + } + } + } + } + } + }, + "tags" : [ "/api/ee/database-replication" ] + } + }, + "/api/ee/database-routing/destination-database" : { + "post" : { + "operationId" : "post-api-ee-database-routing-destination-database", + "summary" : "POST /api/ee/database-routing/destination-database", + "description" : "Create new Destination Databases.\n\n Note that unlike the normal `POST /api/database` endpoint, this endpoint does not test that the database is actually\n reachable before adding it — destination details are not required to be valid at creation time, and an\n unreachable destination is fine.", + "parameters" : [ { + "in" : "query", + "name" : "check_connection_details", + "required" : false, + "schema" : { + "type" : "boolean" + } + } ], + "responses" : { + "2XX" : { + "description" : "Successful response" + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "destinations" : { + "type" : "array", + "items" : { + "type" : "object", + "properties" : { + "details" : { + "description" : "Value must be a map.", + "type" : "object", + "properties" : { } + }, + "name" : { + "type" : "string", + "minLength" : 1 + } + }, + "required" : [ "name", "details" ] + } + }, + "router_database_id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + } + }, + "required" : [ "router_database_id", "destinations" ] + } + } + } + }, + "tags" : [ "/api/ee/database-routing" ] + } + }, + "/api/ee/database-routing/router-database/{id}" : { + "put" : { + "operationId" : "put-api-ee-database-routing-router-database-id", + "summary" : "PUT /api/ee/database-routing/router-database/{id}", + "description" : "Updates an existing Database with the `user_attribute` to route on. Will either:\n - turn an existing Database into a Router database\n - change the `user_attribute` used to route for an existing Router database, or\n - turn a Router database into a regular Database\n depending on the value of `user_attribute`", + "parameters" : [ { + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "integer", + "minimum" : 1 + }, + "description" : "value must be an integer greater than zero." + } ], + "responses" : { + "2XX" : { + "description" : "Successful response" + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "user_attribute" : { + "oneOf" : [ { + "type" : "string", + "minLength" : 1 + }, { + "type" : "null" + } ] + } + } + } + } + } + }, + "tags" : [ "/api/ee/database-routing" ] + } + }, + "/api/ee/dependencies/backfill-status" : { + "get" : { + "operationId" : "get-api-ee-dependencies-backfill-status", + "summary" : "GET /api/ee/dependencies/backfill-status", + "description" : "Returns whether the dependency backfill has pending work.\n `complete` is true when there are no stale or outdated entities awaiting processing.", + "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "complete" : { + "type" : "boolean" + } + }, + "required" : [ "complete" ] + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "tags" : [ "/api/ee/dependencies" ] + } + }, + "/api/ee/dependencies/check-card" : { + "post" : { + "operationId" : "post-api-ee-dependencies-check-card", + "summary" : "POST /api/ee/dependencies/check-card", + "description" : "Check a proposed edit to a card, and return the card IDs for those cards this edit will break.", + "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/metabase-enterprise.dependencies.api.broken-cards-response" + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/metabase-enterprise.dependencies.api.card-body" + } + } + } + }, + "tags" : [ "/api/ee/dependencies" ] + } + }, + "/api/ee/dependencies/check-snippet" : { + "post" : { + "operationId" : "post-api-ee-dependencies-check-snippet", + "summary" : "POST /api/ee/dependencies/check-snippet", + "description" : "Check a proposed edit to a native snippet, and return the cards, etc. which will be broken.", + "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/metabase-enterprise.dependencies.api.broken-cards-response" + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "content" : { + "type" : "string" + }, + "id" : { + "$ref" : "#/components/schemas/metabase.lib.schema.id.snippet" + }, + "name" : { + "description" : "snippet names cannot include '}' or start with spaces" + } + }, + "required" : [ "id" ] + } + } + } + }, + "tags" : [ "/api/ee/dependencies" ] + } + }, + "/api/ee/dependencies/check-transform" : { + "post" : { + "operationId" : "post-api-ee-dependencies-check-transform", + "summary" : "POST /api/ee/dependencies/check-transform", + "description" : "Check a proposed edit to a transform, and return the card, transform, etc. IDs for things that will break.", + "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/metabase-enterprise.dependencies.api.broken-cards-response" + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/metabase-enterprise.dependencies.api.transform-body" + } + } + } + }, + "tags" : [ "/api/ee/dependencies" ] + } + }, + "/api/ee/dependencies/graph" : { + "get" : { + "operationId" : "get-api-ee-dependencies-graph", + "summary" : "GET /api/ee/dependencies/graph", + "description" : "This endpoint takes an :id and a supported entity :type, and returns a graph of all its upstream dependencies.\n The graph is represented by a list of :nodes and a list of :edges. Each node has an :id, :type, :data (which\n depends on the node type), and a map of :dependent_counts per entity type. Each edge is a :model/Dependency.\n\n Optional :archived parameter controls whether entities in archived collections are included:\n - false (default): Excludes entities in archived collections\n - true: Includes entities in archived collections", + "parameters" : [ { + "in" : "query", + "name" : "id", + "required" : false, + "schema" : { + "type" : "integer", + "minimum" : 1 + }, + "description" : "value must be an integer greater than zero." + }, { + "in" : "query", + "name" : "type", + "required" : false, + "schema" : { + "$ref" : "#/components/schemas/metabase-enterprise.dependencies.dependency-types.dependency-types" + } + }, { + "in" : "query", + "name" : "archived", + "required" : false, + "schema" : { + "type" : "boolean" + } + } ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/metabase-enterprise.dependencies.api.graph-response" + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "tags" : [ "/api/ee/dependencies" ] + } + }, + "/api/ee/dependencies/graph/breaking" : { + "get" : { + "operationId" : "get-api-ee-dependencies-graph-breaking", + "summary" : "GET /api/ee/dependencies/graph/breaking", + "description" : "Returns a list of entities that are breaking other entities (sources of errors).\n These are tables or cards that other entities depend on, where those dependents\n have validation errors traced back to this source entity.\n\n Accepts optional parameters for filtering:\n - `types`: List of source entity types - only `:card` or `:table` (default: both)\n - `card-types`: List of card types to include when filtering cards (e.g., `[:question :model :metric]`)\n - `query`: Search string to filter by name or location\n - `archived`: Controls whether archived entities are included\n - `include-personal-collections`: Controls whether items in personal collections are included (default: false)\n - `sort-column`: Sort column - `:name`, `:location`, `:dependents-errors`, or `:dependents-with-errors` (default: `:name`)\n - `sort-direction`: Sort direction - `:asc` or `:desc` (default: `:asc`)\n - `offset`: Default 0\n - `limit`: Default 50\n\n Returns a map with:\n - `data`: List of breaking source entities\n - `total`: Total count of matched items\n - `offset`: Applied offset\n - `limit`: Applied limit", + "parameters" : [ { + "in" : "query", + "name" : "types", + "required" : false, + "schema" : { + "anyOf" : [ { + "$ref" : "#/components/schemas/metabase-enterprise.dependencies.dependency-types.dependency-types" + }, { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/metabase-enterprise.dependencies.dependency-types.dependency-types" + } + } ] + } + }, { + "in" : "query", + "name" : "card-types", + "required" : false, + "schema" : { + "anyOf" : [ { + "type" : "string", + "enum" : [ "question", "metric", "model" ] + }, { + "type" : "array", + "items" : { + "type" : "string", + "enum" : [ "question", "metric", "model" ] + } + } ] + } + }, { + "in" : "query", + "name" : "query", + "required" : false, + "schema" : { + "type" : "string" + } + }, { + "in" : "query", + "name" : "archived", + "required" : false, + "schema" : { + "type" : "boolean" + } + }, { + "in" : "query", + "name" : "include-personal-collections", + "required" : false, + "schema" : { + "type" : "boolean" + } + }, { + "in" : "query", + "name" : "sort-column", + "required" : false, + "schema" : { + "type" : "string", + "enum" : [ "dependents-with-errors", "dependents-errors", "name", "location" ] + } + }, { + "in" : "query", + "name" : "sort-direction", + "required" : false, + "schema" : { + "type" : "string", + "enum" : [ "desc", "asc" ] + } + } ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "data" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/metabase-enterprise.dependencies.api.entity" + } + }, + "limit" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "offset" : { + "type" : "integer", + "minimum" : 0 + }, + "total" : { + "type" : "integer", + "minimum" : 0 + } + }, + "required" : [ "data", "total", "offset", "limit" ] + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "tags" : [ "/api/ee/dependencies" ] + } + }, + "/api/ee/dependencies/graph/broken" : { + "get" : { + "operationId" : "get-api-ee-dependencies-graph-broken", + "summary" : "GET /api/ee/dependencies/graph/broken", + "description" : "Returns the broken dependents for a specific source entity.\n These are entities that have validation errors traced back to the specified source.\n\n Required parameters:\n - `id`: The ID of the source entity\n - `type`: The type of the source entity (card, table)\n\n Optional parameters:\n - `dependent-types`: Dependency types to filter by. Can be single value or array.\n - `dependent-card-types`: Card types to filter by when dependent-types includes :card.\n - `include-personal-collections`: Include items in personal collections (default: false)\n - `sort-column`: Column to sort by - name, location, or view-count (default: name)\n - `sort-direction`: Sort direction - asc or desc (default: asc)", + "parameters" : [ { + "in" : "query", + "name" : "id", + "required" : true, + "schema" : { + "type" : "integer", + "minimum" : 1 + }, + "description" : "value must be an integer greater than zero." + }, { + "in" : "query", + "name" : "type", + "required" : true, + "schema" : { + "$ref" : "#/components/schemas/metabase-enterprise.dependencies.dependency-types.dependency-types" + } + }, { + "in" : "query", + "name" : "dependent-types", + "required" : false, + "schema" : { + "anyOf" : [ { + "$ref" : "#/components/schemas/metabase-enterprise.dependencies.dependency-types.dependency-types" + }, { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/metabase-enterprise.dependencies.dependency-types.dependency-types" + } + } ] + } + }, { + "in" : "query", + "name" : "dependent-card-types", + "required" : false, + "schema" : { + "anyOf" : [ { + "type" : "string", + "enum" : [ "question", "metric", "model" ] + }, { + "type" : "array", + "items" : { + "type" : "string", + "enum" : [ "question", "metric", "model" ] + } + } ] + } + }, { + "in" : "query", + "name" : "include-personal-collections", + "required" : false, + "schema" : { + "type" : "boolean" + } + }, { + "in" : "query", + "name" : "sort-column", + "required" : false, + "schema" : { + "type" : "string", + "enum" : [ "name", "view-count", "location" ] + } + }, { + "in" : "query", + "name" : "sort-direction", + "required" : false, + "schema" : { + "type" : "string", + "enum" : [ "desc", "asc" ] + } + } ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/metabase-enterprise.dependencies.api.broken-dependent-entity" + } + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "tags" : [ "/api/ee/dependencies" ] + } + }, + "/api/ee/dependencies/graph/dependents" : { + "get" : { + "operationId" : "get-api-ee-dependencies-graph-dependents", + "summary" : "GET /api/ee/dependencies/graph/dependents", + "description" : "Returns a list of dependents for the specified entity.\n\n Required parameters:\n - `id`: The ID of the entity\n - `type`: The type of the entity (card, table, dashboard, etc.)\n\n Optional parameters:\n - `dependent-types`: Dependency types to filter by. Can be single value or array.\n If not provided, returns all types. Example: ?dependent-types=card&dependent-types=dashboard\n - `dependent-card-types`: Card types to filter by when dependent-types includes :card.\n Ignored if dependent-types doesn't include :card. Example: ?dependent-card-types=question&dependent-card-types=model\n - `archived`: Include entities in archived collections (default: false)\n - `broken`: Return only broken entities (default: false)\n - `query`: Search string to filter results by name or location (case-insensitive)\n - `include-personal-collections`: Include items in personal collections (default: false)\n - `sort-column`: Column to sort by - name, location, or view-count (default: name)\n - `sort-direction`: Sort direction - asc or desc (default: asc)", + "parameters" : [ { + "in" : "query", + "name" : "id", + "required" : true, + "schema" : { + "type" : "integer", + "minimum" : 1 + }, + "description" : "value must be an integer greater than zero." + }, { + "in" : "query", + "name" : "type", + "required" : true, + "schema" : { + "$ref" : "#/components/schemas/metabase-enterprise.dependencies.dependency-types.dependency-types" + } + }, { + "in" : "query", + "name" : "dependent-types", + "required" : false, + "schema" : { + "anyOf" : [ { + "$ref" : "#/components/schemas/metabase-enterprise.dependencies.dependency-types.dependency-types" + }, { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/metabase-enterprise.dependencies.dependency-types.dependency-types" + } + } ] + } + }, { + "in" : "query", + "name" : "dependent-card-types", + "required" : false, + "schema" : { + "anyOf" : [ { + "type" : "string", + "enum" : [ "question", "metric", "model" ] + }, { + "type" : "array", + "items" : { + "type" : "string", + "enum" : [ "question", "metric", "model" ] + } + } ] + } + }, { + "in" : "query", + "name" : "archived", + "required" : false, + "schema" : { + "type" : "boolean" + } + }, { + "in" : "query", + "name" : "broken", + "required" : false, + "schema" : { + "type" : "boolean" + } + }, { + "in" : "query", + "name" : "query", + "required" : false, + "schema" : { + "type" : "string" + } + }, { + "in" : "query", + "name" : "include-personal-collections", + "required" : false, + "schema" : { + "type" : "boolean" + } + }, { + "in" : "query", + "name" : "sort-column", + "required" : false, + "schema" : { + "type" : "string", + "enum" : [ "name", "view-count", "location" ] + } + }, { + "in" : "query", + "name" : "sort-direction", + "required" : false, + "schema" : { + "type" : "string", + "enum" : [ "desc", "asc" ] + } + } ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/metabase-enterprise.dependencies.api.entity" + } + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "tags" : [ "/api/ee/dependencies" ] + } + }, + "/api/ee/dependencies/graph/unreferenced" : { + "get" : { + "operationId" : "get-api-ee-dependencies-graph-unreferenced", + "summary" : "GET /api/ee/dependencies/graph/unreferenced", + "description" : "Returns a list of all unreferenced items in the instance.\n An unreferenced item is one that is not a dependency of any other item.\n\n Accepts optional parameters for filtering:\n - `types`: List of entity types to include (e.g., [:card :transform :snippet :dashboard])\n - `card-types`: List of card types to include when filtering cards (e.g., [:question :model :metric])\n - `query`: Search string to filter by name or location\n - `archived`: Controls whether archived entities are included\n - `include-personal-collections`: Controls whether items in personal collections are included (default: false)\n - `sort-column`: Sort column - `:name`, `:location`, `:dependents-errors`, or `:dependents-with-errors` (default: `:name`)\n - `sort-direction`: Sort direction - `:asc` or `:desc` (default: `:asc`)\n - `offset`: Default 0\n - `limit`: Default 50\n\n Returns a map with:\n - `data`: List of unreferenced items, each with `:id`, `:type`, and `:data` fields\n - `total`: Total count of matched items\n - `offset`: Applied offset\n - `limit`: Applied limit", + "parameters" : [ { + "in" : "query", + "name" : "types", + "required" : false, + "schema" : { + "anyOf" : [ { + "$ref" : "#/components/schemas/metabase-enterprise.dependencies.dependency-types.dependency-types" + }, { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/metabase-enterprise.dependencies.dependency-types.dependency-types" + } + } ] + } + }, { + "in" : "query", + "name" : "card-types", + "required" : false, + "schema" : { + "anyOf" : [ { + "type" : "string", + "enum" : [ "question", "metric", "model" ] + }, { + "type" : "array", + "items" : { + "type" : "string", + "enum" : [ "question", "metric", "model" ] + } + } ] + } + }, { + "in" : "query", + "name" : "query", + "required" : false, + "schema" : { + "type" : "string" + } + }, { + "in" : "query", + "name" : "archived", + "required" : false, + "schema" : { + "type" : "boolean" + } + }, { + "in" : "query", + "name" : "include-personal-collections", + "required" : false, + "schema" : { + "type" : "boolean" + } + }, { + "in" : "query", + "name" : "sort-column", + "required" : false, + "schema" : { + "type" : "string", + "enum" : [ "dependents-with-errors", "dependents-errors", "name", "location" ] + } + }, { + "in" : "query", + "name" : "sort-direction", + "required" : false, + "schema" : { + "type" : "string", + "enum" : [ "desc", "asc" ] + } + } ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "data" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/metabase-enterprise.dependencies.api.entity" + } + }, + "limit" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "offset" : { + "type" : "integer", + "minimum" : 0 + }, + "total" : { + "type" : "integer", + "minimum" : 0 + } + }, + "required" : [ "data", "total", "offset", "limit" ] + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "tags" : [ "/api/ee/dependencies" ] + } + }, + "/api/ee/email/override" : { + "put" : { + "operationId" : "put-api-ee-email-override", + "summary" : "PUT /api/ee/email/override", + "description" : "Update multiple cloud email Settings. You must be a superuser or have `setting` permission to do this.\n Calling this automatically sets `cloud-smtp-enabled` to true if the settings are valid.", + "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response" + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "email-smtp-host-override" : { + "anyOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "email-smtp-password-override" : { + "anyOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "email-smtp-port-override" : { + "anyOf" : [ { + "type" : "integer" + }, { + "type" : "null" + } ] + }, + "email-smtp-security-override" : { + "anyOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "email-smtp-username-override" : { + "anyOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + } + } + } + } + } + }, + "tags" : [ "/api/ee/email" ] + }, + "delete" : { + "operationId" : "delete-api-ee-email-override", + "summary" : "DELETE /api/ee/email/override", + "description" : "Clear all cloud email related settings. You must be a superuser or have `setting` permission to do this.", + "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response" + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "tags" : [ "/api/ee/email" ] + } + }, + "/api/ee/embedding-hub/checklist" : { + "get" : { + "operationId" : "get-api-ee-embedding-hub-checklist", + "summary" : "GET /api/ee/embedding-hub/checklist", + "description" : "Get the embedding hub checklist status, indicating which setup steps have been completed.", + "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "checklist" : { + "type" : "object", + "properties" : { + "enable-tenants" : { + "type" : "boolean" + }, + "create-models" : { + "type" : "boolean" + }, + "sso-configured" : { + "type" : "boolean" + }, + "configure-row-column-security" : { + "type" : "boolean" + }, + "create-test-embed" : { + "type" : "boolean" + }, + "data-permissions-and-enable-tenants" : { + "type" : "boolean" + }, + "embed-production" : { + "type" : "boolean" + }, + "create-dashboard" : { + "type" : "boolean" + }, + "move-dashboard-to-shared" : { + "type" : "boolean" + }, + "setup-data-segregation-strategy" : { + "type" : "boolean" + }, + "create-tenants" : { + "type" : "boolean" + }, + "add-data" : { + "type" : "boolean" + }, + "sso-auth-manual-tested" : { + "type" : "boolean" + } + }, + "required" : [ "add-data", "create-dashboard", "create-models", "configure-row-column-security", "create-test-embed", "embed-production", "sso-configured", "data-permissions-and-enable-tenants", "enable-tenants", "move-dashboard-to-shared", "create-tenants", "setup-data-segregation-strategy", "sso-auth-manual-tested" ], + "additionalProperties" : false + }, + "data-isolation-strategy" : { + "oneOf" : [ { + "type" : "string", + "enum" : [ "row-column-level-security", "connection-impersonation", "database-routing" ] + }, { + "type" : "null" + } ] + } + }, + "required" : [ "checklist", "data-isolation-strategy" ], + "additionalProperties" : false + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "tags" : [ "/api/ee/embedding-hub" ] + } + }, + "/api/ee/erd" : { + "get" : { + "operationId" : "get-api-ee-erd", + "summary" : "GET /api/ee/erd", + "description" : "Return an Entity Relationship Diagram (ERD) for tables and their FK relationships.\n When `table-ids` is provided, those tables are the focal points (and must belong to `database-id`).", + "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/metabase-enterprise.erd.impl.erd-response" + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "tags" : [ "/api/ee/erd" ] + } + }, + "/api/ee/gsheets/connection" : { + "post" : { + "operationId" : "post-api-ee-gsheets-connection", + "summary" : "POST /api/ee/gsheets/connection", + "description" : "Hook up a new google drive folder or sheet that will be watched and have its content ETL'd into Metabase.", + "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/gsheets.response" + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "url" : { + "type" : "string", + "minLength" : 1 + } + }, + "required" : [ "url" ] + } + } + } + }, + "tags" : [ "/api/ee/gsheets" ] + }, + "get" : { + "operationId" : "get-api-ee-gsheets-connection", + "summary" : "GET /api/ee/gsheets/connection", + "description" : "Check the status of a connection. This endpoint gets polled by FE to determine when to\n stop showing the setup widget.\n\n Returns the gsheets shape, with the attached datawarehouse db id at `:db_id`.", + "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/gsheets.response" + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "tags" : [ "/api/ee/gsheets" ] + }, + "delete" : { + "operationId" : "delete-api-ee-gsheets-connection", + "summary" : "DELETE /api/ee/gsheets/connection", + "description" : "Disconnect the google service account. There is only one (or zero) at the time of writing.", + "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response" + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "tags" : [ "/api/ee/gsheets" ] + } + }, + "/api/ee/gsheets/connection/sync" : { + "post" : { + "operationId" : "post-api-ee-gsheets-connection-sync", + "summary" : "POST /api/ee/gsheets/connection/sync", + "description" : "Force a sync of the connection now.\n\n Returns the gsheets shape, with the attached datawarehouse db id at `:db_id`.", + "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response" + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "tags" : [ "/api/ee/gsheets" ] + } + }, + "/api/ee/gsheets/service-account" : { + "get" : { + "operationId" : "get-api-ee-gsheets-service-account", + "summary" : "GET /api/ee/gsheets/service-account", + "description" : "Checks to see if service-account is setup or not, delegates to HM only if we haven't set it from a metabase cluster\n before.", + "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "email" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + } + }, + "required" : [ "email" ] + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "tags" : [ "/api/ee/gsheets" ] + } + }, + "/api/ee/library" : { + "post" : { + "operationId" : "post-api-ee-library", + "summary" : "POST /api/ee/library", + "description" : "Creates the Library if it doesn't exist. Returns the created collection.\n\n Requires data analyst or superuser permissions.", + "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response" + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "tags" : [ "/api/ee/library" ] + }, + "get" : { + "operationId" : "get-api-ee-library", + "summary" : "GET /api/ee/library", + "description" : "Get the Library. If no library exists, it doesn't fail but returns an empty response", + "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "anyOf" : [ { + "$ref" : "#/components/schemas/metabase.collections.schema.CollectionItem" + }, { + "type" : "object", + "properties" : { + "data" : { + "type" : "null" + } + }, + "required" : [ "data" ] + } ] + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "tags" : [ "/api/ee/library" ] + } + }, + "/api/ee/library/tree" : { + "get" : { + "operationId" : "get-api-ee-library-tree", + "summary" : "GET /api/ee/library/tree", + "description" : "This matches /api/collection/tree but only returns the library collection.", "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response" + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "tags" : [ "/api/ee/library" ] + } + }, + "/api/ee/logs/query_execution/{yyyy-mm}" : { + "get" : { + "operationId" : "get-api-ee-logs-query_execution-yyyy-mm", + "summary" : "GET /api/ee/logs/query_execution/{yyyy-mm}", + "description" : "Fetch rows for the month specified by `:yyyy-mm` from the query_execution logs table.\n Must be a superuser.", + "parameters" : [ { + "in" : "path", + "name" : "yyyy-mm", + "required" : true, + "schema" : { + "type" : "string", + "pattern" : "\\d{4}-\\d{2}" + }, + "description" : "Must be a string like 2020-04 or 2222-11." + } ], + "responses" : { + "2XX" : { + "description" : "Successful response" + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "tags" : [ "/api/ee/logs" ] + } + }, + "/api/ee/metabot-analytics/conversations" : { + "get" : { + "operationId" : "get-api-ee-metabot-analytics-conversations", + "summary" : "GET /api/ee/metabot-analytics/conversations", + "description" : "Return paginated list of AI conversations with summary statistics.", + "parameters" : [ { + "in" : "query", + "name" : "sort_by", + "required" : false, + "schema" : { + "oneOf" : [ { + "type" : "string", + "enum" : [ "created_at", "message_count", "total_tokens", "user", "profile_id", "ip_address" ] + }, { + "type" : "null" + } ] + } + }, { + "in" : "query", + "name" : "sort_dir", + "required" : false, + "schema" : { + "oneOf" : [ { + "type" : "string", + "enum" : [ "asc", "desc" ] + }, { + "type" : "null" + } ] + } + }, { + "in" : "query", + "name" : "user_id", + "required" : false, + "schema" : { + "oneOf" : [ { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, { + "type" : "null" + } ] + } + }, { + "in" : "query", + "name" : "group_id", + "required" : false, + "schema" : { + "oneOf" : [ { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, { + "type" : "null" + } ] + } + }, { + "in" : "query", + "name" : "tenant_id", + "required" : false, + "schema" : { + "oneOf" : [ { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, { + "type" : "null" + } ] + } + }, { + "in" : "query", + "name" : "date", + "required" : false, + "schema" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + } + } ], "responses" : { "2XX" : { "description" : "Successful response", @@ -24661,562 +27746,160 @@ "schema" : { "type" : "object", "properties" : { - "library" : { - "type" : "object", - "properties" : { - "components" : { - "type" : "object", - "properties" : { - "entity-count" : { - "anyOf" : [ { - "type" : "object", - "properties" : { - "measurement" : { - "type" : "number" - }, - "score" : { - "type" : "integer", - "minimum" : 0 - } - }, - "required" : [ "measurement", "score" ], - "additionalProperties" : false - }, { - "type" : "object", - "properties" : { - "error" : { - "type" : "string" - }, - "measurement" : { - "type" : "null" - }, - "score" : { - "type" : "null" - } - }, - "required" : [ "measurement", "score", "error" ], - "additionalProperties" : false - } ] - }, - "field-count" : { - "anyOf" : [ { - "type" : "object", - "properties" : { - "measurement" : { - "type" : "number" - }, - "score" : { - "type" : "integer", - "minimum" : 0 - } - }, - "required" : [ "measurement", "score" ], - "additionalProperties" : false - }, { - "type" : "object", - "properties" : { - "error" : { - "type" : "string" - }, - "measurement" : { - "type" : "null" - }, - "score" : { - "type" : "null" - } - }, - "required" : [ "measurement", "score", "error" ], - "additionalProperties" : false - } ] - }, - "name-collisions" : { - "anyOf" : [ { - "type" : "object", - "properties" : { - "measurement" : { - "type" : "number" - }, - "score" : { - "type" : "integer", - "minimum" : 0 - } - }, - "required" : [ "measurement", "score" ], - "additionalProperties" : false - }, { - "type" : "object", - "properties" : { - "error" : { - "type" : "string" - }, - "measurement" : { - "type" : "null" - }, - "score" : { - "type" : "null" - } - }, - "required" : [ "measurement", "score", "error" ], - "additionalProperties" : false - } ] - }, - "repeated-measures" : { - "anyOf" : [ { - "type" : "object", - "properties" : { - "measurement" : { - "type" : "number" - }, - "score" : { - "type" : "integer", - "minimum" : 0 - } + "data" : { + "type" : "array", + "items" : { + "type" : "object", + "properties" : { + "sanitized_user_agent" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "embedding_path" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "user" : { + "oneOf" : [ { + "type" : "object", + "properties" : { + "email" : { + "type" : "string" }, - "required" : [ "measurement", "score" ], - "additionalProperties" : false - }, { - "type" : "object", - "properties" : { - "error" : { + "first_name" : { + "oneOf" : [ { "type" : "string" - }, - "measurement" : { - "type" : "null" - }, - "score" : { + }, { "type" : "null" - } + } ] }, - "required" : [ "measurement", "score", "error" ], - "additionalProperties" : false - } ] - }, - "synonym-pairs" : { - "anyOf" : [ { - "type" : "object", - "properties" : { - "measurement" : { - "type" : "number" - }, - "score" : { - "type" : "integer", - "minimum" : 0 - } + "id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 }, - "required" : [ "measurement", "score" ], - "additionalProperties" : false - }, { - "type" : "object", - "properties" : { - "error" : { + "last_name" : { + "oneOf" : [ { "type" : "string" - }, - "measurement" : { - "type" : "null" - }, - "score" : { + }, { "type" : "null" - } - }, - "required" : [ "measurement", "score", "error" ], - "additionalProperties" : false - } ] - } + } ] + } + }, + "required" : [ "id", "email", "first_name", "last_name" ] + }, { + "type" : "null" + } ] }, - "required" : [ "entity-count", "name-collisions", "synonym-pairs", "field-count", "repeated-measures" ] - }, - "total" : { - "oneOf" : [ { + "embedding_hostname" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "summary" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "message_count" : { + "description" : "value must be an integer greater or equal to than zero.", "type" : "integer", "minimum" : 0 - }, { - "type" : "null" - } ] - } - }, - "required" : [ "total", "components" ] - }, - "meta" : { - "type" : "object", - "properties" : { - "embedding-model" : { - "oneOf" : [ { - "type" : "object", - "properties" : { - "model-name" : { - "type" : "string" - }, - "provider" : { - "type" : "string" - } - }, - "required" : [ "provider", "model-name" ] - }, { - "type" : "null" - } ] - }, - "formula-version" : { - "type" : "integer", - "minimum" : 1 - }, - "synonym-threshold" : { - "type" : "number" - } - }, - "required" : [ "formula-version", "synonym-threshold" ] - }, - "metabot" : { - "type" : "object", - "properties" : { - "components" : { - "type" : "object", - "properties" : { - "entity-count" : { - "anyOf" : [ { - "type" : "object", - "properties" : { - "measurement" : { - "type" : "number" - }, - "score" : { - "type" : "integer", - "minimum" : 0 - } - }, - "required" : [ "measurement", "score" ], - "additionalProperties" : false - }, { - "type" : "object", - "properties" : { - "error" : { - "type" : "string" - }, - "measurement" : { - "type" : "null" - }, - "score" : { - "type" : "null" - } - }, - "required" : [ "measurement", "score", "error" ], - "additionalProperties" : false - } ] - }, - "field-count" : { - "anyOf" : [ { - "type" : "object", - "properties" : { - "measurement" : { - "type" : "number" - }, - "score" : { - "type" : "integer", - "minimum" : 0 - } - }, - "required" : [ "measurement", "score" ], - "additionalProperties" : false - }, { - "type" : "object", - "properties" : { - "error" : { - "type" : "string" - }, - "measurement" : { - "type" : "null" - }, - "score" : { - "type" : "null" - } - }, - "required" : [ "measurement", "score", "error" ], - "additionalProperties" : false - } ] - }, - "name-collisions" : { - "anyOf" : [ { - "type" : "object", - "properties" : { - "measurement" : { - "type" : "number" - }, - "score" : { - "type" : "integer", - "minimum" : 0 - } - }, - "required" : [ "measurement", "score" ], - "additionalProperties" : false - }, { - "type" : "object", - "properties" : { - "error" : { - "type" : "string" - }, - "measurement" : { - "type" : "null" - }, - "score" : { - "type" : "null" - } - }, - "required" : [ "measurement", "score", "error" ], - "additionalProperties" : false - } ] - }, - "repeated-measures" : { - "anyOf" : [ { - "type" : "object", - "properties" : { - "measurement" : { - "type" : "number" - }, - "score" : { - "type" : "integer", - "minimum" : 0 - } - }, - "required" : [ "measurement", "score" ], - "additionalProperties" : false - }, { - "type" : "object", - "properties" : { - "error" : { - "type" : "string" - }, - "measurement" : { - "type" : "null" - }, - "score" : { - "type" : "null" - } - }, - "required" : [ "measurement", "score", "error" ], - "additionalProperties" : false - } ] - }, - "synonym-pairs" : { - "anyOf" : [ { - "type" : "object", - "properties" : { - "measurement" : { - "type" : "number" - }, - "score" : { - "type" : "integer", - "minimum" : 0 - } - }, - "required" : [ "measurement", "score" ], - "additionalProperties" : false - }, { - "type" : "object", - "properties" : { - "error" : { - "type" : "string" - }, - "measurement" : { - "type" : "null" - }, - "score" : { - "type" : "null" - } - }, - "required" : [ "measurement", "score", "error" ], - "additionalProperties" : false - } ] - } }, - "required" : [ "entity-count", "name-collisions", "synonym-pairs", "field-count", "repeated-measures" ] - }, - "total" : { - "oneOf" : [ { + "user_message_count" : { + "description" : "value must be an integer greater or equal to than zero.", "type" : "integer", "minimum" : 0 - }, { - "type" : "null" - } ] - } - }, - "required" : [ "total", "components" ] - }, - "universe" : { - "type" : "object", - "properties" : { - "components" : { - "type" : "object", - "properties" : { - "entity-count" : { - "anyOf" : [ { - "type" : "object", - "properties" : { - "measurement" : { - "type" : "number" - }, - "score" : { - "type" : "integer", - "minimum" : 0 - } - }, - "required" : [ "measurement", "score" ], - "additionalProperties" : false - }, { - "type" : "object", - "properties" : { - "error" : { - "type" : "string" - }, - "measurement" : { - "type" : "null" - }, - "score" : { - "type" : "null" - } - }, - "required" : [ "measurement", "score", "error" ], - "additionalProperties" : false - } ] - }, - "field-count" : { - "anyOf" : [ { - "type" : "object", - "properties" : { - "measurement" : { - "type" : "number" - }, - "score" : { - "type" : "integer", - "minimum" : 0 - } - }, - "required" : [ "measurement", "score" ], - "additionalProperties" : false - }, { - "type" : "object", - "properties" : { - "error" : { - "type" : "string" - }, - "measurement" : { - "type" : "null" - }, - "score" : { - "type" : "null" - } - }, - "required" : [ "measurement", "score", "error" ], - "additionalProperties" : false - } ] - }, - "name-collisions" : { - "anyOf" : [ { - "type" : "object", - "properties" : { - "measurement" : { - "type" : "number" - }, - "score" : { - "type" : "integer", - "minimum" : 0 - } - }, - "required" : [ "measurement", "score" ], - "additionalProperties" : false - }, { - "type" : "object", - "properties" : { - "error" : { - "type" : "string" - }, - "measurement" : { - "type" : "null" - }, - "score" : { - "type" : "null" - } - }, - "required" : [ "measurement", "score", "error" ], - "additionalProperties" : false - } ] - }, - "repeated-measures" : { - "anyOf" : [ { - "type" : "object", - "properties" : { - "measurement" : { - "type" : "number" - }, - "score" : { - "type" : "integer", - "minimum" : 0 - } - }, - "required" : [ "measurement", "score" ], - "additionalProperties" : false - }, { - "type" : "object", - "properties" : { - "error" : { - "type" : "string" - }, - "measurement" : { - "type" : "null" - }, - "score" : { - "type" : "null" - } - }, - "required" : [ "measurement", "score", "error" ], - "additionalProperties" : false - } ] - }, - "synonym-pairs" : { - "anyOf" : [ { - "type" : "object", - "properties" : { - "measurement" : { - "type" : "number" - }, - "score" : { - "type" : "integer", - "minimum" : 0 - } - }, - "required" : [ "measurement", "score" ], - "additionalProperties" : false - }, { - "type" : "object", - "properties" : { - "error" : { - "type" : "string" - }, - "measurement" : { - "type" : "null" - }, - "score" : { - "type" : "null" - } - }, - "required" : [ "measurement", "score", "error" ], - "additionalProperties" : false - } ] - } }, - "required" : [ "entity-count", "name-collisions", "synonym-pairs", "field-count", "repeated-measures" ] - }, - "total" : { - "oneOf" : [ { + "profile_id" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "conversation_id" : { + "description" : "value must be a valid UUID.", + "type" : "string", + "pattern" : "[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}" + }, + "last_message_at" : { + "oneOf" : [ { + "type" : "string", + "format" : "date-time" + }, { + "type" : "null" + } ] + }, + "created_at" : { + "type" : "string", + "format" : "date-time" + }, + "ip_address" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "search_count" : { + "description" : "value must be an integer greater or equal to than zero.", "type" : "integer", "minimum" : 0 - }, { - "type" : "null" - } ] - } - }, - "required" : [ "total", "components" ] + }, + "assistant_message_count" : { + "description" : "value must be an integer greater or equal to than zero.", + "type" : "integer", + "minimum" : 0 + }, + "total_tokens" : { + "description" : "value must be an integer greater or equal to than zero.", + "type" : "integer", + "minimum" : 0 + }, + "query_count" : { + "description" : "value must be an integer greater or equal to than zero.", + "type" : "integer", + "minimum" : 0 + }, + "user_agent" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + } + }, + "required" : [ "conversation_id", "created_at", "summary", "message_count", "user_message_count", "assistant_message_count", "total_tokens", "last_message_at", "profile_id", "search_count", "query_count", "ip_address", "embedding_hostname", "embedding_path", "user_agent", "sanitized_user_agent", "user" ] + } + }, + "limit" : { + "description" : "value must be an integer greater or equal to than zero.", + "type" : "integer", + "minimum" : 0 + }, + "offset" : { + "description" : "value must be an integer greater or equal to than zero.", + "type" : "integer", + "minimum" : 0 + }, + "total" : { + "description" : "value must be an integer greater or equal to than zero.", + "type" : "integer", + "minimum" : 0 } }, - "required" : [ "library", "universe", "metabot", "meta" ] + "required" : [ "data", "total", "limit", "offset" ] } } } @@ -25228,22 +27911,319 @@ "description" : "Server error response" } }, - "tags" : [ "/api/ee/data-complexity-score" ] + "tags" : [ "/api/ee/metabot-analytics" ] } }, - "/api/ee/data-studio/table/publish-tables" : { - "post" : { - "operationId" : "post-api-ee-data-studio-table-publish-tables", - "summary" : "POST /api/ee/data-studio/table/publish-tables", - "description" : "Set collection for each of selected tables and all upstream dependencies recursively.", - "parameters" : [ ], + "/api/ee/metabot-analytics/conversations/{id}" : { + "get" : { + "operationId" : "get-api-ee-metabot-analytics-conversations-id", + "summary" : "GET /api/ee/metabot-analytics/conversations/{id}", + "description" : "Return full details for a specific conversation including all messages.", + "parameters" : [ { + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "string", + "pattern" : "[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}" + }, + "description" : "value must be a valid UUID." + } ], "responses" : { "2XX" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/metabase-enterprise.data-studio.api.table.publish-tables-response" + "type" : "object", + "properties" : { + "queries" : { + "type" : "array", + "items" : { + "type" : "object", + "properties" : { + "tables" : { + "type" : "array", + "items" : { + "type" : "string" + } + }, + "mbql" : { + "oneOf" : [ { + "type" : "object", + "properties" : { } + }, { + "type" : "null" + } ] + }, + "database_id" : { + "oneOf" : [ { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, { + "type" : "null" + } ] + }, + "query_id" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "query_type" : { + "type" : "string", + "enum" : [ "sql", "notebook" ] + }, + "display" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "tool" : { + "type" : "string", + "enum" : [ "construct_notebook_query", "create_sql_query", "edit_sql_query", "replace_sql_query" ] + }, + "call_id" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "sql" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "message_id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + } + }, + "required" : [ "tool", "call_id", "message_id", "query_id", "query_type", "sql", "mbql", "display", "database_id", "tables" ] + } + }, + "sanitized_user_agent" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "embedding_path" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "slack_permalink" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "user" : { + "oneOf" : [ { + "type" : "object", + "properties" : { + "email" : { + "type" : "string" + }, + "first_name" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "last_name" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + } + }, + "required" : [ "id", "email", "first_name", "last_name" ] + }, { + "type" : "null" + } ] + }, + "embedding_hostname" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "summary" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "feedback" : { + "type" : "array", + "items" : { + "type" : "object", + "properties" : { + "user_id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "positive" : { + "type" : "boolean" + }, + "external_id" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "user" : { + "oneOf" : [ { + "type" : "object", + "properties" : { + "email" : { + "type" : "string" + }, + "first_name" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "last_name" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + } + }, + "required" : [ "id", "email", "first_name", "last_name" ] + }, { + "type" : "null" + } ] + }, + "id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "updated_at" : { + "type" : "string", + "format" : "date-time" + }, + "issue_type" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "created_at" : { + "type" : "string", + "format" : "date-time" + }, + "freeform_feedback" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "message_id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + } + }, + "required" : [ "id", "message_id", "user_id", "external_id", "positive", "issue_type", "freeform_feedback", "created_at", "updated_at" ] + } + }, + "message_count" : { + "description" : "value must be an integer greater or equal to than zero.", + "type" : "integer", + "minimum" : 0 + }, + "profile_id" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "conversation_id" : { + "description" : "value must be a valid UUID.", + "type" : "string", + "pattern" : "[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}" + }, + "created_at" : { + "type" : "string", + "format" : "date-time" + }, + "ip_address" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "search_count" : { + "description" : "value must be an integer greater or equal to than zero.", + "type" : "integer", + "minimum" : 0 + }, + "total_tokens" : { + "description" : "value must be an integer greater or equal to than zero.", + "type" : "integer", + "minimum" : 0 + }, + "query_count" : { + "description" : "value must be an integer greater or equal to than zero.", + "type" : "integer", + "minimum" : 0 + }, + "user_agent" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "chat_messages" : { + "type" : "array", + "items" : { + "type" : "object", + "properties" : { } + } + } + }, + "required" : [ "conversation_id", "created_at", "summary", "user", "message_count", "total_tokens", "profile_id", "slack_permalink", "chat_messages", "queries", "search_count", "query_count", "ip_address", "embedding_hostname", "embedding_path", "user_agent", "sanitized_user_agent", "feedback" ] } } } @@ -25255,23 +28235,14 @@ "description" : "Server error response" } }, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/metabase-enterprise.data-studio.api.table.table-selectors" - } - } - } - }, - "tags" : [ "/api/ee/data-studio/table" ] + "tags" : [ "/api/ee/metabot-analytics" ] } }, - "/api/ee/data-studio/table/unpublish-tables" : { - "post" : { - "operationId" : "post-api-ee-data-studio-table-unpublish-tables", - "summary" : "POST /api/ee/data-studio/table/unpublish-tables", - "description" : "Unset collection for each of selected tables and all downstream dependents recursively.", + "/api/ee/metabot/usage" : { + "get" : { + "operationId" : "get-api-ee-metabot-usage", + "summary" : "GET /api/ee/metabot/usage", + "description" : "Fetch current Metabot token usage for the current billing period.", "parameters" : [ ], "responses" : { "2XX" : { @@ -25279,7 +28250,31 @@ "content" : { "application/json" : { "schema" : { - "type" : "null" + "type" : "object", + "properties" : { + "is_locked" : { + "oneOf" : [ { + "type" : "boolean" + }, { + "type" : "null" + } ] + }, + "tokens" : { + "oneOf" : [ { + "type" : "integer" + }, { + "type" : "null" + } ] + }, + "updated_at" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + } + }, + "required" : [ "is_locked", "tokens", "updated_at" ] } } } @@ -25291,116 +28286,135 @@ "description" : "Server error response" } }, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/metabase-enterprise.data-studio.api.table.table-selectors" - } - } - } - }, - "tags" : [ "/api/ee/data-studio/table" ] + "tags" : [ "/api/ee/metabot" ] } }, - "/api/ee/database-replication/connection/{database-id}" : { - "post" : { - "operationId" : "post-api-ee-database-replication-connection-database-id", - "summary" : "POST /api/ee/database-replication/connection/{database-id}", - "description" : "Create a new PG replication connection for the specified database.", + "/api/ee/notifications" : { + "get" : { + "operationId" : "get-api-ee-notifications", + "summary" : "GET /api/ee/notifications", + "description" : "List card-type notifications (alerts) for admin management. Supports pagination (`limit` +\n `offset` query params — handled by the offset-paging middleware), filtering, and sorting.\n\n `last_send_status` filter operates on the latest channel-send task_history row for the\n notification's card (`successful` = latest channel-send succeeded; `failing` = latest\n channel-send failed). The Failing tab uses `?last_send_status=failing`.\n\n `creatorless=true` selects notifications with no creator or a deactivated creator (the Ownerless\n tab). `creatorless=false` selects the inverse.\n\n `channel` accepts a single string or a repeated query param for multi-select (OR logic).", "parameters" : [ { - "in" : "path", - "name" : "database-id", - "required" : true, + "in" : "query", + "name" : "active", + "required" : false, + "schema" : { + "oneOf" : [ { + "type" : "boolean" + }, { + "type" : "null" + } ] + } + }, { + "in" : "query", + "name" : "creator_id", + "required" : false, "schema" : { "type" : "integer", "minimum" : 1 }, "description" : "value must be an integer greater than zero." - } ], - "responses" : { - "2XX" : { - "description" : "Successful response" - }, - "4XX" : { - "description" : "Client error response" - }, - "5XX" : { - "description" : "Server error response" + }, { + "in" : "query", + "name" : "creator_active", + "required" : false, + "schema" : { + "oneOf" : [ { + "type" : "boolean" + }, { + "type" : "null" + } ] } - }, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "properties" : { - "replicationSchemaFilters" : { - "type" : "object", - "properties" : { - "schema-filters-patterns" : { - "type" : "string" - }, - "schema-filters-type" : { - "type" : "string", - "enum" : [ "inclusion", "exclusion", "all" ] - } - }, - "required" : [ "schema-filters-type", "schema-filters-patterns" ] - } - } - } - } + }, { + "in" : "query", + "name" : "creatorless", + "required" : false, + "schema" : { + "oneOf" : [ { + "type" : "boolean" + }, { + "type" : "null" + } ] } - }, - "tags" : [ "/api/ee/database-replication" ] - }, - "delete" : { - "operationId" : "delete-api-ee-database-replication-connection-database-id", - "summary" : "DELETE /api/ee/database-replication/connection/{database-id}", - "description" : "Delete PG replication connection for the specified database.", - "parameters" : [ { - "in" : "path", - "name" : "database-id", - "required" : true, + }, { + "in" : "query", + "name" : "card_id", + "required" : false, "schema" : { "type" : "integer", "minimum" : 1 }, "description" : "value must be an integer greater than zero." - } ], - "responses" : { - "2XX" : { - "description" : "Successful response" - }, - "4XX" : { - "description" : "Client error response" - }, - "5XX" : { - "description" : "Server error response" + }, { + "in" : "query", + "name" : "recipient_email", + "required" : false, + "schema" : { + "type" : "string", + "minLength" : 1 } - }, - "tags" : [ "/api/ee/database-replication" ] - } - }, - "/api/ee/database-replication/connection/{database-id}/preview" : { - "post" : { - "operationId" : "post-api-ee-database-replication-connection-database-id-preview", - "summary" : "POST /api/ee/database-replication/connection/{database-id}/preview", - "description" : "Return info about pg-replication connection that is about to be created.", - "parameters" : [ { - "in" : "path", - "name" : "database-id", + }, { + "in" : "query", + "name" : "channel", + "required" : false, + "schema" : { + "oneOf" : [ { + "anyOf" : [ { + "type" : "string", + "minLength" : 1 + }, { + "type" : "array", + "items" : { + "type" : "string", + "minLength" : 1 + } + } ] + }, { + "type" : "null" + } ] + } + }, { + "in" : "query", + "name" : "last_send_status", + "required" : false, + "schema" : { + "$ref" : "#/components/schemas/metabase-enterprise.notification-admin.api.run-status" + } + }, { + "in" : "query", + "name" : "query", + "required" : false, + "schema" : { + "type" : "string", + "minLength" : 1 + } + }, { + "in" : "query", + "name" : "sort_column", "required" : true, "schema" : { - "type" : "integer", - "minimum" : 1 - }, - "description" : "value must be an integer greater than zero." + "default" : "last_send", + "$ref" : "#/components/schemas/metabase-enterprise.notification-admin.api.sort-column" + } + }, { + "in" : "query", + "name" : "sort_direction", + "required" : true, + "schema" : { + "default" : "desc", + "$ref" : "#/components/schemas/metabase-enterprise.notification-admin.api.sort-direction" + } } ], "responses" : { "2XX" : { - "description" : "Successful response" + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/metabase-enterprise.notification-admin.api.list-response" + } + } + } }, "4XX" : { "description" : "Client error response" @@ -25409,49 +28423,25 @@ "description" : "Server error response" } }, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "properties" : { - "replicationSchemaFilters" : { - "type" : "object", - "properties" : { - "schema-filters-patterns" : { - "type" : "string" - }, - "schema-filters-type" : { - "type" : "string", - "enum" : [ "inclusion", "exclusion", "all" ] - } - }, - "required" : [ "schema-filters-type", "schema-filters-patterns" ] - } - } - } - } - } - }, - "tags" : [ "/api/ee/database-replication" ] + "tags" : [ "/api/ee/notifications" ] } }, - "/api/ee/database-routing/destination-database" : { + "/api/ee/notifications/bulk" : { "post" : { - "operationId" : "post-api-ee-database-routing-destination-database", - "summary" : "POST /api/ee/database-routing/destination-database", - "description" : "Create new Destination Databases.\n\n Note that unlike the normal `POST /api/database` endpoint, does NOT check the details before adding the Database.\n\n This is OK, it's not an invariant that all database details are always valid, but it's something to note.", - "parameters" : [ { - "in" : "query", - "name" : "check_connection_details", - "required" : false, - "schema" : { - "type" : "boolean" - } - } ], + "operationId" : "post-api-ee-notifications-bulk", + "summary" : "POST /api/ee/notifications/bulk", + "description" : "Bulk-archive or -change-creator a set of notifications. The per-notification `:active` flip goes\n through `:model/Notification`'s `before-update` hook, which creates / tears down the Quartz\n triggers. Recipient emails and `:event/notification-update` audit events are\n published via the shared [[notification-api/publish-notification-update!]] helper so this\n endpoint's side-effect contract can't drift from `PUT /api/notification/:id`.", + "parameters" : [ ], "responses" : { "2XX" : { - "description" : "Successful response" + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/metabase-enterprise.notification-admin.api.bulk-response" + } + } + } }, "4XX" : { "description" : "Client error response" @@ -25466,43 +28456,38 @@ "schema" : { "type" : "object", "properties" : { - "destinations" : { - "type" : "array", - "items" : { - "type" : "object", - "properties" : { - "details" : { - "description" : "Value must be a map.", - "type" : "object", - "properties" : { } - }, - "name" : { - "type" : "string", - "minLength" : 1 - } - }, - "required" : [ "name", "details" ] - } + "action" : { + "type" : "string", + "enum" : [ "archive", "change-creator" ] }, - "router_database_id" : { + "creator_id" : { "description" : "value must be an integer greater than zero.", "type" : "integer", "minimum" : 1 + }, + "notification_ids" : { + "type" : "array", + "items" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "minItems" : 1 } }, - "required" : [ "router_database_id", "destinations" ] + "required" : [ "notification_ids", "action" ] } } } }, - "tags" : [ "/api/ee/database-routing" ] + "tags" : [ "/api/ee/notifications" ] } }, - "/api/ee/database-routing/router-database/{id}" : { - "put" : { - "operationId" : "put-api-ee-database-routing-router-database-id", - "summary" : "PUT /api/ee/database-routing/router-database/{id}", - "description" : "Updates an existing Database with the `user_attribute` to route on. Will either:\n - turn an existing Database into a Router database\n - change the `user_attribute` used to route for an existing Router database, or\n - turn a Router database into a regular Database\n depending on the value of `user_attribute`", + "/api/ee/notifications/{id}" : { + "get" : { + "operationId" : "get-api-ee-notifications-id", + "summary" : "GET /api/ee/notifications/{id}", + "description" : "Get a single card-type notification with last_check, last_send, check_history (up to 10\n most-recent terminal alert-type TaskRuns) and send_history (up to 10 most-recent channel-send\n delivery attempts). 404 if the notification doesn't exist or isn't a card-type notification.", "parameters" : [ { "in" : "path", "name" : "id", @@ -25515,7 +28500,14 @@ } ], "responses" : { "2XX" : { - "description" : "Successful response" + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/metabase-enterprise.notification-admin.api.detail-response" + } + } + } }, "4XX" : { "description" : "Client error response" @@ -25524,33 +28516,64 @@ "description" : "Server error response" } }, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "properties" : { - "user_attribute" : { - "oneOf" : [ { - "type" : "string", - "minLength" : 1 - }, { - "type" : "null" - } ] - } + "tags" : [ "/api/ee/notifications" ] + } + }, + "/api/ee/permission_debug" : { + "get" : { + "operationId" : "get-api-ee-permission_debug", + "summary" : "GET /api/ee/permission_debug", + "description" : "This endpoint expects a `user_id`, a `model_id` to debug permissions against, and `action_type`.\n The type of model we are debugging against is inferred by the `action_type`.\n\n It will return:\n - `decision`: The overall permission decision (\"allow\", \"denied\", or \"limited\")\n - `model-type`: The type of model being checked (e.g., \"question\")\n - `model-id`: The ID of the model being checked\n - `segment`: A set of segmentation types applied (e.g., \"sandboxed\", \"impersonated\", \"routed\")\n - `message`: A sequence of strings explaining the decision\n - `data`: A map containing details about permissions (table or collection names to group names)\n - `suggestions`: A map of group IDs to group names that could provide access\n\n Example requests:\n - Check if user can read a card: `GET /api/ee/permission_debug?user_id=123&model_id=456&action_type=card/read`\n - Check if user can query a card: `GET /api/ee/permission_debug?user_id=123&model_id=456&action_type=card/query`\n - Check if user can download data: `GET /api/ee/permission_debug?user_id=123&model_id=456&action_type=card/download-data`\n\n Example responses:\n - Allowed access:\n ```json\n {\n \"decision\": \"allow\",\n \"model-type\": \"question\",\n \"model-id\": \"456\",\n \"segment\": [],\n \"message\": [\"User has permission to read this card\"],\n \"data\": {},\n \"suggestions\": {}\n }\n ```\n - Denied access with blocked table:\n ```json\n {\n \"decision\": \"denied\",\n \"model-type\": \"question\",\n \"model-id\": \"456\",\n \"segment\": [],\n \"message\": [\"User does not have permission to query this card\"],\n \"data\": {\"sample-db.PUBLIC.ORDERS\": [\"All Users\"]},\n \"suggestions\": {}\n }\n ```\n - Limited access:\n ```json\n {\n \"decision\": \"limited\",\n \"model-type\": \"question\",\n \"model-id\": \"456\",\n \"segment\": [],\n \"message\": [\"User has permission to download some data from this card\"],\n \"data\": {},\n \"suggestions\": {}\n }\n ```", + "parameters" : [ { + "in" : "query", + "name" : "user_id", + "required" : true, + "schema" : { + "type" : "integer", + "minimum" : 1 + } + }, { + "in" : "query", + "name" : "model_id", + "required" : true, + "schema" : { + "type" : "string" + } + }, { + "in" : "query", + "name" : "action_type", + "required" : true, + "schema" : { + "type" : "string", + "enum" : [ "card/read", "card/query", "card/download-data" ] + } + } ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/metabase-enterprise.permission-debug.impl.perm-debug-info" } } } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" } }, - "tags" : [ "/api/ee/database-routing" ] + "tags" : [ "/api/ee/permission_debug" ] } }, - "/api/ee/dependencies/backfill-status" : { + "/api/ee/remote-sync/branches" : { "get" : { - "operationId" : "get-api-ee-dependencies-backfill-status", - "summary" : "GET /api/ee/dependencies/backfill-status", - "description" : "Returns whether the dependency backfill has pending work.\n `complete` is true when there are no stale or outdated entities awaiting processing.", + "operationId" : "get-api-ee-remote-sync-branches", + "summary" : "GET /api/ee/remote-sync/branches", + "description" : "Get list of branches from the configured source.\n\n Returns a JSON object with branch names under the :items key.\n\n Requires superuser permissions.", "parameters" : [ ], "responses" : { "2XX" : { @@ -25560,11 +28583,14 @@ "schema" : { "type" : "object", "properties" : { - "complete" : { - "type" : "boolean" + "items" : { + "type" : "array", + "items" : { + "type" : "string" + } } }, - "required" : [ "complete" ] + "required" : [ "items" ] } } } @@ -25576,14 +28602,14 @@ "description" : "Server error response" } }, - "tags" : [ "/api/ee/dependencies" ] + "tags" : [ "/api/ee/remote-sync" ] } }, - "/api/ee/dependencies/check-card" : { + "/api/ee/remote-sync/create-branch" : { "post" : { - "operationId" : "post-api-ee-dependencies-check-card", - "summary" : "POST /api/ee/dependencies/check-card", - "description" : "Check a proposed edit to a card, and return the card IDs for those cards this edit will break.", + "operationId" : "post-api-ee-remote-sync-create-branch", + "summary" : "POST /api/ee/remote-sync/create-branch", + "description" : "Create a new branch from the current remote-sync branch and switches the current remote-sync branch to it.\n Requires superuser permissions.", "parameters" : [ ], "responses" : { "2XX" : { @@ -25591,7 +28617,16 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/metabase-enterprise.dependencies.api.broken-cards-response" + "type" : "object", + "properties" : { + "message" : { + "type" : "string" + }, + "status" : { + "type" : "string" + } + }, + "required" : [ "status", "message" ] } } } @@ -25607,19 +28642,26 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/metabase-enterprise.dependencies.api.card-body" + "type" : "object", + "properties" : { + "name" : { + "type" : "string", + "minLength" : 1 + } + }, + "required" : [ "name" ] } } } }, - "tags" : [ "/api/ee/dependencies" ] + "tags" : [ "/api/ee/remote-sync" ] } }, - "/api/ee/dependencies/check-snippet" : { - "post" : { - "operationId" : "post-api-ee-dependencies-check-snippet", - "summary" : "POST /api/ee/dependencies/check-snippet", - "description" : "Check a proposed edit to a native snippet, and return the cards, etc. which will be broken.", + "/api/ee/remote-sync/current-task" : { + "get" : { + "operationId" : "get-api-ee-remote-sync-current-task", + "summary" : "GET /api/ee/remote-sync/current-task", + "description" : "Get the current sync task", "parameters" : [ ], "responses" : { "2XX" : { @@ -25627,7 +28669,85 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/metabase-enterprise.dependencies.api.broken-cards-response" + "oneOf" : [ { + "type" : "object", + "properties" : { + "progress" : { + "oneOf" : [ { + "type" : "number", + "minimum" : 0.0, + "maximum" : 1.0 + }, { + "type" : "null" + } ] + }, + "conflicts" : { + "oneOf" : [ { + "type" : "array", + "items" : { + "type" : "string" + } + }, { + "type" : "null" + } ] + }, + "last_progress_report_at" : { + "oneOf" : [ { }, { + "type" : "null" + } ] + }, + "id" : { + "type" : "integer", + "minimum" : 1 + }, + "started_at" : { }, + "ended_at" : { + "oneOf" : [ { }, { + "type" : "null" + } ] + }, + "initiated_by" : { + "oneOf" : [ { + "type" : "integer", + "minimum" : 1 + }, { + "type" : "null" + } ] + }, + "cancelled" : { + "oneOf" : [ { + "type" : "boolean" + }, { + "type" : "null" + } ] + }, + "status" : { + "type" : "string", + "enum" : [ "running", "successful", "errored", "cancelled", "timed-out", "conflict" ] + }, + "error_message" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "sync_task_type" : { + "type" : "string", + "enum" : [ "import", "export" ] + }, + "version" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + } + }, + "required" : [ "id", "sync_task_type", "progress", "started_at", "status" ] + }, { + "type" : "null" + } ] } } } @@ -25639,35 +28759,115 @@ "description" : "Server error response" } }, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "properties" : { - "content" : { - "type" : "string" - }, - "id" : { - "$ref" : "#/components/schemas/metabase.lib.schema.id.snippet" + "tags" : [ "/api/ee/remote-sync" ] + } + }, + "/api/ee/remote-sync/current-task/cancel" : { + "post" : { + "operationId" : "post-api-ee-remote-sync-current-task-cancel", + "summary" : "POST /api/ee/remote-sync/current-task/cancel", + "description" : "Cancels the current task if one is running", + "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "progress" : { + "oneOf" : [ { + "type" : "number", + "minimum" : 0.0, + "maximum" : 1.0 + }, { + "type" : "null" + } ] + }, + "conflicts" : { + "oneOf" : [ { + "type" : "array", + "items" : { + "type" : "string" + } + }, { + "type" : "null" + } ] + }, + "last_progress_report_at" : { + "oneOf" : [ { }, { + "type" : "null" + } ] + }, + "id" : { + "type" : "integer", + "minimum" : 1 + }, + "started_at" : { }, + "ended_at" : { + "oneOf" : [ { }, { + "type" : "null" + } ] + }, + "initiated_by" : { + "oneOf" : [ { + "type" : "integer", + "minimum" : 1 + }, { + "type" : "null" + } ] + }, + "cancelled" : { + "oneOf" : [ { + "type" : "boolean" + }, { + "type" : "null" + } ] + }, + "status" : { + "type" : "string", + "enum" : [ "running", "successful", "errored", "cancelled", "timed-out", "conflict" ] + }, + "error_message" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "sync_task_type" : { + "type" : "string", + "enum" : [ "import", "export" ] + }, + "version" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + } }, - "name" : { - "description" : "snippet names cannot include '}' or start with spaces" - } - }, - "required" : [ "id" ] + "required" : [ "id", "sync_task_type", "progress", "started_at", "status" ] + } } } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" } }, - "tags" : [ "/api/ee/dependencies" ] + "tags" : [ "/api/ee/remote-sync" ] } }, - "/api/ee/dependencies/check-transform" : { - "post" : { - "operationId" : "post-api-ee-dependencies-check-transform", - "summary" : "POST /api/ee/dependencies/check-transform", - "description" : "Check a proposed edit to a transform, and return the card, transform, etc. IDs for things that will break.", + "/api/ee/remote-sync/dirty" : { + "get" : { + "operationId" : "get-api-ee-remote-sync-dirty", + "summary" : "GET /api/ee/remote-sync/dirty", + "description" : "Return all models with changes that have not been pushed to the remote sync source in any\n remote-synced collection.", "parameters" : [ ], "responses" : { "2XX" : { @@ -25675,7 +28875,92 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/metabase-enterprise.dependencies.api.broken-cards-response" + "type" : "object", + "properties" : { + "dirty" : { + "type" : "array", + "items" : { + "type" : "object", + "properties" : { + "table_name" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "model" : { + "type" : "string" + }, + "authority_level" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "id" : { + "type" : "integer" + }, + "name" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "updated_at" : { + "oneOf" : [ { }, { + "type" : "null" + } ] + }, + "table_id" : { + "oneOf" : [ { + "type" : "integer", + "minimum" : 1 + }, { + "type" : "null" + } ] + }, + "query_type" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "collection_id" : { + "oneOf" : [ { + "type" : "integer", + "minimum" : 1 + }, { + "type" : "null" + } ] + }, + "created_at" : { }, + "display" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "sync_status" : { + "type" : "string" + }, + "description" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + } + }, + "required" : [ "id", "name", "model", "sync_status" ] + } + } + }, + "required" : [ "dirty" ] } } } @@ -25687,54 +28972,32 @@ "description" : "Server error response" } }, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/metabase-enterprise.dependencies.api.transform-body" - } - } - } - }, - "tags" : [ "/api/ee/dependencies" ] + "tags" : [ "/api/ee/remote-sync" ] } }, - "/api/ee/dependencies/graph" : { - "get" : { - "operationId" : "get-api-ee-dependencies-graph", - "summary" : "GET /api/ee/dependencies/graph", - "description" : "This endpoint takes an :id and a supported entity :type, and returns a graph of all its upstream dependencies.\n The graph is represented by a list of :nodes and a list of :edges. Each node has an :id, :type, :data (which\n depends on the node type), and a map of :dependent_counts per entity type. Each edge is a :model/Dependency.\n\n Optional :archived parameter controls whether entities in archived collections are included:\n - false (default): Excludes entities in archived collections\n - true: Includes entities in archived collections", - "parameters" : [ { - "in" : "query", - "name" : "id", - "required" : false, - "schema" : { - "type" : "integer", - "minimum" : 1 - }, - "description" : "value must be an integer greater than zero." - }, { - "in" : "query", - "name" : "type", - "required" : false, - "schema" : { - "$ref" : "#/components/schemas/metabase-enterprise.dependencies.dependency-types.dependency-types" - } - }, { - "in" : "query", - "name" : "archived", - "required" : false, - "schema" : { - "type" : "boolean" - } - } ], + "/api/ee/remote-sync/export" : { + "post" : { + "operationId" : "post-api-ee-remote-sync-export", + "summary" : "POST /api/ee/remote-sync/export", + "description" : "Export the current state of the Remote Sync collection to a Source.\n\n This endpoint will:\n - Fetch the latest changes from the source\n - Create a branch or subdirectory (depending on source support)\n If no branch is supplied, use the configured export branch\n - Export the Remote Sync collection via serialization to the branch or subdirectory\n - Commit the changes if possible\n - Sync to the source if possible\n\n Requires superuser permissions.", + "parameters" : [ ], "responses" : { "2XX" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/metabase-enterprise.dependencies.api.graph-response" + "type" : "object", + "properties" : { + "message" : { + "type" : "string" + }, + "task_id" : { + "type" : "integer", + "minimum" : 1 + } + }, + "required" : [ "message", "task_id" ] } } } @@ -25746,81 +29009,21 @@ "description" : "Server error response" } }, - "tags" : [ "/api/ee/dependencies" ] + "tags" : [ "/api/ee/remote-sync" ] } }, - "/api/ee/dependencies/graph/breaking" : { + "/api/ee/remote-sync/has-remote-changes" : { "get" : { - "operationId" : "get-api-ee-dependencies-graph-breaking", - "summary" : "GET /api/ee/dependencies/graph/breaking", - "description" : "Returns a list of entities that are breaking other entities (sources of errors).\n These are tables or cards that other entities depend on, where those dependents\n have validation errors traced back to this source entity.\n\n Accepts optional parameters for filtering:\n - `types`: List of source entity types - only `:card` or `:table` (default: both)\n - `card-types`: List of card types to include when filtering cards (e.g., `[:question :model :metric]`)\n - `query`: Search string to filter by name or location\n - `archived`: Controls whether archived entities are included\n - `include-personal-collections`: Controls whether items in personal collections are included (default: false)\n - `sort-column`: Sort column - `:name`, `:location`, `:dependents-errors`, or `:dependents-with-errors` (default: `:name`)\n - `sort-direction`: Sort direction - `:asc` or `:desc` (default: `:asc`)\n - `offset`: Default 0\n - `limit`: Default 50\n\n Returns a map with:\n - `data`: List of breaking source entities\n - `total`: Total count of matched items\n - `offset`: Applied offset\n - `limit`: Applied limit", + "operationId" : "get-api-ee-remote-sync-has-remote-changes", + "summary" : "GET /api/ee/remote-sync/has-remote-changes", + "description" : "Check if there are new changes on the remote branch that can be pulled.\n Uses in-memory caching (configurable TTL via remote-sync-check-changes-cache-ttl-seconds setting).\n\n Returns:\n - has_changes: true if remote version differs from last imported version, or if never imported\n - remote_version: current Git SHA on remote branch\n - local_version: Git SHA of last successful import (nil if never imported)\n - cached: true if result was served from cache", "parameters" : [ { "in" : "query", - "name" : "types", - "required" : false, - "schema" : { - "anyOf" : [ { - "$ref" : "#/components/schemas/metabase-enterprise.dependencies.dependency-types.dependency-types" - }, { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/metabase-enterprise.dependencies.dependency-types.dependency-types" - } - } ] - } - }, { - "in" : "query", - "name" : "card-types", - "required" : false, - "schema" : { - "anyOf" : [ { - "type" : "string", - "enum" : [ "question", "metric", "model" ] - }, { - "type" : "array", - "items" : { - "type" : "string", - "enum" : [ "question", "metric", "model" ] - } - } ] - } - }, { - "in" : "query", - "name" : "query", - "required" : false, - "schema" : { - "type" : "string" - } - }, { - "in" : "query", - "name" : "archived", - "required" : false, - "schema" : { - "type" : "boolean" - } - }, { - "in" : "query", - "name" : "include-personal-collections", + "name" : "force-refresh", "required" : false, "schema" : { "type" : "boolean" } - }, { - "in" : "query", - "name" : "sort-column", - "required" : false, - "schema" : { - "type" : "string", - "enum" : [ "dependents-with-errors", "dependents-errors", "name", "location" ] - } - }, { - "in" : "query", - "name" : "sort-direction", - "required" : false, - "schema" : { - "type" : "string", - "enum" : [ "desc", "asc" ] - } } ], "responses" : { "2XX" : { @@ -25830,27 +29033,28 @@ "schema" : { "type" : "object", "properties" : { - "data" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/metabase-enterprise.dependencies.api.entity" - } + "cached" : { + "type" : "boolean" }, - "limit" : { - "description" : "value must be an integer greater than zero.", - "type" : "integer", - "minimum" : 1 + "has_changes" : { + "type" : "boolean" }, - "offset" : { - "type" : "integer", - "minimum" : 0 + "local_version" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] }, - "total" : { - "type" : "integer", - "minimum" : 0 + "remote_version" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] } }, - "required" : [ "data", "total", "offset", "limit" ] + "required" : [ "has_changes", "remote_version", "local_version", "cached" ] } } } @@ -25862,94 +29066,43 @@ "description" : "Server error response" } }, - "tags" : [ "/api/ee/dependencies" ] + "tags" : [ "/api/ee/remote-sync" ] } }, - "/api/ee/dependencies/graph/broken" : { - "get" : { - "operationId" : "get-api-ee-dependencies-graph-broken", - "summary" : "GET /api/ee/dependencies/graph/broken", - "description" : "Returns the broken dependents for a specific source entity.\n These are entities that have validation errors traced back to the specified source.\n\n Required parameters:\n - `id`: The ID of the source entity\n - `type`: The type of the source entity (card, table)\n\n Optional parameters:\n - `dependent-types`: Dependency types to filter by. Can be single value or array.\n - `dependent-card-types`: Card types to filter by when dependent-types includes :card.\n - `include-personal-collections`: Include items in personal collections (default: false)\n - `sort-column`: Column to sort by - name, location, or view-count (default: name)\n - `sort-direction`: Sort direction - asc or desc (default: asc)", - "parameters" : [ { - "in" : "query", - "name" : "id", - "required" : true, - "schema" : { - "type" : "integer", - "minimum" : 1 - }, - "description" : "value must be an integer greater than zero." - }, { - "in" : "query", - "name" : "type", - "required" : true, - "schema" : { - "$ref" : "#/components/schemas/metabase-enterprise.dependencies.dependency-types.dependency-types" - } - }, { - "in" : "query", - "name" : "dependent-types", - "required" : false, - "schema" : { - "anyOf" : [ { - "$ref" : "#/components/schemas/metabase-enterprise.dependencies.dependency-types.dependency-types" - }, { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/metabase-enterprise.dependencies.dependency-types.dependency-types" - } - } ] - } - }, { - "in" : "query", - "name" : "dependent-card-types", - "required" : false, - "schema" : { - "anyOf" : [ { - "type" : "string", - "enum" : [ "question", "metric", "model" ] - }, { - "type" : "array", - "items" : { - "type" : "string", - "enum" : [ "question", "metric", "model" ] - } - } ] - } - }, { - "in" : "query", - "name" : "include-personal-collections", - "required" : false, - "schema" : { - "type" : "boolean" - } - }, { - "in" : "query", - "name" : "sort-column", - "required" : false, - "schema" : { - "type" : "string", - "enum" : [ "name", "view-count", "location" ] - } - }, { - "in" : "query", - "name" : "sort-direction", - "required" : false, - "schema" : { - "type" : "string", - "enum" : [ "desc", "asc" ] - } - } ], + "/api/ee/remote-sync/import" : { + "post" : { + "operationId" : "post-api-ee-remote-sync-import", + "summary" : "POST /api/ee/remote-sync/import", + "description" : "Import Metabase content from configured Remote Sync source.\n\n This endpoint will:\n - Fetch the latest changes from the configured source\n - Load the updated content using the serialization/deserialization system\n\n If `force=false` (default) and there are unsaved changes in the Remote Sync collection,\n the import returns a 400 response.\n\n Requires superuser permissions.", + "parameters" : [ ], "responses" : { "2XX" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/metabase-enterprise.dependencies.api.broken-dependent-entity" - } + "type" : "object", + "properties" : { + "message" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "status" : { + "const" : "success" + }, + "task_id" : { + "oneOf" : [ { + "type" : "integer", + "minimum" : 1 + }, { + "type" : "null" + } ] + } + }, + "required" : [ "status", "task_id" ] } } } @@ -25961,231 +29114,46 @@ "description" : "Server error response" } }, - "tags" : [ "/api/ee/dependencies" ] - } - }, - "/api/ee/dependencies/graph/dependents" : { - "get" : { - "operationId" : "get-api-ee-dependencies-graph-dependents", - "summary" : "GET /api/ee/dependencies/graph/dependents", - "description" : "Returns a list of dependents for the specified entity.\n\n Required parameters:\n - `id`: The ID of the entity\n - `type`: The type of the entity (card, table, dashboard, etc.)\n\n Optional parameters:\n - `dependent-types`: Dependency types to filter by. Can be single value or array.\n If not provided, returns all types. Example: ?dependent-types=card&dependent-types=dashboard\n - `dependent-card-types`: Card types to filter by when dependent-types includes :card.\n Ignored if dependent-types doesn't include :card. Example: ?dependent-card-types=question&dependent-card-types=model\n - `archived`: Include entities in archived collections (default: false)\n - `broken`: Return only broken entities (default: false)\n - `query`: Search string to filter results by name or location (case-insensitive)\n - `include-personal-collections`: Include items in personal collections (default: false)\n - `sort-column`: Column to sort by - name, location, or view-count (default: name)\n - `sort-direction`: Sort direction - asc or desc (default: asc)", - "parameters" : [ { - "in" : "query", - "name" : "id", - "required" : true, - "schema" : { - "type" : "integer", - "minimum" : 1 - }, - "description" : "value must be an integer greater than zero." - }, { - "in" : "query", - "name" : "type", - "required" : true, - "schema" : { - "$ref" : "#/components/schemas/metabase-enterprise.dependencies.dependency-types.dependency-types" - } - }, { - "in" : "query", - "name" : "dependent-types", - "required" : false, - "schema" : { - "anyOf" : [ { - "$ref" : "#/components/schemas/metabase-enterprise.dependencies.dependency-types.dependency-types" - }, { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/metabase-enterprise.dependencies.dependency-types.dependency-types" - } - } ] - } - }, { - "in" : "query", - "name" : "dependent-card-types", - "required" : false, - "schema" : { - "anyOf" : [ { - "type" : "string", - "enum" : [ "question", "metric", "model" ] - }, { - "type" : "array", - "items" : { - "type" : "string", - "enum" : [ "question", "metric", "model" ] - } - } ] - } - }, { - "in" : "query", - "name" : "archived", - "required" : false, - "schema" : { - "type" : "boolean" - } - }, { - "in" : "query", - "name" : "broken", - "required" : false, - "schema" : { - "type" : "boolean" - } - }, { - "in" : "query", - "name" : "query", - "required" : false, - "schema" : { - "type" : "string" - } - }, { - "in" : "query", - "name" : "include-personal-collections", - "required" : false, - "schema" : { - "type" : "boolean" - } - }, { - "in" : "query", - "name" : "sort-column", - "required" : false, - "schema" : { - "type" : "string", - "enum" : [ "name", "view-count", "location" ] - } - }, { - "in" : "query", - "name" : "sort-direction", - "required" : false, - "schema" : { - "type" : "string", - "enum" : [ "desc", "asc" ] - } - } ], - "responses" : { - "2XX" : { - "description" : "Successful response", - "content" : { - "application/json" : { - "schema" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/metabase-enterprise.dependencies.api.entity" + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "branch" : { + "type" : "string", + "minLength" : 1 + }, + "force" : { + "type" : "boolean" } } } } - }, - "4XX" : { - "description" : "Client error response" - }, - "5XX" : { - "description" : "Server error response" } }, - "tags" : [ "/api/ee/dependencies" ] + "tags" : [ "/api/ee/remote-sync" ] } }, - "/api/ee/dependencies/graph/unreferenced" : { + "/api/ee/remote-sync/is-dirty" : { "get" : { - "operationId" : "get-api-ee-dependencies-graph-unreferenced", - "summary" : "GET /api/ee/dependencies/graph/unreferenced", - "description" : "Returns a list of all unreferenced items in the instance.\n An unreferenced item is one that is not a dependency of any other item.\n\n Accepts optional parameters for filtering:\n - `types`: List of entity types to include (e.g., [:card :transform :snippet :dashboard])\n - `card-types`: List of card types to include when filtering cards (e.g., [:question :model :metric])\n - `query`: Search string to filter by name or location\n - `archived`: Controls whether archived entities are included\n - `include-personal-collections`: Controls whether items in personal collections are included (default: false)\n - `sort-column`: Sort column - `:name`, `:location`, `:dependents-errors`, or `:dependents-with-errors` (default: `:name`)\n - `sort-direction`: Sort direction - `:asc` or `:desc` (default: `:asc`)\n - `offset`: Default 0\n - `limit`: Default 50\n\n Returns a map with:\n - `data`: List of unreferenced items, each with `:id`, `:type`, and `:data` fields\n - `total`: Total count of matched items\n - `offset`: Applied offset\n - `limit`: Applied limit", - "parameters" : [ { - "in" : "query", - "name" : "types", - "required" : false, - "schema" : { - "anyOf" : [ { - "$ref" : "#/components/schemas/metabase-enterprise.dependencies.dependency-types.dependency-types" - }, { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/metabase-enterprise.dependencies.dependency-types.dependency-types" - } - } ] - } - }, { - "in" : "query", - "name" : "card-types", - "required" : false, - "schema" : { - "anyOf" : [ { - "type" : "string", - "enum" : [ "question", "metric", "model" ] - }, { - "type" : "array", - "items" : { - "type" : "string", - "enum" : [ "question", "metric", "model" ] - } - } ] - } - }, { - "in" : "query", - "name" : "query", - "required" : false, - "schema" : { - "type" : "string" - } - }, { - "in" : "query", - "name" : "archived", - "required" : false, - "schema" : { - "type" : "boolean" - } - }, { - "in" : "query", - "name" : "include-personal-collections", - "required" : false, - "schema" : { - "type" : "boolean" - } - }, { - "in" : "query", - "name" : "sort-column", - "required" : false, - "schema" : { - "type" : "string", - "enum" : [ "dependents-with-errors", "dependents-errors", "name", "location" ] - } - }, { - "in" : "query", - "name" : "sort-direction", - "required" : false, - "schema" : { - "type" : "string", - "enum" : [ "desc", "asc" ] - } - } ], - "responses" : { - "2XX" : { - "description" : "Successful response", - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "properties" : { - "data" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/metabase-enterprise.dependencies.api.entity" - } - }, - "limit" : { - "description" : "value must be an integer greater than zero.", - "type" : "integer", - "minimum" : 1 - }, - "offset" : { - "type" : "integer", - "minimum" : 0 - }, - "total" : { - "type" : "integer", - "minimum" : 0 + "operationId" : "get-api-ee-remote-sync-is-dirty", + "summary" : "GET /api/ee/remote-sync/is-dirty", + "description" : "Check if any remote-synced collection or collection item has local changes that have not been pushed\n to the remote sync source.", + "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "is_dirty" : { + "type" : "boolean" } }, - "required" : [ "data", "total", "offset", "limit" ] + "required" : [ "is_dirty" ] } } } @@ -26197,18 +29165,35 @@ "description" : "Server error response" } }, - "tags" : [ "/api/ee/dependencies" ] + "tags" : [ "/api/ee/remote-sync" ] } }, - "/api/ee/email/override" : { + "/api/ee/remote-sync/settings" : { "put" : { - "operationId" : "put-api-ee-email-override", - "summary" : "PUT /api/ee/email/override", - "description" : "Update multiple cloud email Settings. You must be a superuser or have `setting` permission to do this.\n Calling this automatically sets `cloud-smtp-enabled` to true if the settings are valid.", + "operationId" : "put-api-ee-remote-sync-settings", + "summary" : "PUT /api/ee/remote-sync/settings", + "description" : "Update Remote Sync related settings. You must be a superuser to do this.", "parameters" : [ ], "responses" : { "2XX" : { - "description" : "Successful response" + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "success" : { + "type" : "boolean" + }, + "task_id" : { + "type" : "integer", + "minimum" : 1 + } + }, + "required" : [ "success" ] + } + } + } }, "4XX" : { "description" : "Client error response" @@ -26223,36 +29208,54 @@ "schema" : { "type" : "object", "properties" : { - "email-smtp-host-override" : { - "anyOf" : [ { + "collections" : { + "oneOf" : [ { + "type" : "object", + "additionalProperties" : { + "type" : "boolean" + } + }, { + "type" : "null" + } ] + }, + "remote-sync-auto-import" : { + "oneOf" : [ { + "type" : "boolean" + }, { + "type" : "null" + } ] + }, + "remote-sync-branch" : { + "oneOf" : [ { "type" : "string" }, { "type" : "null" } ] }, - "email-smtp-password-override" : { - "anyOf" : [ { + "remote-sync-token" : { + "oneOf" : [ { "type" : "string" }, { "type" : "null" } ] }, - "email-smtp-port-override" : { - "anyOf" : [ { - "type" : "integer" + "remote-sync-transforms" : { + "oneOf" : [ { + "type" : "boolean" }, { "type" : "null" } ] }, - "email-smtp-security-override" : { - "anyOf" : [ { - "type" : "string" + "remote-sync-type" : { + "oneOf" : [ { + "type" : "string", + "enum" : [ "read-only", "read-write" ] }, { "type" : "null" } ] }, - "email-smtp-username-override" : { - "anyOf" : [ { + "remote-sync-url" : { + "oneOf" : [ { "type" : "string" }, { "type" : "null" @@ -26263,32 +29266,14 @@ } } }, - "tags" : [ "/api/ee/email" ] - }, - "delete" : { - "operationId" : "delete-api-ee-email-override", - "summary" : "DELETE /api/ee/email/override", - "description" : "Clear all cloud email related settings. You must be a superuser or have `setting` permission to do this.", - "parameters" : [ ], - "responses" : { - "2XX" : { - "description" : "Successful response" - }, - "4XX" : { - "description" : "Client error response" - }, - "5XX" : { - "description" : "Server error response" - } - }, - "tags" : [ "/api/ee/email" ] + "tags" : [ "/api/ee/remote-sync" ] } }, - "/api/ee/embedding-hub/checklist" : { - "get" : { - "operationId" : "get-api-ee-embedding-hub-checklist", - "summary" : "GET /api/ee/embedding-hub/checklist", - "description" : "Get the embedding hub checklist status, indicating which setup steps have been completed.", + "/api/ee/remote-sync/stash" : { + "post" : { + "operationId" : "post-api-ee-remote-sync-stash", + "summary" : "POST /api/ee/remote-sync/stash", + "description" : "Stashes changes to a new branch, and changes the current branch to it.\n Requires superuser permissions.", "parameters" : [ ], "responses" : { "2XX" : { @@ -26298,63 +29283,18 @@ "schema" : { "type" : "object", "properties" : { - "checklist" : { - "type" : "object", - "properties" : { - "enable-tenants" : { - "type" : "boolean" - }, - "create-models" : { - "type" : "boolean" - }, - "sso-configured" : { - "type" : "boolean" - }, - "configure-row-column-security" : { - "type" : "boolean" - }, - "create-test-embed" : { - "type" : "boolean" - }, - "data-permissions-and-enable-tenants" : { - "type" : "boolean" - }, - "embed-production" : { - "type" : "boolean" - }, - "create-dashboard" : { - "type" : "boolean" - }, - "move-dashboard-to-shared" : { - "type" : "boolean" - }, - "setup-data-segregation-strategy" : { - "type" : "boolean" - }, - "create-tenants" : { - "type" : "boolean" - }, - "add-data" : { - "type" : "boolean" - }, - "sso-auth-manual-tested" : { - "type" : "boolean" - } - }, - "required" : [ "add-data", "create-dashboard", "create-models", "configure-row-column-security", "create-test-embed", "embed-production", "sso-configured", "data-permissions-and-enable-tenants", "enable-tenants", "move-dashboard-to-shared", "create-tenants", "setup-data-segregation-strategy", "sso-auth-manual-tested" ], - "additionalProperties" : false + "message" : { + "type" : "string" }, - "data-isolation-strategy" : { - "oneOf" : [ { - "type" : "string", - "enum" : [ "row-column-level-security", "connection-impersonation", "database-routing" ] - }, { - "type" : "null" - } ] + "status" : { + "type" : "string" + }, + "task_id" : { + "type" : "integer", + "minimum" : 1 } }, - "required" : [ "checklist", "data-isolation-strategy" ], - "additionalProperties" : false + "required" : [ "status", "message", "task_id" ] } } } @@ -26366,14 +29306,34 @@ "description" : "Server error response" } }, - "tags" : [ "/api/ee/embedding-hub" ] + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "message" : { + "type" : "string", + "minLength" : 1 + }, + "new_branch" : { + "type" : "string", + "minLength" : 1 + } + }, + "required" : [ "new_branch", "message" ] + } + } + } + }, + "tags" : [ "/api/ee/remote-sync" ] } }, - "/api/ee/gsheets/connection" : { + "/api/ee/remote-sync/test-connection" : { "post" : { - "operationId" : "post-api-ee-gsheets-connection", - "summary" : "POST /api/ee/gsheets/connection", - "description" : "Hook up a new google drive folder or sheet that will be watched and have its content ETL'd into Metabase.", + "operationId" : "post-api-ee-remote-sync-test-connection", + "summary" : "POST /api/ee/remote-sync/test-connection", + "description" : "Test whether the Remote Sync credentials can reach the git repository.\n\n When called with an empty body, validates the currently saved URL and token. When the body provides\n `remote-sync-url` or `remote-sync-token`, those override the saved values — useful for verifying a\n new Personal Access Token before saving. An obfuscated token (matching the existing token's masked\n representation) is treated as \"unchanged\" and the stored token value is used for the test.\n\n Only validates connection and authentication; branch existence is not checked here.\n\n Returns `{:status :success}` on success. On failure, returns a 400 with a user-friendly error\n message describing the connection problem.\n\n Requires superuser permissions.", "parameters" : [ ], "responses" : { "2XX" : { @@ -26381,7 +29341,13 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/gsheets.response" + "type" : "object", + "properties" : { + "status" : { + "const" : "success" + } + }, + "required" : [ "status" ] } } } @@ -26399,22 +29365,33 @@ "schema" : { "type" : "object", "properties" : { - "url" : { - "type" : "string", - "minLength" : 1 + "remote-sync-token" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "remote-sync-url" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] } - }, - "required" : [ "url" ] + } } } } }, - "tags" : [ "/api/ee/gsheets" ] - }, - "get" : { - "operationId" : "get-api-ee-gsheets-connection", - "summary" : "GET /api/ee/gsheets/connection", - "description" : "Check the status of a connection. This endpoint gets polled by FE to determine when to\n stop showing the setup widget.\n\n Returns the gsheets shape, with the attached datawarehouse db id at `:db_id`.", + "tags" : [ "/api/ee/remote-sync" ] + } + }, + "/api/ee/replacement/check-replace-source" : { + "post" : { + "operationId" : "post-api-ee-replacement-check-replace-source", + "summary" : "POST /api/ee/replacement/check-replace-source", + "description" : "Check whether a source entity can be replaced by a target entity. Returns compatibility\n errors describing column mismatches, type mismatches, primary key mismatches, and foreign\n key mismatches.", "parameters" : [ ], "responses" : { "2XX" : { @@ -26422,7 +29399,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/gsheets.response" + "$ref" : "#/components/schemas/metabase-enterprise.replacement.schema.check-replace-source-response" } } } @@ -26434,52 +29411,38 @@ "description" : "Server error response" } }, - "tags" : [ "/api/ee/gsheets" ] - }, - "delete" : { - "operationId" : "delete-api-ee-gsheets-connection", - "summary" : "DELETE /api/ee/gsheets/connection", - "description" : "Disconnect the google service account. There is only one (or zero) at the time of writing.", - "parameters" : [ ], - "responses" : { - "2XX" : { - "description" : "Successful response" - }, - "4XX" : { - "description" : "Client error response" - }, - "5XX" : { - "description" : "Server error response" + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "source_entity_id" : { + "$ref" : "#/components/schemas/metabase-enterprise.replacement.schema.source-entity-id" + }, + "source_entity_type" : { + "$ref" : "#/components/schemas/metabase-enterprise.replacement.schema.source-entity-type" + }, + "target_entity_id" : { + "$ref" : "#/components/schemas/metabase-enterprise.replacement.schema.source-entity-id" + }, + "target_entity_type" : { + "$ref" : "#/components/schemas/metabase-enterprise.replacement.schema.source-entity-type" + } + }, + "required" : [ "source_entity_id", "source_entity_type", "target_entity_id", "target_entity_type" ] + } + } } }, - "tags" : [ "/api/ee/gsheets" ] + "tags" : [ "/api/ee/replacement" ] } }, - "/api/ee/gsheets/connection/sync" : { + "/api/ee/replacement/replace-model-with-transform" : { "post" : { - "operationId" : "post-api-ee-gsheets-connection-sync", - "summary" : "POST /api/ee/gsheets/connection/sync", - "description" : "Force a sync of the connection now.\n\n Returns the gsheets shape, with the attached datawarehouse db id at `:db_id`.", - "parameters" : [ ], - "responses" : { - "2XX" : { - "description" : "Successful response" - }, - "4XX" : { - "description" : "Client error response" - }, - "5XX" : { - "description" : "Server error response" - } - }, - "tags" : [ "/api/ee/gsheets" ] - } - }, - "/api/ee/gsheets/service-account" : { - "get" : { - "operationId" : "get-api-ee-gsheets-service-account", - "summary" : "GET /api/ee/gsheets/service-account", - "description" : "Checks to see if service-account is setup or not, delegates to HM only if we haven't set it from a metabase cluster\n before.", + "operationId" : "post-api-ee-replacement-replace-model-with-transform", + "summary" : "POST /api/ee/replacement/replace-model-with-transform", + "description" : "Create a transform from a model, execute it, and replace all usages of the model\n with the output table. Un-persists the model and converts it to a saved question.\n Returns 202 with a run_id for polling.\n\n If there is an error during the transform execution, no replacement will be\n performed and the model will remain unchanged.\n\n If there is an error during the source swap, the transform and the output\n table will be retained, and the model will remain unchanged. We cannot delete\n the transform or the output table because they can be used by other queries at\n this point.", "parameters" : [ ], "responses" : { "2XX" : { @@ -26489,15 +29452,21 @@ "schema" : { "type" : "object", "properties" : { - "email" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] + "body" : { + "type" : "object", + "properties" : { + "run_id" : { + "$ref" : "#/components/schemas/metabase-enterprise.replacement.schema.run-id" + } + }, + "required" : [ "run_id" ], + "additionalProperties" : false + }, + "status" : { + "const" : 202 } }, - "required" : [ "email" ] + "required" : [ "status", "body" ] } } } @@ -26509,118 +29478,54 @@ "description" : "Server error response" } }, - "tags" : [ "/api/ee/gsheets" ] - } - }, - "/api/ee/library" : { - "post" : { - "operationId" : "post-api-ee-library", - "summary" : "POST /api/ee/library", - "description" : "Creates the Library if it doesn't exist. Returns the created collection.\n\n Requires data analyst or superuser permissions.", - "parameters" : [ ], - "responses" : { - "2XX" : { - "description" : "Successful response" - }, - "4XX" : { - "description" : "Client error response" - }, - "5XX" : { - "description" : "Server error response" - } - }, - "tags" : [ "/api/ee/library" ] - }, - "get" : { - "operationId" : "get-api-ee-library", - "summary" : "GET /api/ee/library", - "description" : "Get the Library. If no library exists, it doesn't fail but returns an empty response", - "parameters" : [ ], - "responses" : { - "2XX" : { - "description" : "Successful response", - "content" : { - "application/json" : { - "schema" : { - "anyOf" : [ { - "$ref" : "#/components/schemas/metabase.collections.schema.CollectionItem" - }, { - "type" : "object", - "properties" : { - "data" : { - "type" : "null" + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "card_id" : { + "$ref" : "#/components/schemas/metabase-enterprise.replacement.schema.source-entity-id" + }, + "target_collection_id" : { + "oneOf" : [ { + "$ref" : "#/components/schemas/metabase-enterprise.replacement.schema.source-entity-id" + }, { + "type" : "null" + } ] + }, + "transform_name" : { + "type" : "string" + }, + "transform_tag_ids" : { + "oneOf" : [ { + "type" : "array", + "items" : { + "type" : "integer", + "minimum" : 1 } - }, - "required" : [ "data" ] - } ] - } + }, { + "type" : "null" + } ] + }, + "transform_target" : { + "type" : "object", + "properties" : { } + } + }, + "required" : [ "card_id", "transform_name", "transform_target" ] } } - }, - "4XX" : { - "description" : "Client error response" - }, - "5XX" : { - "description" : "Server error response" - } - }, - "tags" : [ "/api/ee/library" ] - } - }, - "/api/ee/library/tree" : { - "get" : { - "operationId" : "get-api-ee-library-tree", - "summary" : "GET /api/ee/library/tree", - "description" : "This matches /api/collection/tree but only returns the library collection.", - "parameters" : [ ], - "responses" : { - "2XX" : { - "description" : "Successful response" - }, - "4XX" : { - "description" : "Client error response" - }, - "5XX" : { - "description" : "Server error response" - } - }, - "tags" : [ "/api/ee/library" ] - } - }, - "/api/ee/logs/query_execution/{yyyy-mm}" : { - "get" : { - "operationId" : "get-api-ee-logs-query_execution-yyyy-mm", - "summary" : "GET /api/ee/logs/query_execution/{yyyy-mm}", - "description" : "Fetch rows for the month specified by `:yyyy-mm` from the query_execution logs table.\n Must be a superuser.", - "parameters" : [ { - "in" : "path", - "name" : "yyyy-mm", - "required" : true, - "schema" : { - "type" : "string", - "pattern" : "\\d{4}-\\d{2}" - }, - "description" : "Must be a string like 2020-04 or 2222-11." - } ], - "responses" : { - "2XX" : { - "description" : "Successful response" - }, - "4XX" : { - "description" : "Client error response" - }, - "5XX" : { - "description" : "Server error response" } }, - "tags" : [ "/api/ee/logs" ] + "tags" : [ "/api/ee/replacement" ] } }, - "/api/ee/metabot/usage" : { - "get" : { - "operationId" : "get-api-ee-metabot-usage", - "summary" : "GET /api/ee/metabot/usage", - "description" : "Fetch current Metabot token usage for the current billing period.", + "/api/ee/replacement/replace-source" : { + "post" : { + "operationId" : "post-api-ee-replacement-replace-source", + "summary" : "POST /api/ee/replacement/replace-source", + "description" : "Replace all usages of a source entity with a target entity asynchronously.\n Returns 202 with a run_id for polling. Returns 409 if a replacement is already running.", "parameters" : [ ], "responses" : { "2XX" : { @@ -26630,29 +29535,21 @@ "schema" : { "type" : "object", "properties" : { - "is_locked" : { - "oneOf" : [ { - "type" : "boolean" - }, { - "type" : "null" - } ] - }, - "tokens" : { - "oneOf" : [ { - "type" : "integer" - }, { - "type" : "null" - } ] - }, - "updated_at" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] + "body" : { + "type" : "object", + "properties" : { + "run_id" : { + "$ref" : "#/components/schemas/metabase-enterprise.replacement.schema.run-id" + } + }, + "required" : [ "run_id" ], + "additionalProperties" : false + }, + "status" : { + "const" : 202 } }, - "required" : [ "is_locked", "tokens", "updated_at" ] + "required" : [ "status", "body" ] } } } @@ -26664,36 +29561,48 @@ "description" : "Server error response" } }, - "tags" : [ "/api/ee/metabot" ] + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "source_entity_id" : { + "$ref" : "#/components/schemas/metabase-enterprise.replacement.schema.source-entity-id" + }, + "source_entity_type" : { + "$ref" : "#/components/schemas/metabase-enterprise.replacement.schema.source-entity-type" + }, + "target_entity_id" : { + "$ref" : "#/components/schemas/metabase-enterprise.replacement.schema.source-entity-id" + }, + "target_entity_type" : { + "$ref" : "#/components/schemas/metabase-enterprise.replacement.schema.source-entity-type" + } + }, + "required" : [ "source_entity_id", "source_entity_type", "target_entity_id", "target_entity_type" ] + } + } + } + }, + "tags" : [ "/api/ee/replacement" ] } }, - "/api/ee/permission_debug" : { + "/api/ee/replacement/runs" : { "get" : { - "operationId" : "get-api-ee-permission_debug", - "summary" : "GET /api/ee/permission_debug", - "description" : "This endpoint expects a `user_id`, a `model_id` to debug permissions against, and `action_type`.\n The type of model we are debugging against is inferred by the `action_type`.\n\n It will return:\n - `decision`: The overall permission decision (\"allow\", \"denied\", or \"limited\")\n - `model-type`: The type of model being checked (e.g., \"question\")\n - `model-id`: The ID of the model being checked\n - `segment`: A set of segmentation types applied (e.g., \"sandboxed\", \"impersonated\", \"routed\")\n - `message`: A sequence of strings explaining the decision\n - `data`: A map containing details about permissions (table or collection names to group names)\n - `suggestions`: A map of group IDs to group names that could provide access\n\n Example requests:\n - Check if user can read a card: `GET /api/ee/permission_debug?user_id=123&model_id=456&action_type=card/read`\n - Check if user can query a card: `GET /api/ee/permission_debug?user_id=123&model_id=456&action_type=card/query`\n - Check if user can download data: `GET /api/ee/permission_debug?user_id=123&model_id=456&action_type=card/download-data`\n\n Example responses:\n - Allowed access:\n ```json\n {\n \"decision\": \"allow\",\n \"model-type\": \"question\",\n \"model-id\": \"456\",\n \"segment\": [],\n \"message\": [\"User has permission to read this card\"],\n \"data\": {},\n \"suggestions\": {}\n }\n ```\n - Denied access with blocked table:\n ```json\n {\n \"decision\": \"denied\",\n \"model-type\": \"question\",\n \"model-id\": \"456\",\n \"segment\": [],\n \"message\": [\"User does not have permission to query this card\"],\n \"data\": {\"sample-db.PUBLIC.ORDERS\": [\"All Users\"]},\n \"suggestions\": {}\n }\n ```\n - Limited access:\n ```json\n {\n \"decision\": \"limited\",\n \"model-type\": \"question\",\n \"model-id\": \"456\",\n \"segment\": [],\n \"message\": [\"User has permission to download some data from this card\"],\n \"data\": {},\n \"suggestions\": {}\n }\n ```", + "operationId" : "get-api-ee-replacement-runs", + "summary" : "GET /api/ee/replacement/runs", + "description" : "List replacement runs, optionally filtered by is-active.", "parameters" : [ { "in" : "query", - "name" : "user_id", - "required" : true, - "schema" : { - "type" : "integer", - "minimum" : 1 - } - }, { - "in" : "query", - "name" : "model_id", - "required" : true, - "schema" : { - "type" : "string" - } - }, { - "in" : "query", - "name" : "action_type", - "required" : true, + "name" : "is-active", + "required" : false, "schema" : { - "type" : "string", - "enum" : [ "card/read", "card/query", "card/download-data" ] + "oneOf" : [ { + "type" : "boolean" + }, { + "type" : "null" + } ] } } ], "responses" : { @@ -26702,7 +29611,10 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/metabase-enterprise.permission-debug.impl.perm-debug-info" + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/metabase-enterprise.replacement.schema.run" + } } } } @@ -26714,31 +29626,29 @@ "description" : "Server error response" } }, - "tags" : [ "/api/ee/permission_debug" ] + "tags" : [ "/api/ee/replacement" ] } }, - "/api/ee/remote-sync/branches" : { + "/api/ee/replacement/runs/{id}" : { "get" : { - "operationId" : "get-api-ee-remote-sync-branches", - "summary" : "GET /api/ee/remote-sync/branches", - "description" : "Get list of branches from the configured source.\n\n Returns a JSON object with branch names under the :items key.\n\n Requires superuser permissions.", - "parameters" : [ ], + "operationId" : "get-api-ee-replacement-runs-id", + "summary" : "GET /api/ee/replacement/runs/{id}", + "description" : "Get the status of a source replacement run.", + "parameters" : [ { + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "$ref" : "#/components/schemas/metabase-enterprise.replacement.schema.run-id" + } + } ], "responses" : { "2XX" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { - "type" : "object", - "properties" : { - "items" : { - "type" : "array", - "items" : { - "type" : "string" - } - } - }, - "required" : [ "items" ] + "$ref" : "#/components/schemas/metabase-enterprise.replacement.schema.run" } } } @@ -26750,15 +29660,22 @@ "description" : "Server error response" } }, - "tags" : [ "/api/ee/remote-sync" ] + "tags" : [ "/api/ee/replacement" ] } }, - "/api/ee/remote-sync/create-branch" : { + "/api/ee/replacement/runs/{id}/cancel" : { "post" : { - "operationId" : "post-api-ee-remote-sync-create-branch", - "summary" : "POST /api/ee/remote-sync/create-branch", - "description" : "Create a new branch from the current remote-sync branch and switches the current remote-sync branch to it.\n Requires superuser permissions.", - "parameters" : [ ], + "operationId" : "post-api-ee-replacement-runs-id-cancel", + "summary" : "POST /api/ee/replacement/runs/{id}/cancel", + "description" : "Cancel a running source replacement.", + "parameters" : [ { + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "$ref" : "#/components/schemas/metabase-enterprise.replacement.schema.run-id" + } + } ], "responses" : { "2XX" : { "description" : "Successful response", @@ -26767,14 +29684,11 @@ "schema" : { "type" : "object", "properties" : { - "message" : { - "type" : "string" - }, - "status" : { - "type" : "string" + "success" : { + "type" : "boolean" } }, - "required" : [ "status", "message" ] + "required" : [ "success" ] } } } @@ -26786,119 +29700,18 @@ "description" : "Server error response" } }, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "properties" : { - "name" : { - "type" : "string", - "minLength" : 1 - } - }, - "required" : [ "name" ] - } - } - } - }, - "tags" : [ "/api/ee/remote-sync" ] + "tags" : [ "/api/ee/replacement" ] } }, - "/api/ee/remote-sync/current-task" : { + "/api/ee/scim/api_key" : { "get" : { - "operationId" : "get-api-ee-remote-sync-current-task", - "summary" : "GET /api/ee/remote-sync/current-task", - "description" : "Get the current sync task", + "operationId" : "get-api-ee-scim-api_key", + "summary" : "GET /api/ee/scim/api_key", + "description" : "Fetch the SCIM API key if one exists. Does *not* return an unmasked key, since we don't have access\n to that after it is created.", "parameters" : [ ], "responses" : { "2XX" : { - "description" : "Successful response", - "content" : { - "application/json" : { - "schema" : { - "oneOf" : [ { - "type" : "object", - "properties" : { - "progress" : { - "oneOf" : [ { - "type" : "number", - "minimum" : 0.0, - "maximum" : 1.0 - }, { - "type" : "null" - } ] - }, - "conflicts" : { - "oneOf" : [ { - "type" : "array", - "items" : { - "type" : "string" - } - }, { - "type" : "null" - } ] - }, - "last_progress_report_at" : { - "oneOf" : [ { }, { - "type" : "null" - } ] - }, - "id" : { - "type" : "integer", - "minimum" : 1 - }, - "started_at" : { }, - "ended_at" : { - "oneOf" : [ { }, { - "type" : "null" - } ] - }, - "initiated_by" : { - "oneOf" : [ { - "type" : "integer", - "minimum" : 1 - }, { - "type" : "null" - } ] - }, - "cancelled" : { - "oneOf" : [ { - "type" : "boolean" - }, { - "type" : "null" - } ] - }, - "status" : { - "type" : "string", - "enum" : [ "running", "successful", "errored", "cancelled", "timed-out", "conflict" ] - }, - "error_message" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] - }, - "sync_task_type" : { - "type" : "string", - "enum" : [ "import", "export" ] - }, - "version" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] - } - }, - "required" : [ "id", "sync_task_type", "progress", "started_at", "status" ] - }, { - "type" : "null" - } ] - } - } - } + "description" : "Successful response" }, "4XX" : { "description" : "Client error response" @@ -26907,99 +29720,16 @@ "description" : "Server error response" } }, - "tags" : [ "/api/ee/remote-sync" ] - } - }, - "/api/ee/remote-sync/current-task/cancel" : { + "tags" : [ "/api/ee/scim" ] + }, "post" : { - "operationId" : "post-api-ee-remote-sync-current-task-cancel", - "summary" : "POST /api/ee/remote-sync/current-task/cancel", - "description" : "Cancels the current task if one is running", + "operationId" : "post-api-ee-scim-api_key", + "summary" : "POST /api/ee/scim/api_key", + "description" : "Create a new SCIM API key, or refresh one that already exists. When called for the first time,\n this is equivalent to enabling SCIM.", "parameters" : [ ], "responses" : { "2XX" : { - "description" : "Successful response", - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "properties" : { - "progress" : { - "oneOf" : [ { - "type" : "number", - "minimum" : 0.0, - "maximum" : 1.0 - }, { - "type" : "null" - } ] - }, - "conflicts" : { - "oneOf" : [ { - "type" : "array", - "items" : { - "type" : "string" - } - }, { - "type" : "null" - } ] - }, - "last_progress_report_at" : { - "oneOf" : [ { }, { - "type" : "null" - } ] - }, - "id" : { - "type" : "integer", - "minimum" : 1 - }, - "started_at" : { }, - "ended_at" : { - "oneOf" : [ { }, { - "type" : "null" - } ] - }, - "initiated_by" : { - "oneOf" : [ { - "type" : "integer", - "minimum" : 1 - }, { - "type" : "null" - } ] - }, - "cancelled" : { - "oneOf" : [ { - "type" : "boolean" - }, { - "type" : "null" - } ] - }, - "status" : { - "type" : "string", - "enum" : [ "running", "successful", "errored", "cancelled", "timed-out", "conflict" ] - }, - "error_message" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] - }, - "sync_task_type" : { - "type" : "string", - "enum" : [ "import", "export" ] - }, - "version" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] - } - }, - "required" : [ "id", "sync_task_type", "progress", "started_at", "status" ] - } - } - } + "description" : "Successful response" }, "4XX" : { "description" : "Client error response" @@ -27008,110 +29738,146 @@ "description" : "Server error response" } }, - "tags" : [ "/api/ee/remote-sync" ] + "tags" : [ "/api/ee/scim" ] } }, - "/api/ee/remote-sync/dirty" : { + "/api/ee/scim/v2/Groups" : { "get" : { - "operationId" : "get-api-ee-remote-sync-dirty", - "summary" : "GET /api/ee/remote-sync/dirty", - "description" : "Return all models with changes that have not been pushed to the remote sync source in any\n remote-synced collection.", + "operationId" : "get-api-ee-scim-v2-Groups", + "summary" : "GET /api/ee/scim/v2/Groups", + "description" : "Fetch a list of groups.", + "parameters" : [ { + "in" : "query", + "name" : "startIndex", + "required" : false, + "schema" : { + "oneOf" : [ { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, { + "type" : "null" + } ] + } + }, { + "in" : "query", + "name" : "count", + "required" : false, + "schema" : { + "oneOf" : [ { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, { + "type" : "null" + } ] + } + }, { + "in" : "query", + "name" : "filter", + "required" : false, + "schema" : { + "oneOf" : [ { + "type" : "string", + "minLength" : 1 + }, { + "type" : "null" + } ] + } + } ], + "responses" : { + "2XX" : { + "description" : "Successful response" + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "tags" : [ "/api/ee/scim/v2" ] + }, + "post" : { + "operationId" : "post-api-ee-scim-v2-Groups", + "summary" : "POST /api/ee/scim/v2/Groups", + "description" : "Create a single group, and populates it if necessary.", "parameters" : [ ], "responses" : { "2XX" : { - "description" : "Successful response", - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "properties" : { - "dirty" : { - "type" : "array", - "items" : { - "type" : "object", - "properties" : { - "table_name" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] - }, - "model" : { - "type" : "string" - }, - "authority_level" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] - }, - "id" : { - "type" : "integer" - }, - "name" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] - }, - "updated_at" : { - "oneOf" : [ { }, { - "type" : "null" - } ] - }, - "table_id" : { - "oneOf" : [ { - "type" : "integer", - "minimum" : 1 - }, { - "type" : "null" - } ] - }, - "query_type" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] - }, - "collection_id" : { - "oneOf" : [ { - "type" : "integer", - "minimum" : 1 - }, { - "type" : "null" - } ] - }, - "created_at" : { }, - "display" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] - }, - "sync_status" : { - "type" : "string" - }, - "description" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] - } + "description" : "Successful response" + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "displayName" : { + "type" : "string", + "minLength" : 1 + }, + "id" : { + "type" : "string", + "minLength" : 1 + }, + "members" : { + "type" : "array", + "items" : { + "type" : "object", + "properties" : { + "$ref" : { + "type" : "string", + "minLength" : 1 }, - "required" : [ "id", "name", "model", "sync_status" ] - } + "value" : { + "type" : "string", + "minLength" : 1 + } + }, + "required" : [ "value" ] } }, - "required" : [ "dirty" ] - } + "schemas" : { + "type" : "array", + "items" : { + "type" : "string", + "minLength" : 1 + } + } + }, + "required" : [ "schemas", "displayName" ] } } + } + }, + "tags" : [ "/api/ee/scim/v2" ] + } + }, + "/api/ee/scim/v2/Groups/{id}" : { + "get" : { + "operationId" : "get-api-ee-scim-v2-Groups-id", + "summary" : "GET /api/ee/scim/v2/Groups/{id}", + "description" : "Fetch a single group.", + "parameters" : [ { + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "string", + "minLength" : 1 + } + } ], + "responses" : { + "2XX" : { + "description" : "Successful response" }, "4XX" : { "description" : "Client error response" @@ -27120,35 +29886,86 @@ "description" : "Server error response" } }, - "tags" : [ "/api/ee/remote-sync" ] - } - }, - "/api/ee/remote-sync/export" : { - "post" : { - "operationId" : "post-api-ee-remote-sync-export", - "summary" : "POST /api/ee/remote-sync/export", - "description" : "Export the current state of the Remote Sync collection to a Source.\n\n This endpoint will:\n - Fetch the latest changes from the source\n - Create a branch or subdirectory (depending on source support)\n If no branch is supplied, use the configured export branch\n - Export the Remote Sync collection via serialization to the branch or subdirectory\n - Commit the changes if possible\n - Sync to the source if possible\n\n Requires superuser permissions.", + "tags" : [ "/api/ee/scim/v2" ] + }, + "put" : { + "operationId" : "put-api-ee-scim-v2-Groups-id", + "summary" : "PUT /api/ee/scim/v2/Groups/{id}", + "description" : "Update a group.", "parameters" : [ ], "responses" : { "2XX" : { - "description" : "Successful response", - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "properties" : { - "message" : { - "type" : "string" - }, - "task_id" : { - "type" : "integer", - "minimum" : 1 + "description" : "Successful response" + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "displayName" : { + "type" : "string", + "minLength" : 1 + }, + "id" : { + "type" : "string", + "minLength" : 1 + }, + "members" : { + "type" : "array", + "items" : { + "type" : "object", + "properties" : { + "$ref" : { + "type" : "string", + "minLength" : 1 + }, + "value" : { + "type" : "string", + "minLength" : 1 + } + }, + "required" : [ "value" ] } }, - "required" : [ "message", "task_id" ] - } + "schemas" : { + "type" : "array", + "items" : { + "type" : "string", + "minLength" : 1 + } + } + }, + "required" : [ "schemas", "displayName" ] } } + } + }, + "tags" : [ "/api/ee/scim/v2" ] + }, + "delete" : { + "operationId" : "delete-api-ee-scim-v2-Groups-id", + "summary" : "DELETE /api/ee/scim/v2/Groups/{id}", + "description" : "Delete a group.", + "parameters" : [ { + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "string", + "minLength" : 1 + } + } ], + "responses" : { + "2XX" : { + "description" : "Successful response" }, "4XX" : { "description" : "Client error response" @@ -27157,55 +29974,56 @@ "description" : "Server error response" } }, - "tags" : [ "/api/ee/remote-sync" ] + "tags" : [ "/api/ee/scim/v2" ] } }, - "/api/ee/remote-sync/has-remote-changes" : { + "/api/ee/scim/v2/Users" : { "get" : { - "operationId" : "get-api-ee-remote-sync-has-remote-changes", - "summary" : "GET /api/ee/remote-sync/has-remote-changes", - "description" : "Check if there are new changes on the remote branch that can be pulled.\n Uses in-memory caching (configurable TTL via remote-sync-check-changes-cache-ttl-seconds setting).\n\n Returns:\n - has_changes: true if remote version differs from last imported version, or if never imported\n - remote_version: current Git SHA on remote branch\n - local_version: Git SHA of last successful import (nil if never imported)\n - cached: true if result was served from cache", + "operationId" : "get-api-ee-scim-v2-Users", + "summary" : "GET /api/ee/scim/v2/Users", + "description" : "Fetch a list of users.", "parameters" : [ { "in" : "query", - "name" : "force-refresh", + "name" : "startIndex", "required" : false, "schema" : { - "type" : "boolean" + "oneOf" : [ { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, { + "type" : "null" + } ] + } + }, { + "in" : "query", + "name" : "count", + "required" : false, + "schema" : { + "oneOf" : [ { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, { + "type" : "null" + } ] + } + }, { + "in" : "query", + "name" : "filter", + "required" : false, + "schema" : { + "oneOf" : [ { + "type" : "string", + "minLength" : 1 + }, { + "type" : "null" + } ] } } ], "responses" : { "2XX" : { - "description" : "Successful response", - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "properties" : { - "cached" : { - "type" : "boolean" - }, - "has_changes" : { - "type" : "boolean" - }, - "local_version" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] - }, - "remote_version" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] - } - }, - "required" : [ "has_changes", "remote_version", "local_version", "cached" ] - } - } - } + "description" : "Successful response" }, "4XX" : { "description" : "Client error response" @@ -27214,46 +30032,16 @@ "description" : "Server error response" } }, - "tags" : [ "/api/ee/remote-sync" ] - } - }, - "/api/ee/remote-sync/import" : { + "tags" : [ "/api/ee/scim/v2" ] + }, "post" : { - "operationId" : "post-api-ee-remote-sync-import", - "summary" : "POST /api/ee/remote-sync/import", - "description" : "Import Metabase content from configured Remote Sync source.\n\n This endpoint will:\n - Fetch the latest changes from the configured source\n - Load the updated content using the serialization/deserialization system\n\n If `force=false` (default) and there are unsaved changes in the Remote Sync collection,\n the import returns a 400 response.\n\n Requires superuser permissions.", + "operationId" : "post-api-ee-scim-v2-Users", + "summary" : "POST /api/ee/scim/v2/Users", + "description" : "Create a single user.", "parameters" : [ ], "responses" : { "2XX" : { - "description" : "Successful response", - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "properties" : { - "message" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] - }, - "status" : { - "const" : "success" - }, - "task_id" : { - "oneOf" : [ { - "type" : "integer", - "minimum" : 1 - }, { - "type" : "null" - } ] - } - }, - "required" : [ "status", "task_id" ] - } - } - } + "description" : "Successful response" }, "4XX" : { "description" : "Client error response" @@ -27268,43 +30056,111 @@ "schema" : { "type" : "object", "properties" : { - "branch" : { + "active" : { + "type" : "boolean" + }, + "emails" : { + "type" : "array", + "items" : { + "type" : "object", + "properties" : { + "primary" : { + "type" : "boolean" + }, + "type" : { + "type" : "string", + "minLength" : 1 + }, + "value" : { + "type" : "string", + "minLength" : 1 + } + }, + "required" : [ "value" ] + } + }, + "groups" : { + "type" : "array", + "items" : { + "type" : "object", + "properties" : { + "$ref" : { + "type" : "string", + "minLength" : 1 + }, + "display" : { + "type" : "string", + "minLength" : 1 + }, + "value" : { + "type" : "string", + "minLength" : 1 + } + }, + "required" : [ "value", "display" ] + } + }, + "id" : { "type" : "string", "minLength" : 1 }, - "force" : { - "type" : "boolean" + "locale" : { + "oneOf" : [ { + "type" : "string", + "minLength" : 1 + }, { + "type" : "null" + } ] + }, + "name" : { + "type" : "object", + "properties" : { + "familyName" : { + "type" : "string" + }, + "givenName" : { + "type" : "string" + } + }, + "required" : [ "givenName", "familyName" ] + }, + "schemas" : { + "type" : "array", + "items" : { + "type" : "string", + "minLength" : 1 + } + }, + "userName" : { + "type" : "string", + "minLength" : 1 } - } + }, + "required" : [ "schemas", "userName", "name", "emails" ] } } } }, - "tags" : [ "/api/ee/remote-sync" ] + "tags" : [ "/api/ee/scim/v2" ] } }, - "/api/ee/remote-sync/is-dirty" : { + "/api/ee/scim/v2/Users/{id}" : { "get" : { - "operationId" : "get-api-ee-remote-sync-is-dirty", - "summary" : "GET /api/ee/remote-sync/is-dirty", - "description" : "Check if any remote-synced collection or collection item has local changes that have not been pushed\n to the remote sync source.", - "parameters" : [ ], + "operationId" : "get-api-ee-scim-v2-Users-id", + "summary" : "GET /api/ee/scim/v2/Users/{id}", + "description" : "Fetch a single user.", + "parameters" : [ { + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "string", + "minLength" : 1 + } + } ], "responses" : { "2XX" : { - "description" : "Successful response", - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "properties" : { - "is_dirty" : { - "type" : "boolean" - } - }, - "required" : [ "is_dirty" ] - } - } - } + "description" : "Successful response" }, "4XX" : { "description" : "Client error response" @@ -27313,35 +30169,133 @@ "description" : "Server error response" } }, - "tags" : [ "/api/ee/remote-sync" ] - } - }, - "/api/ee/remote-sync/settings" : { + "tags" : [ "/api/ee/scim/v2" ] + }, "put" : { - "operationId" : "put-api-ee-remote-sync-settings", - "summary" : "PUT /api/ee/remote-sync/settings", - "description" : "Update Remote Sync related settings. You must be a superuser to do this.", + "operationId" : "put-api-ee-scim-v2-Users-id", + "summary" : "PUT /api/ee/scim/v2/Users/{id}", + "description" : "Update a user.", "parameters" : [ ], "responses" : { "2XX" : { - "description" : "Successful response", - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "properties" : { - "success" : { - "type" : "boolean" + "description" : "Successful response" + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "active" : { + "type" : "boolean" + }, + "emails" : { + "type" : "array", + "items" : { + "type" : "object", + "properties" : { + "primary" : { + "type" : "boolean" + }, + "type" : { + "type" : "string", + "minLength" : 1 + }, + "value" : { + "type" : "string", + "minLength" : 1 + } + }, + "required" : [ "value" ] + } + }, + "groups" : { + "type" : "array", + "items" : { + "type" : "object", + "properties" : { + "$ref" : { + "type" : "string", + "minLength" : 1 + }, + "display" : { + "type" : "string", + "minLength" : 1 + }, + "value" : { + "type" : "string", + "minLength" : 1 + } + }, + "required" : [ "value", "display" ] + } + }, + "id" : { + "type" : "string", + "minLength" : 1 + }, + "locale" : { + "oneOf" : [ { + "type" : "string", + "minLength" : 1 + }, { + "type" : "null" + } ] + }, + "name" : { + "type" : "object", + "properties" : { + "familyName" : { + "type" : "string" + }, + "givenName" : { + "type" : "string" + } }, - "task_id" : { - "type" : "integer", - "minimum" : 1 + "required" : [ "givenName", "familyName" ] + }, + "schemas" : { + "type" : "array", + "items" : { + "type" : "string", + "minLength" : 1 } }, - "required" : [ "success" ] - } + "userName" : { + "type" : "string", + "minLength" : 1 + } + }, + "required" : [ "schemas", "userName", "name", "emails" ] } } + } + }, + "tags" : [ "/api/ee/scim/v2" ] + }, + "patch" : { + "operationId" : "patch-api-ee-scim-v2-Users-id", + "summary" : "PATCH /api/ee/scim/v2/Users/{id}", + "description" : "Activate or deactivate a user. Supports specific replace operations, but not arbitrary patches.", + "parameters" : [ { + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "string", + "minLength" : 1 + } + } ], + "responses" : { + "2XX" : { + "description" : "Successful response" }, "4XX" : { "description" : "Client error response" @@ -27356,72 +30310,58 @@ "schema" : { "type" : "object", "properties" : { - "collections" : { - "oneOf" : [ { + "Operations" : { + "type" : "array", + "items" : { "type" : "object", - "additionalProperties" : { - "type" : "boolean" - } - }, { - "type" : "null" - } ] - }, - "remote-sync-auto-import" : { - "oneOf" : [ { - "type" : "boolean" - }, { - "type" : "null" - } ] - }, - "remote-sync-branch" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] - }, - "remote-sync-token" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] - }, - "remote-sync-transforms" : { - "oneOf" : [ { - "type" : "boolean" - }, { - "type" : "null" - } ] + "properties" : { + "op" : { + "type" : "string", + "minLength" : 1 + }, + "value" : { + "anyOf" : [ { + "type" : "object", + "additionalProperties" : { + "anyOf" : [ { + "type" : "string", + "minLength" : 1 + }, { + "type" : "boolean" + } ] + } + }, { + "type" : "string", + "minLength" : 1 + }, { + "type" : "boolean" + } ] + } + }, + "required" : [ "op", "value" ] + } }, - "remote-sync-type" : { - "oneOf" : [ { + "schemas" : { + "type" : "array", + "items" : { "type" : "string", - "enum" : [ "read-only", "read-write" ] - }, { - "type" : "null" - } ] - }, - "remote-sync-url" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] + "minLength" : 1 + } } - } + }, + "required" : [ "schemas", "Operations" ] } } } }, - "tags" : [ "/api/ee/remote-sync" ] + "tags" : [ "/api/ee/scim/v2" ] } }, - "/api/ee/remote-sync/stash" : { - "post" : { - "operationId" : "post-api-ee-remote-sync-stash", - "summary" : "POST /api/ee/remote-sync/stash", - "description" : "Stashes changes to a new branch, and changes the current branch to it.\n Requires superuser permissions.", + "/api/ee/security-center" : { + "get" : { + "operationId" : "get-api-ee-security-center", + "summary" : "GET /api/ee/security-center", + "description" : "List all security advisories with match status.", "parameters" : [ ], "responses" : { "2XX" : { @@ -27431,18 +30371,100 @@ "schema" : { "type" : "object", "properties" : { - "message" : { - "type" : "string" - }, - "status" : { - "type" : "string" + "advisories" : { + "type" : "array", + "items" : { + "type" : "object", + "properties" : { + "published_at" : { + "type" : "string", + "format" : "date-time" + }, + "advisory_url" : { + "oneOf" : [ { + "type" : "string", + "minLength" : 1 + }, { + "type" : "null" + } ] + }, + "last_evaluated_at" : { + "oneOf" : [ { + "type" : "string", + "format" : "date-time" + }, { + "type" : "null" + } ] + }, + "match_status" : { + "$ref" : "#/components/schemas/metabase-enterprise.security-center.schema.match-status" + }, + "acknowledged_by" : { + "oneOf" : [ { + "type" : "object", + "properties" : { + "common_name" : { + "type" : "string", + "minLength" : 1 + }, + "email" : { + "description" : "value must be a valid email address.", + "type" : "string" + }, + "id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + } + }, + "required" : [ "id", "common_name", "email" ] + }, { + "type" : "null" + } ] + }, + "title" : { + "type" : "string", + "minLength" : 1 + }, + "affected_versions" : { + "$ref" : "#/components/schemas/metabase-enterprise.security-center.schema.affected-versions" + }, + "remediation" : { + "type" : "string", + "minLength" : 1 + }, + "advisory_id" : { + "$ref" : "#/components/schemas/metabase-enterprise.security-center.schema.advisory-id" + }, + "severity" : { + "$ref" : "#/components/schemas/metabase-enterprise.security-center.schema.severity" + }, + "description" : { + "type" : "string", + "minLength" : 1 + }, + "acknowledged_at" : { + "oneOf" : [ { + "type" : "string", + "format" : "date-time" + }, { + "type" : "null" + } ] + } + }, + "required" : [ "advisory_id", "title", "severity", "description", "advisory_url", "remediation", "published_at", "match_status", "last_evaluated_at", "acknowledged_by", "acknowledged_at", "affected_versions" ] + } }, - "task_id" : { - "type" : "integer", - "minimum" : 1 + "last_checked_at" : { + "oneOf" : [ { + "type" : "string", + "format" : "date-time" + }, { + "type" : "null" + } ] } }, - "required" : [ "status", "message", "task_id" ] + "required" : [ "last_checked_at", "advisories" ] } } } @@ -27454,34 +30476,14 @@ "description" : "Server error response" } }, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "properties" : { - "message" : { - "type" : "string", - "minLength" : 1 - }, - "new_branch" : { - "type" : "string", - "minLength" : 1 - } - }, - "required" : [ "new_branch", "message" ] - } - } - } - }, - "tags" : [ "/api/ee/remote-sync" ] + "tags" : [ "/api/ee/security-center" ] } }, - "/api/ee/replacement/check-replace-source" : { + "/api/ee/security-center/acknowledge" : { "post" : { - "operationId" : "post-api-ee-replacement-check-replace-source", - "summary" : "POST /api/ee/replacement/check-replace-source", - "description" : "Check whether a source entity can be replaced by a target entity. Returns compatibility\n errors describing column mismatches, type mismatches, primary key mismatches, and foreign\n key mismatches.", + "operationId" : "post-api-ee-security-center-acknowledge", + "summary" : "POST /api/ee/security-center/acknowledge", + "description" : "Acknowledge multiple security advisories. Skips already-acknowledged advisories.", "parameters" : [ ], "responses" : { "2XX" : { @@ -27489,7 +30491,50 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/metabase-enterprise.replacement.schema.check-replace-source-response" + "type" : "array", + "items" : { + "type" : "object", + "properties" : { + "acknowledged_at" : { + "oneOf" : [ { + "type" : "string", + "format" : "date-time" + }, { + "type" : "null" + } ] + }, + "acknowledged_by" : { + "oneOf" : [ { + "type" : "object", + "properties" : { + "common_name" : { + "type" : "string", + "minLength" : 1 + }, + "email" : { + "description" : "value must be a valid email address.", + "type" : "string" + }, + "id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + } + }, + "required" : [ "id", "common_name", "email" ] + }, { + "type" : "null" + } ] + }, + "advisory_id" : { + "$ref" : "#/components/schemas/metabase-enterprise.security-center.schema.advisory-id" + }, + "match_status" : { + "$ref" : "#/components/schemas/metabase-enterprise.security-center.schema.match-status" + } + }, + "required" : [ "advisory_id", "match_status", "acknowledged_by", "acknowledged_at" ] + } } } } @@ -27507,32 +30552,27 @@ "schema" : { "type" : "object", "properties" : { - "source_entity_id" : { - "$ref" : "#/components/schemas/metabase-enterprise.replacement.schema.source-entity-id" - }, - "source_entity_type" : { - "$ref" : "#/components/schemas/metabase-enterprise.replacement.schema.source-entity-type" - }, - "target_entity_id" : { - "$ref" : "#/components/schemas/metabase-enterprise.replacement.schema.source-entity-id" - }, - "target_entity_type" : { - "$ref" : "#/components/schemas/metabase-enterprise.replacement.schema.source-entity-type" + "advisory_ids" : { + "type" : "array", + "items" : { + "type" : "string", + "minLength" : 1 + } } }, - "required" : [ "source_entity_id", "source_entity_type", "target_entity_id", "target_entity_type" ] + "required" : [ "advisory_ids" ] } } } }, - "tags" : [ "/api/ee/replacement" ] + "tags" : [ "/api/ee/security-center" ] } }, - "/api/ee/replacement/replace-model-with-transform" : { + "/api/ee/security-center/sync" : { "post" : { - "operationId" : "post-api-ee-replacement-replace-model-with-transform", - "summary" : "POST /api/ee/replacement/replace-model-with-transform", - "description" : "Create a transform from a model, execute it, and replace all usages of the model\n with the output table. Un-persists the model and converts it to a saved question.\n Returns 202 with a run_id for polling.\n\n If there is an error during the transform execution, no replacement will be\n performed and the model will remain unchanged.\n\n If there is an error during the source swap, the transform and the output\n table will be retained, and the model will remain unchanged. We cannot delete\n the transform or the output table because they can be used by other queries at\n this point.", + "operationId" : "post-api-ee-security-center-sync", + "summary" : "POST /api/ee/security-center/sync", + "description" : "Trigger an async advisory sync + re-evaluation.\n Returns immediately. If a sync is already running, the request is a no-op.", "parameters" : [ ], "responses" : { "2XX" : { @@ -27542,21 +30582,12 @@ "schema" : { "type" : "object", "properties" : { - "body" : { - "type" : "object", - "properties" : { - "run_id" : { - "$ref" : "#/components/schemas/metabase-enterprise.replacement.schema.run-id" - } - }, - "required" : [ "run_id" ], - "additionalProperties" : false - }, "status" : { - "const" : 202 + "type" : "string", + "minLength" : 1 } }, - "required" : [ "status", "body" ] + "required" : [ "status" ] } } } @@ -27568,54 +30599,14 @@ "description" : "Server error response" } }, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "properties" : { - "card_id" : { - "$ref" : "#/components/schemas/metabase-enterprise.replacement.schema.source-entity-id" - }, - "target_collection_id" : { - "oneOf" : [ { - "$ref" : "#/components/schemas/metabase-enterprise.replacement.schema.source-entity-id" - }, { - "type" : "null" - } ] - }, - "transform_name" : { - "type" : "string" - }, - "transform_tag_ids" : { - "oneOf" : [ { - "type" : "array", - "items" : { - "type" : "integer", - "minimum" : 1 - } - }, { - "type" : "null" - } ] - }, - "transform_target" : { - "type" : "object", - "properties" : { } - } - }, - "required" : [ "card_id", "transform_name", "transform_target" ] - } - } - } - }, - "tags" : [ "/api/ee/replacement" ] + "tags" : [ "/api/ee/security-center" ] } }, - "/api/ee/replacement/replace-source" : { + "/api/ee/security-center/test-notification" : { "post" : { - "operationId" : "post-api-ee-replacement-replace-source", - "summary" : "POST /api/ee/replacement/replace-source", - "description" : "Replace all usages of a source entity with a target entity asynchronously.\n Returns 202 with a run_id for polling. Returns 409 if a replacement is already running.", + "operationId" : "post-api-ee-security-center-test-notification", + "summary" : "POST /api/ee/security-center/test-notification", + "description" : "Send a test notification through the given Security Center channels.\n\n The request body lets callers pass the unsaved notification config from the\n dialog so the test reflects current form state, not the persisted settings.\n Both fields are optional; when omitted, the saved setting is used.", "parameters" : [ ], "responses" : { "2XX" : { @@ -27625,21 +30616,11 @@ "schema" : { "type" : "object", "properties" : { - "body" : { - "type" : "object", - "properties" : { - "run_id" : { - "$ref" : "#/components/schemas/metabase-enterprise.replacement.schema.run-id" - } - }, - "required" : [ "run_id" ], - "additionalProperties" : false - }, - "status" : { - "const" : 202 + "success" : { + "type" : "boolean" } }, - "required" : [ "status", "body" ] + "required" : [ "success" ] } } } @@ -27657,113 +30638,43 @@ "schema" : { "type" : "object", "properties" : { - "source_entity_id" : { - "$ref" : "#/components/schemas/metabase-enterprise.replacement.schema.source-entity-id" - }, - "source_entity_type" : { - "$ref" : "#/components/schemas/metabase-enterprise.replacement.schema.source-entity-type" - }, - "target_entity_id" : { - "$ref" : "#/components/schemas/metabase-enterprise.replacement.schema.source-entity-id" + "email_recipients" : { + "oneOf" : [ { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/metabase.notification.models.NotificationRecipient" + } + }, { + "type" : "null" + } ] }, - "target_entity_type" : { - "$ref" : "#/components/schemas/metabase-enterprise.replacement.schema.source-entity-type" - } - }, - "required" : [ "source_entity_id", "source_entity_type", "target_entity_id", "target_entity_type" ] - } - } - } - }, - "tags" : [ "/api/ee/replacement" ] - } - }, - "/api/ee/replacement/runs" : { - "get" : { - "operationId" : "get-api-ee-replacement-runs", - "summary" : "GET /api/ee/replacement/runs", - "description" : "List replacement runs, optionally filtered by is-active.", - "parameters" : [ { - "in" : "query", - "name" : "is-active", - "required" : false, - "schema" : { - "oneOf" : [ { - "type" : "boolean" - }, { - "type" : "null" - } ] - } - } ], - "responses" : { - "2XX" : { - "description" : "Successful response", - "content" : { - "application/json" : { - "schema" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/metabase-enterprise.replacement.schema.run" + "slack_channel" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] } } } } - }, - "4XX" : { - "description" : "Client error response" - }, - "5XX" : { - "description" : "Server error response" - } - }, - "tags" : [ "/api/ee/replacement" ] - } - }, - "/api/ee/replacement/runs/{id}" : { - "get" : { - "operationId" : "get-api-ee-replacement-runs-id", - "summary" : "GET /api/ee/replacement/runs/{id}", - "description" : "Get the status of a source replacement run.", - "parameters" : [ { - "in" : "path", - "name" : "id", - "required" : true, - "schema" : { - "$ref" : "#/components/schemas/metabase-enterprise.replacement.schema.run-id" - } - } ], - "responses" : { - "2XX" : { - "description" : "Successful response", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/metabase-enterprise.replacement.schema.run" - } - } - } - }, - "4XX" : { - "description" : "Client error response" - }, - "5XX" : { - "description" : "Server error response" } }, - "tags" : [ "/api/ee/replacement" ] + "tags" : [ "/api/ee/security-center" ] } }, - "/api/ee/replacement/runs/{id}/cancel" : { + "/api/ee/security-center/{advisory-id}/acknowledge" : { "post" : { - "operationId" : "post-api-ee-replacement-runs-id-cancel", - "summary" : "POST /api/ee/replacement/runs/{id}/cancel", - "description" : "Cancel a running source replacement.", + "operationId" : "post-api-ee-security-center-advisory-id-acknowledge", + "summary" : "POST /api/ee/security-center/{advisory-id}/acknowledge", + "description" : "Acknowledge a security advisory. Stops repeat notifications.", "parameters" : [ { "in" : "path", - "name" : "id", + "name" : "advisory-id", "required" : true, "schema" : { - "$ref" : "#/components/schemas/metabase-enterprise.replacement.schema.run-id" + "type" : "string", + "minLength" : 1 } } ], "responses" : { @@ -27774,11 +30685,45 @@ "schema" : { "type" : "object", "properties" : { - "success" : { - "type" : "boolean" + "acknowledged_at" : { + "oneOf" : [ { + "type" : "string", + "format" : "date-time" + }, { + "type" : "null" + } ] + }, + "acknowledged_by" : { + "oneOf" : [ { + "type" : "object", + "properties" : { + "common_name" : { + "type" : "string", + "minLength" : 1 + }, + "email" : { + "description" : "value must be a valid email address.", + "type" : "string" + }, + "id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + } + }, + "required" : [ "id", "common_name", "email" ] + }, { + "type" : "null" + } ] + }, + "advisory_id" : { + "$ref" : "#/components/schemas/metabase-enterprise.security-center.schema.advisory-id" + }, + "match_status" : { + "$ref" : "#/components/schemas/metabase-enterprise.security-center.schema.match-status" } }, - "required" : [ "success" ] + "required" : [ "advisory_id", "match_status", "acknowledged_by", "acknowledged_at" ] } } } @@ -27790,32 +30735,14 @@ "description" : "Server error response" } }, - "tags" : [ "/api/ee/replacement" ] + "tags" : [ "/api/ee/security-center" ] } }, - "/api/ee/scim/api_key" : { + "/api/ee/semantic-search/status" : { "get" : { - "operationId" : "get-api-ee-scim-api_key", - "summary" : "GET /api/ee/scim/api_key", - "description" : "Fetch the SCIM API key if one exists. Does *not* return an unmasked key, since we don't have access\n to that after it is created.", - "parameters" : [ ], - "responses" : { - "2XX" : { - "description" : "Successful response" - }, - "4XX" : { - "description" : "Client error response" - }, - "5XX" : { - "description" : "Server error response" - } - }, - "tags" : [ "/api/ee/scim" ] - }, - "post" : { - "operationId" : "post-api-ee-scim-api_key", - "summary" : "POST /api/ee/scim/api_key", - "description" : "Create a new SCIM API key, or refresh one that already exists. When called for the first time,\n this is equivalent to enabling SCIM.", + "operationId" : "get-api-ee-semantic-search-status", + "summary" : "GET /api/ee/semantic-search/status", + "description" : "Fetch the indexing status of the currently active semantic search index table.\n\n Returns a map with keys:\n :indexed_count \n :total_est \n\n If no index is active, returns an empty map.", "parameters" : [ ], "responses" : { "2XX" : { @@ -27828,71 +30755,108 @@ "description" : "Server error response" } }, - "tags" : [ "/api/ee/scim" ] + "tags" : [ "/api/ee/semantic-search" ] } }, - "/api/ee/scim/v2/Groups" : { - "get" : { - "operationId" : "get-api-ee-scim-v2-Groups", - "summary" : "GET /api/ee/scim/v2/Groups", - "description" : "Fetch a list of groups.", + "/api/ee/serialization/export" : { + "post" : { + "operationId" : "post-api-ee-serialization-export", + "summary" : "POST /api/ee/serialization/export", + "description" : "Serialize and retrieve Metabase instance.\n\n Outputs `.tar.gz` file with serialization results and an `export.log` file.\n On error outputs serialization logs directly.", "parameters" : [ { "in" : "query", - "name" : "startIndex", + "name" : "dirname", "required" : false, "schema" : { "oneOf" : [ { - "description" : "value must be an integer greater than zero.", - "type" : "integer", - "minimum" : 1 + "type" : "string" }, { "type" : "null" } ] - } + }, + "description" : "name of directory and archive file (default: `-`)" }, { "in" : "query", - "name" : "count", + "name" : "collection", "required" : false, "schema" : { "oneOf" : [ { - "description" : "value must be an integer greater than zero.", - "type" : "integer", - "minimum" : 1 + "type" : "array", + "items" : { + "anyOf" : [ { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, { + "type" : "string", + "pattern" : "^.{21}$" + }, { + "type" : "string", + "pattern" : "^eid:.{21}$" + } ] + } }, { "type" : "null" } ] + }, + "description" : "collections' db ids/entity-ids to serialize" + }, { + "in" : "query", + "name" : "all_collections", + "required" : true, + "schema" : { + "default" : true, + "type" : "boolean" } }, { "in" : "query", - "name" : "filter", - "required" : false, + "name" : "settings", + "required" : true, "schema" : { - "oneOf" : [ { - "type" : "string", - "minLength" : 1 - }, { - "type" : "null" - } ] + "default" : true, + "type" : "boolean" } - } ], - "responses" : { - "2XX" : { - "description" : "Successful response" - }, - "4XX" : { - "description" : "Client error response" - }, - "5XX" : { - "description" : "Server error response" + }, { + "in" : "query", + "name" : "data_model", + "required" : true, + "schema" : { + "default" : true, + "type" : "boolean" } - }, - "tags" : [ "/api/ee/scim/v2" ] - }, - "post" : { - "operationId" : "post-api-ee-scim-v2-Groups", - "summary" : "POST /api/ee/scim/v2/Groups", - "description" : "Create a single group, and populates it if necessary.", - "parameters" : [ ], + }, { + "in" : "query", + "name" : "field_values", + "required" : true, + "schema" : { + "default" : false, + "type" : "boolean" + } + }, { + "in" : "query", + "name" : "database_secrets", + "required" : true, + "schema" : { + "default" : false, + "type" : "boolean" + } + }, { + "in" : "query", + "name" : "continue_on_error", + "required" : true, + "schema" : { + "default" : false, + "type" : "boolean" + } + }, { + "in" : "query", + "name" : "full_stacktrace", + "required" : true, + "schema" : { + "default" : false, + "type" : "boolean" + } + } ], "responses" : { "2XX" : { "description" : "Successful response" @@ -27904,85 +30868,39 @@ "description" : "Server error response" } }, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "properties" : { - "displayName" : { - "type" : "string", - "minLength" : 1 - }, - "id" : { - "type" : "string", - "minLength" : 1 - }, - "members" : { - "type" : "array", - "items" : { - "type" : "object", - "properties" : { - "$ref" : { - "type" : "string", - "minLength" : 1 - }, - "value" : { - "type" : "string", - "minLength" : 1 - } - }, - "required" : [ "value" ] - } - }, - "schemas" : { - "type" : "array", - "items" : { - "type" : "string", - "minLength" : 1 - } - } - }, - "required" : [ "schemas", "displayName" ] - } - } - } - }, - "tags" : [ "/api/ee/scim/v2" ] + "tags" : [ "/api/ee/serialization" ] } }, - "/api/ee/scim/v2/Groups/{id}" : { - "get" : { - "operationId" : "get-api-ee-scim-v2-Groups-id", - "summary" : "GET /api/ee/scim/v2/Groups/{id}", - "description" : "Fetch a single group.", + "/api/ee/serialization/import" : { + "post" : { + "operationId" : "post-api-ee-serialization-import", + "summary" : "POST /api/ee/serialization/import", + "description" : "Deserialize Metabase instance from an archive generated by /export.\n\n Parameters:\n - `file`: archive encoded as `multipart/form-data` (required).\n\n Returns logs of deserialization.", "parameters" : [ { - "in" : "path", - "name" : "id", + "in" : "query", + "name" : "continue_on_error", "required" : true, "schema" : { - "type" : "string", - "minLength" : 1 + "default" : false, + "type" : "boolean" } - } ], - "responses" : { - "2XX" : { - "description" : "Successful response" - }, - "4XX" : { - "description" : "Client error response" - }, - "5XX" : { - "description" : "Server error response" + }, { + "in" : "query", + "name" : "full_stacktrace", + "required" : true, + "schema" : { + "default" : false, + "type" : "boolean" } - }, - "tags" : [ "/api/ee/scim/v2" ] - }, - "put" : { - "operationId" : "put-api-ee-scim-v2-Groups-id", - "summary" : "PUT /api/ee/scim/v2/Groups/{id}", - "description" : "Update a group.", - "parameters" : [ ], + }, { + "in" : "query", + "name" : "reindex", + "required" : true, + "schema" : { + "default" : true, + "type" : "boolean" + } + } ], "responses" : { "2XX" : { "description" : "Successful response" @@ -27996,116 +30914,74 @@ }, "requestBody" : { "content" : { - "application/json" : { + "multipart/form-data" : { "schema" : { "type" : "object", "properties" : { - "displayName" : { - "type" : "string", - "minLength" : 1 - }, - "id" : { - "type" : "string", - "minLength" : 1 - }, - "members" : { - "type" : "array", - "items" : { - "type" : "object", - "properties" : { - "$ref" : { - "type" : "string", - "minLength" : 1 - }, - "value" : { - "type" : "string", - "minLength" : 1 - } + "file" : { + "description" : ".tgz with serialization data", + "type" : "object", + "properties" : { + "content-type" : { + "type" : "string" }, - "required" : [ "value" ] - } - }, - "schemas" : { - "type" : "array", - "items" : { - "type" : "string", - "minLength" : 1 - } + "filename" : { + "type" : "string" + }, + "size" : { + "type" : "integer" + }, + "tempfile" : { } + }, + "required" : [ "content-type", "filename", "size", "tempfile" ], + "additionalProperties" : false } }, - "required" : [ "schemas", "displayName" ] + "required" : [ "file" ] } } } }, - "tags" : [ "/api/ee/scim/v2" ] - }, - "delete" : { - "operationId" : "delete-api-ee-scim-v2-Groups-id", - "summary" : "DELETE /api/ee/scim/v2/Groups/{id}", - "description" : "Delete a group.", - "parameters" : [ { - "in" : "path", - "name" : "id", - "required" : true, - "schema" : { - "type" : "string", - "minLength" : 1 - } - } ], - "responses" : { - "2XX" : { - "description" : "Successful response" - }, - "4XX" : { - "description" : "Client error response" - }, - "5XX" : { - "description" : "Server error response" - } - }, - "tags" : [ "/api/ee/scim/v2" ] + "tags" : [ "/api/ee/serialization" ] } }, - "/api/ee/scim/v2/Users" : { - "get" : { - "operationId" : "get-api-ee-scim-v2-Users", - "summary" : "GET /api/ee/scim/v2/Users", - "description" : "Fetch a list of users.", + "/api/ee/serialization/metadata/export" : { + "post" : { + "operationId" : "post-api-ee-serialization-metadata-export", + "summary" : "POST /api/ee/serialization/metadata/export", + "description" : "Get warehouse metadata (databases, tables, and fields) for all databases visible to the\n current user. References between rows are emitted as raw numeric ids (`db_id`,\n `table_id`, `parent_id`, `fk_target_field_id`).\n\n Sections must be opted into with the `with-databases`, `with-tables`, and `with-fields`\n query parameters — they all default to `false`. The response is streamed for efficiency\n with large schemas.\n\n Requires `View data` → `Can view` and `Create queries` → `Query builder only` (or\n `Query builder and native`) permissions on each database and table.", "parameters" : [ { "in" : "query", - "name" : "startIndex", - "required" : false, + "name" : "with-databases", + "required" : true, "schema" : { + "default" : false, "oneOf" : [ { - "description" : "value must be an integer greater than zero.", - "type" : "integer", - "minimum" : 1 + "type" : "boolean" }, { "type" : "null" } ] } }, { "in" : "query", - "name" : "count", - "required" : false, + "name" : "with-tables", + "required" : true, "schema" : { + "default" : false, "oneOf" : [ { - "description" : "value must be an integer greater than zero.", - "type" : "integer", - "minimum" : 1 + "type" : "boolean" }, { "type" : "null" } ] } }, { "in" : "query", - "name" : "filter", - "required" : false, + "name" : "with-fields", + "required" : true, "schema" : { + "default" : false, "oneOf" : [ { - "type" : "string", - "minLength" : 1 + "type" : "boolean" }, { "type" : "null" } ] @@ -28113,7 +30989,14 @@ } ], "responses" : { "2XX" : { - "description" : "Successful response" + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/metabase-enterprise.serialization.schema.export-metadata-response" + } + } + } }, "4XX" : { "description" : "Client error response" @@ -28122,130 +31005,145 @@ "description" : "Server error response" } }, - "tags" : [ "/api/ee/scim/v2" ] - }, + "tags" : [ "/api/ee/serialization" ] + } + }, + "/api/ee/serialization/metadata/import" : { "post" : { - "operationId" : "post-api-ee-scim-v2-Users", - "summary" : "POST /api/ee/scim/v2/Users", - "description" : "Create a single user.", + "operationId" : "post-api-ee-serialization-metadata-import", + "summary" : "POST /api/ee/serialization/metadata/import", + "description" : "Import warehouse metadata previously emitted by `POST /metadata/export`. The\n request body is the JSON document `{databases, tables, fields}`; sections are\n parsed incrementally so memory stays bounded regardless of payload size.\n\n To bypass the JSON-parsing request middleware, send with `Content-Type:\n application/octet-stream`. Restricted to superusers.\n\n Returns `202` immediately with an `:import-id`; the import runs\n asynchronously. Poll `GET /metadata/import/:id` for its outcome.", "parameters" : [ ], "responses" : { "2XX" : { - "description" : "Successful response" - }, - "4XX" : { - "description" : "Client error response" - }, - "5XX" : { - "description" : "Server error response" - } - }, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "properties" : { - "active" : { - "type" : "boolean" - }, - "emails" : { - "type" : "array", - "items" : { - "type" : "object", - "properties" : { - "primary" : { - "type" : "boolean" - }, - "type" : { - "type" : "string", - "minLength" : 1 - }, - "value" : { - "type" : "string", - "minLength" : 1 - } - }, - "required" : [ "value" ] - } - }, - "groups" : { - "type" : "array", - "items" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "body" : { "type" : "object", "properties" : { - "$ref" : { - "type" : "string", - "minLength" : 1 - }, - "display" : { - "type" : "string", - "minLength" : 1 + "import-id" : { + "type" : "string" }, - "value" : { - "type" : "string", - "minLength" : 1 + "queued" : { + "type" : "boolean" } }, - "required" : [ "value", "display" ] - } - }, - "id" : { - "type" : "string", - "minLength" : 1 - }, - "locale" : { - "oneOf" : [ { - "type" : "string", - "minLength" : 1 - }, { - "type" : "null" - } ] - }, - "name" : { - "type" : "object", - "properties" : { - "familyName" : { - "type" : "string" - }, - "givenName" : { - "type" : "string" - } + "required" : [ "queued", "import-id" ], + "additionalProperties" : false }, - "required" : [ "givenName", "familyName" ] - }, - "schemas" : { - "type" : "array", - "items" : { - "type" : "string", - "minLength" : 1 + "status" : { + "const" : 202 } }, - "userName" : { - "type" : "string", - "minLength" : 1 - } - }, - "required" : [ "schemas", "userName", "name", "emails" ] + "required" : [ "status", "body" ] + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "tags" : [ "/api/ee/serialization" ] + } + }, + "/api/ee/serialization/metadata/import/{id}" : { + "get" : { + "operationId" : "get-api-ee-serialization-metadata-import-id", + "summary" : "GET /api/ee/serialization/metadata/import/{id}", + "description" : "Status of a metadata import previously started by `POST /metadata/import`.\n Status is retained in-memory and is not durable across server restarts.\n Restricted to superusers.", + "parameters" : [ { + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "string", + "pattern" : "[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}" + }, + "description" : "value must be a valid UUID." + } ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/metabase-enterprise.serialization.schema.import-status-response" + } } } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" } }, - "tags" : [ "/api/ee/scim/v2" ] + "tags" : [ "/api/ee/serialization" ] } }, - "/api/ee/scim/v2/Users/{id}" : { + "/api/ee/stale/{id}" : { "get" : { - "operationId" : "get-api-ee-scim-v2-Users-id", - "summary" : "GET /api/ee/scim/v2/Users/{id}", - "description" : "Fetch a single user.", + "operationId" : "get-api-ee-stale-id", + "summary" : "GET /api/ee/stale/{id}", + "description" : "A flexible endpoint that returns stale entities, in the same shape as collections/items, with the following options:\n - `before_date` - only return entities that were last edited before this date (default: 6 months ago)\n - `is_recursive` - if true, return entities from all children of the collection, not just the direct children (default: false)\n - `sort_column` - the column to sort by (default: name)\n - `sort_direction` - the direction to sort by (default: asc)", "parameters" : [ { "in" : "path", "name" : "id", "required" : true, "schema" : { + "anyOf" : [ { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, { + "const" : "root" + } ] + } + }, { + "in" : "query", + "name" : "before_date", + "required" : false, + "schema" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + } + }, { + "in" : "query", + "name" : "is_recursive", + "required" : true, + "schema" : { + "default" : false, + "type" : "boolean" + } + }, { + "in" : "query", + "name" : "sort_column", + "required" : true, + "schema" : { + "default" : "name", "type" : "string", - "minLength" : 1 + "enum" : [ "name", "last_used_at" ] + } + }, { + "in" : "query", + "name" : "sort_direction", + "required" : true, + "schema" : { + "default" : "asc", + "type" : "string", + "enum" : [ "asc", "desc" ] } } ], "responses" : { @@ -28259,16 +31157,25 @@ "description" : "Server error response" } }, - "tags" : [ "/api/ee/scim/v2" ] - }, - "put" : { - "operationId" : "put-api-ee-scim-v2-Users-id", - "summary" : "PUT /api/ee/scim/v2/Users/{id}", - "description" : "Update a user.", + "tags" : [ "/api/ee/stale" ] + } + }, + "/api/ee/support-access-grant" : { + "post" : { + "operationId" : "post-api-ee-support-access-grant", + "summary" : "POST /api/ee/support-access-grant", + "description" : "Create a new support access grant.\n\n Requires superuser permissions. Only one active grant can exist at a time.", "parameters" : [ ], "responses" : { "2XX" : { - "description" : "Successful response" + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/metabase-enterprise.support-access-grants.schema.grant-response" + } + } + } }, "4XX" : { "description" : "Client error response" @@ -28281,111 +31188,63 @@ "content" : { "application/json" : { "schema" : { - "type" : "object", - "properties" : { - "active" : { - "type" : "boolean" - }, - "emails" : { - "type" : "array", - "items" : { - "type" : "object", - "properties" : { - "primary" : { - "type" : "boolean" - }, - "type" : { - "type" : "string", - "minLength" : 1 - }, - "value" : { - "type" : "string", - "minLength" : 1 - } - }, - "required" : [ "value" ] - } - }, - "groups" : { - "type" : "array", - "items" : { - "type" : "object", - "properties" : { - "$ref" : { - "type" : "string", - "minLength" : 1 - }, - "display" : { - "type" : "string", - "minLength" : 1 - }, - "value" : { - "type" : "string", - "minLength" : 1 - } - }, - "required" : [ "value", "display" ] - } - }, - "id" : { - "type" : "string", - "minLength" : 1 - }, - "locale" : { - "oneOf" : [ { - "type" : "string", - "minLength" : 1 - }, { - "type" : "null" - } ] - }, - "name" : { - "type" : "object", - "properties" : { - "familyName" : { - "type" : "string" - }, - "givenName" : { - "type" : "string" - } - }, - "required" : [ "givenName", "familyName" ] - }, - "schemas" : { - "type" : "array", - "items" : { - "type" : "string", - "minLength" : 1 - } - }, - "userName" : { - "type" : "string", - "minLength" : 1 - } - }, - "required" : [ "schemas", "userName", "name", "emails" ] + "$ref" : "#/components/schemas/metabase-enterprise.support-access-grants.schema.create-grant-request" } } } }, - "tags" : [ "/api/ee/scim/v2" ] + "tags" : [ "/api/ee/support-access-grant" ] }, - "patch" : { - "operationId" : "patch-api-ee-scim-v2-Users-id", - "summary" : "PATCH /api/ee/scim/v2/Users/{id}", - "description" : "Activate or deactivate a user. Supports specific replace operations, but not arbitrary patches.", + "get" : { + "operationId" : "get-api-ee-support-access-grant", + "summary" : "GET /api/ee/support-access-grant", + "description" : "List support access grants with optional filtering and pagination.\n\n Requires superuser permissions.\n\n Query parameters:\n - ticket-number: Filter by ticket number\n - user-id: Filter by user who created the grant\n - include-revoked: Include revoked grants (default false)", "parameters" : [ { - "in" : "path", - "name" : "id", - "required" : true, + "in" : "query", + "name" : "ticket-number", + "required" : false, "schema" : { - "type" : "string", - "minLength" : 1 + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + } + }, { + "in" : "query", + "name" : "user-id", + "required" : false, + "schema" : { + "oneOf" : [ { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, { + "type" : "null" + } ] + } + }, { + "in" : "query", + "name" : "include-revoked", + "required" : false, + "schema" : { + "oneOf" : [ { + "type" : "boolean" + }, { + "type" : "null" + } ] } } ], "responses" : { "2XX" : { - "description" : "Successful response" + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/metabase-enterprise.support-access-grants.schema.list-grants-response" + } + } + } }, "4XX" : { "description" : "Client error response" @@ -28394,167 +31253,58 @@ "description" : "Server error response" } }, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "properties" : { - "Operations" : { - "type" : "array", - "items" : { - "type" : "object", - "properties" : { - "op" : { - "type" : "string", - "minLength" : 1 - }, - "value" : { - "anyOf" : [ { - "type" : "object", - "additionalProperties" : { - "anyOf" : [ { - "type" : "string", - "minLength" : 1 - }, { - "type" : "boolean" - } ] - } - }, { - "type" : "string", - "minLength" : 1 - }, { - "type" : "boolean" - } ] - } - }, - "required" : [ "op", "value" ] - } - }, - "schemas" : { - "type" : "array", - "items" : { - "type" : "string", - "minLength" : 1 - } - } - }, - "required" : [ "schemas", "Operations" ] + "tags" : [ "/api/ee/support-access-grant" ] + } + }, + "/api/ee/support-access-grant/current" : { + "get" : { + "operationId" : "get-api-ee-support-access-grant-current", + "summary" : "GET /api/ee/support-access-grant/current", + "description" : "Get the currently active support access grant, if one exists.\n\n Requires superuser permissions.", + "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/metabase-enterprise.support-access-grants.schema.current-grant-response" + } } } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" } }, - "tags" : [ "/api/ee/scim/v2" ] + "tags" : [ "/api/ee/support-access-grant" ] } }, - "/api/ee/security-center" : { - "get" : { - "operationId" : "get-api-ee-security-center", - "summary" : "GET /api/ee/security-center", - "description" : "List all security advisories with match status.", - "parameters" : [ ], + "/api/ee/support-access-grant/{id}/revoke" : { + "put" : { + "operationId" : "put-api-ee-support-access-grant-id-revoke", + "summary" : "PUT /api/ee/support-access-grant/{id}/revoke", + "description" : "Revoke an existing support access grant.\n\n Requires superuser permissions. Any admin can revoke any grant.", + "parameters" : [ { + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "integer", + "minimum" : 1 + }, + "description" : "value must be an integer greater than zero." + } ], "responses" : { "2XX" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { - "type" : "object", - "properties" : { - "advisories" : { - "type" : "array", - "items" : { - "type" : "object", - "properties" : { - "published_at" : { - "type" : "string", - "format" : "date-time" - }, - "advisory_url" : { - "oneOf" : [ { - "type" : "string", - "minLength" : 1 - }, { - "type" : "null" - } ] - }, - "last_evaluated_at" : { - "oneOf" : [ { - "type" : "string", - "format" : "date-time" - }, { - "type" : "null" - } ] - }, - "match_status" : { - "$ref" : "#/components/schemas/metabase-enterprise.security-center.schema.match-status" - }, - "acknowledged_by" : { - "oneOf" : [ { - "type" : "object", - "properties" : { - "common_name" : { - "type" : "string", - "minLength" : 1 - }, - "email" : { - "description" : "value must be a valid email address.", - "type" : "string" - }, - "id" : { - "description" : "value must be an integer greater than zero.", - "type" : "integer", - "minimum" : 1 - } - }, - "required" : [ "id", "common_name", "email" ] - }, { - "type" : "null" - } ] - }, - "title" : { - "type" : "string", - "minLength" : 1 - }, - "affected_versions" : { - "$ref" : "#/components/schemas/metabase-enterprise.security-center.schema.affected-versions" - }, - "remediation" : { - "type" : "string", - "minLength" : 1 - }, - "advisory_id" : { - "$ref" : "#/components/schemas/metabase-enterprise.security-center.schema.advisory-id" - }, - "severity" : { - "$ref" : "#/components/schemas/metabase-enterprise.security-center.schema.severity" - }, - "description" : { - "type" : "string", - "minLength" : 1 - }, - "acknowledged_at" : { - "oneOf" : [ { - "type" : "string", - "format" : "date-time" - }, { - "type" : "null" - } ] - } - }, - "required" : [ "advisory_id", "title", "severity", "description", "advisory_url", "remediation", "published_at", "match_status", "last_evaluated_at", "acknowledged_by", "acknowledged_at", "affected_versions" ] - } - }, - "last_checked_at" : { - "oneOf" : [ { - "type" : "string", - "format" : "date-time" - }, { - "type" : "null" - } ] - } - }, - "required" : [ "last_checked_at", "advisories" ] + "$ref" : "#/components/schemas/metabase-enterprise.support-access-grants.schema.grant-response" } } } @@ -28566,14 +31316,14 @@ "description" : "Server error response" } }, - "tags" : [ "/api/ee/security-center" ] + "tags" : [ "/api/ee/support-access-grant" ] } }, - "/api/ee/security-center/acknowledge" : { + "/api/ee/tenant" : { "post" : { - "operationId" : "post-api-ee-security-center-acknowledge", - "summary" : "POST /api/ee/security-center/acknowledge", - "description" : "Acknowledge multiple security advisories. Skips already-acknowledged advisories.", + "operationId" : "post-api-ee-tenant", + "summary" : "POST /api/ee/tenant", + "description" : "Create a new Tenant", "parameters" : [ ], "responses" : { "2XX" : { @@ -28581,50 +31331,47 @@ "content" : { "application/json" : { "schema" : { - "type" : "array", - "items" : { - "type" : "object", - "properties" : { - "acknowledged_at" : { - "oneOf" : [ { - "type" : "string", - "format" : "date-time" - }, { - "type" : "null" - } ] - }, - "acknowledged_by" : { - "oneOf" : [ { - "type" : "object", - "properties" : { - "common_name" : { - "type" : "string", - "minLength" : 1 - }, - "email" : { - "description" : "value must be a valid email address.", - "type" : "string" - }, - "id" : { - "description" : "value must be an integer greater than zero.", - "type" : "integer", - "minimum" : 1 - } - }, - "required" : [ "id", "common_name", "email" ] - }, { - "type" : "null" - } ] - }, - "advisory_id" : { - "$ref" : "#/components/schemas/metabase-enterprise.security-center.schema.advisory-id" - }, - "match_status" : { - "$ref" : "#/components/schemas/metabase-enterprise.security-center.schema.match-status" - } + "type" : "object", + "properties" : { + "attributes" : { + "oneOf" : [ { + "type" : "object", + "additionalProperties" : { + "type" : "string" + } + }, { + "type" : "null" + } ] }, - "required" : [ "advisory_id", "match_status", "acknowledged_by", "acknowledged_at" ] - } + "id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "is_active" : { + "type" : "boolean" + }, + "member_count" : { + "description" : "value must be an integer.", + "type" : "integer" + }, + "name" : { + "type" : "string", + "minLength" : 1 + }, + "slug" : { + "description" : "invalid slug", + "type" : "string", + "pattern" : "^[-_a-z0-9]{1,255}$" + }, + "tenant_collection_id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + } + }, + "required" : [ "id", "name", "slug", "is_active", "member_count", "attributes", "tenant_collection_id" ], + "additionalProperties" : false } } } @@ -28642,28 +31389,46 @@ "schema" : { "type" : "object", "properties" : { - "advisory_ids" : { - "type" : "array", - "items" : { - "type" : "string", - "minLength" : 1 - } + "attributes" : { + "oneOf" : [ { + "type" : "object", + "additionalProperties" : { } + }, { + "type" : "null" + } ] + }, + "name" : { + "type" : "string", + "minLength" : 1 + }, + "slug" : { + "description" : "invalid slug", + "type" : "string", + "pattern" : "^[-_a-z0-9]{1,255}$" } }, - "required" : [ "advisory_ids" ] + "required" : [ "name", "slug" ], + "additionalProperties" : false } } } }, - "tags" : [ "/api/ee/security-center" ] - } - }, - "/api/ee/security-center/sync" : { - "post" : { - "operationId" : "post-api-ee-security-center-sync", - "summary" : "POST /api/ee/security-center/sync", - "description" : "Trigger an async advisory sync + re-evaluation.\n Returns immediately. If a sync is already running, the request is a no-op.", - "parameters" : [ ], + "tags" : [ "/api/ee/tenant" ] + }, + "get" : { + "operationId" : "get-api-ee-tenant", + "summary" : "GET /api/ee/tenant", + "description" : "Get all tenants", + "parameters" : [ { + "in" : "query", + "name" : "status", + "required" : true, + "schema" : { + "default" : "all", + "type" : "string", + "enum" : [ "all", "deactivated", "active" ] + } + } ], "responses" : { "2XX" : { "description" : "Successful response", @@ -28672,12 +31437,55 @@ "schema" : { "type" : "object", "properties" : { - "status" : { - "type" : "string", - "minLength" : 1 + "data" : { + "type" : "array", + "items" : { + "type" : "object", + "properties" : { + "attributes" : { + "oneOf" : [ { + "type" : "object", + "additionalProperties" : { + "type" : "string" + } + }, { + "type" : "null" + } ] + }, + "id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "is_active" : { + "type" : "boolean" + }, + "member_count" : { + "description" : "value must be an integer.", + "type" : "integer" + }, + "name" : { + "type" : "string", + "minLength" : 1 + }, + "slug" : { + "description" : "invalid slug", + "type" : "string", + "pattern" : "^[-_a-z0-9]{1,255}$" + }, + "tenant_collection_id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + } + }, + "required" : [ "id", "name", "slug", "is_active", "member_count", "attributes", "tenant_collection_id" ], + "additionalProperties" : false + } } }, - "required" : [ "status" ] + "required" : [ "data" ], + "additionalProperties" : false } } } @@ -28689,15 +31497,24 @@ "description" : "Server error response" } }, - "tags" : [ "/api/ee/security-center" ] + "tags" : [ "/api/ee/tenant" ] } }, - "/api/ee/security-center/test-notification" : { - "post" : { - "operationId" : "post-api-ee-security-center-test-notification", - "summary" : "POST /api/ee/security-center/test-notification", - "description" : "Send a test notification through the configured Security Center channels.", - "parameters" : [ ], + "/api/ee/tenant/{id}" : { + "put" : { + "operationId" : "put-api-ee-tenant-id", + "summary" : "PUT /api/ee/tenant/{id}", + "description" : "Update a tenant, can set name, attributes, or whether this tenant is active.", + "parameters" : [ { + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "integer", + "minimum" : 1 + }, + "description" : "value must be an integer greater than zero." + } ], "responses" : { "2XX" : { "description" : "Successful response", @@ -28706,11 +31523,45 @@ "schema" : { "type" : "object", "properties" : { - "success" : { + "attributes" : { + "oneOf" : [ { + "type" : "object", + "additionalProperties" : { + "type" : "string" + } + }, { + "type" : "null" + } ] + }, + "id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "is_active" : { "type" : "boolean" + }, + "member_count" : { + "description" : "value must be an integer.", + "type" : "integer" + }, + "name" : { + "type" : "string", + "minLength" : 1 + }, + "slug" : { + "description" : "invalid slug", + "type" : "string", + "pattern" : "^[-_a-z0-9]{1,255}$" + }, + "tenant_collection_id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 } }, - "required" : [ "success" ] + "required" : [ "id", "name", "slug", "is_active", "member_count", "attributes", "tenant_collection_id" ], + "additionalProperties" : false } } } @@ -28722,22 +31573,56 @@ "description" : "Server error response" } }, - "tags" : [ "/api/ee/security-center" ] - } - }, - "/api/ee/security-center/{advisory-id}/acknowledge" : { - "post" : { - "operationId" : "post-api-ee-security-center-advisory-id-acknowledge", - "summary" : "POST /api/ee/security-center/{advisory-id}/acknowledge", - "description" : "Acknowledge a security advisory. Stops repeat notifications.", + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "attributes" : { + "oneOf" : [ { + "type" : "object", + "additionalProperties" : { } + }, { + "type" : "null" + } ] + }, + "is_active" : { + "oneOf" : [ { + "type" : "boolean" + }, { + "type" : "null" + } ] + }, + "name" : { + "oneOf" : [ { + "type" : "string", + "minLength" : 1 + }, { + "type" : "null" + } ] + } + }, + "additionalProperties" : false + } + } + } + }, + "tags" : [ "/api/ee/tenant" ] + }, + "get" : { + "operationId" : "get-api-ee-tenant-id", + "summary" : "GET /api/ee/tenant/{id}", + "description" : "Get info about a tenant", "parameters" : [ { "in" : "path", - "name" : "advisory-id", + "name" : "id", "required" : true, "schema" : { - "type" : "string", - "minLength" : 1 - } + "type" : "integer", + "minimum" : 1 + }, + "description" : "value must be an integer greater than zero." } ], "responses" : { "2XX" : { @@ -28747,45 +31632,45 @@ "schema" : { "type" : "object", "properties" : { - "acknowledged_at" : { - "oneOf" : [ { - "type" : "string", - "format" : "date-time" - }, { - "type" : "null" - } ] - }, - "acknowledged_by" : { + "attributes" : { "oneOf" : [ { "type" : "object", - "properties" : { - "common_name" : { - "type" : "string", - "minLength" : 1 - }, - "email" : { - "description" : "value must be a valid email address.", - "type" : "string" - }, - "id" : { - "description" : "value must be an integer greater than zero.", - "type" : "integer", - "minimum" : 1 - } - }, - "required" : [ "id", "common_name", "email" ] + "additionalProperties" : { + "type" : "string" + } }, { "type" : "null" } ] }, - "advisory_id" : { - "$ref" : "#/components/schemas/metabase-enterprise.security-center.schema.advisory-id" + "id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 }, - "match_status" : { - "$ref" : "#/components/schemas/metabase-enterprise.security-center.schema.match-status" + "is_active" : { + "type" : "boolean" + }, + "member_count" : { + "description" : "value must be an integer.", + "type" : "integer" + }, + "name" : { + "type" : "string", + "minLength" : 1 + }, + "slug" : { + "description" : "invalid slug", + "type" : "string", + "pattern" : "^[-_a-z0-9]{1,255}$" + }, + "tenant_collection_id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 } }, - "required" : [ "advisory_id", "match_status", "acknowledged_by", "acknowledged_at" ] + "required" : [ "id", "name", "slug", "is_active", "member_count", "attributes", "tenant_collection_id" ], + "additionalProperties" : false } } } @@ -28797,15 +31682,23 @@ "description" : "Server error response" } }, - "tags" : [ "/api/ee/security-center" ] + "tags" : [ "/api/ee/tenant" ] } }, - "/api/ee/semantic-search/status" : { + "/api/ee/transforms-python/library/{path}" : { "get" : { - "operationId" : "get-api-ee-semantic-search-status", - "summary" : "GET /api/ee/semantic-search/status", - "description" : "Fetch the indexing status of the currently active semantic search index table.\n\n Returns a map with keys:\n :indexed_count \n :total_est \n\n If no index is active, returns an empty map.", - "parameters" : [ ], + "operationId" : "get-api-ee-transforms-python-library-path", + "summary" : "GET /api/ee/transforms-python/library/{path}", + "description" : "Get the Python library for user modules.", + "parameters" : [ { + "in" : "path", + "name" : "path", + "required" : true, + "schema" : { + "type" : "string", + "minLength" : 1 + } + } ], "responses" : { "2XX" : { "description" : "Successful response" @@ -28817,111 +31710,228 @@ "description" : "Server error response" } }, - "tags" : [ "/api/ee/semantic-search" ] - } - }, - "/api/ee/serialization/export" : { - "post" : { - "operationId" : "post-api-ee-serialization-export", - "summary" : "POST /api/ee/serialization/export", - "description" : "Serialize and retrieve Metabase instance.\n\n Outputs `.tar.gz` file with serialization results and an `export.log` file.\n On error outputs serialization logs directly.", + "tags" : [ "/api/ee/transforms-python" ] + }, + "put" : { + "operationId" : "put-api-ee-transforms-python-library-path", + "summary" : "PUT /api/ee/transforms-python/library/{path}", + "description" : "Update the Python library source code for user modules.", "parameters" : [ { - "in" : "query", - "name" : "dirname", - "required" : false, + "in" : "path", + "name" : "path", + "required" : true, "schema" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] + "type" : "string", + "minLength" : 1 + } + } ], + "responses" : { + "2XX" : { + "description" : "Successful response" }, - "description" : "name of directory and archive file (default: `-`)" - }, { - "in" : "query", - "name" : "collection", - "required" : false, - "schema" : { - "oneOf" : [ { - "type" : "array", - "items" : { - "anyOf" : [ { - "description" : "value must be an integer greater than zero.", - "type" : "integer", - "minimum" : 1 - }, { - "type" : "string", - "pattern" : "^.{21}$" - }, { - "type" : "string", - "pattern" : "^eid:.{21}$" - } ] - } - }, { - "type" : "null" - } ] + "4XX" : { + "description" : "Client error response" }, - "description" : "collections' db ids/entity-ids to serialize" - }, { - "in" : "query", - "name" : "all_collections", - "required" : true, - "schema" : { - "default" : true, - "type" : "boolean" + "5XX" : { + "description" : "Server error response" } - }, { - "in" : "query", - "name" : "settings", - "required" : true, - "schema" : { - "default" : true, - "type" : "boolean" + }, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "source" : { + "type" : "string" + } + }, + "required" : [ "source" ], + "additionalProperties" : false + } + } } - }, { - "in" : "query", - "name" : "data_model", - "required" : true, - "schema" : { - "default" : true, - "type" : "boolean" + }, + "tags" : [ "/api/ee/transforms-python" ] + } + }, + "/api/ee/transforms-python/test-run" : { + "post" : { + "operationId" : "post-api-ee-transforms-python-test-run", + "summary" : "POST /api/ee/transforms-python/test-run", + "description" : "Evaluate an ad-hoc python transform on a sample of input data.\n Intended for short runs for early feedback. Input/output/timeout limits apply.", + "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "error" : { + "type" : "object", + "properties" : { + "message" : { + "anyOf" : [ { }, { } ] + } + }, + "required" : [ "message" ] + }, + "logs" : { + "type" : "string" + }, + "output" : { + "type" : "object", + "properties" : { + "cols" : { + "type" : "array", + "items" : { + "type" : "object", + "properties" : { + "name" : { + "type" : "string" + } + }, + "required" : [ "name" ] + } + }, + "rows" : { + "type" : "array", + "items" : { } + } + }, + "required" : [ "cols", "rows" ] + } + }, + "required" : [ "logs" ] + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" } - }, { - "in" : "query", - "name" : "field_values", - "required" : true, - "schema" : { - "default" : false, - "type" : "boolean" + }, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "code" : { + "type" : "string" + }, + "output_row_limit" : { + "allOf" : [ { + "type" : "integer" + }, { + "type" : "number", + "exclusiveMinimum" : 1 + }, { + "type" : "number", + "maximum" : 100 + } ] + }, + "per_input_row_limit" : { + "allOf" : [ { + "type" : "integer" + }, { + "type" : "number", + "exclusiveMinimum" : 1 + }, { + "type" : "number", + "maximum" : 100 + } ] + }, + "source_tables" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/metabase.transforms-base.util.source-table-entry" + }, + "minItems" : 1 + } + }, + "required" : [ "code", "source_tables" ] + } + } } - }, { - "in" : "query", - "name" : "database_secrets", + }, + "tags" : [ "/api/ee/transforms-python" ] + } + }, + "/api/ee/transforms/{id}/inspect" : { + "get" : { + "operationId" : "get-api-ee-transforms-id-inspect", + "summary" : "GET /api/ee/transforms/{id}/inspect", + "description" : "Phase 1: Discover available lenses for a transform.\n Returns structural metadata and available lens types.", + "parameters" : [ { + "in" : "path", + "name" : "id", "required" : true, "schema" : { - "default" : false, - "type" : "boolean" + "type" : "integer", + "minimum" : 1 + }, + "description" : "value must be an integer greater than zero." + } ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/metabase-enterprise.transforms-inspector.schema.discovery-response" + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" } - }, { - "in" : "query", - "name" : "continue_on_error", + }, + "tags" : [ "/api/ee/transforms" ] + } + }, + "/api/ee/transforms/{id}/inspect/{lens-id}" : { + "get" : { + "operationId" : "get-api-ee-transforms-id-inspect-lens-id", + "summary" : "GET /api/ee/transforms/{id}/inspect/{lens-id}", + "description" : "Phase 2: Get full lens contents for a transform.\n Returns sections, cards with dataset_query, and trigger definitions.\n Accepts optional params for drill lenses as query params.", + "parameters" : [ { + "in" : "path", + "name" : "id", "required" : true, "schema" : { - "default" : false, - "type" : "boolean" - } + "type" : "integer", + "minimum" : 1 + }, + "description" : "value must be an integer greater than zero." }, { - "in" : "query", - "name" : "full_stacktrace", + "in" : "path", + "name" : "lens-id", "required" : true, "schema" : { - "default" : false, - "type" : "boolean" + "type" : "string", + "minLength" : 1 } } ], "responses" : { "2XX" : { - "description" : "Successful response" + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/metabase-enterprise.transforms-inspector.schema.lens" + } + } + } }, "4XX" : { "description" : "Client error response" @@ -28930,42 +31940,42 @@ "description" : "Server error response" } }, - "tags" : [ "/api/ee/serialization" ] + "tags" : [ "/api/ee/transforms" ] } }, - "/api/ee/serialization/import" : { + "/api/ee/transforms/{id}/inspect/{lens-id}/query" : { "post" : { - "operationId" : "post-api-ee-serialization-import", - "summary" : "POST /api/ee/serialization/import", - "description" : "Deserialize Metabase instance from an archive generated by /export.\n\n Parameters:\n - `file`: archive encoded as `multipart/form-data` (required).\n\n Returns logs of deserialization.", + "operationId" : "post-api-ee-transforms-id-inspect-lens-id-query", + "summary" : "POST /api/ee/transforms/{id}/inspect/{lens-id}/query", + "description" : "Execute a query in the context of a transform inspector lens.", "parameters" : [ { - "in" : "query", - "name" : "continue_on_error", - "required" : true, - "schema" : { - "default" : false, - "type" : "boolean" - } - }, { - "in" : "query", - "name" : "full_stacktrace", + "in" : "path", + "name" : "id", "required" : true, "schema" : { - "default" : false, - "type" : "boolean" - } + "type" : "integer", + "minimum" : 1 + }, + "description" : "value must be an integer greater than zero." }, { - "in" : "query", - "name" : "reindex", + "in" : "path", + "name" : "lens-id", "required" : true, "schema" : { - "default" : true, - "type" : "boolean" + "type" : "string", + "minLength" : 1 } } ], "responses" : { "2XX" : { - "description" : "Successful response" + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/metabase.query-processor.schema.query-result" + } + } + } }, "4XX" : { "description" : "Client error response" @@ -28976,92 +31986,85 @@ }, "requestBody" : { "content" : { - "multipart/form-data" : { + "application/json" : { "schema" : { "type" : "object", "properties" : { - "file" : { - "description" : ".tgz with serialization data", + "lens_params" : { + "oneOf" : [ { + "type" : "object", + "additionalProperties" : { } + }, { + "type" : "null" + } ] + }, + "query" : { "type" : "object", "properties" : { - "content-type" : { - "type" : "string" - }, - "filename" : { - "type" : "string" - }, - "size" : { - "type" : "integer" - }, - "tempfile" : { } - }, - "required" : [ "content-type", "filename", "size", "tempfile" ], - "additionalProperties" : false + "database" : { + "oneOf" : [ { + "type" : "integer" + }, { + "type" : "null" + } ] + } + } } }, - "required" : [ "file" ] + "required" : [ "query" ] } } } }, - "tags" : [ "/api/ee/serialization" ] + "tags" : [ "/api/ee/transforms" ] } }, - "/api/ee/stale/{id}" : { + "/api/ee/upload-management/tables" : { "get" : { - "operationId" : "get-api-ee-stale-id", - "summary" : "GET /api/ee/stale/{id}", - "description" : "A flexible endpoint that returns stale entities, in the same shape as collections/items, with the following options:\n - `before_date` - only return entities that were last edited before this date (default: 6 months ago)\n - `is_recursive` - if true, return entities from all children of the collection, not just the direct children (default: false)\n - `sort_column` - the column to sort by (default: name)\n - `sort_direction` - the direction to sort by (default: asc)", + "operationId" : "get-api-ee-upload-management-tables", + "summary" : "GET /api/ee/upload-management/tables", + "description" : "Get all `Tables` visible to the current user which were created by uploading a file.", + "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response" + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "tags" : [ "/api/ee/upload-management" ] + } + }, + "/api/ee/upload-management/tables/{id}" : { + "delete" : { + "operationId" : "delete-api-ee-upload-management-tables-id", + "summary" : "DELETE /api/ee/upload-management/tables/{id}", + "description" : "Delete the uploaded table from the database, optionally archiving cards for which it is the primary source.", "parameters" : [ { "in" : "path", "name" : "id", "required" : true, "schema" : { - "anyOf" : [ { - "description" : "value must be an integer greater than zero.", - "type" : "integer", - "minimum" : 1 - }, { - "const" : "root" - } ] - } + "type" : "integer", + "minimum" : 1 + }, + "description" : "value must be an integer greater than zero." }, { "in" : "query", - "name" : "before_date", + "name" : "archive-cards", "required" : false, "schema" : { + "default" : false, "oneOf" : [ { - "type" : "string" + "type" : "boolean" }, { "type" : "null" } ] } - }, { - "in" : "query", - "name" : "is_recursive", - "required" : true, - "schema" : { - "default" : false, - "type" : "boolean" - } - }, { - "in" : "query", - "name" : "sort_column", - "required" : true, - "schema" : { - "default" : "name", - "type" : "string", - "enum" : [ "name", "last_used_at" ] - } - }, { - "in" : "query", - "name" : "sort_direction", - "required" : true, - "schema" : { - "default" : "asc", - "type" : "string", - "enum" : [ "asc", "desc" ] - } } ], "responses" : { "2XX" : { @@ -29074,14 +32077,93 @@ "description" : "Server error response" } }, - "tags" : [ "/api/ee/stale" ] + "tags" : [ "/api/ee/upload-management" ] } }, - "/api/ee/support-access-grant" : { + "/api/ee/workspace-instance/current" : { + "get" : { + "operationId" : "get-api-ee-workspace-instance-current", + "summary" : "GET /api/ee/workspace-instance/current", + "description" : "Read-only summary of the workspace loaded on this instance, wrapped in a\n `{:data ...}` envelope.\n\n Reads from the `instance-workspace` setting populated at boot by the `:workspace`\n section of `config.yml`, or at runtime by `POST /current`. `:data` is `null`\n when no workspace was loaded — i.e. this is a manager-only instance, or no\n `config.yml` was present at boot and `POST /current` hasn't been called.\n The envelope avoids an empty JSON body for the `nil` case.\n\n The workspace's `can_write` flag is `false` when it was set by deployment\n config (`config.yml` or `MB_INSTANCE_WORKSPACE`); `POST`/`DELETE` are rejected\n in that case.", + "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "data" : { + "oneOf" : [ { + "type" : "object", + "properties" : { + "can_write" : { + "type" : "boolean" + }, + "databases" : { + "type" : "object", + "additionalProperties" : { + "type" : "object", + "properties" : { + "input_schemas" : { + "type" : "array", + "items" : { + "type" : "string" + } + }, + "output" : { + "type" : "object", + "properties" : { + "db" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "schema" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + } + } + } + }, + "required" : [ "input_schemas", "output" ] + } + }, + "name" : { + "type" : "string", + "minLength" : 1 + } + }, + "required" : [ "name", "databases", "can_write" ] + }, { + "type" : "null" + } ] + } + }, + "required" : [ "data" ] + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "tags" : [ "/api/ee/workspace-instance" ] + }, "post" : { - "operationId" : "post-api-ee-support-access-grant", - "summary" : "POST /api/ee/support-access-grant", - "description" : "Create a new support access grant.\n\n Requires superuser permissions. Only one active grant can exist at a time.", + "operationId" : "post-api-ee-workspace-instance-current", + "summary" : "POST /api/ee/workspace-instance/current", + "description" : "Install a workspace config on this instance at runtime. Accepts the same shape\n `GET /current` returns and persists it via the `instance-workspace` setting so\n it survives restarts. Use this on a running instance to enter workspace mode\n without restarting from `config.yml`.\n\n Returns 400 if the workspace was set by deployment config (`config.yml` or\n `MB_INSTANCE_WORKSPACE`) and so is read-only.", "parameters" : [ ], "responses" : { "2XX" : { @@ -29089,7 +32171,51 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/metabase-enterprise.support-access-grants.schema.grant-response" + "type" : "object", + "properties" : { + "can_write" : { + "type" : "boolean" + }, + "databases" : { + "type" : "object", + "additionalProperties" : { + "type" : "object", + "properties" : { + "input_schemas" : { + "type" : "array", + "items" : { + "type" : "string" + } + }, + "output" : { + "type" : "object", + "properties" : { + "db" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "schema" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + } + } + } + }, + "required" : [ "input_schemas", "output" ] + } + }, + "name" : { + "type" : "string", + "minLength" : 1 + } + }, + "required" : [ "name", "databases", "can_write" ] } } } @@ -29105,60 +32231,25 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/metabase-enterprise.support-access-grants.schema.create-grant-request" + "$ref" : "#/components/schemas/metabase.workspaces.core.workspace-instance-config" } } } }, - "tags" : [ "/api/ee/support-access-grant" ] + "tags" : [ "/api/ee/workspace-instance" ] }, - "get" : { - "operationId" : "get-api-ee-support-access-grant", - "summary" : "GET /api/ee/support-access-grant", - "description" : "List support access grants with optional filtering and pagination.\n\n Requires superuser permissions.\n\n Query parameters:\n - ticket-number: Filter by ticket number\n - user-id: Filter by user who created the grant\n - include-revoked: Include revoked grants (default false)", - "parameters" : [ { - "in" : "query", - "name" : "ticket-number", - "required" : false, - "schema" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] - } - }, { - "in" : "query", - "name" : "user-id", - "required" : false, - "schema" : { - "oneOf" : [ { - "description" : "value must be an integer greater than zero.", - "type" : "integer", - "minimum" : 1 - }, { - "type" : "null" - } ] - } - }, { - "in" : "query", - "name" : "include-revoked", - "required" : false, - "schema" : { - "oneOf" : [ { - "type" : "boolean" - }, { - "type" : "null" - } ] - } - } ], + "delete" : { + "operationId" : "delete-api-ee-workspace-instance-current", + "summary" : "DELETE /api/ee/workspace-instance/current", + "description" : "Clear the workspace config on this instance. After this returns, the instance\n is no longer in workspace mode and `GET /current` returns `nil`. Also drops\n every `TableRemapping` row, since stale mappings from the prior workspace\n would otherwise keep rewriting queries on the now-unmanaged databases.\n\n Returns 400 if the workspace was set by deployment config (`config.yml` or\n `MB_INSTANCE_WORKSPACE`) and so is read-only.", + "parameters" : [ ], "responses" : { "2XX" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/metabase-enterprise.support-access-grants.schema.list-grants-response" + "type" : "null" } } } @@ -29170,14 +32261,14 @@ "description" : "Server error response" } }, - "tags" : [ "/api/ee/support-access-grant" ] + "tags" : [ "/api/ee/workspace-instance" ] } }, - "/api/ee/support-access-grant/current" : { + "/api/ee/workspace-instance/table-remappings" : { "get" : { - "operationId" : "get-api-ee-support-access-grant-current", - "summary" : "GET /api/ee/support-access-grant/current", - "description" : "Get the currently active support access grant, if one exists.\n\n Requires superuser permissions.", + "operationId" : "get-api-ee-workspace-instance-table-remappings", + "summary" : "GET /api/ee/workspace-instance/table-remappings", + "description" : "Return all table remappings, ordered by id.", "parameters" : [ ], "responses" : { "2XX" : { @@ -29185,7 +32276,58 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/metabase-enterprise.support-access-grants.schema.current-grant-response" + "type" : "array", + "items" : { + "type" : "object", + "properties" : { + "from_db" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "to_table_name" : { + "type" : "string", + "minLength" : 1 + }, + "id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "database_id" : { + "$ref" : "#/components/schemas/metabase.lib.schema.id.database" + }, + "to_db" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "created_at" : { }, + "from_schema" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "from_table_name" : { + "type" : "string", + "minLength" : 1 + }, + "to_schema" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + } + }, + "required" : [ "id", "database_id", "from_db", "from_schema", "from_table_name", "to_db", "to_schema", "to_table_name", "created_at" ] + } } } } @@ -29197,31 +32339,112 @@ "description" : "Server error response" } }, - "tags" : [ "/api/ee/support-access-grant" ] + "tags" : [ "/api/ee/workspace-instance" ] } }, - "/api/ee/support-access-grant/{id}/revoke" : { - "put" : { - "operationId" : "put-api-ee-support-access-grant-id-revoke", - "summary" : "PUT /api/ee/support-access-grant/{id}/revoke", - "description" : "Revoke an existing support access grant.\n\n Requires superuser permissions. Any admin can revoke any grant.", - "parameters" : [ { - "in" : "path", - "name" : "id", - "required" : true, - "schema" : { - "type" : "integer", - "minimum" : 1 - }, - "description" : "value must be an integer greater than zero." - } ], + "/api/ee/workspace-manager" : { + "get" : { + "operationId" : "get-api-ee-workspace-manager", + "summary" : "GET /api/ee/workspace-manager", + "description" : "List all Workspaces.", + "parameters" : [ ], "responses" : { "2XX" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/metabase-enterprise.support-access-grants.schema.grant-response" + "type" : "array", + "items" : { + "type" : "object", + "properties" : { + "created_at" : { + "anyOf" : [ { }, { } ] + }, + "creator" : { + "oneOf" : [ { + "type" : "object", + "properties" : { + "common_name" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "email" : { + "type" : "string", + "minLength" : 1 + }, + "first_name" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "last_name" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + } + }, + "required" : [ "id", "first_name", "last_name", "email" ], + "additionalProperties" : false + }, { + "type" : "null" + } ] + }, + "databases" : { + "type" : "array", + "items" : { + "type" : "object", + "properties" : { + "database_id" : { + "$ref" : "#/components/schemas/metabase.lib.schema.id.database" + }, + "input_schemas" : { + "type" : "array", + "items" : { + "type" : "string", + "minLength" : 1 + } + }, + "output_namespace" : { + "type" : "string" + }, + "status" : { + "type" : "string", + "enum" : [ "unprovisioned", "provisioning", "provisioned", "deprovisioning" ] + } + }, + "required" : [ "database_id", "input_schemas", "output_namespace", "status" ], + "additionalProperties" : false + } + }, + "id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "name" : { + "type" : "string", + "minLength" : 1 + }, + "updated_at" : { + "anyOf" : [ { }, { } ] + } + }, + "required" : [ "id", "name", "creator", "created_at", "updated_at" ], + "additionalProperties" : false + } } } } @@ -29233,14 +32456,12 @@ "description" : "Server error response" } }, - "tags" : [ "/api/ee/support-access-grant" ] - } - }, - "/api/ee/tenant" : { + "tags" : [ "/api/ee/workspace-manager" ] + }, "post" : { - "operationId" : "post-api-ee-tenant", - "summary" : "POST /api/ee/tenant", - "description" : "Create a new Tenant", + "operationId" : "post-api-ee-workspace-manager", + "summary" : "POST /api/ee/workspace-manager", + "description" : "Create a new Workspace (name only, no databases).", "parameters" : [ ], "responses" : { "2XX" : { @@ -29250,44 +32471,91 @@ "schema" : { "type" : "object", "properties" : { - "attributes" : { + "created_at" : { + "anyOf" : [ { }, { } ] + }, + "creator" : { "oneOf" : [ { "type" : "object", - "additionalProperties" : { - "type" : "string" - } + "properties" : { + "common_name" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "email" : { + "type" : "string", + "minLength" : 1 + }, + "first_name" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "last_name" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + } + }, + "required" : [ "id", "first_name", "last_name", "email" ], + "additionalProperties" : false }, { "type" : "null" } ] }, + "databases" : { + "type" : "array", + "items" : { + "type" : "object", + "properties" : { + "database_id" : { + "$ref" : "#/components/schemas/metabase.lib.schema.id.database" + }, + "input_schemas" : { + "type" : "array", + "items" : { + "type" : "string", + "minLength" : 1 + } + }, + "output_namespace" : { + "type" : "string" + }, + "status" : { + "type" : "string", + "enum" : [ "unprovisioned", "provisioning", "provisioned", "deprovisioning" ] + } + }, + "required" : [ "database_id", "input_schemas", "output_namespace", "status" ], + "additionalProperties" : false + } + }, "id" : { "description" : "value must be an integer greater than zero.", "type" : "integer", "minimum" : 1 }, - "is_active" : { - "type" : "boolean" - }, - "member_count" : { - "description" : "value must be an integer.", - "type" : "integer" - }, "name" : { "type" : "string", "minLength" : 1 }, - "slug" : { - "description" : "invalid slug", - "type" : "string", - "pattern" : "^[-_a-z0-9]{1,255}$" - }, - "tenant_collection_id" : { - "description" : "value must be an integer greater than zero.", - "type" : "integer", - "minimum" : 1 + "updated_at" : { + "anyOf" : [ { }, { } ] } }, - "required" : [ "id", "name", "slug", "is_active", "member_count", "attributes", "tenant_collection_id" ], + "required" : [ "id", "name", "creator", "created_at", "updated_at" ], "additionalProperties" : false } } @@ -29306,45 +32574,34 @@ "schema" : { "type" : "object", "properties" : { - "attributes" : { - "oneOf" : [ { - "type" : "object", - "additionalProperties" : { } - }, { - "type" : "null" - } ] - }, "name" : { "type" : "string", "minLength" : 1 - }, - "slug" : { - "description" : "invalid slug", - "type" : "string", - "pattern" : "^[-_a-z0-9]{1,255}$" } }, - "required" : [ "name", "slug" ], + "required" : [ "name" ], "additionalProperties" : false } } } }, - "tags" : [ "/api/ee/tenant" ] - }, + "tags" : [ "/api/ee/workspace-manager" ] + } + }, + "/api/ee/workspace-manager/{id}" : { "get" : { - "operationId" : "get-api-ee-tenant", - "summary" : "GET /api/ee/tenant", - "description" : "Get all tenants", + "operationId" : "get-api-ee-workspace-manager-id", + "summary" : "GET /api/ee/workspace-manager/{id}", + "description" : "Get a single Workspace by id.", "parameters" : [ { - "in" : "query", - "name" : "status", + "in" : "path", + "name" : "id", "required" : true, "schema" : { - "default" : "all", - "type" : "string", - "enum" : [ "all", "deactivated", "active" ] - } + "type" : "integer", + "minimum" : 1 + }, + "description" : "value must be an integer greater than zero." } ], "responses" : { "2XX" : { @@ -29354,17 +32611,27 @@ "schema" : { "type" : "object", "properties" : { - "data" : { - "type" : "array", - "items" : { + "created_at" : { + "anyOf" : [ { }, { } ] + }, + "creator" : { + "oneOf" : [ { "type" : "object", "properties" : { - "attributes" : { + "common_name" : { "oneOf" : [ { - "type" : "object", - "additionalProperties" : { - "type" : "string" - } + "type" : "string" + }, { + "type" : "null" + } ] + }, + "email" : { + "type" : "string", + "minLength" : 1 + }, + "first_name" : { + "oneOf" : [ { + "type" : "string" }, { "type" : "null" } ] @@ -29374,34 +32641,61 @@ "type" : "integer", "minimum" : 1 }, - "is_active" : { - "type" : "boolean" + "last_name" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + } + }, + "required" : [ "id", "first_name", "last_name", "email" ], + "additionalProperties" : false + }, { + "type" : "null" + } ] + }, + "databases" : { + "type" : "array", + "items" : { + "type" : "object", + "properties" : { + "database_id" : { + "$ref" : "#/components/schemas/metabase.lib.schema.id.database" }, - "member_count" : { - "description" : "value must be an integer.", - "type" : "integer" + "input_schemas" : { + "type" : "array", + "items" : { + "type" : "string", + "minLength" : 1 + } }, - "name" : { - "type" : "string", - "minLength" : 1 + "output_namespace" : { + "type" : "string" }, - "slug" : { - "description" : "invalid slug", + "status" : { "type" : "string", - "pattern" : "^[-_a-z0-9]{1,255}$" - }, - "tenant_collection_id" : { - "description" : "value must be an integer greater than zero.", - "type" : "integer", - "minimum" : 1 + "enum" : [ "unprovisioned", "provisioning", "provisioned", "deprovisioning" ] } }, - "required" : [ "id", "name", "slug", "is_active", "member_count", "attributes", "tenant_collection_id" ], + "required" : [ "database_id", "input_schemas", "output_namespace", "status" ], "additionalProperties" : false } + }, + "id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "name" : { + "type" : "string", + "minLength" : 1 + }, + "updated_at" : { + "anyOf" : [ { }, { } ] } }, - "required" : [ "data" ], + "required" : [ "id", "name", "creator", "created_at", "updated_at" ], "additionalProperties" : false } } @@ -29414,14 +32708,12 @@ "description" : "Server error response" } }, - "tags" : [ "/api/ee/tenant" ] - } - }, - "/api/ee/tenant/{id}" : { + "tags" : [ "/api/ee/workspace-manager" ] + }, "put" : { - "operationId" : "put-api-ee-tenant-id", - "summary" : "PUT /api/ee/tenant/{id}", - "description" : "Update a tenant, can set name, attributes, or whether this tenant is active.", + "operationId" : "put-api-ee-workspace-manager-id", + "summary" : "PUT /api/ee/workspace-manager/{id}", + "description" : "Update a workspace's name.", "parameters" : [ { "in" : "path", "name" : "id", @@ -29440,44 +32732,91 @@ "schema" : { "type" : "object", "properties" : { - "attributes" : { + "created_at" : { + "anyOf" : [ { }, { } ] + }, + "creator" : { "oneOf" : [ { "type" : "object", - "additionalProperties" : { - "type" : "string" - } + "properties" : { + "common_name" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "email" : { + "type" : "string", + "minLength" : 1 + }, + "first_name" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "last_name" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + } + }, + "required" : [ "id", "first_name", "last_name", "email" ], + "additionalProperties" : false }, { "type" : "null" } ] }, + "databases" : { + "type" : "array", + "items" : { + "type" : "object", + "properties" : { + "database_id" : { + "$ref" : "#/components/schemas/metabase.lib.schema.id.database" + }, + "input_schemas" : { + "type" : "array", + "items" : { + "type" : "string", + "minLength" : 1 + } + }, + "output_namespace" : { + "type" : "string" + }, + "status" : { + "type" : "string", + "enum" : [ "unprovisioned", "provisioning", "provisioned", "deprovisioning" ] + } + }, + "required" : [ "database_id", "input_schemas", "output_namespace", "status" ], + "additionalProperties" : false + } + }, "id" : { "description" : "value must be an integer greater than zero.", "type" : "integer", "minimum" : 1 }, - "is_active" : { - "type" : "boolean" - }, - "member_count" : { - "description" : "value must be an integer.", - "type" : "integer" - }, "name" : { "type" : "string", "minLength" : 1 }, - "slug" : { - "description" : "invalid slug", - "type" : "string", - "pattern" : "^[-_a-z0-9]{1,255}$" - }, - "tenant_collection_id" : { - "description" : "value must be an integer greater than zero.", - "type" : "integer", - "minimum" : 1 + "updated_at" : { + "anyOf" : [ { }, { } ] } }, - "required" : [ "id", "name", "slug", "is_active", "member_count", "attributes", "tenant_collection_id" ], + "required" : [ "id", "name", "creator", "created_at", "updated_at" ], "additionalProperties" : false } } @@ -29496,28 +32835,9 @@ "schema" : { "type" : "object", "properties" : { - "attributes" : { - "oneOf" : [ { - "type" : "object", - "additionalProperties" : { } - }, { - "type" : "null" - } ] - }, - "is_active" : { - "oneOf" : [ { - "type" : "boolean" - }, { - "type" : "null" - } ] - }, "name" : { - "oneOf" : [ { - "type" : "string", - "minLength" : 1 - }, { - "type" : "null" - } ] + "type" : "string", + "minLength" : 1 } }, "additionalProperties" : false @@ -29525,12 +32845,12 @@ } } }, - "tags" : [ "/api/ee/tenant" ] + "tags" : [ "/api/ee/workspace-manager" ] }, - "get" : { - "operationId" : "get-api-ee-tenant-id", - "summary" : "GET /api/ee/tenant/{id}", - "description" : "Get info about a tenant", + "delete" : { + "operationId" : "delete-api-ee-workspace-manager-id", + "summary" : "DELETE /api/ee/workspace-manager/{id}", + "description" : "Delete a Workspace. Deprovisions all databases first (blocking).", "parameters" : [ { "in" : "path", "name" : "id", @@ -29549,45 +32869,16 @@ "schema" : { "type" : "object", "properties" : { - "attributes" : { - "oneOf" : [ { - "type" : "object", - "additionalProperties" : { - "type" : "string" - } - }, { - "type" : "null" - } ] - }, - "id" : { - "description" : "value must be an integer greater than zero.", - "type" : "integer", - "minimum" : 1 - }, - "is_active" : { + "deleted" : { "type" : "boolean" }, - "member_count" : { - "description" : "value must be an integer.", - "type" : "integer" - }, - "name" : { - "type" : "string", - "minLength" : 1 - }, - "slug" : { - "description" : "invalid slug", - "type" : "string", - "pattern" : "^[-_a-z0-9]{1,255}$" - }, - "tenant_collection_id" : { + "id" : { "description" : "value must be an integer greater than zero.", "type" : "integer", "minimum" : 1 } }, - "required" : [ "id", "name", "slug", "is_active", "member_count", "attributes", "tenant_collection_id" ], - "additionalProperties" : false + "required" : [ "id", "deleted" ] } } } @@ -29599,26 +32890,49 @@ "description" : "Server error response" } }, - "tags" : [ "/api/ee/tenant" ] + "tags" : [ "/api/ee/workspace-manager" ] } }, - "/api/ee/transforms-python/library/{path}" : { + "/api/ee/workspace-manager/{id}/config" : { "get" : { - "operationId" : "get-api-ee-transforms-python-library-path", - "summary" : "GET /api/ee/transforms-python/library/{path}", - "description" : "Get the Python library for user modules.", + "operationId" : "get-api-ee-workspace-manager-id-config", + "summary" : "GET /api/ee/workspace-manager/{id}/config", + "description" : "Download the workspace's developer-instance config as a YAML file. 409 if any\n of the workspace's databases is not `:provisioned`.", "parameters" : [ { "in" : "path", - "name" : "path", + "name" : "id", "required" : true, "schema" : { - "type" : "string", - "minLength" : 1 - } + "type" : "integer", + "minimum" : 1 + }, + "description" : "value must be an integer greater than zero." } ], "responses" : { "2XX" : { - "description" : "Successful response" + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "body" : { + "type" : "string" + }, + "headers" : { + "type" : "object", + "additionalProperties" : { + "type" : "string" + } + }, + "status" : { + "const" : 200 + } + }, + "required" : [ "status", "headers", "body" ] + } + } + } }, "4XX" : { "description" : "Client error response" @@ -29627,57 +32941,24 @@ "description" : "Server error response" } }, - "tags" : [ "/api/ee/transforms-python" ] - }, - "put" : { - "operationId" : "put-api-ee-transforms-python-library-path", - "summary" : "PUT /api/ee/transforms-python/library/{path}", - "description" : "Update the Python library source code for user modules.", + "tags" : [ "/api/ee/workspace-manager" ] + } + }, + "/api/ee/workspace-manager/{id}/database" : { + "post" : { + "operationId" : "post-api-ee-workspace-manager-id-database", + "summary" : "POST /api/ee/workspace-manager/{id}/database", + "description" : "Add a database to a workspace and provision it immediately (blocking).", "parameters" : [ { "in" : "path", - "name" : "path", + "name" : "id", "required" : true, "schema" : { - "type" : "string", - "minLength" : 1 - } - } ], - "responses" : { - "2XX" : { - "description" : "Successful response" - }, - "4XX" : { - "description" : "Client error response" + "type" : "integer", + "minimum" : 1 }, - "5XX" : { - "description" : "Server error response" - } - }, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "properties" : { - "source" : { - "type" : "string" - } - }, - "required" : [ "source" ], - "additionalProperties" : false - } - } - } - }, - "tags" : [ "/api/ee/transforms-python" ] - } - }, - "/api/ee/transforms-python/test-run" : { - "post" : { - "operationId" : "post-api-ee-transforms-python-test-run", - "summary" : "POST /api/ee/transforms-python/test-run", - "description" : "Evaluate an ad-hoc python transform on a sample of input data.\n Intended for short runs for early feedback. Input/output/timeout limits apply.", - "parameters" : [ ], + "description" : "value must be an integer greater than zero." + } ], "responses" : { "2XX" : { "description" : "Successful response", @@ -29686,42 +32967,92 @@ "schema" : { "type" : "object", "properties" : { - "error" : { - "type" : "object", - "properties" : { - "message" : { - "anyOf" : [ { }, { } ] - } - }, - "required" : [ "message" ] - }, - "logs" : { - "type" : "string" + "created_at" : { + "anyOf" : [ { }, { } ] }, - "output" : { - "type" : "object", - "properties" : { - "cols" : { - "type" : "array", - "items" : { - "type" : "object", - "properties" : { - "name" : { - "type" : "string" - } - }, - "required" : [ "name" ] + "creator" : { + "oneOf" : [ { + "type" : "object", + "properties" : { + "common_name" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "email" : { + "type" : "string", + "minLength" : 1 + }, + "first_name" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "last_name" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + } + }, + "required" : [ "id", "first_name", "last_name", "email" ], + "additionalProperties" : false + }, { + "type" : "null" + } ] + }, + "databases" : { + "type" : "array", + "items" : { + "type" : "object", + "properties" : { + "database_id" : { + "$ref" : "#/components/schemas/metabase.lib.schema.id.database" + }, + "input_schemas" : { + "type" : "array", + "items" : { + "type" : "string", + "minLength" : 1 + } + }, + "output_namespace" : { + "type" : "string" + }, + "status" : { + "type" : "string", + "enum" : [ "unprovisioned", "provisioning", "provisioned", "deprovisioning" ] } }, - "rows" : { - "type" : "array", - "items" : { } - } - }, - "required" : [ "cols", "rows" ] + "required" : [ "database_id", "input_schemas", "output_namespace", "status" ], + "additionalProperties" : false + } + }, + "id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "name" : { + "type" : "string", + "minLength" : 1 + }, + "updated_at" : { + "anyOf" : [ { }, { } ] } }, - "required" : [ "logs" ] + "required" : [ "id", "name", "creator", "created_at", "updated_at" ], + "additionalProperties" : false } } } @@ -29739,52 +33070,31 @@ "schema" : { "type" : "object", "properties" : { - "code" : { - "type" : "string" - }, - "output_row_limit" : { - "allOf" : [ { - "type" : "integer" - }, { - "type" : "number", - "exclusiveMinimum" : 1 - }, { - "type" : "number", - "maximum" : 100 - } ] - }, - "per_input_row_limit" : { - "allOf" : [ { - "type" : "integer" - }, { - "type" : "number", - "exclusiveMinimum" : 1 - }, { - "type" : "number", - "maximum" : 100 - } ] + "database_id" : { + "$ref" : "#/components/schemas/metabase.lib.schema.id.database" }, - "source_tables" : { + "input_schemas" : { "type" : "array", "items" : { - "$ref" : "#/components/schemas/metabase.transforms-base.util.source-table-entry" - }, - "minItems" : 1 + "type" : "string", + "minLength" : 1 + } } }, - "required" : [ "code", "source_tables" ] + "required" : [ "database_id", "input_schemas" ], + "additionalProperties" : false } } } }, - "tags" : [ "/api/ee/transforms-python" ] + "tags" : [ "/api/ee/workspace-manager" ] } }, - "/api/ee/transforms/{id}/inspect" : { - "get" : { - "operationId" : "get-api-ee-transforms-id-inspect", - "summary" : "GET /api/ee/transforms/{id}/inspect", - "description" : "Phase 1: Discover available lenses for a transform.\n Returns structural metadata and available lens types.", + "/api/ee/workspace-manager/{id}/database/{db-id}" : { + "put" : { + "operationId" : "put-api-ee-workspace-manager-id-database-db-id", + "summary" : "PUT /api/ee/workspace-manager/{id}/database/{db-id}", + "description" : "Update a database's input namespaces. Deprovisions the old config and reprovisions\n with the new one (blocking).", "parameters" : [ { "in" : "path", "name" : "id", @@ -29794,50 +33104,15 @@ "minimum" : 1 }, "description" : "value must be an integer greater than zero." - } ], - "responses" : { - "2XX" : { - "description" : "Successful response", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/metabase-enterprise.transforms-inspector.schema.discovery-response" - } - } - } - }, - "4XX" : { - "description" : "Client error response" - }, - "5XX" : { - "description" : "Server error response" - } - }, - "tags" : [ "/api/ee/transforms" ] - } - }, - "/api/ee/transforms/{id}/inspect/{lens-id}" : { - "get" : { - "operationId" : "get-api-ee-transforms-id-inspect-lens-id", - "summary" : "GET /api/ee/transforms/{id}/inspect/{lens-id}", - "description" : "Phase 2: Get full lens contents for a transform.\n Returns sections, cards with dataset_query, and trigger definitions.\n Accepts optional params for drill lenses as query params.", - "parameters" : [ { + }, { "in" : "path", - "name" : "id", + "name" : "db-id", "required" : true, "schema" : { "type" : "integer", "minimum" : 1 }, "description" : "value must be an integer greater than zero." - }, { - "in" : "path", - "name" : "lens-id", - "required" : true, - "schema" : { - "type" : "string", - "minLength" : 1 - } } ], "responses" : { "2XX" : { @@ -29845,7 +33120,94 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/metabase-enterprise.transforms-inspector.schema.lens" + "type" : "object", + "properties" : { + "created_at" : { + "anyOf" : [ { }, { } ] + }, + "creator" : { + "oneOf" : [ { + "type" : "object", + "properties" : { + "common_name" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "email" : { + "type" : "string", + "minLength" : 1 + }, + "first_name" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "last_name" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + } + }, + "required" : [ "id", "first_name", "last_name", "email" ], + "additionalProperties" : false + }, { + "type" : "null" + } ] + }, + "databases" : { + "type" : "array", + "items" : { + "type" : "object", + "properties" : { + "database_id" : { + "$ref" : "#/components/schemas/metabase.lib.schema.id.database" + }, + "input_schemas" : { + "type" : "array", + "items" : { + "type" : "string", + "minLength" : 1 + } + }, + "output_namespace" : { + "type" : "string" + }, + "status" : { + "type" : "string", + "enum" : [ "unprovisioned", "provisioning", "provisioned", "deprovisioning" ] + } + }, + "required" : [ "database_id", "input_schemas", "output_namespace", "status" ], + "additionalProperties" : false + } + }, + "id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "name" : { + "type" : "string", + "minLength" : 1 + }, + "updated_at" : { + "anyOf" : [ { }, { } ] + } + }, + "required" : [ "id", "name", "creator", "created_at", "updated_at" ], + "additionalProperties" : false } } } @@ -29857,14 +33219,32 @@ "description" : "Server error response" } }, - "tags" : [ "/api/ee/transforms" ] - } - }, - "/api/ee/transforms/{id}/inspect/{lens-id}/query" : { - "post" : { - "operationId" : "post-api-ee-transforms-id-inspect-lens-id-query", - "summary" : "POST /api/ee/transforms/{id}/inspect/{lens-id}/query", - "description" : "Execute a query in the context of a transform inspector lens.", + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "input_schemas" : { + "type" : "array", + "items" : { + "type" : "string", + "minLength" : 1 + } + } + }, + "required" : [ "input_schemas" ], + "additionalProperties" : false + } + } + } + }, + "tags" : [ "/api/ee/workspace-manager" ] + }, + "delete" : { + "operationId" : "delete-api-ee-workspace-manager-id-database-db-id", + "summary" : "DELETE /api/ee/workspace-manager/{id}/database/{db-id}", + "description" : "Deprovision and remove a database from a workspace (blocking).", "parameters" : [ { "in" : "path", "name" : "id", @@ -29876,12 +33256,13 @@ "description" : "value must be an integer greater than zero." }, { "in" : "path", - "name" : "lens-id", + "name" : "db-id", "required" : true, "schema" : { - "type" : "string", - "minLength" : 1 - } + "type" : "integer", + "minimum" : 1 + }, + "description" : "value must be an integer greater than zero." } ], "responses" : { "2XX" : { @@ -29889,62 +33270,97 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/metabase.query-processor.schema.query-result" - } - } - } - }, - "4XX" : { - "description" : "Client error response" - }, - "5XX" : { - "description" : "Server error response" - } - }, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "properties" : { - "lens_params" : { - "oneOf" : [ { - "type" : "object", - "additionalProperties" : { } - }, { - "type" : "null" - } ] - }, - "query" : { - "type" : "object", - "properties" : { - "database" : { - "oneOf" : [ { - "type" : "integer" - }, { - "type" : "null" - } ] + "type" : "object", + "properties" : { + "created_at" : { + "anyOf" : [ { }, { } ] + }, + "creator" : { + "oneOf" : [ { + "type" : "object", + "properties" : { + "common_name" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "email" : { + "type" : "string", + "minLength" : 1 + }, + "first_name" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "last_name" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + } + }, + "required" : [ "id", "first_name", "last_name", "email" ], + "additionalProperties" : false + }, { + "type" : "null" + } ] + }, + "databases" : { + "type" : "array", + "items" : { + "type" : "object", + "properties" : { + "database_id" : { + "$ref" : "#/components/schemas/metabase.lib.schema.id.database" + }, + "input_schemas" : { + "type" : "array", + "items" : { + "type" : "string", + "minLength" : 1 + } + }, + "output_namespace" : { + "type" : "string" + }, + "status" : { + "type" : "string", + "enum" : [ "unprovisioned", "provisioning", "provisioned", "deprovisioning" ] + } + }, + "required" : [ "database_id", "input_schemas", "output_namespace", "status" ], + "additionalProperties" : false } + }, + "id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "name" : { + "type" : "string", + "minLength" : 1 + }, + "updated_at" : { + "anyOf" : [ { }, { } ] } - } - }, - "required" : [ "query" ] + }, + "required" : [ "id", "name", "creator", "created_at", "updated_at" ], + "additionalProperties" : false + } } } - } - }, - "tags" : [ "/api/ee/transforms" ] - } - }, - "/api/ee/upload-management/tables" : { - "get" : { - "operationId" : "get-api-ee-upload-management-tables", - "summary" : "GET /api/ee/upload-management/tables", - "description" : "Get all `Tables` visible to the current user which were created by uploading a file.", - "parameters" : [ ], - "responses" : { - "2XX" : { - "description" : "Successful response" }, "4XX" : { "description" : "Client error response" @@ -29953,14 +33369,14 @@ "description" : "Server error response" } }, - "tags" : [ "/api/ee/upload-management" ] + "tags" : [ "/api/ee/workspace-manager" ] } }, - "/api/ee/upload-management/tables/{id}" : { - "delete" : { - "operationId" : "delete-api-ee-upload-management-tables-id", - "summary" : "DELETE /api/ee/upload-management/tables/{id}", - "description" : "Delete the uploaded table from the database, optionally archiving cards for which it is the primary source.", + "/api/ee/workspace-manager/{id}/metadata/export" : { + "get" : { + "operationId" : "get-api-ee-workspace-manager-id-metadata-export", + "summary" : "GET /api/ee/workspace-manager/{id}/metadata/export", + "description" : "Stream the warehouse metadata (databases, tables, fields) for the workspace's databases,\n scoped to each database's `:input` namespaces. Same flag semantics as\n `/api/ee/serialization/metadata/export` — sections must be opted into via the\n `with-databases` / `with-tables` / `with-fields` query parameters.", "parameters" : [ { "in" : "path", "name" : "id", @@ -29972,8 +33388,32 @@ "description" : "value must be an integer greater than zero." }, { "in" : "query", - "name" : "archive-cards", - "required" : false, + "name" : "with-databases", + "required" : true, + "schema" : { + "default" : false, + "oneOf" : [ { + "type" : "boolean" + }, { + "type" : "null" + } ] + } + }, { + "in" : "query", + "name" : "with-tables", + "required" : true, + "schema" : { + "default" : false, + "oneOf" : [ { + "type" : "boolean" + }, { + "type" : "null" + } ] + } + }, { + "in" : "query", + "name" : "with-fields", + "required" : true, "schema" : { "default" : false, "oneOf" : [ { @@ -29985,7 +33425,14 @@ } ], "responses" : { "2XX" : { - "description" : "Successful response" + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/metabase-enterprise.serialization.schema.export-metadata-response" + } + } + } }, "4XX" : { "description" : "Client error response" @@ -29994,7 +33441,7 @@ "description" : "Server error response" } }, - "tags" : [ "/api/ee/upload-management" ] + "tags" : [ "/api/ee/workspace-manager" ] } }, "/api/eid-translation/translate" : { @@ -30137,6 +33584,143 @@ "tags" : [ "/api/email" ] } }, + "/api/embed-mcp/drills" : { + "post" : { + "operationId" : "post-api-embed-mcp-drills", + "summary" : "POST /api/embed-mcp/drills", + "description" : "Stash a base64-encoded MBQL query for the iframe's pending drill-through and\n return a handle UUID the iframe will thread into the agent message so the\n `render_drill_through` tool can fetch it.", + "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response" + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "encodedQuery" : { + "type" : "string", + "minLength" : 1 + } + }, + "required" : [ "encodedQuery" ] + } + } + } + }, + "tags" : [ "/api/embed-mcp" ] + } + }, + "/api/embed-mcp/feedback" : { + "post" : { + "operationId" : "post-api-embed-mcp-feedback", + "summary" : "POST /api/embed-mcp/feedback", + "description" : "Proxy MCP Apps visualization feedback to Harbormaster.", + "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "body" : { + "type" : "null" + }, + "status" : { + "const" : 204 + } + }, + "required" : [ "status", "body" ] + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "conversation_data" : { + "type" : "object", + "properties" : { + "prompt" : { + "oneOf" : [ { + "type" : "string", + "maxLength" : 10000 + }, { + "type" : "null" + } ] + }, + "query" : { + "oneOf" : [ { + "type" : "string", + "maxLength" : 10000 + }, { + "type" : "null" + } ] + }, + "source" : { + "const" : "mcp" + } + }, + "required" : [ "source" ] + }, + "feedback" : { + "type" : "object", + "properties" : { + "freeform_feedback" : { + "oneOf" : [ { + "type" : "string", + "maxLength" : 10000 + }, { + "type" : "null" + } ] + }, + "issue_type" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "message_id" : { + "type" : "string", + "minLength" : 1 + }, + "positive" : { + "type" : "boolean" + } + }, + "required" : [ "message_id", "positive" ] + } + }, + "required" : [ "feedback", "conversation_data" ] + } + } + } + }, + "tags" : [ "/api/embed-mcp" ] + } + }, "/api/embed-theme" : { "get" : { "operationId" : "get-api-embed-theme", @@ -31148,6 +34732,64 @@ "tags" : [ "/api/embed" ] } }, + "/api/field/table-ids" : { + "post" : { + "operationId" : "post-api-field-table-ids", + "summary" : "POST /api/field/table-ids", + "description" : "Get unique Table IDs for a list of Field IDs.", + "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "table_ids" : { + "type" : "array", + "items" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + } + } + }, + "required" : [ "table_ids" ] + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "field_ids" : { + "type" : "array", + "items" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + } + } + }, + "required" : [ "field_ids" ] + } + } + } + }, + "tags" : [ "/api/field" ] + } + }, "/api/field/{id}" : { "get" : { "operationId" : "get-api-field-id", @@ -32033,11 +35675,11 @@ "tags" : [ "/api/ldap" ] } }, - "/api/llm/extract-tables" : { + "/api/llm/extract-sources" : { "post" : { - "operationId" : "post-api-llm-extract-tables", - "summary" : "POST /api/llm/extract-tables", - "description" : "Parse SQL and return referenced tables with their columns.\n\n Uses Macaw to parse the SQL, resolves table names to IDs,\n and returns permission-filtered tables with column metadata.\n\n This is a lightweight endpoint that does not trigger fingerprinting\n or field value fetching.", + "operationId" : "post-api-llm-extract-sources", + "summary" : "POST /api/llm/extract-sources", + "description" : "Parse native query sources and return referenced tables and cards/models.\n\n Uses Macaw to parse the SQL, resolves table names to IDs,\n and returns permission-filtered tables with column metadata. Card and model\n references are extracted from native query template tags.\n\n This is a lightweight endpoint that does not trigger fingerprinting\n or field value fetching.", "parameters" : [ ], "responses" : { "2XX" : { @@ -32047,6 +35689,13 @@ "schema" : { "type" : "object", "properties" : { + "card_ids" : { + "type" : "array", + "items" : { + "type" : "integer", + "minimum" : 1 + } + }, "tables" : { "type" : "array", "items" : { @@ -32134,7 +35783,7 @@ } } }, - "required" : [ "tables" ] + "required" : [ "tables", "card_ids" ] } } } @@ -32158,6 +35807,22 @@ }, "sql" : { "type" : "string" + }, + "template_tags" : { + "type" : "object", + "additionalProperties" : { + "type" : "object", + "properties" : { + "card-id" : { + "type" : "integer", + "minimum" : 1 + }, + "type" : { + "type" : "string" + } + }, + "required" : [ "type" ] + } } }, "required" : [ "database_id", "sql" ] @@ -32985,6 +36650,169 @@ "tags" : [ "/api/metabot" ] } }, + "/api/metabot/conversations" : { + "get" : { + "operationId" : "get-api-metabot-conversations", + "summary" : "GET /api/metabot/conversations", + "description" : "List conversations visible in the current user's history, most-recent first.\n\n New conversations are participation-based (the user authored at least one\n message); legacy conversations created before message authors were stamped\n fall back to the conversation originator.", + "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "data" : { + "type" : "array", + "items" : { + "type" : "object", + "properties" : { + "conversation_id" : { + "description" : "value must be a valid UUID.", + "type" : "string", + "pattern" : "[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}" + }, + "created_at" : { + "type" : "string", + "format" : "date-time" + }, + "last_message_at" : { + "oneOf" : [ { + "type" : "string", + "format" : "date-time" + }, { + "type" : "null" + } ] + }, + "message_count" : { + "description" : "value must be an integer greater or equal to than zero.", + "type" : "integer", + "minimum" : 0 + }, + "summary" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "user_id" : { + "oneOf" : [ { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, { + "type" : "null" + } ] + } + }, + "required" : [ "conversation_id", "created_at", "summary", "user_id", "message_count", "last_message_at" ] + } + }, + "limit" : { + "description" : "value must be an integer greater or equal to than zero.", + "type" : "integer", + "minimum" : 0 + }, + "offset" : { + "description" : "value must be an integer greater or equal to than zero.", + "type" : "integer", + "minimum" : 0 + }, + "total" : { + "description" : "value must be an integer greater or equal to than zero.", + "type" : "integer", + "minimum" : 0 + } + }, + "required" : [ "data", "total", "limit", "offset" ] + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "tags" : [ "/api/metabot/conversations" ] + } + }, + "/api/metabot/conversations/{id}" : { + "get" : { + "operationId" : "get-api-metabot-conversations-id", + "summary" : "GET /api/metabot/conversations/{id}", + "description" : "Return a single conversation with its flattened chat messages.\n\n Accessible to any participant in the conversation or to any superuser.", + "parameters" : [ { + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "string", + "pattern" : "[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}" + }, + "description" : "value must be a valid UUID." + } ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "chat_messages" : { + "type" : "array", + "items" : { + "type" : "object", + "properties" : { } + } + }, + "conversation_id" : { + "description" : "value must be a valid UUID.", + "type" : "string", + "pattern" : "[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}" + }, + "created_at" : { + "type" : "string", + "format" : "date-time" + }, + "summary" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "user_id" : { + "oneOf" : [ { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, { + "type" : "null" + } ] + } + }, + "required" : [ "conversation_id", "created_at", "summary", "user_id", "chat_messages" ] + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "tags" : [ "/api/metabot/conversations" ] + } + }, "/api/metabot/document/generate-content" : { "post" : { "operationId" : "post-api-metabot-document-generate-content", @@ -33097,11 +36925,27 @@ "post" : { "operationId" : "post-api-metabot-feedback", "summary" : "POST /api/metabot/feedback", - "description" : "Proxy Metabot feedback to Harbormaster, adding the premium embedding token.", + "description" : "Persist Metabot feedback.", "parameters" : [ ], "responses" : { "2XX" : { - "description" : "Successful response" + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "body" : { + "type" : "null" + }, + "status" : { + "const" : 204 + } + }, + "required" : [ "status", "body" ] + } + } + } }, "4XX" : { "description" : "Client error response" @@ -33115,7 +36959,35 @@ "application/json" : { "schema" : { "type" : "object", - "properties" : { } + "properties" : { + "freeform_feedback" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "issue_type" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "message_id" : { + "type" : "string", + "minLength" : 1 + }, + "metabot_id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "positive" : { + "type" : "boolean" + } + }, + "required" : [ "metabot_id", "message_id", "positive" ] } } } @@ -33313,45 +37185,45 @@ } ], "responses" : { "2XX" : { + "description" : "Successful response", "content" : { "application/json" : { "schema" : { "oneOf" : [ { - "additionalProperties" : false, + "type" : "object", "properties" : { "prompt_count" : { - "minimum" : 1, - "type" : "integer" + "type" : "integer", + "minimum" : 1 }, "status" : { "const" : "generated" } }, "required" : [ "status", "prompt_count" ], - "type" : "object" + "additionalProperties" : false }, { - "additionalProperties" : false, + "type" : "object", "properties" : { "status" : { "const" : "no-library-content" } }, "required" : [ "status" ], - "type" : "object" + "additionalProperties" : false }, { - "additionalProperties" : false, + "type" : "object", "properties" : { "status" : { "const" : "ai-produced-no-prompts" } }, "required" : [ "status" ], - "type" : "object" + "additionalProperties" : false } ] } } - }, - "description" : "Successful response" + } }, "4XX" : { "description" : "Client error response" @@ -33801,6 +37673,75 @@ "tags" : [ "/api/metabot/slack" ] } }, + "/api/metabot/source-feedback" : { + "post" : { + "operationId" : "post-api-metabot-source-feedback", + "summary" : "POST /api/metabot/source-feedback", + "description" : "Persist Metabot source feedback.", + "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "body" : { + "type" : "null" + }, + "status" : { + "const" : 204 + } + }, + "required" : [ "status", "body" ] + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "message_id" : { + "type" : "string", + "minLength" : 1 + }, + "metabot_id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "positive" : { + "type" : "boolean" + }, + "source_id" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + }, + "source_type" : { + "type" : "string", + "enum" : [ "table", "card", "model" ] + } + }, + "required" : [ "metabot_id", "message_id", "source_id", "source_type", "positive" ] + } + } + } + }, + "tags" : [ "/api/metabot" ] + } + }, "/api/metric" : { "get" : { "operationId" : "get-api-metric", @@ -35079,7 +39020,7 @@ "put" : { "operationId" : "put-api-notification-id", "summary" : "PUT /api/notification/{id}", - "description" : "Update a notification, can also update its subscriptions, handlers.\n Return the updated notification.", + "description" : "Update a notification, can also update its subscriptions, handlers.\n Return the updated notification.\n\n `creator_id` (owner) can be reassigned here only by superusers (e.g. the admin 'Edit alert'\n modal's owner picker). `mi/can-update?` rejects a non-superuser reassignment attempt with 403;\n the model's `before-update` hook is the backstop. Echoing back the unchanged value is fine.", "parameters" : [ { "in" : "path", "name" : "id", @@ -40252,14 +44193,237 @@ "type" : "null" } ] }, - "ids" : { - "type" : "array", - "items" : { - "description" : "value must be an integer greater than zero.", - "type" : "integer", - "minimum" : 1 - } - }, + "ids" : { + "type" : "array", + "items" : { + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 + } + }, + "display_name" : { + "oneOf" : [ { + "type" : "string", + "minLength" : 1 + }, { + "type" : "null" + } ] + }, + "data_source" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "caveats" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "entity_type" : { + "oneOf" : [ { + "description" : "value must be a valid entity type (keyword or string)." + }, { + "type" : "null" + } ] + }, + "description" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + } + }, + "required" : [ "ids" ] + } + } + } + }, + "tags" : [ "/api/table" ] + } + }, + "/api/table/card__:id/fks" : { + "get" : { + "operationId" : "get-api-table-card__:id-fks", + "summary" : "GET /api/table/card__:id/fks", + "description" : "Return FK info for the 'virtual' table for a Card. This is always empty, so this endpoint\n serves mainly as a placeholder to avoid having to change anything on the frontend.", + "parameters" : [ { + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "integer", + "minimum" : 1 + }, + "description" : "value must be an integer greater than zero." + } ], + "responses" : { + "2XX" : { + "description" : "Successful response" + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "tags" : [ "/api/table" ] + } + }, + "/api/table/card__:id/query_metadata" : { + "get" : { + "operationId" : "get-api-table-card__:id-query_metadata", + "summary" : "GET /api/table/card__:id/query_metadata", + "description" : "Return metadata for the 'virtual' table for a Card.", + "parameters" : [ { + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "integer", + "minimum" : 1 + }, + "description" : "value must be an integer greater than zero." + } ], + "responses" : { + "2XX" : { + "description" : "Successful response" + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "tags" : [ "/api/table" ] + } + }, + "/api/table/{id}" : { + "get" : { + "operationId" : "get-api-table-id", + "summary" : "GET /api/table/{id}", + "description" : "Get `Table` with ID.", + "parameters" : [ { + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "integer", + "minimum" : 1 + }, + "description" : "value must be an integer greater than zero." + }, { + "in" : "query", + "name" : "include_editable_data_model", + "required" : false, + "schema" : { + "oneOf" : [ { + "type" : "boolean" + }, { + "type" : "null" + } ] + } + } ], + "responses" : { + "2XX" : { + "description" : "Successful response" + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "tags" : [ "/api/table" ] + }, + "put" : { + "operationId" : "put-api-table-id", + "summary" : "PUT /api/table/{id}", + "description" : "Update `Table` with ID.", + "parameters" : [ { + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "integer", + "minimum" : 1 + }, + "description" : "value must be an integer greater than zero." + } ], + "responses" : { + "2XX" : { + "description" : "Successful response" + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "points_of_interest" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "visibility_type" : { + "oneOf" : [ { + "type" : "string", + "enum" : [ "technical", "hidden", "cruft" ] + }, { + "type" : "null" + } ] + }, + "data_authority" : { + "oneOf" : [ { + "$ref" : "#/components/schemas/metabase.warehouse-schema-rest.api.table.data-authority-write" + }, { + "type" : "null" + } ] + }, + "data_layer" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "show_in_getting_started" : { + "oneOf" : [ { + "type" : "boolean" + }, { + "type" : "null" + } ] + }, + "owner_email" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "null" + } ] + }, + "owner_user_id" : { + "oneOf" : [ { + "type" : "integer" + }, { + "type" : "null" + } ] + }, "display_name" : { "oneOf" : [ { "type" : "string", @@ -40268,225 +44432,11 @@ "type" : "null" } ] }, - "data_source" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] - }, - "caveats" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] - }, - "entity_type" : { - "oneOf" : [ { - "description" : "value must be a valid entity type (keyword or string)." - }, { - "type" : "null" - } ] - }, - "description" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] - } - }, - "required" : [ "ids" ] - } - } - } - }, - "tags" : [ "/api/table" ] - } - }, - "/api/table/card__:id/fks" : { - "get" : { - "operationId" : "get-api-table-card__:id-fks", - "summary" : "GET /api/table/card__:id/fks", - "description" : "Return FK info for the 'virtual' table for a Card. This is always empty, so this endpoint\n serves mainly as a placeholder to avoid having to change anything on the frontend.", - "parameters" : [ { - "in" : "path", - "name" : "id", - "required" : true, - "schema" : { - "type" : "integer", - "minimum" : 1 - }, - "description" : "value must be an integer greater than zero." - } ], - "responses" : { - "2XX" : { - "description" : "Successful response" - }, - "4XX" : { - "description" : "Client error response" - }, - "5XX" : { - "description" : "Server error response" - } - }, - "tags" : [ "/api/table" ] - } - }, - "/api/table/card__:id/query_metadata" : { - "get" : { - "operationId" : "get-api-table-card__:id-query_metadata", - "summary" : "GET /api/table/card__:id/query_metadata", - "description" : "Return metadata for the 'virtual' table for a Card.", - "parameters" : [ { - "in" : "path", - "name" : "id", - "required" : true, - "schema" : { - "type" : "integer", - "minimum" : 1 - }, - "description" : "value must be an integer greater than zero." - } ], - "responses" : { - "2XX" : { - "description" : "Successful response" - }, - "4XX" : { - "description" : "Client error response" - }, - "5XX" : { - "description" : "Server error response" - } - }, - "tags" : [ "/api/table" ] - } - }, - "/api/table/{id}" : { - "get" : { - "operationId" : "get-api-table-id", - "summary" : "GET /api/table/{id}", - "description" : "Get `Table` with ID.", - "parameters" : [ { - "in" : "path", - "name" : "id", - "required" : true, - "schema" : { - "type" : "integer", - "minimum" : 1 - }, - "description" : "value must be an integer greater than zero." - }, { - "in" : "query", - "name" : "include_editable_data_model", - "required" : false, - "schema" : { - "oneOf" : [ { - "type" : "boolean" - }, { - "type" : "null" - } ] - } - } ], - "responses" : { - "2XX" : { - "description" : "Successful response" - }, - "4XX" : { - "description" : "Client error response" - }, - "5XX" : { - "description" : "Server error response" - } - }, - "tags" : [ "/api/table" ] - }, - "put" : { - "operationId" : "put-api-table-id", - "summary" : "PUT /api/table/{id}", - "description" : "Update `Table` with ID.", - "parameters" : [ { - "in" : "path", - "name" : "id", - "required" : true, - "schema" : { - "type" : "integer", - "minimum" : 1 - }, - "description" : "value must be an integer greater than zero." - } ], - "responses" : { - "2XX" : { - "description" : "Successful response" - }, - "4XX" : { - "description" : "Client error response" - }, - "5XX" : { - "description" : "Server error response" - } - }, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "properties" : { - "points_of_interest" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] - }, - "visibility_type" : { - "oneOf" : [ { - "type" : "string", - "enum" : [ "technical", "hidden", "cruft" ] - }, { - "type" : "null" - } ] - }, - "data_authority" : { - "oneOf" : [ { - "$ref" : "#/components/schemas/metabase.warehouse-schema-rest.api.table.data-authority-write" - }, { - "type" : "null" - } ] - }, - "data_layer" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] - }, - "show_in_getting_started" : { - "oneOf" : [ { - "type" : "boolean" - }, { - "type" : "null" - } ] - }, - "owner_email" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] - }, - "owner_user_id" : { - "oneOf" : [ { - "type" : "integer" - }, { - "type" : "null" - } ] - }, - "display_name" : { + "collection_id" : { "oneOf" : [ { - "type" : "string", - "minLength" : 1 + "description" : "value must be an integer greater than zero.", + "type" : "integer", + "minimum" : 1 }, { "type" : "null" } ] @@ -42909,6 +46859,9 @@ } }, "created_at" : { }, + "active" : { + "type" : "boolean" + }, "description" : { "oneOf" : [ { "anyOf" : [ { @@ -42921,7 +46874,7 @@ } ] } }, - "required" : [ "id", "name", "description", "schedule", "ui_display_type", "entity_id", "created_at", "updated_at" ], + "required" : [ "id", "name", "description", "schedule", "ui_display_type", "active", "entity_id", "created_at", "updated_at" ], "additionalProperties" : false } } @@ -43148,6 +47101,9 @@ } }, "created_at" : { }, + "active" : { + "type" : "boolean" + }, "description" : { "oneOf" : [ { "anyOf" : [ { @@ -43160,7 +47116,7 @@ } ] } }, - "required" : [ "id", "name", "description", "schedule", "ui_display_type", "entity_id", "created_at", "updated_at" ], + "required" : [ "id", "name", "description", "schedule", "ui_display_type", "active", "entity_id", "created_at", "updated_at" ], "additionalProperties" : false } } @@ -43177,6 +47133,58 @@ "tags" : [ "/api/transform-job" ] } }, + "/api/transform-job/active" : { + "put" : { + "operationId" : "put-api-transform-job-active", + "summary" : "PUT /api/transform-job/active", + "description" : "Activate or deactivate every transform job. Inactive jobs do not run on schedule. Manual runs\n via `POST /api/transform-job/:job-id/run` ignore this flag.\n\n Reports per-job outcome counts: `:updated` (successfully flipped) and `:failed` (raised an\n error during the flip — the row update or Quartz write failed and was logged).", + "parameters" : [ ], + "responses" : { + "2XX" : { + "description" : "Successful response", + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "failed" : { + "type" : "integer" + }, + "updated" : { + "type" : "integer" + } + }, + "required" : [ "updated", "failed" ], + "additionalProperties" : false + } + } + } + }, + "4XX" : { + "description" : "Client error response" + }, + "5XX" : { + "description" : "Server error response" + } + }, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "properties" : { + "active" : { + "type" : "boolean" + } + }, + "required" : [ "active" ] + } + } + } + }, + "tags" : [ "/api/transform-job" ] + } + }, "/api/transform-job/{job-id}" : { "put" : { "operationId" : "put-api-transform-job-job-id", @@ -43301,6 +47309,9 @@ } }, "created_at" : { }, + "active" : { + "type" : "boolean" + }, "description" : { "oneOf" : [ { "anyOf" : [ { @@ -43313,7 +47324,7 @@ } ] } }, - "required" : [ "id", "name", "description", "schedule", "ui_display_type", "entity_id", "created_at", "updated_at" ], + "required" : [ "id", "name", "description", "schedule", "ui_display_type", "active", "entity_id", "created_at", "updated_at" ], "additionalProperties" : false } } @@ -43332,6 +47343,9 @@ "schema" : { "type" : "object", "properties" : { + "active" : { + "type" : "boolean" + }, "description" : { "oneOf" : [ { "type" : "string", @@ -43517,6 +47531,9 @@ } }, "created_at" : { }, + "active" : { + "type" : "boolean" + }, "description" : { "oneOf" : [ { "anyOf" : [ { @@ -43529,7 +47546,7 @@ } ] } }, - "required" : [ "id", "name", "description", "schedule", "ui_display_type", "entity_id", "created_at", "updated_at" ], + "required" : [ "id", "name", "description", "schedule", "ui_display_type", "active", "entity_id", "created_at", "updated_at" ], "additionalProperties" : false } } diff --git a/_docs/latest/configuring-metabase/appearance.md b/_docs/latest/configuring-metabase/appearance.md index 339236ff94..0751a4f726 100644 --- a/_docs/latest/configuring-metabase/appearance.md +++ b/_docs/latest/configuring-metabase/appearance.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -171,7 +171,7 @@ What people see when Metabase prompts them to log in. ### Landing page -The landing page is what people will see whenever they login. You can set the URL to a collection, question, dashboard or whatever, just make sure that everyone has access to that URL. +The illustration people see on the landing page when they log in. To choose which page people land on, see [Homepage](./settings#homepage). - Lighthouse - No illustration diff --git a/_docs/latest/configuring-metabase/caching.md b/_docs/latest/configuring-metabase/caching.md index 0ddeac01fc..669634baca 100644 --- a/_docs/latest/configuring-metabase/caching.md +++ b/_docs/latest/configuring-metabase/caching.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/configuring-metabase/config-file.md b/_docs/latest/configuring-metabase/config-file.md index 9637c855d0..5fc5be439c 100644 --- a/_docs/latest/configuring-metabase/config-file.md +++ b/_docs/latest/configuring-metabase/config-file.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/configuring-metabase/config-template.md b/_docs/latest/configuring-metabase/config-template.md index f8ec2c3121..6aec89027e 100644 --- a/_docs/latest/configuring-metabase/config-template.md +++ b/_docs/latest/configuring-metabase/config-template.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -79,6 +79,7 @@ config: admin-email: null aggregated-query-row-limit: null ai-features-enabled: true + ai-usage-max-retention-days: null allowed-iframe-hosts: |- youtube.com, youtu.be, @@ -120,16 +121,20 @@ config: can-run-adhoc-query-check-threshold: 250 check-for-updates: true config-from-file-sync-databases: true + csp-img-allowed-hosts: '' + csp-img-enabled: false csv-field-separator: ',' custom-formatting: {} custom-geojson: null custom-geojson-enabled: true custom-homepage: false custom-homepage-dashboard: null + custom-viz-enabled: false dashboards-save-last-used-parameters: true db-connection-timeout-ms: 10000 db-query-timeout-minutes: 20 default-maps-enabled: true + disable-auto-sync: false disable-cors-on-localhost: false download-row-limit: null email-from-address: notifications@metabase.com @@ -316,6 +321,7 @@ config: sync-leaf-fields-limit: 1000 synchronous-batch-updates: false thread-interrupt-escalation-timeout-ms: 0 + transform-run-job-sql-concurrency: 3 transform-timeout: 240 transforms-enabled: false unaggregated-query-row-limit: null diff --git a/_docs/latest/configuring-metabase/custom-maps.md b/_docs/latest/configuring-metabase/custom-maps.md index 2770641c62..706770ef9d 100644 --- a/_docs/latest/configuring-metabase/custom-maps.md +++ b/_docs/latest/configuring-metabase/custom-maps.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/configuring-metabase/customizing-jetty-webserver.md b/_docs/latest/configuring-metabase/customizing-jetty-webserver.md index f39db3958d..5c764deb83 100644 --- a/_docs/latest/configuring-metabase/customizing-jetty-webserver.md +++ b/_docs/latest/configuring-metabase/customizing-jetty-webserver.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/configuring-metabase/email.md b/_docs/latest/configuring-metabase/email.md index e9986046d9..9b1a9318b7 100644 --- a/_docs/latest/configuring-metabase/email.md +++ b/_docs/latest/configuring-metabase/email.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/configuring-metabase/environment-variables.md b/_docs/latest/configuring-metabase/environment-variables.md index b792bca34e..190e3e93e2 100644 --- a/_docs/latest/configuring-metabase/environment-variables.md +++ b/_docs/latest/configuring-metabase/environment-variables.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -89,6 +89,24 @@ Must be less than 1048575. See also MB_UNAGGREGATED_QUERY_ROW_LIMIT. Whether AI features are enabled. +### `MB_AI_USAGE_MAX_RETENTION_DAYS` + +- Type: integer +- Default: `null` +- [Exported as](../installation-and-operation/serialization): `ai-usage-max-retention-days`. +- [Configuration file name](./config-file): `ai-usage-max-retention-days` + +Number of days to retain rows in the ai_usage_log, metabot_conversation, and metabot_message tables. Minimum value is 30; set to 0 to retain data indefinitely. + +Sets the maximum number of days Metabase preserves rows for the following application database tables: + +- `ai_usage_log` +- `metabot_conversation` +- `metabot_message` + +Once a day, Metabase deletes rows older than this threshold. The minimum value is 30 days (Metabase will treat entered values of 1 to 29 the same as 30). +If set to 0, Metabase will keep all rows. + ### `MB_ALLOWED_IFRAME_HOSTS` - Type: string @@ -119,14 +137,34 @@ x.com` Allowed iframe hosts. +### `MB_CSP_IMG_ENABLED` + +- Type: boolean +- Default: `false` +- [Exported as](../installation-and-operation/serialization): `csp-img-enabled`. +- [Configuration file name](./config-file): `csp-img-enabled` + +When on, the browser Content Security Policy restricts `img-src` so images can only load from this Metabase instance and the domains listed in `MB_CSP_IMG_ALLOWED_HOSTS`. Must be turned on to enable Custom Visualizations. + +### `MB_CSP_IMG_ALLOWED_HOSTS` + +- Type: string +- Default: `""` +- [Exported as](../installation-and-operation/serialization): `csp-img-allowed-hosts`. +- [Configuration file name](./config-file): `csp-img-allowed-hosts` + +Comma-separated list of domains that images can load from in dashboard text cards, entity descriptions, and custom visualizations when `MB_CSP_IMG_ENABLED` is on. Empty by default, which restricts images to those hosted by your Metabase instance. See [Allowed domains for images](./settings#allowed-domains-for-images). + ### `MB_ANALYTICS_PII_RETENTION_ENABLED` +> Only available on Metabase [Pro](/product/pro) and [Enterprise](/product/enterprise) plans. + - Type: boolean - Default: `false` - [Exported as](../installation-and-operation/serialization): `analytics-pii-retention-enabled`. - [Configuration file name](./config-file): `analytics-pii-retention-enabled` -Enable logging of embed path, query parameters, user agent, and IP address of who views your internal data and embeds. This information will be shown in your usage analytics. +Enable logging of embed path, query parameters, user agent, IP address, and Metabot conversation metadata for users of your internal data and embeds. This information will be shown in your usage analytics. ### `MB_ANON_TRACKING_ENABLED` @@ -397,6 +435,17 @@ Pick one of your dashboards to serve as homepage. Users without dashboard access ID of dashboard to use as a homepage. +### `MB_CUSTOM_VIZ_ENABLED` + +> Only available on Metabase [Pro](/product/pro) and [Enterprise](/product/enterprise) plans. + +- Type: boolean +- Default: `false` +- [Exported as](../installation-and-operation/serialization): `custom-viz-enabled`. +- [Configuration file name](./config-file): `custom-viz-enabled` + +Should custom visualizations be enabled for this instance? + ### `MB_DASHBOARDS_SAVE_LAST_USED_PARAMETERS` - Type: boolean @@ -440,6 +489,13 @@ Timeout in minutes for the database's query execution, both for the Metabase app Whether or not the default GeoJSON maps are enabled. +### `MB_DISABLE_AUTO_SYNC` + +- Type: boolean +- Default: `false` + +When true, suppresses automatically-triggered syncs: the scheduled sync-and-analyze and update-field-values jobs do not run (and new triggers are not registered), and adding a new database does not kick off an initial sync. Syncs originating from an explicit request — the Sync-now REST endpoints, or a transform finalizing its output table — are unaffected. For deployments that load database metadata from disk at startup and should not have Metabase re-discover it. + ### `MB_DISABLE_CORS_ON_LOCALHOST` - Type: boolean @@ -1001,7 +1057,7 @@ When set to `true`, users who log in via JWT will automatically get a Metabase a - [Exported as](../installation-and-operation/serialization): `landing-page`. - [Configuration file name](./config-file): `landing-page` -Enter a URL of the landing page to show the user. This overrides the custom homepage setting above. +Enter a relative URL like /dashboard/1 or /collection/2. ### `MB_LANDING_PAGE_ILLUSTRATION` @@ -2162,6 +2218,18 @@ By default, this is 0 and the thread interrupt escalation does not run. Timeout in milliseconds to wait after query cancellation before escalating to thread interruption. This is used to free up threads that are stuck waiting for a DB response after a query has been cancelled. +### `MB_TRANSFORM_RUN_JOB_SQL_CONCURRENCY` + +> Only available on Metabase [Pro](/product/pro) and [Enterprise](/product/enterprise) plans. + +- Type: integer +- Default: `3` + +Maximum number of SQL-backed transforms a single transform-job run may execute in parallel. + +This setting is only configurable on instances with the transforms add-on; OSS + deployments without the add-on always use the default. + ### `MB_TRANSFORM_TIMEOUT` > Only available on Metabase [Pro](/product/pro) and [Enterprise](/product/enterprise) plans. @@ -2173,7 +2241,9 @@ The timeout for a transform job, in minutes. Controls the timeout for transform runs, including the queries they execute. This takes precedence over MB_DB_QUERY_TIMEOUT_MINUTES for queries executed inside a transform, so transforms can run longer than regular - Metabase queries. + Metabase queries. Enforced per-statement via `Statement.setQueryTimeout`; transforms also use a separate JDBC + connection pool whose c3p0 leak-detector tolerates this longer runtime, so non-transform connections continue to + use the shorter `MB_DB_QUERY_TIMEOUT_MINUTES` leak-detector. ### `MB_TRANSFORMS_ENABLED` @@ -2265,6 +2335,26 @@ Use [MB_SESSION_COOKIES](#mb_session_cookies) to also expire sessions, when brow Also see the [Changing session expiration](../people-and-groups/changing-session-expiration) documentation page. +### `MB_APPLICATION_DB_IDLE_CONNECTION_TEST_PERIOD_SECONDS` + +Type: integer
+Default: `60`
+Since: v62.0 + +How often, in seconds, to test idle connections in the application database pool. Set to `0` to disable idle connection testing. + +### `MB_APPLICATION_DB_MAX_CONNECTION_AGE_SECONDS` + +Type: integer
+Default: `3600`
+Since: v62.0 + +Maximum lifetime, in seconds, of a connection in the application database pool. After this duration the connection is closed and a new one is opened. Set to `0` to keep connections until the database closes them. + +The default of one hour is set primarily to limit memory growth (especially on PostgreSQL). + +If you are connecting with a short-lived credential (e.g. an AWS RDS IAM auth token) baked into the URL or password at startup, setting this to `0` is a partial workaround — eventual reconnects from the database or the network will still fail. Prefer [MB_DB_AWS_IAM](#mb_db_aws_iam) (AWS RDS / Aurora) or [MB_DB_AZURE_MANAGED_IDENTITY_CLIENT_ID](#mb_db_azure_managed_identity_client_id) (Azure). + ### `MB_APPLICATION_DB_MAX_CONNECTION_POOL_SIZE` Type: integer
@@ -2279,6 +2369,30 @@ To see how many connections are being used, check the Metabase logs and look for See [MB_JDBC_DATA_WAREHOUSE_MAX_CONNECTION_POOL_SIZE](#mb_jdbc_data_warehouse_max_connection_pool_size) for setting maximum connections to the databases connected to Metabase. +### `MB_APPLICATION_DB_MAX_IDLE_TIME_EXCESS_CONNECTIONS_SECONDS` + +Type: integer
+Default: `600`
+Since: v62.0 + +How long, in seconds, an idle connection beyond the minimum pool size may stay open before being culled. Set to `0` to never cull excess idle connections. + +### `MB_APPLICATION_DB_TEST_CONNECTION_ON_CHECKOUT` + +Type: boolean
+Default: `false`
+Since: v62.0 + +When `true`, each connection is validated when checked out of the pool. Adds latency to every checkout. Useful when credentials may invalidate connections behind the pool's back. + +### `MB_APPLICATION_DB_UNRETURNED_CONNECTION_TIMEOUT_SECONDS` + +Type: integer
+Default: `3600`
+Since: v62.0 + +How long, in seconds, before a checked-out but unreturned connection is forcibly reclaimed. The legacy name `MB_APPLICATION_DB_UNRETURNED_CONNECTION_TIMEOUT` continues to work; the suffixed form is preferred. + ### `MB_ASYNC_QUERY_THREAD_POOL_SIZE` Type: integer
@@ -2308,6 +2422,28 @@ Default: `true` When set to `false`, Metabase will print migrations needed to be done in the application database and exit. Those migrations need to be applied manually. When `true`, Metabase will automatically make changes to the application database. This is not related to migrating away from H2. +### `MB_DB_AWS_IAM` + +Type: boolean
+Default: `false`
+Since: v0.58.0 + +When `true`, authenticate to the application database (PostgreSQL or MySQL/MariaDB on AWS RDS or Aurora) using AWS IAM instead of a password. Omit [MB_DB_PASS](#mb_db_pass). Auth tokens are refreshed automatically. + +Requires that AWS credentials are available via the standard credential chain (e.g. EKS IRSA, EC2 instance profile, ECS task role, or `AWS_ACCESS_KEY_ID` / `AWS_SECRET_ACCESS_KEY`), that the credentials hold the `rds-db:connect` permission for your database user, and that the DB user is set up for IAM authentication. + +For MySQL/MariaDB, also set [MB_DB_SSL_CERT](#mb_db_ssl_cert), or pass the SSL parameters in [MB_DB_CONNECTION_URI](#mb_db_connection_uri). + +### `MB_DB_AZURE_MANAGED_IDENTITY_CLIENT_ID` + +Type: string
+Default: `null`
+Since: v0.51.0 + +Authenticate to a PostgreSQL or MySQL application database using an Azure Managed Identity instead of a password. Set this to the client ID of a user-assigned Managed Identity attached to your compute resource. Omit [MB_DB_PASS](#mb_db_pass). Access tokens are refreshed automatically. + +Requires the Database authentication providers Pro/Enterprise feature. + ### `MB_DB_CONNECTION_URI` Type: string
@@ -2371,6 +2507,17 @@ Default: `null` The port for [MB_DB_HOST](#mb_db_host). +### `MB_DB_SSL_CERT` + +Type: string
+Default: `null`
+Since: v0.58.0 + +SSL configuration for the application database. Used with [MB_DB_AWS_IAM](#mb_db_aws_iam) on MySQL/MariaDB, where SSL is required. + +- `"trust"` — trust the server certificate without validation. +- A filesystem path to a PEM file — validate against the supplied CA certificate. + ### `MB_DB_TYPE` Type: string (`"h2"`, `"postgres"`, `"mysql"`)
@@ -2625,7 +2772,7 @@ Comma-separated namespaces to trace. **WARNING:** Could log sensitive informatio ### `MB_PASSWORD_COMPLEXITY` -Type: string (`"weak"`, `"normal"`, `"strong"`)
+Type: string (`"weak"`, `"normal"`, `"strong"`, `"strong-enough"`)
Default: `"normal"` Enforce a password complexity rule to increase security for regular logins. This only applies to new users or users that are changing their password. Related [MB_PASSWORD_LENGTH](#mb_password_length) @@ -2633,6 +2780,7 @@ Enforce a password complexity rule to increase security for regular logins. This - `weak` no character constraints - `normal` at least 1 digit - `strong` minimum 8 characters w/ 2 lowercase, 2 uppercase, 1 digit, and 1 special character +- `strong-enough` minimum 15 characters ### `MB_PASSWORD_LENGTH` @@ -2650,6 +2798,15 @@ Path of the "plugins" directory, which is used to store the Metabase database dr The location is where custom third-party drivers should be added. Then Metabase will load the driver on startup, which can be verified in the log. +### `MB_PROMETHEUS_SERVER_PORT` + +Type: integer
+Default: `null` + +Port to serve Prometheus metrics from. If set, Prometheus collectors are registered and served from `localhost:/metrics`. + +See [Observability with Prometheus](../installation-and-operation/observability-with-prometheus). + ### `MB_QP_CACHE_BACKEND` Type: string
diff --git a/_docs/latest/configuring-metabase/fonts.md b/_docs/latest/configuring-metabase/fonts.md index d061f65f06..1b9a908ac2 100644 --- a/_docs/latest/configuring-metabase/fonts.md +++ b/_docs/latest/configuring-metabase/fonts.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -137,6 +137,12 @@ raw.githubusercontent.com/${user}/${repo}/${branch}/${path} Note that in the raw link, there is no `/blob/` directory in the URL. +### Custom fonts and Content Security Policy + +When you add a custom font hosted on another domain, Metabase automatically allows that domain in the browser's Content Security Policy for fonts. You don't need to configure anything for the font to work. + +If you don't add any custom fonts, Metabase only allows fonts served from your own instance. + ### Supporting multiple languages To support multiple character sets, for example both Latin and Cyrillic, you'll need to merge font files. diff --git a/_docs/latest/configuring-metabase/localization.md b/_docs/latest/configuring-metabase/localization.md index a9da22b68f..e69fc6bcb9 100644 --- a/_docs/latest/configuring-metabase/localization.md +++ b/_docs/latest/configuring-metabase/localization.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/configuring-metabase/log-configuration.md b/_docs/latest/configuring-metabase/log-configuration.md index 97fb427990..deb01c5789 100644 --- a/_docs/latest/configuring-metabase/log-configuration.md +++ b/_docs/latest/configuring-metabase/log-configuration.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/configuring-metabase/setting-up-metabase.md b/_docs/latest/configuring-metabase/setting-up-metabase.md index 088cc1e613..5fb4684690 100644 --- a/_docs/latest/configuring-metabase/setting-up-metabase.md +++ b/_docs/latest/configuring-metabase/setting-up-metabase.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/configuring-metabase/settings.md b/_docs/latest/configuring-metabase/settings.md index d670b0fcf1..a6d004fa44 100644 --- a/_docs/latest/configuring-metabase/settings.md +++ b/_docs/latest/configuring-metabase/settings.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -38,11 +38,13 @@ For example, say you enable HTTPS redirect for a Metabase instance at the site U > Note: if you haven't set up HTTPS on your server, Metabase will not let you enable HTTPS redirect. Instead, you'll get a warning saying "It looks like HTTPS is not properly configured." -## Custom homepage +## Homepage -Admins can pick a dashboard to serve as the homepage. If people lack permissions to view the selected dashboard, Metabase will redirect them to the default homepage. +Set the page people see when they first log in to your Metabase. Choose between: -To revert to the default Metabase homepage, simply toggle off Custom homepage. +- **Default Metabase home**: The standard Metabase homepage. +- **Dashboard**: Pick a dashboard to serve as the homepage. If people lack permissions to view the selected dashboard, Metabase will redirect them to the default homepage. +- **Custom URL**: Send people to a specific URL (a collection, question, dashboard, or other page). Make sure people have access to the URL. This option is only available on Metabase [Pro](/product/pro) and [Enterprise](/product/enterprise) plans. ## Email address for help requests @@ -93,3 +95,19 @@ docs.example.com Metabase would only allow iframes from `data.example.com` and `docs.example.com`. Metabase would block iframes from all other domains, including iframes from `example.com` and its other subdomains. See [iframes in dashboards](../dashboards/introduction#iframe-cards). + +## Restrict image domains + +When on, Metabase restricts the browser's Content Security Policy so images can only load from this Metabase instance or the domains listed in [Allowed domains for images](#allowed-domains-for-images). + +By default, images from any domain are allowed. + +You must turn on this setting to enable [Custom visualizations](../questions/visualizations/custom). While custom visualizations are enabled, you can't turn it back off. + +## Allowed domains for images + +When the [Restrict image domains](#restrict-image-domains) setting is on, Metabase will only allow images served from this Metabase instance, and any domains listed on this page. + +Leave this input empty to only allow images hosted by your Metabase instance. + +Add multiple domains separated by a comma. Domains follow the same matching rules as [Allowed domains for iframes in dashboards](#allowed-domains-for-iframes-in-dashboards): listing a domain like `example.com` also allows its subdomains, while listing a subdomain like `images.example.com` allows only that subdomain. diff --git a/_docs/latest/configuring-metabase/slack.md b/_docs/latest/configuring-metabase/slack.md index a1be9ab3c4..322794494c 100644 --- a/_docs/latest/configuring-metabase/slack.md +++ b/_docs/latest/configuring-metabase/slack.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/configuring-metabase/start.md b/_docs/latest/configuring-metabase/start.md index 957dff7bb2..0887701eef 100644 --- a/_docs/latest/configuring-metabase/start.md +++ b/_docs/latest/configuring-metabase/start.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: false @@ -71,6 +71,10 @@ Cache query results for faster loading times. Upload custom maps to your Metabase. +## [Custom visualizations](../questions/visualizations/custom) + +Add your own chart types by uploading visualization plugins. + ## [Customizing the Metabase Jetty webserver](./customizing-jetty-webserver) Set SSL and port settings for the Jetty webserver. diff --git a/_docs/latest/configuring-metabase/timezones.md b/_docs/latest/configuring-metabase/timezones.md index a0a3139a41..71ee1c3578 100644 --- a/_docs/latest/configuring-metabase/timezones.md +++ b/_docs/latest/configuring-metabase/timezones.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/configuring-metabase/webhooks.md b/_docs/latest/configuring-metabase/webhooks.md index 30ab869350..882e972326 100644 --- a/_docs/latest/configuring-metabase/webhooks.md +++ b/_docs/latest/configuring-metabase/webhooks.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/dashboards/actions.md b/_docs/latest/dashboards/actions.md index 53ded2f88c..5e93bc1e8f 100644 --- a/_docs/latest/dashboards/actions.md +++ b/_docs/latest/dashboards/actions.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/dashboards/filters.md b/_docs/latest/dashboards/filters.md index a9916dd967..eda2979e78 100644 --- a/_docs/latest/dashboards/filters.md +++ b/_docs/latest/dashboards/filters.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -125,7 +125,15 @@ Additionally, you can select an operator for the location filter: ### ID filter -The ID filter provides a simple input box where you can type the ID of a user, order, and so on. +The ID filter lets people filter on the ID of a user, order, and so on. + +You can select how people should filter on this column: + +- Dropdown list +- Search box +- Input box + +See [Set filter input type](#set-filter-input-type). To control which values appear in the dropdown or search box, see [Change a filter's selectable values](#change-a-filters-selectable-values). You can give people the option to pick one value or multiple values. @@ -251,7 +259,7 @@ To change the widget type: 1. When viewing a dashboard, click the **pencil** icon to **Edit the dashboard**. 2. Click on the filter or parameter you want to edit. A widget editing sidebar should pop up on the right side. -3. In the sidebar, change the type of filter or parameter. Changing the widget type disconnects the widget from all cards. You'll need to reconnect to the relevant columns on each card for the new type. If you've changed the widget type by mistake and want to restore the widget and its connections to cards, you can exit dashboard edit mode without saving your changes. +3. In the sidebar, change the type of filter or parameter. Changing the widget type disconnects the widget from all cards. You'll need to reconnect the widget to the relevant columns on each card for the new type. If you've changed the widget type by mistake and want to restore the widget and its connections to cards, you can exit dashboard edit mode without saving your changes. ### Change filter operator @@ -315,11 +323,11 @@ A multi-select filter with the widget type [Dropdown list](#dropdown-list) or [S 3. Select "Dropdown list". If you don't see "Dropdown list" as an option, go to [Filter widgets: Dropdown list](#dropdown-list) for more info. 4. Click **Edit** (to the right of "Dropdown list") to specify where the values should come from: - - From connected fields - - From another model or question - - Custom list + - **From connected fields:** Use the values from the field the filter is connected to. + - **From another model or question:** Pick a model or question (built with either the query builder or SQL), then set the **Column to supply the values** that the filter should pass along. You can also set a **Column to supply the labels** to show friendly labels in the dropdown while still filtering on the underlying values. For example, you could filter on product ID while showing the product's title so people can search for products by name or ID. + - **Custom list:** Enter each value on its own line. - ![Selectable values](./images/selectable-values.png) +![Selectable values](./images/selectable-values.png) ### Set a default filter value diff --git a/_docs/latest/dashboards/images/selectable-values.png b/_docs/latest/dashboards/images/selectable-values.png index ea42a7b321..67bafddaf5 100644 Binary files a/_docs/latest/dashboards/images/selectable-values.png and b/_docs/latest/dashboards/images/selectable-values.png differ diff --git a/_docs/latest/dashboards/interactive.md b/_docs/latest/dashboards/interactive.md index 25bab1aade..310a468ea2 100644 --- a/_docs/latest/dashboards/interactive.md +++ b/_docs/latest/dashboards/interactive.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/dashboards/introduction.md b/_docs/latest/dashboards/introduction.md index fb5b9bf0cd..e353134a6a 100644 --- a/_docs/latest/dashboards/introduction.md +++ b/_docs/latest/dashboards/introduction.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/dashboards/linked-filters.md b/_docs/latest/dashboards/linked-filters.md index 5522a5bca7..3b257670bb 100644 --- a/_docs/latest/dashboards/linked-filters.md +++ b/_docs/latest/dashboards/linked-filters.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/dashboards/multiple-series.md b/_docs/latest/dashboards/multiple-series.md index 00155b30f5..1e20c85311 100644 --- a/_docs/latest/dashboards/multiple-series.md +++ b/_docs/latest/dashboards/multiple-series.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/dashboards/start.md b/_docs/latest/dashboards/start.md index 92346a7e1d..f2bcf878b5 100644 --- a/_docs/latest/dashboards/start.md +++ b/_docs/latest/dashboards/start.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: false diff --git a/_docs/latest/dashboards/subscriptions.md b/_docs/latest/dashboards/subscriptions.md index ef5d8a5ad9..ba5e177d37 100644 --- a/_docs/latest/dashboards/subscriptions.md +++ b/_docs/latest/dashboards/subscriptions.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/data-modeling/editable-tables.md b/_docs/latest/data-modeling/editable-tables.md index f314ee1523..d44c2fe3c1 100644 --- a/_docs/latest/data-modeling/editable-tables.md +++ b/_docs/latest/data-modeling/editable-tables.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/data-modeling/formatting.md b/_docs/latest/data-modeling/formatting.md index 2e00e08103..5c18228003 100644 --- a/_docs/latest/data-modeling/formatting.md +++ b/_docs/latest/data-modeling/formatting.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/data-modeling/json-unfolding.md b/_docs/latest/data-modeling/json-unfolding.md index 71e47b88c5..1a9854c1a4 100644 --- a/_docs/latest/data-modeling/json-unfolding.md +++ b/_docs/latest/data-modeling/json-unfolding.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/data-modeling/legacy-metrics.md b/_docs/latest/data-modeling/legacy-metrics.md index 48fd0a6d6b..6138f0b5f1 100644 --- a/_docs/latest/data-modeling/legacy-metrics.md +++ b/_docs/latest/data-modeling/legacy-metrics.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/data-modeling/metadata-editing.md b/_docs/latest/data-modeling/metadata-editing.md index 32ebc7b132..a85f704fc7 100644 --- a/_docs/latest/data-modeling/metadata-editing.md +++ b/_docs/latest/data-modeling/metadata-editing.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/data-modeling/metrics.md b/_docs/latest/data-modeling/metrics.md index a3d2c915ee..792bef2a71 100644 --- a/_docs/latest/data-modeling/metrics.md +++ b/_docs/latest/data-modeling/metrics.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/data-modeling/model-persistence.md b/_docs/latest/data-modeling/model-persistence.md index 431f6711a7..fcf25e127a 100644 --- a/_docs/latest/data-modeling/model-persistence.md +++ b/_docs/latest/data-modeling/model-persistence.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/data-modeling/models.md b/_docs/latest/data-modeling/models.md index d44ccb11a4..42d8bca393 100644 --- a/_docs/latest/data-modeling/models.md +++ b/_docs/latest/data-modeling/models.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/data-modeling/segments.md b/_docs/latest/data-modeling/segments.md index bbc6c4a0dc..7e390b3ae3 100644 --- a/_docs/latest/data-modeling/segments.md +++ b/_docs/latest/data-modeling/segments.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/data-modeling/semantic-types.md b/_docs/latest/data-modeling/semantic-types.md index 270931d0f8..d1571cadcb 100644 --- a/_docs/latest/data-modeling/semantic-types.md +++ b/_docs/latest/data-modeling/semantic-types.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/data-modeling/start.md b/_docs/latest/data-modeling/start.md index 0a68d54ac8..cb68e397b7 100644 --- a/_docs/latest/data-modeling/start.md +++ b/_docs/latest/data-modeling/start.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: false diff --git a/_docs/latest/data-studio/dependencies/diagnostics.md b/_docs/latest/data-studio/dependencies/diagnostics.md index 09b4a3189c..4533a0986a 100644 --- a/_docs/latest/data-studio/dependencies/diagnostics.md +++ b/_docs/latest/data-studio/dependencies/diagnostics.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/data-studio/dependencies/graph.md b/_docs/latest/data-studio/dependencies/graph.md index 75f9a729d1..d529a971d7 100644 --- a/_docs/latest/data-studio/dependencies/graph.md +++ b/_docs/latest/data-studio/dependencies/graph.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/data-studio/dependencies/replace-data-sources.md b/_docs/latest/data-studio/dependencies/replace-data-sources.md index 7441d1b0db..a13ea9755b 100644 --- a/_docs/latest/data-studio/dependencies/replace-data-sources.md +++ b/_docs/latest/data-studio/dependencies/replace-data-sources.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/data-studio/library.md b/_docs/latest/data-studio/library.md index ef5aed32f5..fcbdab78aa 100644 --- a/_docs/latest/data-studio/library.md +++ b/_docs/latest/data-studio/library.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/data-studio/managing-tables.md b/_docs/latest/data-studio/managing-tables.md index 01b0748674..2911707241 100644 --- a/_docs/latest/data-studio/managing-tables.md +++ b/_docs/latest/data-studio/managing-tables.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/data-studio/measures.md b/_docs/latest/data-studio/measures.md index b150778265..b5e0ebe7d9 100644 --- a/_docs/latest/data-studio/measures.md +++ b/_docs/latest/data-studio/measures.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/data-studio/overview.md b/_docs/latest/data-studio/overview.md index 9a76b8ec03..d81fed6e62 100644 --- a/_docs/latest/data-studio/overview.md +++ b/_docs/latest/data-studio/overview.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/data-studio/segments.md b/_docs/latest/data-studio/segments.md index ae22c0a14f..92282ddf23 100644 --- a/_docs/latest/data-studio/segments.md +++ b/_docs/latest/data-studio/segments.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/data-studio/transforms/addons.md b/_docs/latest/data-studio/transforms/addons.md index e61c504b23..b1a38a8b8d 100644 --- a/_docs/latest/data-studio/transforms/addons.md +++ b/_docs/latest/data-studio/transforms/addons.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/data-studio/transforms/jobs-and-runs.md b/_docs/latest/data-studio/transforms/jobs-and-runs.md index 81aea588da..3b1f31bd13 100644 --- a/_docs/latest/data-studio/transforms/jobs-and-runs.md +++ b/_docs/latest/data-studio/transforms/jobs-and-runs.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/data-studio/transforms/python-runner.md b/_docs/latest/data-studio/transforms/python-runner.md index 00f8370a4c..d2ea23fada 100644 --- a/_docs/latest/data-studio/transforms/python-runner.md +++ b/_docs/latest/data-studio/transforms/python-runner.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/data-studio/transforms/python-transforms.md b/_docs/latest/data-studio/transforms/python-transforms.md index 4442f7f0c5..3afe52dbb9 100644 --- a/_docs/latest/data-studio/transforms/python-transforms.md +++ b/_docs/latest/data-studio/transforms/python-transforms.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/data-studio/transforms/query-transforms.md b/_docs/latest/data-studio/transforms/query-transforms.md index fd7fcbf7c7..0adbec54d3 100644 --- a/_docs/latest/data-studio/transforms/query-transforms.md +++ b/_docs/latest/data-studio/transforms/query-transforms.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/data-studio/transforms/transform-inspector.md b/_docs/latest/data-studio/transforms/transform-inspector.md index 3004d89520..0f65057b3b 100644 --- a/_docs/latest/data-studio/transforms/transform-inspector.md +++ b/_docs/latest/data-studio/transforms/transform-inspector.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/data-studio/transforms/transforms-overview.md b/_docs/latest/data-studio/transforms/transforms-overview.md index 7fe9dcd715..f53e3d0421 100644 --- a/_docs/latest/data-studio/transforms/transforms-overview.md +++ b/_docs/latest/data-studio/transforms/transforms-overview.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/databases/connecting.md b/_docs/latest/databases/connecting.md index 30f35f1838..11641313dc 100644 --- a/_docs/latest/databases/connecting.md +++ b/_docs/latest/databases/connecting.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/databases/connections/athena.md b/_docs/latest/databases/connections/athena.md index 97b142243f..af059d2882 100644 --- a/_docs/latest/databases/connections/athena.md +++ b/_docs/latest/databases/connections/athena.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/databases/connections/aws-rds.md b/_docs/latest/databases/connections/aws-rds.md index 33338e7add..f30df48a86 100644 --- a/_docs/latest/databases/connections/aws-rds.md +++ b/_docs/latest/databases/connections/aws-rds.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/databases/connections/bigquery.md b/_docs/latest/databases/connections/bigquery.md index e522b36b0e..cbe64fbfc2 100644 --- a/_docs/latest/databases/connections/bigquery.md +++ b/_docs/latest/databases/connections/bigquery.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/databases/connections/clickhouse.md b/_docs/latest/databases/connections/clickhouse.md index cde8227def..06d1cb06ec 100644 --- a/_docs/latest/databases/connections/clickhouse.md +++ b/_docs/latest/databases/connections/clickhouse.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/databases/connections/databricks.md b/_docs/latest/databases/connections/databricks.md index 0e2ad4785b..2470cf5d38 100644 --- a/_docs/latest/databases/connections/databricks.md +++ b/_docs/latest/databases/connections/databricks.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/databases/connections/druid.md b/_docs/latest/databases/connections/druid.md index 35e70acfbd..8f65800104 100644 --- a/_docs/latest/databases/connections/druid.md +++ b/_docs/latest/databases/connections/druid.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/databases/connections/mariadb.md b/_docs/latest/databases/connections/mariadb.md index 3b89fab263..9f1d8efc8f 100644 --- a/_docs/latest/databases/connections/mariadb.md +++ b/_docs/latest/databases/connections/mariadb.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/databases/connections/mongodb.md b/_docs/latest/databases/connections/mongodb.md index ba34443981..c469a64435 100644 --- a/_docs/latest/databases/connections/mongodb.md +++ b/_docs/latest/databases/connections/mongodb.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/databases/connections/mysql.md b/_docs/latest/databases/connections/mysql.md index 107216e9e7..58f31f7734 100644 --- a/_docs/latest/databases/connections/mysql.md +++ b/_docs/latest/databases/connections/mysql.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/databases/connections/oracle.md b/_docs/latest/databases/connections/oracle.md index 6199e70f62..0bba23d557 100644 --- a/_docs/latest/databases/connections/oracle.md +++ b/_docs/latest/databases/connections/oracle.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/databases/connections/postgresql.md b/_docs/latest/databases/connections/postgresql.md index 390191afc3..19ba978e1a 100644 --- a/_docs/latest/databases/connections/postgresql.md +++ b/_docs/latest/databases/connections/postgresql.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/databases/connections/presto.md b/_docs/latest/databases/connections/presto.md index dcba3ea77d..2e1ad46bf8 100644 --- a/_docs/latest/databases/connections/presto.md +++ b/_docs/latest/databases/connections/presto.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/databases/connections/redshift.md b/_docs/latest/databases/connections/redshift.md index 33cf7fe889..e9a943e289 100644 --- a/_docs/latest/databases/connections/redshift.md +++ b/_docs/latest/databases/connections/redshift.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/databases/connections/snowflake.md b/_docs/latest/databases/connections/snowflake.md index c2caab9f68..732c42dda4 100644 --- a/_docs/latest/databases/connections/snowflake.md +++ b/_docs/latest/databases/connections/snowflake.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/databases/connections/sparksql.md b/_docs/latest/databases/connections/sparksql.md index 5a31f3f0e7..1eae7f9e14 100644 --- a/_docs/latest/databases/connections/sparksql.md +++ b/_docs/latest/databases/connections/sparksql.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/databases/connections/sql-server.md b/_docs/latest/databases/connections/sql-server.md index d01cce5599..e7a8c79479 100644 --- a/_docs/latest/databases/connections/sql-server.md +++ b/_docs/latest/databases/connections/sql-server.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/databases/connections/sqlite.md b/_docs/latest/databases/connections/sqlite.md index 37f870f01a..144359dc69 100644 --- a/_docs/latest/databases/connections/sqlite.md +++ b/_docs/latest/databases/connections/sqlite.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/databases/connections/starburst.md b/_docs/latest/databases/connections/starburst.md index cc04723de1..213204811b 100644 --- a/_docs/latest/databases/connections/starburst.md +++ b/_docs/latest/databases/connections/starburst.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/databases/connections/vertica.md b/_docs/latest/databases/connections/vertica.md index cb5d4c1293..03fdd61570 100644 --- a/_docs/latest/databases/connections/vertica.md +++ b/_docs/latest/databases/connections/vertica.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/databases/danger-zone.md b/_docs/latest/databases/danger-zone.md index a7d21a54b0..e6b7b45516 100644 --- a/_docs/latest/databases/danger-zone.md +++ b/_docs/latest/databases/danger-zone.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/databases/encrypting-details-at-rest.md b/_docs/latest/databases/encrypting-details-at-rest.md index ac78f01a0d..f5f0b6060e 100644 --- a/_docs/latest/databases/encrypting-details-at-rest.md +++ b/_docs/latest/databases/encrypting-details-at-rest.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/databases/ssh-tunnel.md b/_docs/latest/databases/ssh-tunnel.md index 0236de45ad..7b25053356 100644 --- a/_docs/latest/databases/ssh-tunnel.md +++ b/_docs/latest/databases/ssh-tunnel.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/databases/ssl-certificates.md b/_docs/latest/databases/ssl-certificates.md index d9355614be..5313c8130c 100644 --- a/_docs/latest/databases/ssl-certificates.md +++ b/_docs/latest/databases/ssl-certificates.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/databases/start.md b/_docs/latest/databases/start.md index b17293890a..c47260ff3a 100644 --- a/_docs/latest/databases/start.md +++ b/_docs/latest/databases/start.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: false diff --git a/_docs/latest/databases/sync-scan.md b/_docs/latest/databases/sync-scan.md index 0e033917f4..30919abf32 100644 --- a/_docs/latest/databases/sync-scan.md +++ b/_docs/latest/databases/sync-scan.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/databases/uploads.md b/_docs/latest/databases/uploads.md index b239c4ecd2..6da574f3f6 100644 --- a/_docs/latest/databases/uploads.md +++ b/_docs/latest/databases/uploads.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/databases/users-roles-privileges.md b/_docs/latest/databases/users-roles-privileges.md index 832a24f787..d08631e4cf 100644 --- a/_docs/latest/databases/users-roles-privileges.md +++ b/_docs/latest/databases/users-roles-privileges.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/databases/writable-connection.md b/_docs/latest/databases/writable-connection.md index 4a87c3d18f..e45fe830ca 100644 --- a/_docs/latest/databases/writable-connection.md +++ b/_docs/latest/databases/writable-connection.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/developers-guide/api-changelog.md b/_docs/latest/developers-guide/api-changelog.md index ff5b02235b..3d40f54d76 100644 --- a/_docs/latest/developers-guide/api-changelog.md +++ b/_docs/latest/developers-guide/api-changelog.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/developers-guide/build.md b/_docs/latest/developers-guide/build.md index 64f702df47..104f08e903 100644 --- a/_docs/latest/developers-guide/build.md +++ b/_docs/latest/developers-guide/build.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/developers-guide/clojure.md b/_docs/latest/developers-guide/clojure.md index 460c47faae..5ce2e16038 100644 --- a/_docs/latest/developers-guide/clojure.md +++ b/_docs/latest/developers-guide/clojure.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/developers-guide/code-reviews.md b/_docs/latest/developers-guide/code-reviews.md index ece4292fc9..b75eee17be 100644 --- a/_docs/latest/developers-guide/code-reviews.md +++ b/_docs/latest/developers-guide/code-reviews.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/developers-guide/community-drivers.md b/_docs/latest/developers-guide/community-drivers.md index 56a3f4aa75..175d223d06 100644 --- a/_docs/latest/developers-guide/community-drivers.md +++ b/_docs/latest/developers-guide/community-drivers.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/developers-guide/custom-visualizations.md b/_docs/latest/developers-guide/custom-visualizations.md new file mode 100644 index 0000000000..725c585801 --- /dev/null +++ b/_docs/latest/developers-guide/custom-visualizations.md @@ -0,0 +1,442 @@ +--- +version: v0.62 +has_magic_breadcrumbs: true +show_category_breadcrumb: true +show_title_breadcrumb: true +category: Developers Guide +title: Building custom visualizations +source_url: >- + https://github.com/metabase/metabase/blob/master/docs/developers-guide/custom-visualizations.md +layout: new-docs +summary: >- + Use the Custom Visualizations SDK to build, develop, and package your own + chart types for Metabase. +latest: true +--- + +# Building custom visualizations + +{% include plans-blockquote.html feature="Custom visualizations" %} + +You can create a custom chart type for Metabase that you build with React and TypeScript and ship as a plugin. + +You scaffold a project with the `@metabase/custom-viz` package, write your visualization, and package it into a `.tgz` bundle. An admin uploads the plugin to Metabase (see [Custom visualizations](../questions/visualizations/custom)), and you're in business. + +## Overview of a custom visualization + +A custom visualization is a small React app that Metabase renders in place of a built-in chart. + +Building a custom viz from scaffolding to adding it to your Metabase looks something like: + +1. **Scaffold** a project with the `@metabase/custom-viz` CLI. The command sets up the build, the manifest, and a working starter visualization. +2. **Develop** against a locally running Metabase with hot reload while you write your component and settings. +3. **Handle the data**: read query results from `series`, wire up clicks and tooltips, and add any settings your chart needs. +4. **Match the look** with Metabase's formatters, theme variables, and color scheme. +5. **Build and package** the project into a `.tgz` bundle. +6. **Add it to your Metabase**: an admin uploads the bundle, and your chart type becomes available in your Metabase. + +## Prerequisites + +- Node.js 22 or newer. +- Familiarity with React and TypeScript. +- A Metabase on a [Pro or Enterprise plan](/pricing/) to load your plugin into. + +## Scaffold a custom visualization project + +Generate a new project with the `@metabase/custom-viz` CLI: + +``` +npx @metabase/custom-viz init my-viz +``` + +Then install dependencies and start the dev server: + +``` +cd my-viz +npm install +npm run dev +``` + +`npm run dev` runs in watch mode and rebuilds your plugin on every change. + +### Project structure + +``` +src/ + index.tsx # Your visualization code — start here +metabase-plugin.json # Plugin manifest (name, icon, version) +public/ + assets/ + icon.svg # Visualization icon (shown in the chart type picker) +package.json +vite.config.ts # Build configuration — don't edit +pack.mjs # Packages the build into a .tgz — don't edit +tsconfig.json +``` + +Only `index.tsx` has to export the factory. For a more sophisticated plugin, you'd want to split the component, settings, types, and helpers into their own modules (check out the [calendar-heatmap example](#example-plugins), which keeps the definition in `index.tsx`, the React component in `Visualization.tsx`, and chart configuration and utilities under `src/`). + +### The starter visualization + +The scaffold ships a complete, working example: a chart that shows a thumbs-up emoji (👍) when a single numeric result meets a `threshold` setting, and a thumbs-down (👎) otherwise. + +## Develop against a running Metabase + +To develop your plugin against a live Metabase with hot reload: + +1. Start Metabase with the `MB_CUSTOM_VIZ_PLUGIN_DEV_MODE_ENABLED` environment variable set to `true`. Dev mode is meant for local development, so you can only turn it on with this environment variable. Like any Metabase that runs custom visualizations, this local instance needs a [Pro or Enterprise](/pricing/) token. +2. Run `npm run dev` in your project. By default, the dev server listens on `http://localhost:5174`. +3. In Metabase, go to **Admin** > **Settings** > **Custom visualizations** > **Development** and set the **Dev server URL** to your dev server's address. + +Your plugin shows up in the **Custom visualizations** section of the visualization sidebar (alongside any installed plugins) and is labeled as a dev visualization. + +If you're running Metabase in a Docker container, you'll need to set the **Dev server URL** to: + +``` +http://host.docker.internal:5174 +``` + +## The plugin manifest + +Every plugin includes a `metabase-plugin.json` file at the root of the project: + +```json +{ + "name": "my-viz", + "icon": "icon.svg", + "metabase": { + "version": ">=1.62.0" + } +} +``` + +| Field | Description | +| ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `name` | Unique identifier for the plugin. Metabase registers your visualization under this name and uses it to match replacement bundles. | +| `icon` | Path to the visualization icon (SVG recommended). Metabase serves the icon automatically. It's the only file Metabase serves alongside your bundle. See [Bundling assets](#bundling-assets). | +| `metabase.version` | Semver range of Metabase versions the plugin supports (for example, `">=1.62.0"`, `"^1.62"`, `">=1.62 <1.64"`). | + +## Defining a visualization + +`src/index.tsx` exports a factory function. Metabase calls the function with two helpers: `defineSetting` (for declaring settings) and the current `locale`. The factory function should return the result of `defineConfig`, which wraps your `VisualizationComponent`. + +```tsx +import { + defineConfig, + type CreateCustomVisualization, + type CustomVisualizationProps, +} from "@metabase/custom-viz"; + +type Settings = { + threshold?: number; +}; + +const createVisualization: CreateCustomVisualization = ({ + defineSetting, + locale, +}) => { + const VisualizationComponent = ({ + series, + settings, + width, + height, + }: CustomVisualizationProps) => { + // Render your visualization with React + return
{/* ... */}
; + }; + + return defineConfig({ + id: "my-viz", + getName: () => "My visualization", + minSize: { width: 2, height: 2 }, + defaultSize: { width: 6, height: 4 }, + checkRenderable(series, settings) { + // Throw if the visualization can't render with this data or these settings + if (series.length === 0) { + throw new Error("No data"); + } + }, + settings: { + threshold: defineSetting({ + id: "threshold", + title: "Threshold", + widget: "number", + }), + }, + VisualizationComponent, + }); +}; + +export default createVisualization; +``` + +### Visualization definition properties + +| Property | Type | Description | +| ------------------------ | ----------------------------------- | ------------------------------------------------------------------------------------------- | +| `id` | `string` | Identifier for the visualization definition. | +| `getName()` | `() => string` | Display name for the visualization. | +| `minSize` | `{ width, height }` | Minimum size on a dashboard grid. | +| `defaultSize` | `{ width, height }` | Default size on a dashboard grid. | +| `noHeader` | `boolean` | When `true`, hides the default card title and description header. | +| `canSavePng` | `boolean` | Set to `true` to enable PNG export of the live, interactive chart. Disabled by default. | +| `checkRenderable` | `(series, settings) => void` | Let people know the chart doesn't work with the current data or settings. | +| `settings` | `Record` | Map of setting definitions created with `defineSetting()`. | +| `VisualizationComponent` | `React.ComponentType` | The interactive React component that renders the visualization in questions and dashboards. | + +### Props passed to your component + +| Prop | Type | Description | +| ------------- | ---------------------------------------- | ------------------------------------------------------------------------------------------- | +| `series` | `Series` | Query results — an array of series; each has `data.rows` and `data.cols`. | +| `settings` | `CustomVisualizationSettings` | The resolved visualization settings. | +| `width` | `number \| null` | Container width in pixels. `null` until the first measure — render `null` to avoid a flash. | +| `height` | `number \| null` | Container height in pixels. `null` until the first measure. | +| `colorScheme` | `"light" \| "dark"` | Metabase's current color scheme. | +| `onClick` | `(clickObject) => void` | Call to trigger drill-through actions on a data point. | +| `onHover` | `(hoverObject?) => void` | Call to show a tooltip on a data point. | + +## Handling query results + +`series` is an array of result sets, with one entry per series on the chart. A single question produces one entry; a dashboard card with [multiple series](../dashboards/multiple-series) produces several entries. Each entry has a `data` object: + +- `data.rows`: an array of rows; each row is an array of cell values in column order. Row order is preserved, so when you map rows to chart points one-to-one, a point's index maps straight back to `data.rows[i]`. Useful for grabbing the whole row, not just the clicked cell. +- `data.cols`: an array of column objects describing each value. The fields you'll reach for most: `name` (database column name), `display_name` (label shown in the UI), `base_type` (Metabase type, for example `"type/Integer"`), and `semantic_type` (for example `"type/Currency"` or `"type/Latitude"`). + +```tsx +const [{ data }] = series; +const total = data.rows.reduce((sum, [value]) => sum + Number(value), 0); +``` + +To classify a column without matching type strings by hand, use the column-type predicates the SDK exports: `isNumeric`, `isDate`, `isString`, `isBoolean`, `isCurrency`, `isLatitude`, `isCoordinate`, `isFK`, `isPK`, `isCategory`, `isURL`. These predicates take a `Column` and resolve type metadata from the host, so they only work inside a running Metabase. See [Formatting and theming](#formatting-and-theming). + +```tsx +import { isNumeric } from "@metabase/custom-viz"; + +const numericColumns = data.cols.filter(isNumeric); +``` + +## Clicks and tooltips + +Your component receives `onClick` and `onHover`. Call them with an object that identifies the data point being interacted with. Metabase positions popovers from it, and for clicks it offers the matching drill-through actions (filter by this value, view these rows, and so on). + +```tsx + + onClick({ + value: row[1], + column: cols[1], + dimensions: [{ value: row[0], column: cols[0] }], + event: event.nativeEvent, + element: event.currentTarget, + }) + } + onMouseMove={(event) => + onHover({ + element: event.currentTarget, + data: cols.map((col, i) => ({ + col, + value: row[i], + key: col.display_name, + })), + }) + } + onMouseLeave={() => onHover(null)} +/> +``` + +Pass `null` to `onHover` to dismiss the tooltip. `onClick` also takes an `origin: { row, cols }` when a drill-through needs the whole row, not just the clicked cell. It can take a `data` array of `{ col, value }` pairs (one per column) when an action needs every column's value. You can include `settings` (the current resolved settings) in the click object too, so dashboard click behaviors configured against your visualization have what they need. + +The hover object accepts more than `element` and `data`. Optional fields like `index` and `seriesIndex` (to highlight a series in the legend) and `value`, `column`, `dimensions`, and `event` (for a simpler single-point tooltip) are available when you need them. + +## Settings and widgets + +Define settings with the `defineSetting()` helper. Each setting shows up in the visualization settings sidebar. + +```tsx +settings: { + threshold: defineSetting({ + id: "threshold", + title: "Threshold", + getSection: () => "Display", + widget: "number", + getDefault: () => 0, + getProps: () => ({ + placeholder: "Enter threshold", + options: { isNonNegative: true }, + }), + }), +}, +``` + +### Setting definition properties + +| Property | Description | +| ------------------------------ | ------------------------------------------------------------------------------------------------ | +| `id` | Unique key — has to match the key in your `Settings` type. | +| `title` | Label shown in the sidebar. | +| `getSection()` | Function returning the section the setting appears under (for example, `"Data"` or `"Display"`). | +| `group` | Sub-heading within a section for grouping related settings. | +| `index` | Display order within a group. | +| `inline` | When `true`, renders the widget on the same line as `title` (handy for `"toggle"`). | +| `widget` | A [built-in widget](#built-in-widgets) name, or a [custom React component](#custom-widgets). | +| `getDefault(series, settings)` | Computes the default value when none is stored. | +| `getValue(series, settings)` | Always-computed value — overrides the stored value on every render. | +| `getProps(series, settings)` | Returns widget-specific props. | +| `isValid(series, settings)` | Return `false` to discard a stored value and fall back to `getDefault`. | +| `readDependencies` | Setting IDs that have to resolve before this one. | +| `writeDependencies` | Setting IDs whose current values are persisted when this setting changes. | +| `eraseDependencies` | Setting IDs reset to `null` when this setting changes. | +| `persistDefault` | When `true`, writes the value from `getDefault` to stored settings on first render. | + +### Built-in widgets + +Widgets for the settings UI. + +| Widget | `getProps()` return type | Description | +| -------------------- | -------------------------------------------------------------------------- | ------------------------ | +| `"input"` | `{ placeholder? }` | Text input | +| `"number"` | `{ placeholder?, options?: { isInteger?, isNonNegative? } }` | Numeric input | +| `"toggle"` | _(none — omit `getProps`)_ | Boolean toggle | +| `"radio"` | `{ options: { name, value }[] }` | Radio button group | +| `"select"` | `{ options: { name, value }[], placeholder?, placeholderNoOptions? }` | Dropdown | +| `"segmentedControl"` | `{ options: { name, value }[] }` | Segmented button control | +| `"color"` | `{ title? }` | Color picker | +| `"multiselect"` | `{ options: { label, value }[], placeholder?, placeholderNoOptions? }` | Multi-select dropdown | +| `"field"` | `{ columns, options: { name, value }[], showColumnSetting? }` | Single column picker | +| `"fields"` | `{ columns, options: { name, value }[], addAnother?, showColumnSetting? }` | Multi-column picker | + +### Custom widgets + +When the built-in widgets don't fit, set `widget` to your own React component instead of a built-in name. Metabase renders the component in the settings sidebar, inside the same [sandbox](#sandbox-restrictions) as your visualization. A widget that reaches for a blocked API is removed, so keep widgets to plain inputs and display. + +Metabase injects these props into your widget component (import the type with `BaseWidgetProps`): + +| Prop | Type | Description | +| ------------------ | --------------------- | --------------------------------------- | +| `id` | `string` | The setting's `id`. | +| `value` | `TValue \| undefined` | The setting's current value. | +| `onChange` | `(value?) => void` | Update this setting's value. | +| `onChangeSettings` | `(settings) => void` | Update other settings at the same time. | + +Add any extra props your component needs with `getProps()`. Its return type is your component's own props, minus the base props Metabase injects. + +```tsx +import { defineConfig, type BaseWidgetProps } from "@metabase/custom-viz"; + +type Settings = { label?: string }; + +function LabelWidget({ value, onChange }: BaseWidgetProps) { + return ( + onChange(e.target.value)} /> + ); +} + +// ...in your visualization's settings: +settings: { + label: defineSetting({ + id: "label", + title: "Label", + widget: LabelWidget, + }), +}, +``` + +## Formatting and theming + +Render numbers, dates, and currencies the way the rest of Metabase does with `formatValue`. Pass the cell's column to pick up that column's formatting settings, or override with options like `currency`, `decimals`, `compact`, or `date_style`: + +```tsx +import { formatValue } from "@metabase/custom-viz"; + +formatValue(row[1], { column: cols[1] }); +formatValue(0.084, { number_style: "percent", decimals: 1 }); // "8.4%" +``` + +`formatValue` and the column-type predicates (like `isNumeric` and `isDate`) read formatting and type metadata from Metabase. If you call them outside of Metabase, like in a unit test, they'll throw `Metabase Viz API not initialized`. + +For layout math (like fitting labels or sizing axes), `measureText(text, { size, family, weight })` returns `{ width, height }` in pixels. There's also `measureTextWidth` and `measureTextHeight` if you only need one dimension. + +To match Metabase's look (and follow [dark mode](../people-and-groups/account-settings#theme)), you have two paths. For anything you render as DOM or SVG, you can style with Metabase's CSS variables: `var(--mb-color-brand)` and the other `--mb-color-*` variables, and the theme follows automatically. + +Canvas-based charting libraries (like ECharts and Chart.js) can't read CSS variables, so in those cases you branch on the `colorScheme` prop (`"light"` or `"dark"`) and pass explicit colors. See the [calendar-heatmap example](#example-plugins) for one built with ECharts. + +## Bundling assets + +The build produces a single JavaScript bundle (`dist/index.js`), and the [icon](#the-visualization-icon) is the only file Metabase serves alongside it. Metabase doesn't serve arbitrary static files, so bundling images into your plugin is the most reliable approach. The [sandbox](#sandbox-restrictions) blocks scripted network access like `fetch` and `XMLHttpRequest`, but it doesn't stop the browser from loading an `` or CSS `url()`: an external image still loads as long as its domain is allowed by the image-domains Content Security Policy (see below). + +Bundled images always render, including when an admin has turned on [Restrict image domains](../configuring-metabase/settings#restrict-image-domains). That Content Security Policy setting limits which external hosts images can load from, but inline and `data:` images ship inside your bundle, so they're never blocked. + +Your `npm` dependencies are bundled in too. You can pull in a charting library (the calendar-heatmap example bundles [ECharts](https://echarts.apache.org/)), but everything ships in that single `dist/index.js`, so your code and its dependencies all count toward the packaged plugin's [size limits](#build-and-package-the-plugin). + +So anything your visualization renders has to live inside that bundle. For images, you have a few options: + +- **Inline SVG or emoji.** What the starter visualization does (it renders 👍 / 👎). Drop the SVG markup straight into your JSX. +- **Import the image.** Import an image from `src/` and the bundler inlines small files as a base64 data URL. Vite inlines assets below its `assetsInlineLimit` (4 KB by default); larger files are emitted as separate assets that won't ship in the single bundle, so keep imported images small or raise the limit. +- **Embed a data URL directly.** Paste a `data:image/png;base64,...` string into your component's `src`. + +```tsx +import logo from "./logo.svg"; // inlined as a data URL at build time + +const VisualizationComponent = () => ; +``` + +## The visualization icon + +The icon shows up in the chart type picker and elsewhere in the Metabase UI. + +- Declare it with `"icon"` in `metabase-plugin.json`. The default location is `public/assets/icon.svg`. +- Use `currentColor` for fills and strokes so the icon adapts to light and dark themes, as well as to hover and active states (like when it's highlighted in a menu): + +```svg + + + +``` + +- For more control, you can use Metabase's CSS variables inside an inline SVG, like `fill="var(--mb-color-brand)"`. +- Keep the icon simple and monochromatic. Skip gradients and multiple colors. + +## Build and package the plugin + +Run: + +``` +npm run build +``` + +This compiles `src/` to `dist/` and packages the result into `-.tgz` at the project root. The archive contains `metabase-plugin.json`, `dist/index.js`, and the whitelisted icon under `dist/assets/`, and has to come in under 5 MiB. The packaging step also rejects an archive whose uncompressed contents exceed 25 MiB. You don't need to commit `dist/`. + +For uploading and managing plugins, see [Custom visualizations](../questions/visualizations/custom). + +## Versioning and compatibility + +The Custom Visualizations SDK works with Metabase 1.62 and newer. Declare the versions your plugin supports with `metabase.version` in `metabase-plugin.json`, using [npm semver range](https://github.com/npm/node-semver#ranges) syntax — `">=1.62.0"`, `"^1.62"`, `">=1.62 <1.64"`. Write the range against the full version number (`">=1.62.0"`), not a bare major version (`">=62"`), which won't match. + +If you upload a bundle to a Metabase outside the plugin's declared range, Metabase rejects the upload. + +## Sandbox restrictions + +Metabase runs plugin code in an isolated sandbox, so a visualization works only from the `series` and `settings` it's given. The sandbox blocks: + +- **Network access**: `fetch`, `XMLHttpRequest`, `WebSocket`, `EventSource`, `Worker`, `SharedWorker`, `RTCPeerConnection`, `WebTransport`, `BroadcastChannel`, `navigator.sendBeacon`, and `FontFace.load`. You can't call Metabase's APIs or any other service. +- **Browser storage and cookies**: `localStorage`, `sessionStorage`, `indexedDB`, the Cache API, `document.cookie`, and the `CookieStore` API. +- **Device and credential APIs**: clipboard, geolocation, camera and microphone, service workers, the Credentials and Permissions APIs, USB, Bluetooth, HID, serial, WebXR, and Web Share. +- **Browser UI**: `window.open`, dialogs (`alert`, `confirm`, `prompt`, `print`), notifications, modal dialogs, fullscreen, and payment requests. +- **Navigation and the rest of the app**: history changes, the host page's URL and referrer, and any DOM outside the plugin's own container. +- **Unsafe DOM and timing APIs**: `document.write`, `execCommand`, constructable stylesheets, raw HTML parsers (`DOMParser`, `setHTMLUnsafe`, `XSLTProcessor`), and resource-timing APIs that expose other requests the page has made. + +### Custom visualizations only render in the live app + +Custom visualizations only render in the live, interactive app. Static renders, like dashboard subscriptions sent by [email](../dashboards/subscriptions), Slack, or webhook, fall back to a table for any card that uses a custom visualization. The same goes for [embedded](../embedding/introduction) questions and dashboards: a card that uses a custom visualization falls back to a table. + +## Example plugins + +- [Calendar heatmap](https://github.com/metabase/custom-viz-calendar-heatmap). Read through `src/` for an example of `checkRenderable`, settings, and rendering against `series` data. +- [Thumbs](https://github.com/metabase/custom-viz-thumbs). Thumbs up or down depending on a threshold. + +## Further reading + +- [Custom visualizations](../questions/visualizations/custom) +- [`@metabase/custom-viz` on npm](https://www.npmjs.com/package/@metabase/custom-viz) +- [Visualization overview](../questions/visualizations/visualizing-results) diff --git a/_docs/latest/developers-guide/dev-branch-docker.md b/_docs/latest/developers-guide/dev-branch-docker.md index 255197019c..cdb9e5d114 100644 --- a/_docs/latest/developers-guide/dev-branch-docker.md +++ b/_docs/latest/developers-guide/dev-branch-docker.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/developers-guide/devenv.md b/_docs/latest/developers-guide/devenv.md index 5bcdf1c07e..5aa91b67f2 100644 --- a/_docs/latest/developers-guide/devenv.md +++ b/_docs/latest/developers-guide/devenv.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/developers-guide/docs.md b/_docs/latest/developers-guide/docs.md index 3585c7ef44..5bcfbe7ad2 100644 --- a/_docs/latest/developers-guide/docs.md +++ b/_docs/latest/developers-guide/docs.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/developers-guide/driver-changelog.md b/_docs/latest/developers-guide/driver-changelog.md index 4e059b88ce..daf97aab9c 100644 --- a/_docs/latest/developers-guide/driver-changelog.md +++ b/_docs/latest/developers-guide/driver-changelog.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -13,8 +13,79 @@ latest: true # Driver Interface Changelog +## Metabase 0.62.0 + +- `sql.params.substitution/field->clause`, `to-clause`, `desugar-filter-clause`, `wrap-value-literals-in-mbql`, and + `date-string->filter`, introduced in 0.61.0, have been removed; they are no longer necessary. They have been + replaced by a single method, `sql.params.substitution/->honeysql`, which compiles an MBQL 5 clause to HoneySQL with + the given options. + +- The `metabase.driver.commmon.parameters` and `metabase.driver.commmon.parameters.parse` namespaces, deprecated in + 0.57.0, have been removed. Please use the Lib implementations instead. Relevant functions are aliased in + `metabase.lib.core`, for example `metabase.lib.core/parse-parameters`, `metabase.lib.core/parsed-parameter`, and + `metabase.lib.core/parsed-parameter?`. + +- The `metabase.driver.common.parameters.dates` and `metabase.driver.common.parameters.operators` namespaces, + deprecated in 0.57.0, have been removed. Use the equivalent QP namespaces instead: + `metabase.query-processor.parameters.dates` and `metabase.query-processor.parameters.operators`, respectively. These + namespaces return MBQL 5 clauses rather than MBQL 4; use `metabase.lib.core/->legacy-MBQL` if needed until your + driver has been fully updated to MBQL 5. + +- `metabase.driver.sql.parameters.substitution/align-temporal-unit-with-param-type`, deprecated in 0.49.0, has been + removed. + +- `metabase.driver-api.core/desugar-filter-clause`, `metabase.driver-api.core/negate-filter-clause`, and + `metabase.driver-api.core/simplify-compound-filter`, deprecated in 0.57.0, have been removed; use the + `metabase.lib.core` versions instead. The new versions operate on MBQL 5 instead of MBQL 4. + +- Added `metabase.driver.sql/table-qualification-style` multimethod. Returns one of + `:table-qualification-style/{table,schema-table,db-table,db-schema-table}` describing the per-driver + SQL identifier shape. Used by workspace table remapping + (`metabase-enterprise.workspaces.core/engine-namespace-positions`) to decide tuple shape when + storing `:model/TableRemapping` rows and matching AST positions during query rewriting. Defaults + to `:table-qualification-style/schema-table` -- the common case, so Postgres/Redshift/H2/ClickHouse + need no override. Drivers that emit `db.table` (MySQL) override to + `:table-qualification-style/db-table`; drivers that emit `db.schema.table` (SQL Server, BigQuery) + override to `:table-qualification-style/db-schema-table`. Drivers that emit a bare `table` use + `:table-qualification-style/table`. + +- Added `metabase.driver.sql/db-slot-value` multimethod. Returns the `:db` AST slot string (catalog, + project id, etc.) for a `Database` row. Required for `:table-qualification-style/db-table` and + `:table-qualification-style/db-schema-table` drivers; the default returns `nil`. Overridden by + MySQL and SQL Server (`(:db (:details db))`) and BigQuery (`(:project-id (:details db))`). + +- Added `metabase.driver/qualified-name-components` multimethod. Returns the ordered subset of + `#{:db :schema}` identifier positions a driver populates when referencing a table in compiled + SQL. Defaults to `[:schema]`. Drivers that emit bare table names (Mongo) override to `[]`; + MySQL overrides to `[:db]` (its "database" rides on the connection but participates as the + `:db` AST slot for cross-DB consumers); drivers that emit a 3-part `catalog.schema.table` + identifier (SQL Server, BigQuery) override to `[:db :schema]`. + ## Metabase 0.61.0 +- Added the following driver multimethods to support MBQL5 compilation migration: + - `sql.qp/compile-mbql` - Compiles an MBQL inner query to HoneySQL. + - `sql.qp/mbql-clause-with-opts` - Returns an MBQL clause in the desired MBQL format of the driver. + - `sql.qp/expression-by-name` - Gets an expression from a query or stage (`*inner-query`) by name. + - `sql.qp/aggregation-name` - Returns the name of an aggregation clause. + - `sql.qp/over-order-by->honeysql` - Returns the HoneySQL for an order by clause in the over clause of a window function. + - `sql.qp/clause-value-idx` - Returns the index of the value in a value clause. + - `sql.qp/breakout-options-index` - Returns the index of options in a breakout clause. + - `sql.params.substitution/field->clause` - Returns an MBQL field clause with the given options. + - `sql.params.substitution/to-clause` - Helper to dispatch to `params.ops/to-clause` or `qp.params.ops/to-clause`. + - `sql.params.substitution/desugar-filter-clause` - Helper to dispatch to `driver-api/desugar-filter-clause` or `lib/desugar-filter-clause`. + - `sql.params.substitution/wrap-value-literals-in-mbql` - Helper to dispatch to `driver-api/wrap-value-literals-in-mbql` or `driver-api/wrap-value-literals-in-mbql5`. + - `sql.params.substitution/date-string->filter` - Helper to dispatch to `params.dates/date-string->filter` or `qp.params.dates/date-string->filter`. + + These methods have implementations for the `:sql` and `:sql-mbql5` drivers. Concrete drivers should *not* need to + implement these methods. Drivers can opt-in to MBQL5 compilation by adding the `:sql-mbql5` driver as a parent, and updating the `sql.qp/->honeysql` + methods to handle the clause options argument as the second parameter. See the `:h2` driver in https://github.com/metabase/metabase/pull/71439 for + an example. Drivers will need to be migrated to work with MBQL5 compilation over the next three releases by v64. After v64 these methods will be deprecated + in favour of the `:sql-mbql5` implementations once all drivers have been migrated. + +- Added a `driver` parameter to `sql.qp/maybe-cast-uuid-for-text-compare`. Any drivers that call this function should + update it to pass in the `driver` parameter now. An example is in the Snowflake driver's `string-filter` function. + - `driver/field-reference-mlv2`, deprecated in 0.57.0, has now been removed. - `metabase.driver.sql/set-role-statement` has been deprecated in favor of diff --git a/_docs/latest/developers-guide/drivers/basics.md b/_docs/latest/developers-guide/drivers/basics.md index 0a92b3c5e0..4ac0a7cc9b 100644 --- a/_docs/latest/developers-guide/drivers/basics.md +++ b/_docs/latest/developers-guide/drivers/basics.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/developers-guide/drivers/driver-tests.md b/_docs/latest/developers-guide/drivers/driver-tests.md index f943f1afd1..9d643b4745 100644 --- a/_docs/latest/developers-guide/drivers/driver-tests.md +++ b/_docs/latest/developers-guide/drivers/driver-tests.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -237,7 +237,7 @@ be-tests-postgres-latest-ee: POSTGRES_DB: circle_test POSTGRES_HOST_AUTH_METHOD: trust steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Test Postgres driver (latest) uses: ./.github/actions/test-driver with: diff --git a/_docs/latest/developers-guide/drivers/multimethods.md b/_docs/latest/developers-guide/drivers/multimethods.md index fced8a0a04..b35a806c51 100644 --- a/_docs/latest/developers-guide/drivers/multimethods.md +++ b/_docs/latest/developers-guide/drivers/multimethods.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/developers-guide/drivers/plugins.md b/_docs/latest/developers-guide/drivers/plugins.md index f316f5165d..86c327d4b6 100644 --- a/_docs/latest/developers-guide/drivers/plugins.md +++ b/_docs/latest/developers-guide/drivers/plugins.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/developers-guide/drivers/start.md b/_docs/latest/developers-guide/drivers/start.md index 73fd775ca8..a067b32b91 100644 --- a/_docs/latest/developers-guide/drivers/start.md +++ b/_docs/latest/developers-guide/drivers/start.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/developers-guide/e2e-tests.md b/_docs/latest/developers-guide/e2e-tests.md index 50543bbe97..d67271d410 100644 --- a/_docs/latest/developers-guide/e2e-tests.md +++ b/_docs/latest/developers-guide/e2e-tests.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/developers-guide/emacs.md b/_docs/latest/developers-guide/emacs.md index 8bb233d622..03006e976b 100644 --- a/_docs/latest/developers-guide/emacs.md +++ b/_docs/latest/developers-guide/emacs.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/developers-guide/frontend.md b/_docs/latest/developers-guide/frontend.md index ebb50b1e7e..0d286a2b70 100644 --- a/_docs/latest/developers-guide/frontend.md +++ b/_docs/latest/developers-guide/frontend.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/developers-guide/images/custom-viz-dev.png b/_docs/latest/developers-guide/images/custom-viz-dev.png new file mode 100644 index 0000000000..85d1e9f3ae Binary files /dev/null and b/_docs/latest/developers-guide/images/custom-viz-dev.png differ diff --git a/_docs/latest/developers-guide/internationalization.md b/_docs/latest/developers-guide/internationalization.md index 390085eaee..49c83a4705 100644 --- a/_docs/latest/developers-guide/internationalization.md +++ b/_docs/latest/developers-guide/internationalization.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/developers-guide/mage.md b/_docs/latest/developers-guide/mage.md index dcbcc7df57..7b20ee70b4 100644 --- a/_docs/latest/developers-guide/mage.md +++ b/_docs/latest/developers-guide/mage.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/developers-guide/mbql-library-changelog.md b/_docs/latest/developers-guide/mbql-library-changelog.md index 342acd9d23..78a2091abd 100644 --- a/_docs/latest/developers-guide/mbql-library-changelog.md +++ b/_docs/latest/developers-guide/mbql-library-changelog.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/developers-guide/security-token-scanner.md b/_docs/latest/developers-guide/security-token-scanner.md index d9f011a908..8e70d3bfa7 100644 --- a/_docs/latest/developers-guide/security-token-scanner.md +++ b/_docs/latest/developers-guide/security-token-scanner.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/developers-guide/start.md b/_docs/latest/developers-guide/start.md index 94853915db..0d2e242739 100644 --- a/_docs/latest/developers-guide/start.md +++ b/_docs/latest/developers-guide/start.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: false @@ -52,6 +52,10 @@ This guide contains detailed information on how to work on Metabase codebase. - [Community drivers](./community-drivers) - [Guide to writing a driver](drivers/start) +## Customizing Metabase + +- [Building custom visualizations](./custom-visualizations) + ## Metabase documentation - [Developing Metabase documentation](./docs) diff --git a/_docs/latest/developers-guide/versioning.md b/_docs/latest/developers-guide/versioning.md index dc0cd4ad9a..af85eafd58 100644 --- a/_docs/latest/developers-guide/versioning.md +++ b/_docs/latest/developers-guide/versioning.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/developers-guide/visual-studio-code.md b/_docs/latest/developers-guide/visual-studio-code.md index 86d6c17fbe..5e7d0e1b28 100644 --- a/_docs/latest/developers-guide/visual-studio-code.md +++ b/_docs/latest/developers-guide/visual-studio-code.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/developers-guide/visual-tests.md b/_docs/latest/developers-guide/visual-tests.md index a46c9737cf..5d7cf7fb33 100644 --- a/_docs/latest/developers-guide/visual-tests.md +++ b/_docs/latest/developers-guide/visual-tests.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/documents/introduction.md b/_docs/latest/documents/introduction.md index 0f70225aa1..5ce5444ddb 100644 --- a/_docs/latest/documents/introduction.md +++ b/_docs/latest/documents/introduction.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/documents/start.md b/_docs/latest/documents/start.md index 1982dcd7b6..71852292c6 100644 --- a/_docs/latest/documents/start.md +++ b/_docs/latest/documents/start.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: false diff --git a/_docs/latest/embedding/ai-agent-resources.md b/_docs/latest/embedding/ai-agent-resources.md index 3ec78dc8d0..16730bfe54 100644 --- a/_docs/latest/embedding/ai-agent-resources.md +++ b/_docs/latest/embedding/ai-agent-resources.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/appearance.md b/_docs/latest/embedding/appearance.md index 63e22eac28..e5c9d66728 100644 --- a/_docs/latest/embedding/appearance.md +++ b/_docs/latest/embedding/appearance.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/authentication.md b/_docs/latest/embedding/authentication.md index 1448e7cae0..8758c6ca07 100644 --- a/_docs/latest/embedding/authentication.md +++ b/_docs/latest/embedding/authentication.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/components.md b/_docs/latest/embedding/components.md index 40839fda8e..4206a8f200 100644 --- a/_docs/latest/embedding/components.md +++ b/_docs/latest/embedding/components.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/eajs/snippets/MetabaseBrowserAttributes.md b/_docs/latest/embedding/eajs/snippets/MetabaseBrowserAttributes.md index d3cbe6b141..54d1822f4d 100644 --- a/_docs/latest/embedding/eajs/snippets/MetabaseBrowserAttributes.md +++ b/_docs/latest/embedding/eajs/snippets/MetabaseBrowserAttributes.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/eajs/snippets/MetabaseDashboardAttributes.md b/_docs/latest/embedding/eajs/snippets/MetabaseDashboardAttributes.md index ae7c43574c..90a632d190 100644 --- a/_docs/latest/embedding/eajs/snippets/MetabaseDashboardAttributes.md +++ b/_docs/latest/embedding/eajs/snippets/MetabaseDashboardAttributes.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -20,18 +20,19 @@ or `token` (for guest embeds), plus optional display configuration. -| Property | Type | Description | -| :--------------------------------------------------------------- | :------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `auto-refresh-interval` | `number` | Auto-refresh interval in seconds. For example, `60` refreshes the dashboard every 60 seconds.
---
Optional
Available in Pro/Enterprise and Guest embed. | -| `custom-context` | `string` | Optional custom context string passed through to the guest token endpoint.
---
Optional
Available in Guest embed. | -| `dashboard-id` | `string` \| `number` | The ID of the dashboard to embed. Can be a regular ID or an [entity ID](/docs/latest/installation-and-operation/serialization#entity-ids-work-with-embedding). Only for SSO embeds — guest embeds set the ID with `token`. | -| `drills` | `boolean` | Whether to enable drill-through on the dashboard.
---
Optional
Default: `true`
Available in Pro/Enterprise. | -| `enable-entity-navigation` | `boolean` | Whether to enable internal entity navigation (links to dashboards/questions). Requires `drills` to be `true`
---
Optional
Default: `false`
Available in Pro/Enterprise. | -| `hidden-parameters` | `string`[] | List of filter names to hide from the dashboard, e.g. `['productId']`.
---
Optional
Available in Pro/Enterprise. | -| `initial-parameters` | `object` | Default values for dashboard filters, e.g. `{ 'productId': '42' }`.
---
Optional
Available in Pro/Enterprise and Guest embed. | -| `token` | `string` | The token for guest embeds. Set automatically by the guest embed flow.
---
Optional
Available in Guest embed. | -| `with-downloads` | `boolean` | Whether to show the button to download the dashboard as PDF and download question results.
---
Optional
Default: `true` on OSS/Starter, `false` on Pro/Enterprise
Available in Guest embed. | -| `with-subscriptions` | `boolean` | Whether to let people set up [dashboard subscriptions](/docs/latest/dashboards/subscriptions). Subscriptions sent from embedded dashboards exclude links to Metabase items.
---
Optional
Available in Pro/Enterprise. | -| `with-title` | `boolean` | Whether to show the dashboard title in the embed.
---
Optional
Default: `true`
Available in Guest embed. | +| Property | Type | Description | +| :--------------------------------------------------------------- | :------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `auto-refresh-interval` | `number` | Auto-refresh interval in seconds. For example, `60` refreshes the dashboard every 60 seconds.
---
Optional
Available in Pro/Enterprise and Guest embed. | +| `custom-context` | `string` | Optional custom context string passed through to the guest token endpoint.
---
Optional
Available in Guest embed. | +| `dashboard-id` | `string` \| `number` | The ID of the dashboard to embed. Can be a regular ID or an [entity ID](/docs/latest/installation-and-operation/serialization#entity-ids-work-with-embedding). Only for SSO embeds — guest embeds set the ID with `token`. | +| `drills` | `boolean` | Whether to enable drill-through on the dashboard.
---
Optional
Default: `true`
Available in Pro/Enterprise. | +| `enable-entity-navigation` | `boolean` | Whether to enable internal entity navigation (links to dashboards/questions). Requires `drills` to be `true`
---
Optional
Default: `false`
Available in Pro/Enterprise. | +| `hidden-parameters` | `string`[] | List of filter names to hide from the dashboard, e.g. `['productId']`.
---
Optional
Available in Pro/Enterprise. | +| `initial-parameters` | `object` | Default values for dashboard filters, e.g. `{ 'productId': '42' }`.
---
Optional
Available in Pro/Enterprise and Guest embed. | +| `parameters` | `object` | Controlled dashboard filters values, e.g. `{ 'productId': '42' }`. Setting this attribute supersedes `initial-parameters` as the seed and stays in sync with subsequent mutations. Pair with the `parameters-change` DOM event to track edits.
---
Optional
Available in Pro/Enterprise and Guest embed. | +| `token` | `string` | The token for guest embeds. Set automatically by the guest embed flow.
---
Optional
Available in Guest embed. | +| `with-downloads` | `boolean` | Whether to show the button to download the dashboard as PDF and download question results.
---
Optional
Default: `true` on OSS/Starter, `false` on Pro/Enterprise
Available in Guest embed. | +| `with-subscriptions` | `boolean` | Whether to let people set up [dashboard subscriptions](/docs/latest/dashboards/subscriptions). Subscriptions sent from embedded dashboards exclude links to Metabase items.
---
Optional
Available in Pro/Enterprise. | +| `with-title` | `boolean` | Whether to show the dashboard title in the embed.
---
Optional
Default: `true`
Available in Guest embed. | diff --git a/_docs/latest/embedding/eajs/snippets/MetabaseMetabotAttributes.md b/_docs/latest/embedding/eajs/snippets/MetabaseMetabotAttributes.md index 0925932575..8d6c0c6398 100644 --- a/_docs/latest/embedding/eajs/snippets/MetabaseMetabotAttributes.md +++ b/_docs/latest/embedding/eajs/snippets/MetabaseMetabotAttributes.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/eajs/snippets/MetabaseQuestionAttributes.md b/_docs/latest/embedding/eajs/snippets/MetabaseQuestionAttributes.md index a9e95885aa..3155a91beb 100644 --- a/_docs/latest/embedding/eajs/snippets/MetabaseQuestionAttributes.md +++ b/_docs/latest/embedding/eajs/snippets/MetabaseQuestionAttributes.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -31,6 +31,7 @@ Use `question-id="new-native"` to embed the SQL editor interface. | `initial-sql-parameters` | `object` | Default values for SQL parameters, only applicable to native SQL questions, e.g. `{ "productId": "42" }`.
---
Optional
Available in Pro/Enterprise and Guest embed. | | `is-save-enabled` | `boolean` | Whether the save button is enabled.
---
Optional
Default: `false`
Available in Pro/Enterprise. | | `question-id` | `string` \| `number` | The ID of the question to embed. Can be a regular ID or an [entity ID](/docs/latest/installation-and-operation/serialization#entity-ids-work-with-embedding). Use `"new"` to embed the query builder, or `"new-native"` to embed the SQL editor. Only for SSO embeds — guest embeds use `token`. | +| `sql-parameters` | `object` | Controlled SQL parameter values, e.g. `{ "productId": "42" }`. Setting this attribute supersedes `initial-sql-parameters` as the seed and stays in sync with subsequent mutations. Pair with the `sql-parameters-change` DOM event to track edits.
---
Optional
Available in Pro/Enterprise and Guest embed. | | `target-collection` | `string` \| `number` | The collection to save a question to. Values: regular ID, entity ID, `"personal"`, `"root"`.
---
Optional
Available in Pro/Enterprise. | | `token` | `string` | The token for guest embeds. Set automatically by the guest embed flow.
---
Optional
Available in Guest embed. | | `with-alerts` | `boolean` | Whether to show the alerts button.
---
Optional
Default: `false`
Available in Pro/Enterprise. | diff --git a/_docs/latest/embedding/eajs/snippets/index.md b/_docs/latest/embedding/eajs/snippets/index.md index bdfbf3dd9b..2541665659 100644 --- a/_docs/latest/embedding/eajs/snippets/index.md +++ b/_docs/latest/embedding/eajs/snippets/index.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/full-app-embedding-quick-start-guide.md b/_docs/latest/embedding/full-app-embedding-quick-start-guide.md index b0347e69f1..a27215f7a4 100644 --- a/_docs/latest/embedding/full-app-embedding-quick-start-guide.md +++ b/_docs/latest/embedding/full-app-embedding-quick-start-guide.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/full-app-embedding.md b/_docs/latest/embedding/full-app-embedding.md index e58da9b039..c17ebbedb4 100644 --- a/_docs/latest/embedding/full-app-embedding.md +++ b/_docs/latest/embedding/full-app-embedding.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/full-app-ui-components.md b/_docs/latest/embedding/full-app-ui-components.md index e237381fad..bccfbe450f 100644 --- a/_docs/latest/embedding/full-app-ui-components.md +++ b/_docs/latest/embedding/full-app-ui-components.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/guest-embedding.md b/_docs/latest/embedding/guest-embedding.md index 395d4edacc..a144f58ff4 100644 --- a/_docs/latest/embedding/guest-embedding.md +++ b/_docs/latest/embedding/guest-embedding.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -115,7 +115,8 @@ You can set different attributes to enable/disable UI. Here are some example att | `token` | Required. The signed JWT token from your server. | | `with-title` | Show or hide the title. Values: `"true"` or `"false"`. | | `with-downloads`\* | Enable or disable downloads. Values: `"true"` or `"false"`. | -| `initial-parameters` | JSON string of parameter values. Example: `'{"category":["Gizmo"]}'`. | +| `initial-parameters` | JSON string of initial parameter values (uncontrolled). Example: `'{"category":["Gizmo"]}'`. See [Modular embedding parameters](./parameters#pass-parameter-values-to-embedded-components). | +| `parameters` | JSON string of parameter values (controlled). Example: `'{"category":["Gizmo"]}'`. See [Modular embedding parameters](./parameters#pass-parameter-values-to-embedded-components). | | `auto-refresh-interval` | Dashboards only. Auto-refresh interval in seconds. | | `custom-context` | Forwarded to your [`guestEmbedProviderUri`](#refreshing-or-initializing-the-jwt-from-your-server) endpoint as `customContext`. Either a string (e.g., `"gadgets-tab"`), or a JSON-stringified object like `initial-parameters` (e.g., `'{"tab":"gadgets","region":"us-east"}'`). | @@ -199,6 +200,8 @@ Fetch the JWT token from your backend and programmatically pass it to the 'metab ``` +See [Modular embedding parameters](./parameters#pass-parameter-values-to-embedded-components) for controlled parameters documentation. + ### Locked parameters Locked parameters let you filter data without exposing the filter to the end-user. Locking parameters is useful for restricting data based on who's viewing the embed (for example, showing each customer only their own data). diff --git a/_docs/latest/embedding/introduction.md b/_docs/latest/embedding/introduction.md index a6eab87494..70527729c3 100644 --- a/_docs/latest/embedding/introduction.md +++ b/_docs/latest/embedding/introduction.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/modular-embedding.md b/_docs/latest/embedding/modular-embedding.md index 328ae09b77..70b9a8a3cd 100644 --- a/_docs/latest/embedding/modular-embedding.md +++ b/_docs/latest/embedding/modular-embedding.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -187,6 +187,10 @@ When you're creating a new embed using **Admin > Embedding > Setup guide > Embed - **Allow alerts**: lets people set up [alerts](../questions/alerts) on embedded questions. Requires [email setup](../configuring-metabase/email). Only for authenticated (SSO) question embeds. +## Pass parameter values to embedded components + +See [Modular embedding parameters](./parameters#pass-parameter-values-to-embedded-components). + ## Page-level config To define the configuration that applies to every embed on the page, use the `defineMetabaseConfig()` function. Its parameters include: diff --git a/_docs/latest/embedding/parameters.md b/_docs/latest/embedding/parameters.md new file mode 100644 index 0000000000..f190bb3f14 --- /dev/null +++ b/_docs/latest/embedding/parameters.md @@ -0,0 +1,185 @@ +--- +version: v0.62 +has_magic_breadcrumbs: true +show_category_breadcrumb: true +show_title_breadcrumb: true +category: Embedding +title: Modular embedding parameters +source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/parameters.md' +layout: new-docs +summary: >- + Pass parameter values to embedded dashboards and SQL questions in modular + embedding (React SDK and web components). +latest: true +--- + +# Modular embedding parameters + +This page covers how to pass parameter values to embedded dashboards and SQL questions. + +## Modular embedding SDK (React) + +### Pass parameter values to a dashboard + +You can set initial values for embeds (uncontrolled), and optionally keep your app in sync with values as people change them (controlled). You can pick either `initialParameters` and `parameters`, but don't combine them. + +#### `initialParameters` (uncontrolled) + +Set the filter values once on load. Your app won't know when people change filters in the dashboard. Pick this when you don't need to track those changes. + +```typescript +{% include_file "{{ dirname }}/snippets/parameters/dashboards/initial-parameters.tsx" snippet="example" %} +``` + +See [How parameter values are resolved](#how-parameter-values-are-resolved) for null / missing-slug semantics. + +#### `parameters` + `onParametersChange` (controlled) + +Push values from your app, and observe every applied change via `onParametersChange`. This works like a controlled ``. Your app holds the source of truth, the dashboard re-renders when the prop changes, and you receive a callback whenever applied values change. + +```typescript +{% include_file "{{ dirname }}/snippets/parameters/dashboards/controlled-parameters.tsx" snippet="example-controlled" %} +``` + +`onParametersChange` receives the [dashboard parameter change payload](#dashboard-parameter-change-payload). + + +> Don't combine `initialParameters` and `parameters` - pick one. For controlled behavior, only use `parameters`. + +### Pass parameters to SQL questions + +You can pass [parameter](../questions/native-editor/sql-parameters) values to SQL questions in the format `{parameter_name: parameter_value}`. You can set initial values for embeds (uncontrolled), and optionally keep your app in sync with values as people change them (controlled). + +These props only work with SQL questions, not query-builder questions. + +#### `initialSqlParameters` (uncontrolled) + +Set the parameter values once on load. Your app won't know when people change parameters in the question. Pick this when you don't need to track those changes. + +```typescript +{% include_file "{{ dirname }}/snippets/parameters/questions/initial-sql-parameters.tsx" snippet="example" %} +``` + +See [How parameter values are resolved](#how-parameter-values-are-resolved) for null / missing-slug semantics. + +#### `sqlParameters` + `onSqlParametersChange` (controlled) + +Push values from your app, and observe every applied change via `onSqlParametersChange`. This works like a controlled `` - your app holds the source of truth, the question re-renders when the prop changes, and you receive a callback whenever applied values change. + +```typescript +{% include_file "{{ dirname }}/snippets/parameters/questions/controlled-sql-parameters.tsx" snippet="example-controlled" %} +``` + +`onSqlParametersChange` receives the [SQL question parameter change payload](#sql-question-parameter-change-payload). + +## Modular embedding (web components) + +### Pass parameter values to embedded components + +You can set dashboard filters and SQL parameters from your page, push new values at runtime, and listen for applied changes. + +#### Seed values once with `initial-parameters` / `initial-sql-parameters` + +Set values on mount via attributes. The component reads them once on load and ignores any subsequent changes to the attribute. User widget edits are not reflected back to your page. + +```html + + + +``` + +Attributes carry JSON. Pass an object whose keys are parameter slugs (dashboards) or SQL variable names (questions). See [How parameter values are resolved](#how-parameter-values-are-resolved) for null / missing-slug semantics. + +#### Push values at runtime with `parameters` / `sqlParameters` + +For controlled behavior, set the JS property on the element instead of the attribute. The component re-renders to apply the new values. + +```html + + + +``` + +The same pattern works for `metabase-question` via the `sqlParameters` property. + +To switch a component back to uncontrolled mode (leaving the last applied values in place), set the property to `undefined`. + +#### Clearing parameters + +To clear a single parameter, set its value to `null`. This strictly clears the parameter and ignores its default value. + +```html + +``` + +To clear every parameter, assign an empty object `{}`. + +```html + +``` + +#### Observe applied changes with `parameters-change` / `sql-parameters-change` + +Listen for events to keep your page in sync with what's actually applied: + +```html + + + +``` + +The `event.detail` carries the [dashboard parameter change payload](#dashboard-parameter-change-payload). + +For SQL questions, listen for `sql-parameters-change` on ``. Its `event.detail` carries the [SQL question parameter change payload](#sql-question-parameter-change-payload). + +## How parameter values are resolved + +These rules apply to all four props — `initialParameters` / `parameters` (dashboards) and `initialSqlParameters` / `sqlParameters` (SQL questions) — and to the matching web component attributes (`initial-parameters`, `parameters`, etc.). For each parameter slug: + +- **Set a value**: Pass a `string` for a single-option filter, and an array of `string`s for multi-option filters. +- **Clear a value:** Set to `null`: the parameter is cleared and its default is not used. +- **Reset to the default value**: Omit a value (or set to `undefined`) and the embed will fall back to the parameter's default (or `null` if it has no default). + +## Dashboard parameter change payload + +Delivered to `onParametersChange` (SDK) and as `event.detail` for the `parameters-change` event (web components). + +{% include_file "{{ dirname }}/sdk/api/snippets/ParameterChangePayload.md" snippet="properties" %} + +`source` indicates why the callback fired: + +{% include_file "{{ dirname }}/sdk/api/snippets/ParameterChangeSource.md" %} + +## SQL question parameter change payload + +Delivered to `onSqlParametersChange` (SDK) and as `event.detail` for the `sql-parameters-change` event (web components). + +{% include_file "{{ dirname }}/sdk/api/snippets/SqlParameterChangePayload.md" snippet="properties" %} + +`source` indicates why the callback fired: + +{% include_file "{{ dirname }}/sdk/api/snippets/SqlParameterChangeSource.md" %} diff --git a/_docs/latest/embedding/public-links.md b/_docs/latest/embedding/public-links.md index c405a5ebb5..3a1d2cd1d7 100644 --- a/_docs/latest/embedding/public-links.md +++ b/_docs/latest/embedding/public-links.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/ai-chat.md b/_docs/latest/embedding/sdk/ai-chat.md index 720d818b7e..2717206605 100644 --- a/_docs/latest/embedding/sdk/ai-chat.md +++ b/_docs/latest/embedding/sdk/ai-chat.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/ButtonProps.html b/_docs/latest/embedding/sdk/api/ButtonProps.html index 290516a4a4..b1d423d1d5 100644 --- a/_docs/latest/embedding/sdk/api/ButtonProps.html +++ b/_docs/latest/embedding/sdk/api/ButtonProps.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/ChartColor.html b/_docs/latest/embedding/sdk/api/ChartColor.html index ac1db9dd4d..36d6578a00 100644 --- a/_docs/latest/embedding/sdk/api/ChartColor.html +++ b/_docs/latest/embedding/sdk/api/ChartColor.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/ChartColorV2.html b/_docs/latest/embedding/sdk/api/ChartColorV2.html index 6da97570ff..ff648fe7ae 100644 --- a/_docs/latest/embedding/sdk/api/ChartColorV2.html +++ b/_docs/latest/embedding/sdk/api/ChartColorV2.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/CollectionBrowser.html b/_docs/latest/embedding/sdk/api/CollectionBrowser.html index 490189aa80..b11d9d79b1 100644 --- a/_docs/latest/embedding/sdk/api/CollectionBrowser.html +++ b/_docs/latest/embedding/sdk/api/CollectionBrowser.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/CollectionBrowserListColumns.html b/_docs/latest/embedding/sdk/api/CollectionBrowserListColumns.html index 3483bb2a78..3b3f43247e 100644 --- a/_docs/latest/embedding/sdk/api/CollectionBrowserListColumns.html +++ b/_docs/latest/embedding/sdk/api/CollectionBrowserListColumns.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/CollectionBrowserProps.html b/_docs/latest/embedding/sdk/api/CollectionBrowserProps.html index 8d2a18299a..d3eb1c7513 100644 --- a/_docs/latest/embedding/sdk/api/CollectionBrowserProps.html +++ b/_docs/latest/embedding/sdk/api/CollectionBrowserProps.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/CreateDashboardModal.html b/_docs/latest/embedding/sdk/api/CreateDashboardModal.html index 629483caea..89907b13e4 100644 --- a/_docs/latest/embedding/sdk/api/CreateDashboardModal.html +++ b/_docs/latest/embedding/sdk/api/CreateDashboardModal.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/CreateDashboardModalProps.html b/_docs/latest/embedding/sdk/api/CreateDashboardModalProps.html index d2161bce20..0a1448abe1 100644 --- a/_docs/latest/embedding/sdk/api/CreateDashboardModalProps.html +++ b/_docs/latest/embedding/sdk/api/CreateDashboardModalProps.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/CreateDashboardValues.html b/_docs/latest/embedding/sdk/api/CreateDashboardValues.html index e621a37442..e3eb1f1067 100644 --- a/_docs/latest/embedding/sdk/api/CreateDashboardValues.html +++ b/_docs/latest/embedding/sdk/api/CreateDashboardValues.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/CreateQuestion.html b/_docs/latest/embedding/sdk/api/CreateQuestion.html index 7cc0cb126d..a13aeae2ed 100644 --- a/_docs/latest/embedding/sdk/api/CreateQuestion.html +++ b/_docs/latest/embedding/sdk/api/CreateQuestion.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -17,19 +17,43 @@
  • Optionalheight?: Height<string | number>

    A number or string specifying a CSS size value that specifies the height of the component

  • OptionalhiddenParameters?: string[]

    A list of parameters to hide.

  • OptionalinitialCollection?: SdkCollectionId

    The collection to preselect in the save modal's collection picker. Unlike targetCollection, the picker remains visible and the user can choose a different collection. Ignored when targetCollection is set.

    -
  • OptionalinitialSqlParameters?: SqlParameterValues

    Initial values for the SQL parameters.

    +
  • OptionalinitialSqlParameters?: SqlParameterValues

    Initial values for SQL parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host. +
    +For each parameter: +

    +
      +
    • set to a value: that value is applied. +
    • +
    • set to null: strictly cleared, ignoring the parameter's default. +
    • +
    • omitted (or set to undefined): falls back to the parameter's default (or null if it has no default).
    • +
  • OptionalisSaveEnabled?: boolean

    Whether to show the save button.

  • OptionalonBeforeSave?: (
        question: MetabaseQuestion | undefined,
        context: { isNewQuestion: boolean },
    ) => Promise<void>

    A callback function that triggers before saving. Only relevant when isSaveEnabled = true

  • OptionalonNavigateBack?: () => void

    A callback function that triggers when a user clicks the back button.

  • OptionalonRun?: (question: MetabaseQuestion | undefined) => void

    A callback function that triggers when a question is updated, including when a user clicks the Visualize button in the question editor

  • OptionalonSave?: (
        question: MetabaseQuestion,
        context: { dashboardTabId?: number; isNewQuestion: boolean },
    ) => void

    A callback function that triggers when a user saves the question. Only relevant when isSaveEnabled = true

    +
  • OptionalonSqlParametersChange?: (payload: SqlParameterChangePayload) => void

    Fires on SQL parameters change. The payload's source distinguishes the initial state on load ('initial-state'), user edits in the UI ('manual-change'), and auto-updates ('auto-change').

  • OptionalonVisualizationChange?: (
        display:
            | "object"
            | "table"
            | "bar"
            | "line"
            | "pie"
            | "scalar"
            | "row"
            | "area"
            | "combo"
            | "pivot"
            | "smartscalar"
            | "gauge"
            | "progress"
            | "funnel"
            | "map"
            | "scatter"
            | "boxplot"
            | "waterfall"
            | "sankey"
            | "list",
    ) => void

    A callback function that triggers when the visualization type changes.

    -
  • Optionalplugins?: MetabasePluginsConfig
  • Optionalstyle?: CSSProperties

    A custom style object to be added to the root element.

    +
  • Optionalplugins?: MetabasePluginsConfig
  • OptionalsqlParameters?: SqlParameterValues

    Controlled SQL parameter values, slug-keyed. On every render, this object replaces the question's parameter values: +

    +
      +
    • a parameter set to a value uses that value. +
    • +
    • a parameter set to null is cleared, even if it has a default. +
    • +
    • a parameter omitted from the object (or set to undefined) uses its default (or null if it has no default). +
      +
      +Pair with onSqlParametersChange to stay in sync with user edits.
    • +
    +
  • Optionalstyle?: CSSProperties

    A custom style object to be added to the root element.

  • OptionaltargetCollection?: SdkCollectionId

    The collection to save the question to. This will hide the collection picker from the save modal. Only applicable to interactive questions.

  • Optionaltitle?: SdkQuestionTitleProps

    Determines whether the question title is displayed, and allows a custom title to be displayed instead of the default question title. Shown by default.

  • Optionalwidth?: Width<string | number>

    A number or string specifying a CSS size value that specifies the width of the component

  • OptionalwithAlerts?: boolean

    Enables the ability to set up alerts on the question.

  • OptionalwithChartTypeSelector?: boolean

    Determines whether the chart type selector and corresponding settings button are shown. Only relevant when using the default layout.

  • OptionalwithDownloads?: boolean

    Enables the ability to download results in the question.

    +
  • OptionalwithEditorButton?: boolean

    Determines whether the editor button is shown. Only relevant when using the default layout.

  • undefined
  • Returns Element

    Use <InteractiveQuestion questionId="new" /> instead.

    diff --git a/_docs/latest/embedding/sdk/api/CreateQuestionProps.html b/_docs/latest/embedding/sdk/api/CreateQuestionProps.html index 49b26da63d..df6f7673d6 100644 --- a/_docs/latest/embedding/sdk/api/CreateQuestionProps.html +++ b/_docs/latest/embedding/sdk/api/CreateQuestionProps.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -11,7 +11,7 @@ latest: true --- -CreateQuestionProps | Embedded analytics SDK API{% include docs/embedded-analytics-sdk-metadata.html %}

    Interface CreateQuestionProps

    interface CreateQuestionProps {
        className?: string;
        dataPicker?: EmbeddingDataPicker;
        entityTypes?: EmbeddingEntityType[];
        height?: Height<string | number>;
        hiddenParameters?: string[];
        initialCollection?: SdkCollectionId;
        initialSqlParameters?: SqlParameterValues;
        isSaveEnabled?: boolean;
        onBeforeSave?: (
            question: MetabaseQuestion | undefined,
            context: { isNewQuestion: boolean },
        ) => Promise<void>;
        onNavigateBack?: () => void;
        onRun?: (question: MetabaseQuestion | undefined) => void;
        onSave?: (
            question: MetabaseQuestion,
            context: { dashboardTabId?: number; isNewQuestion: boolean },
        ) => void;
        onVisualizationChange?: (
            display:
                | "object"
                | "table"
                | "bar"
                | "line"
                | "pie"
                | "scalar"
                | "row"
                | "area"
                | "combo"
                | "pivot"
                | "smartscalar"
                | "gauge"
                | "progress"
                | "funnel"
                | "map"
                | "scatter"
                | "boxplot"
                | "waterfall"
                | "sankey"
                | "list",
        ) => void;
        plugins?: MetabasePluginsConfig;
        style?: CSSProperties;
        targetCollection?: SdkCollectionId;
        title?: SdkQuestionTitleProps;
        width?: Width<string | number>;
        withAlerts?: boolean;
        withChartTypeSelector?: boolean;
        withDownloads?: boolean;
    }
    Index

    Properties

    className? +CreateQuestionProps | Embedded analytics SDK API{% include docs/embedded-analytics-sdk-metadata.html %}

    Interface CreateQuestionProps

    interface CreateQuestionProps {
        className?: string;
        dataPicker?: EmbeddingDataPicker;
        entityTypes?: EmbeddingEntityType[];
        height?: Height<string | number>;
        hiddenParameters?: string[];
        initialCollection?: SdkCollectionId;
        initialSqlParameters?: SqlParameterValues;
        isSaveEnabled?: boolean;
        onBeforeSave?: (
            question: MetabaseQuestion | undefined,
            context: { isNewQuestion: boolean },
        ) => Promise<void>;
        onNavigateBack?: () => void;
        onRun?: (question: MetabaseQuestion | undefined) => void;
        onSave?: (
            question: MetabaseQuestion,
            context: { dashboardTabId?: number; isNewQuestion: boolean },
        ) => void;
        onSqlParametersChange?: (payload: SqlParameterChangePayload) => void;
        onVisualizationChange?: (
            display:
                | "object"
                | "table"
                | "bar"
                | "line"
                | "pie"
                | "scalar"
                | "row"
                | "area"
                | "combo"
                | "pivot"
                | "smartscalar"
                | "gauge"
                | "progress"
                | "funnel"
                | "map"
                | "scatter"
                | "boxplot"
                | "waterfall"
                | "sankey"
                | "list",
        ) => void;
        plugins?: MetabasePluginsConfig;
        sqlParameters?: SqlParameterValues;
        style?: CSSProperties;
        targetCollection?: SdkCollectionId;
        title?: SdkQuestionTitleProps;
        width?: Width<string | number>;
        withAlerts?: boolean;
        withChartTypeSelector?: boolean;
        withDownloads?: boolean;
        withEditorButton?: boolean;
    }
    Index

    Properties

    className?: string

    A custom class name to be added to the root element.

    dataPicker?: EmbeddingDataPicker

    Controls the menu for selecting data sources in questions. You can opt for the full data picker by setting dataPicker = "staged".

    entityTypes?: EmbeddingEntityType[]

    An array that specifies which entity types are available in the data picker

    height?: Height<string | number>

    A number or string specifying a CSS size value that specifies the height of the component

    hiddenParameters?: string[]

    A list of parameters to hide.

    initialCollection?: SdkCollectionId

    The collection to preselect in the save modal's collection picker. Unlike targetCollection, the picker remains visible and the user can choose a different collection. Ignored when targetCollection is set.

    -
    initialSqlParameters?: SqlParameterValues

    Initial values for the SQL parameters.

    +
    initialSqlParameters?: SqlParameterValues

    Initial values for SQL parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host. +
    +For each parameter: +

    +
      +
    • set to a value: that value is applied. +
    • +
    • set to null: strictly cleared, ignoring the parameter's default. +
    • +
    • omitted (or set to undefined): falls back to the parameter's default (or null if it has no default).
    • +
    isSaveEnabled?: boolean

    Whether to show the save button.

    onBeforeSave?: (
        question: MetabaseQuestion | undefined,
        context: { isNewQuestion: boolean },
    ) => Promise<void>

    A callback function that triggers before saving. Only relevant when isSaveEnabled = true

    onNavigateBack?: () => void

    A callback function that triggers when a user clicks the back button.

    onRun?: (question: MetabaseQuestion | undefined) => void

    A callback function that triggers when a question is updated, including when a user clicks the Visualize button in the question editor

    onSave?: (
        question: MetabaseQuestion,
        context: { dashboardTabId?: number; isNewQuestion: boolean },
    ) => void

    A callback function that triggers when a user saves the question. Only relevant when isSaveEnabled = true

    +
    onSqlParametersChange?: (payload: SqlParameterChangePayload) => void

    Fires on SQL parameters change. The payload's source distinguishes the initial state on load ('initial-state'), user edits in the UI ('manual-change'), and auto-updates ('auto-change').

    onVisualizationChange?: (
        display:
            | "object"
            | "table"
            | "bar"
            | "line"
            | "pie"
            | "scalar"
            | "row"
            | "area"
            | "combo"
            | "pivot"
            | "smartscalar"
            | "gauge"
            | "progress"
            | "funnel"
            | "map"
            | "scatter"
            | "boxplot"
            | "waterfall"
            | "sankey"
            | "list",
    ) => void

    A callback function that triggers when the visualization type changes.

    Type Declaration

      • (
            display:
                | "object"
                | "table"
                | "bar"
                | "line"
                | "pie"
                | "scalar"
                | "row"
                | "area"
                | "combo"
                | "pivot"
                | "smartscalar"
                | "gauge"
                | "progress"
                | "funnel"
                | "map"
                | "scatter"
                | "boxplot"
                | "waterfall"
                | "sankey"
                | "list",
        ): void
      • Parameters

        • display:
              | "object"
              | "table"
              | "bar"
              | "line"
              | "pie"
              | "scalar"
              | "row"
              | "area"
              | "combo"
              | "pivot"
              | "smartscalar"
              | "gauge"
              | "progress"
              | "funnel"
              | "map"
              | "scatter"
              | "boxplot"
              | "waterfall"
              | "sankey"
              | "list"

          the new display type

          -

        Returns void

    A custom style object to be added to the root element.

    +

    Returns void

    sqlParameters?: SqlParameterValues

    Controlled SQL parameter values, slug-keyed. On every render, this object replaces the question's parameter values: +

    +
      +
    • a parameter set to a value uses that value. +
    • +
    • a parameter set to null is cleared, even if it has a default. +
    • +
    • a parameter omitted from the object (or set to undefined) uses its default (or null if it has no default). +
      +
      +Pair with onSqlParametersChange to stay in sync with user edits.
    • +
    +

    A custom style object to be added to the root element.

    targetCollection?: SdkCollectionId

    The collection to save the question to. This will hide the collection picker from the save modal. Only applicable to interactive questions.

    Determines whether the question title is displayed, and allows a custom title to be displayed instead of the default question title. Shown by default.

    width?: Width<string | number>

    A number or string specifying a CSS size value that specifies the width of the component

    withAlerts?: boolean

    Enables the ability to set up alerts on the question.

    withChartTypeSelector?: boolean

    Determines whether the chart type selector and corresponding settings button are shown. Only relevant when using the default layout.

    withDownloads?: boolean

    Enables the ability to download results in the question.

    -

    +
    withEditorButton?: boolean

    Determines whether the editor button is shown. Only relevant when using the default layout.

    +

    diff --git a/_docs/latest/embedding/sdk/api/CustomDashboardCardMenuItem.html b/_docs/latest/embedding/sdk/api/CustomDashboardCardMenuItem.html index 79f040b79d..1ff1bce7dc 100644 --- a/_docs/latest/embedding/sdk/api/CustomDashboardCardMenuItem.html +++ b/_docs/latest/embedding/sdk/api/CustomDashboardCardMenuItem.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/DashCardMenuItem.html b/_docs/latest/embedding/sdk/api/DashCardMenuItem.html index d4b98e8f59..8fa6806a74 100644 --- a/_docs/latest/embedding/sdk/api/DashCardMenuItem.html +++ b/_docs/latest/embedding/sdk/api/DashCardMenuItem.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/DashboardCardCustomMenuItem.html b/_docs/latest/embedding/sdk/api/DashboardCardCustomMenuItem.html index f07943e21e..048bb03d10 100644 --- a/_docs/latest/embedding/sdk/api/DashboardCardCustomMenuItem.html +++ b/_docs/latest/embedding/sdk/api/DashboardCardCustomMenuItem.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/DashboardCardMenu.html b/_docs/latest/embedding/sdk/api/DashboardCardMenu.html index 9b61aeea62..f6e0bfb49c 100644 --- a/_docs/latest/embedding/sdk/api/DashboardCardMenu.html +++ b/_docs/latest/embedding/sdk/api/DashboardCardMenu.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/DashboardCardMenuCustomElement.html b/_docs/latest/embedding/sdk/api/DashboardCardMenuCustomElement.html index 5f5de50366..13c2c4be07 100644 --- a/_docs/latest/embedding/sdk/api/DashboardCardMenuCustomElement.html +++ b/_docs/latest/embedding/sdk/api/DashboardCardMenuCustomElement.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/DrillThroughQuestionProps.html b/_docs/latest/embedding/sdk/api/DrillThroughQuestionProps.html index 9b81898b13..85eebba468 100644 --- a/_docs/latest/embedding/sdk/api/DrillThroughQuestionProps.html +++ b/_docs/latest/embedding/sdk/api/DrillThroughQuestionProps.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -12,7 +12,7 @@ --- DrillThroughQuestionProps | Embedded analytics SDK API{% include docs/embedded-analytics-sdk-metadata.html %}

    Interface DrillThroughQuestionProps

    Props for the drill-through question

    -
    interface DrillThroughQuestionProps {
        children?: ReactNode;
        className?: string;
        dataPicker?: EmbeddingDataPicker;
        entityTypes?: EmbeddingEntityType[];
        height?: Height<string | number>;
        initialCollection?: SdkCollectionId;
        initialSqlParameters?: SqlParameterValues;
        isSaveEnabled?: boolean;
        onBeforeSave?: (
            question: MetabaseQuestion | undefined,
            context: { isNewQuestion: boolean },
        ) => Promise<void>;
        onRun?: (question: MetabaseQuestion | undefined) => void;
        onSave?: (
            question: MetabaseQuestion,
            context: { dashboardTabId?: number; isNewQuestion: boolean },
        ) => void;
        plugins?: MetabasePluginsConfig;
        style?: CSSProperties;
        targetCollection?: SdkCollectionId;
        title?: SdkQuestionTitleProps;
        width?: Width<string | number>;
        withAlerts?: boolean;
        withChartTypeSelector?: boolean;
        withDownloads?: boolean;
    }
    Index

    Properties

    interface DrillThroughQuestionProps {
        children?: ReactNode;
        className?: string;
        dataPicker?: EmbeddingDataPicker;
        entityTypes?: EmbeddingEntityType[];
        height?: Height<string | number>;
        initialCollection?: SdkCollectionId;
        initialSqlParameters?: SqlParameterValues;
        isSaveEnabled?: boolean;
        onBeforeSave?: (
            question: MetabaseQuestion | undefined,
            context: { isNewQuestion: boolean },
        ) => Promise<void>;
        onRun?: (question: MetabaseQuestion | undefined) => void;
        onSave?: (
            question: MetabaseQuestion,
            context: { dashboardTabId?: number; isNewQuestion: boolean },
        ) => void;
        plugins?: MetabasePluginsConfig;
        style?: CSSProperties;
        targetCollection?: SdkCollectionId;
        title?: SdkQuestionTitleProps;
        width?: Width<string | number>;
        withAlerts?: boolean;
        withChartTypeSelector?: boolean;
        withDownloads?: boolean;
        withEditorButton?: boolean;
    }
    Index

    Properties

    children?: ReactNode

    The children of the component

    className?: string

    A custom class name to be added to the root element.

    dataPicker?: EmbeddingDataPicker

    Controls the menu for selecting data sources in questions. You can opt for the full data picker by setting dataPicker = "staged".

    entityTypes?: EmbeddingEntityType[]

    An array that specifies which entity types are available in the data picker

    height?: Height<string | number>

    A number or string specifying a CSS size value that specifies the height of the component

    initialCollection?: SdkCollectionId

    The collection to preselect in the save modal's collection picker. Unlike targetCollection, the picker remains visible and the user can choose a different collection. Ignored when targetCollection is set.

    -
    initialSqlParameters?: SqlParameterValues

    Initial values for the SQL parameters.

    +
    initialSqlParameters?: SqlParameterValues

    Initial values for SQL parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host. +
    +For each parameter: +

    +
      +
    • set to a value: that value is applied. +
    • +
    • set to null: strictly cleared, ignoring the parameter's default. +
    • +
    • omitted (or set to undefined): falls back to the parameter's default (or null if it has no default).
    • +
    isSaveEnabled?: boolean

    Whether to show the save button.

    onBeforeSave?: (
        question: MetabaseQuestion | undefined,
        context: { isNewQuestion: boolean },
    ) => Promise<void>

    A callback function that triggers before saving. Only relevant when isSaveEnabled = true

    onRun?: (question: MetabaseQuestion | undefined) => void

    A callback function that triggers when a question is updated, including when a user clicks the Visualize button in the question editor

    @@ -49,4 +60,5 @@
    withAlerts?: boolean

    Enables the ability to set up alerts on the question.

    withChartTypeSelector?: boolean

    Determines whether the chart type selector and corresponding settings button are shown. Only relevant when using the default layout.

    withDownloads?: boolean

    Enables the ability to download results in the question.

    -

    +
    withEditorButton?: boolean

    Determines whether the editor button is shown. Only relevant when using the default layout.

    +

    diff --git a/_docs/latest/embedding/sdk/api/EditableDashboard.html b/_docs/latest/embedding/sdk/api/EditableDashboard.html index b53317935c..6d0bd6773c 100644 --- a/_docs/latest/embedding/sdk/api/EditableDashboard.html +++ b/_docs/latest/embedding/sdk/api/EditableDashboard.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -35,17 +35,43 @@
  • Combining initialParameters and hiddenParameters to declutter the user interface is fine.
  • -
  • OptionalinitialParameters?: ParameterValues

    Query parameters for the dashboard. For a single option, use a string value, and use a list of strings for multiple options. +

  • OptionalinitialParameters?: ParameterValues

    Initial values for query parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host. +
    +For each parameter:

      +
    • set to a value (string for a single option, array of strings for multiple): that value is applied. +
    • +
    • set to null: strictly cleared, ignoring the parameter's default. +
    • +
    • omitted (or set to undefined): falls back to the parameter's default (or null if it has no default). +
      +
    • Combining initialParameters and hiddenParameters to filter data on the frontend is a security risk.
    • Combining initialParameters and hiddenParameters to declutter the user interface is fine.
  • OptionalonLoad?: (dashboard: MetabaseDashboard | null) => void

    Callback that is called when the dashboard is loaded.

  • OptionalonLoadWithoutCards?: (dashboard: MetabaseDashboard | null) => void

    Callback that is called when the dashboard is loaded without cards.

    +
  • OptionalonParametersChange?: (payload: ParameterChangePayload) => void

    Fires on parameters change. The payload's source distinguishes the initial state on load ('initial-state'), user edits in the UI ('manual-change'), and auto-updates ('auto-change').

  • OptionalonVisualizationChange?: (
        visualization:
            | "object"
            | "table"
            | "bar"
            | "line"
            | "pie"
            | "scalar"
            | "row"
            | "area"
            | "combo"
            | "pivot"
            | "smartscalar"
            | "gauge"
            | "progress"
            | "funnel"
            | "map"
            | "scatter"
            | "boxplot"
            | "waterfall"
            | "sankey"
            | "list",
    ) => void

    A callback function that triggers when a question is opened from a dashboard card or when the user changes the visualization type of a question.

    +
  • Optionalparameters?: ParameterValues

    Controlled parameter values, slug-keyed. On every render, this object replaces the dashboard's parameter values: +

    +
      +
    • a parameter set to a value uses that value. +
    • +
    • a parameter set to null is cleared, even if it has a default. +
    • +
    • a parameter omitted from the object (or set to undefined) uses its default (or null if it has no default). +
      +
      +Pair with onParametersChange to stay in sync with user edits. +
    • +
    • Combining parameters and hiddenParameters to filter data on the frontend is a security risk. +
    • +
    • Combining parameters and hiddenParameters to declutter the user interface is fine.
    • +
  • Optionalplugins?: MetabasePluginsConfig

    Additional mapper function to override or add drill-down menu. See the implementing custom actions section for more details.

  • OptionalrenderDrillThroughQuestion?: () => ReactNode

    A custom React component to render the question layout. Use namespaced InteractiveQuestion components to build the layout.

    diff --git a/_docs/latest/embedding/sdk/api/EditableDashboardProps.html b/_docs/latest/embedding/sdk/api/EditableDashboardProps.html index 4053f7685e..aafee93157 100644 --- a/_docs/latest/embedding/sdk/api/EditableDashboardProps.html +++ b/_docs/latest/embedding/sdk/api/EditableDashboardProps.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -11,7 +11,7 @@ latest: true --- -EditableDashboardProps | Embedded analytics SDK API{% include docs/embedded-analytics-sdk-metadata.html %}

    Interface EditableDashboardProps

    interface EditableDashboardProps {
        autoRefreshInterval?: number;
        className?: string;
        dashboardId: string | number;
        dataPickerProps?: Pick<SdkQuestionProps, "entityTypes">;
        drillThroughQuestionHeight?: Height<string | number>;
        drillThroughQuestionProps?: DrillThroughQuestionProps;
        enableEntityNavigation?: boolean;
        hiddenParameters?: string[];
        initialParameters?: ParameterValues;
        onLoad?: (dashboard: MetabaseDashboard | null) => void;
        onLoadWithoutCards?: (dashboard: MetabaseDashboard | null) => void;
        onVisualizationChange?: (
            visualization:
                | "object"
                | "table"
                | "bar"
                | "line"
                | "pie"
                | "scalar"
                | "row"
                | "area"
                | "combo"
                | "pivot"
                | "smartscalar"
                | "gauge"
                | "progress"
                | "funnel"
                | "map"
                | "scatter"
                | "boxplot"
                | "waterfall"
                | "sankey"
                | "list",
        ) => void;
        plugins?: MetabasePluginsConfig;
        renderDrillThroughQuestion?: () => ReactNode;
        style?: CSSProperties;
        token?: string | null;
        withCardTitle?: boolean;
        withDownloads?: boolean;
        withSubscriptions?: boolean;
        withTitle?: boolean;
    }
    Index

    Properties

    autoRefreshInterval? +EditableDashboardProps | Embedded analytics SDK API{% include docs/embedded-analytics-sdk-metadata.html %}

    Interface EditableDashboardProps

    interface EditableDashboardProps {
        autoRefreshInterval?: number;
        className?: string;
        dashboardId: string | number;
        dataPickerProps?: Pick<SdkQuestionProps, "entityTypes">;
        drillThroughQuestionHeight?: Height<string | number>;
        drillThroughQuestionProps?: DrillThroughQuestionProps;
        enableEntityNavigation?: boolean;
        hiddenParameters?: string[];
        initialParameters?: ParameterValues;
        onLoad?: (dashboard: MetabaseDashboard | null) => void;
        onLoadWithoutCards?: (dashboard: MetabaseDashboard | null) => void;
        onParametersChange?: (payload: ParameterChangePayload) => void;
        onVisualizationChange?: (
            visualization:
                | "object"
                | "table"
                | "bar"
                | "line"
                | "pie"
                | "scalar"
                | "row"
                | "area"
                | "combo"
                | "pivot"
                | "smartscalar"
                | "gauge"
                | "progress"
                | "funnel"
                | "map"
                | "scatter"
                | "boxplot"
                | "waterfall"
                | "sankey"
                | "list",
        ) => void;
        parameters?: ParameterValues;
        plugins?: MetabasePluginsConfig;
        renderDrillThroughQuestion?: () => ReactNode;
        style?: CSSProperties;
        token?: string | null;
        withCardTitle?: boolean;
        withDownloads?: boolean;
        withSubscriptions?: boolean;
        withTitle?: boolean;
    }
    Index
  • OptionalentityTypes?: EmbeddingEntityType[]

    An array that specifies which entity types are available in the data picker

  • Optionalheight?: Height<string | number>

    A number or string specifying a CSS size value that specifies the height of the component

  • OptionalinitialCollection?: SdkCollectionId

    The collection to preselect in the save modal's collection picker. Unlike targetCollection, the picker remains visible and the user can choose a different collection. Ignored when targetCollection is set.

    -
  • OptionalinitialSqlParameters?: SqlParameterValues

    Initial values for the SQL parameters.

    +
  • OptionalinitialSqlParameters?: SqlParameterValues

    Initial values for SQL parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host. +
    +For each parameter: +

    +
      +
    • set to a value: that value is applied. +
    • +
    • set to null: strictly cleared, ignoring the parameter's default. +
    • +
    • omitted (or set to undefined): falls back to the parameter's default (or null if it has no default).
    • +
  • OptionalisSaveEnabled?: boolean

    Whether to show the save button.

  • OptionalonBeforeSave?: (
        question: MetabaseQuestion | undefined,
        context: { isNewQuestion: boolean },
    ) => Promise<void>

    A callback function that triggers before saving. Only relevant when isSaveEnabled = true

  • OptionalonRun?: (question: MetabaseQuestion | undefined) => void

    A callback function that triggers when a question is updated, including when a user clicks the Visualize button in the question editor

    @@ -64,6 +76,7 @@
  • OptionalwithAlerts?: boolean

    Enables the ability to set up alerts on the question.

  • OptionalwithChartTypeSelector?: boolean

    Determines whether the chart type selector and corresponding settings button are shown. Only relevant when using the default layout.

  • OptionalwithDownloads?: boolean

    Enables the ability to download results in the question.

    +
  • OptionalwithEditorButton?: boolean

    Determines whether the editor button is shown. Only relevant when using the default layout.

  • enableEntityNavigation?: boolean

    When true, internal click behaviors (links to dashboards/questions) are preserved. When false (default for SDK), these click behaviors are filtered out.

    hiddenParameters?: string[]

    A list of parameters to hide. @@ -73,19 +86,45 @@

  • Combining initialParameters and hiddenParameters to declutter the user interface is fine.
  • -
    initialParameters?: ParameterValues

    Query parameters for the dashboard. For a single option, use a string value, and use a list of strings for multiple options. +

    initialParameters?: ParameterValues

    Initial values for query parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host. +
    +For each parameter:

      +
    • set to a value (string for a single option, array of strings for multiple): that value is applied. +
    • +
    • set to null: strictly cleared, ignoring the parameter's default. +
    • +
    • omitted (or set to undefined): falls back to the parameter's default (or null if it has no default). +
      +
    • Combining initialParameters and hiddenParameters to filter data on the frontend is a security risk.
    • Combining initialParameters and hiddenParameters to declutter the user interface is fine.
    onLoad?: (dashboard: MetabaseDashboard | null) => void

    Callback that is called when the dashboard is loaded.

    onLoadWithoutCards?: (dashboard: MetabaseDashboard | null) => void

    Callback that is called when the dashboard is loaded without cards.

    +
    onParametersChange?: (payload: ParameterChangePayload) => void

    Fires on parameters change. The payload's source distinguishes the initial state on load ('initial-state'), user edits in the UI ('manual-change'), and auto-updates ('auto-change').

    onVisualizationChange?: (
        visualization:
            | "object"
            | "table"
            | "bar"
            | "line"
            | "pie"
            | "scalar"
            | "row"
            | "area"
            | "combo"
            | "pivot"
            | "smartscalar"
            | "gauge"
            | "progress"
            | "funnel"
            | "map"
            | "scatter"
            | "boxplot"
            | "waterfall"
            | "sankey"
            | "list",
    ) => void

    A callback function that triggers when a question is opened from a dashboard card or when the user changes the visualization type of a question.

    Type Declaration

      • (
            visualization:
                | "object"
                | "table"
                | "bar"
                | "line"
                | "pie"
                | "scalar"
                | "row"
                | "area"
                | "combo"
                | "pivot"
                | "smartscalar"
                | "gauge"
                | "progress"
                | "funnel"
                | "map"
                | "scatter"
                | "boxplot"
                | "waterfall"
                | "sankey"
                | "list",
        ): void
      • Parameters

        • visualization:
              | "object"
              | "table"
              | "bar"
              | "line"
              | "pie"
              | "scalar"
              | "row"
              | "area"
              | "combo"
              | "pivot"
              | "smartscalar"
              | "gauge"
              | "progress"
              | "funnel"
              | "map"
              | "scatter"
              | "boxplot"
              | "waterfall"
              | "sankey"
              | "list"

          the new visualization type

          -

        Returns void

    Additional mapper function to override or add drill-down menu. See the implementing custom actions section for more details.

    +

    Returns void

    parameters?: ParameterValues

    Controlled parameter values, slug-keyed. On every render, this object replaces the dashboard's parameter values: +

    +
      +
    • a parameter set to a value uses that value. +
    • +
    • a parameter set to null is cleared, even if it has a default. +
    • +
    • a parameter omitted from the object (or set to undefined) uses its default (or null if it has no default). +
      +
      +Pair with onParametersChange to stay in sync with user edits. +
    • +
    • Combining parameters and hiddenParameters to filter data on the frontend is a security risk. +
    • +
    • Combining parameters and hiddenParameters to declutter the user interface is fine.
    • +
    +

    Additional mapper function to override or add drill-down menu. See the implementing custom actions section for more details.

    renderDrillThroughQuestion?: () => ReactNode

    A custom React component to render the question layout. Use namespaced InteractiveQuestion components to build the layout.

    A custom style object to be added to the root element.

    @@ -93,4 +132,4 @@
    withDownloads?: boolean

    Whether to hide the download button.

    withSubscriptions?: boolean

    Whether to show the subscriptions button.

    withTitle?: boolean

    Whether the dashboard should display a title.

    -

    +

    diff --git a/_docs/latest/embedding/sdk/api/EmbeddingDataPicker.html b/_docs/latest/embedding/sdk/api/EmbeddingDataPicker.html index 2bf355f3f5..01793015bc 100644 --- a/_docs/latest/embedding/sdk/api/EmbeddingDataPicker.html +++ b/_docs/latest/embedding/sdk/api/EmbeddingDataPicker.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/EmbeddingEntityType.html b/_docs/latest/embedding/sdk/api/EmbeddingEntityType.html index 5aaa029d4e..31db95c8a4 100644 --- a/_docs/latest/embedding/sdk/api/EmbeddingEntityType.html +++ b/_docs/latest/embedding/sdk/api/EmbeddingEntityType.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/EntityTypeFilterKeys.html b/_docs/latest/embedding/sdk/api/EntityTypeFilterKeys.html index aba3866b42..24cb6ae05f 100644 --- a/_docs/latest/embedding/sdk/api/EntityTypeFilterKeys.html +++ b/_docs/latest/embedding/sdk/api/EntityTypeFilterKeys.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/IconName.html b/_docs/latest/embedding/sdk/api/IconName.html index 9428dcaf4b..d007d9e3cb 100644 --- a/_docs/latest/embedding/sdk/api/IconName.html +++ b/_docs/latest/embedding/sdk/api/IconName.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -11,4 +11,4 @@ latest: true --- -IconName | Embedded analytics SDK API{% include docs/embedded-analytics-sdk-metadata.html %}

    Type Alias IconName

    IconName:
        | "string"
        | "number"
        | "function"
        | "collection"
        | "dashboard"
        | "question"
        | "model"
        | "archive"
        | "table"
        | "bar"
        | "line"
        | "pie"
        | "scalar"
        | "area"
        | "smartscalar"
        | "gauge"
        | "progress"
        | "funnel"
        | "boxplot"
        | "waterfall"
        | "sankey"
        | "list"
        | "revert"
        | "add"
        | "add_collection"
        | "add_column"
        | "add_data"
        | "add_folder"
        | "add_list"
        | "add_row"
        | "add_to_dash"
        | "add_comment"
        | "ai"
        | "alert"
        | "alert_filled"
        | "alert_confirm"
        | "attachment"
        | "arrow_up"
        | "arrow_down"
        | "arrow_left"
        | "arrow_left_to_line"
        | "arrow_right"
        | "arrow_split"
        | "audit"
        | "badge"
        | "ban"
        | "bell"
        | "birthday"
        | "book_open"
        | "bookmark"
        | "bookmark_filled"
        | "bolt"
        | "bolt_filled"
        | "breakout"
        | "bubble"
        | "broken_link"
        | "burger"
        | "calendar"
        | "camera"
        | "chart_layout_default"
        | "chart_layout_stack"
        | "check"
        | "check_filled"
        | "code_block"
        | "chevrondown"
        | "chevronleft"
        | "chevronright"
        | "chevronup"
        | "click"
        | "clipboard"
        | "clock"
        | "clone"
        | "close"
        | "cloud"
        | "cloud_filled"
        | "collection2"
        | "compare"
        | "combine"
        | "company"
        | "comment"
        | "currency"
        | "connections"
        | "contract"
        | "copy"
        | "corner_up_right"
        | "curved"
        | "database"
        | "database_routing"
        | "dependencies"
        | "data_studio"
        | "dash"
        | "curve"
        | "document"
        | "download"
        | "dyno"
        | "edit_document"
        | "edit_document_outlined"
        | "ellipsis"
        | "embed"
        | "embed_interactive"
        | "embed_modular"
        | "embed_static"
        | "empty"
        | "enter_or_return"
        | "exit"
        | "expand"
        | "expand_arrow"
        | "extract"
        | "eye"
        | "eye_crossed_out"
        | "eye_outline"
        | "factory"
        | "field"
        | "fields"
        | "filter"
        | "filter_plus"
        | "find_replace"
        | "bug"
        | "format_code"
        | "formula"
        | "funnel_outline"
        | "folder"
        | "folder_database"
        | "folder_filled"
        | "gear"
        | "gear_settings_filled"
        | "gem"
        | "ghost"
        | "globe"
        | "glossary"
        | "git_branch"
        | "grabber"
        | "grid"
        | "grid_2x2"
        | "grid_bordered"
        | "group"
        | "google"
        | "google_drive"
        | "google_sheet"
        | "history"
        | "home"
        | "horizontal_bar"
        | "hourglass"
        | "info"
        | "info_outline"
        | "insight"
        | "int"
        | "io"
        | "join_full_outer"
        | "join_inner"
        | "join_left_outer"
        | "join_right_outer"
        | "index"
        | "key"
        | "label"
        | "layout_grid"
        | "ldap"
        | "learn"
        | "lightbulb"
        | "link"
        | "lines"
        | "lineandbar"
        | "line_style_dashed"
        | "line_style_dotted"
        | "line_style_solid"
        | "location"
        | "lock"
        | "lock_filled"
        | "mail"
        | "mail_filled"
        | "mcp"
        | "medallion"
        | "message_circle"
        | "metabot"
        | "metabot_sad"
        | "metric"
        | "mode"
        | "model_with_badge"
        | "moon"
        | "move"
        | "move_card"
        | "network"
        | "new_folder"
        | "notebook"
        | "octagon_alert"
        | "package"
        | "palette"
        | "pause"
        | "pencil"
        | "pencil_lines"
        | "permissions_limited"
        | "person"
        | "pie_slice"
        | "pin"
        | "pinmap"
        | "pivot_table"
        | "play"
        | "play_outlined"
        | "popover"
        | "popular"
        | "publish"
        | "published"
        | "pulse"
        | "receipt"
        | "recents"
        | "share"
        | "send"
        | "settings"
        | "smile"
        | "split"
        | "sql"
        | "subscription"
        | "straight"
        | "stepped"
        | "sticky_note"
        | "sort"
        | "sort_arrows"
        | "sum"
        | "sync"
        | "synced_collection"
        | "transform"
        | "quote"
        | "redo"
        | "return"
        | "reference"
        | "refresh"
        | "refresh_downstream"
        | "rename"
        | "repository"
        | "rocket"
        | "ruler"
        | "schema"
        | "search"
        | "search_check"
        | "section"
        | "segment"
        | "shield"
        | "shield_outline"
        | "shield_stroke"
        | "sidebar_closed"
        | "sidebar_open"
        | "slack"
        | "slack_colorized"
        | "snail"
        | "snippet"
        | "sparkles"
        | "star_filled"
        | "star"
        | "stop"
        | "store"
        | "sun"
        | "t-shirt"
        | "tab"
        | "table2"
        | "text_bold"
        | "text_italic"
        | "text_strike"
        | "thumbs_down"
        | "thumbs_up"
        | "time_history"
        | "trash"
        | "trash_filled"
        | "triangle_left"
        | "triangle_right"
        | "unarchive"
        | "undo"
        | "unknown"
        | "unpin"
        | "unpublish"
        | "unreferenced"
        | "unsubscribe"
        | "upload"
        | "variable"
        | "verified"
        | "official_collection"
        | "open_folder"
        | "ordered_list"
        | "verified_filled"
        | "verified_round"
        | "view_archive"
        | "warning"
        | "warning_round_filled"
        | "warning_triangle_filled"
        | "webhook"
        | "10k"
        | "1m"
        | "zap"
        | "zoom_in"
        | "zoom_out"
        | "cake"
        | "external"
        | "beaker"
        | "test_tube"
        | "eye_filled"

    +IconName | Embedded analytics SDK API{% include docs/embedded-analytics-sdk-metadata.html %}

    Type Alias IconName

    IconName:
        | "string"
        | "number"
        | "function"
        | "collection"
        | "dashboard"
        | "question"
        | "model"
        | "archive"
        | "table"
        | "bar"
        | "line"
        | "pie"
        | "scalar"
        | "area"
        | "smartscalar"
        | "gauge"
        | "progress"
        | "funnel"
        | "boxplot"
        | "waterfall"
        | "sankey"
        | "list"
        | "revert"
        | "add"
        | "add_collection"
        | "add_column"
        | "add_data"
        | "add_folder"
        | "add_list"
        | "add_row"
        | "add_to_dash"
        | "add_comment"
        | "ai"
        | "alert"
        | "alert_filled"
        | "alert_confirm"
        | "attachment"
        | "arrow_up"
        | "arrow_down"
        | "arrow_left"
        | "arrow_left_to_line"
        | "arrow_right"
        | "arrow_split"
        | "audit"
        | "badge"
        | "ban"
        | "bell"
        | "birthday"
        | "book_open"
        | "bookmark"
        | "bookmark_filled"
        | "bolt"
        | "bolt_filled"
        | "breakout"
        | "bubble"
        | "broken_link"
        | "burger"
        | "calendar"
        | "camera"
        | "chart_layout_default"
        | "chart_layout_stack"
        | "check"
        | "check_filled"
        | "code_block"
        | "chevrondown"
        | "chevronleft"
        | "chevronright"
        | "chevronup"
        | "click"
        | "clipboard"
        | "clock"
        | "clone"
        | "close"
        | "cloud"
        | "cloud_filled"
        | "collection2"
        | "compare"
        | "combine"
        | "company"
        | "comment"
        | "currency"
        | "connections"
        | "contract"
        | "copy"
        | "corner_up_right"
        | "curved"
        | "database"
        | "database_routing"
        | "dependencies"
        | "dependent"
        | "data_studio"
        | "dash"
        | "curve"
        | "document"
        | "download"
        | "dyno"
        | "edit_document"
        | "edit_document_outlined"
        | "ellipsis"
        | "embed"
        | "embed_interactive"
        | "embed_modular"
        | "embed_static"
        | "empty"
        | "enter_or_return"
        | "exit"
        | "expand"
        | "expand_arrow"
        | "extract"
        | "eye"
        | "eye_crossed_out"
        | "eye_outline"
        | "factory"
        | "field"
        | "fields"
        | "filter"
        | "filter_plus"
        | "find_replace"
        | "bug"
        | "format_code"
        | "formula"
        | "funnel_outline"
        | "folder"
        | "folder_database"
        | "folder_filled"
        | "gear"
        | "gear_settings_filled"
        | "gem"
        | "ghost"
        | "globe"
        | "glossary"
        | "git_branch"
        | "grabber"
        | "grid"
        | "grid_2x2"
        | "grid_bordered"
        | "group"
        | "google"
        | "google_drive"
        | "google_sheet"
        | "history"
        | "home"
        | "horizontal_bar"
        | "hourglass"
        | "info"
        | "info_outline"
        | "insight"
        | "int"
        | "io"
        | "join_full_outer"
        | "join_inner"
        | "join_left_outer"
        | "join_right_outer"
        | "index"
        | "key"
        | "label"
        | "layout_grid"
        | "ldap"
        | "learn"
        | "lightbulb"
        | "link"
        | "lines"
        | "lineandbar"
        | "line_style_dashed"
        | "line_style_dotted"
        | "line_style_solid"
        | "location"
        | "lock"
        | "lock_filled"
        | "mail"
        | "mail_filled"
        | "mcp"
        | "medallion"
        | "message_circle"
        | "metabot"
        | "metabot_sad"
        | "metric"
        | "mode"
        | "model_with_badge"
        | "moon"
        | "move"
        | "move_card"
        | "network"
        | "new_folder"
        | "notebook"
        | "octagon_alert"
        | "package"
        | "palette"
        | "pause"
        | "pencil"
        | "pencil_lines"
        | "permissions_limited"
        | "person"
        | "pie_slice"
        | "pin"
        | "pinmap"
        | "pivot_table"
        | "play"
        | "play_outlined"
        | "popover"
        | "popular"
        | "publish"
        | "published"
        | "pulse"
        | "receipt"
        | "recents"
        | "share"
        | "send"
        | "settings"
        | "smile"
        | "split"
        | "sql"
        | "subscription"
        | "straight"
        | "stepped"
        | "sticky_note"
        | "sort"
        | "sort_arrows"
        | "sum"
        | "sync"
        | "synced_collection"
        | "transform"
        | "quote"
        | "redo"
        | "return"
        | "reference"
        | "refresh"
        | "refresh_downstream"
        | "rename"
        | "repository"
        | "rocket"
        | "ruler"
        | "schema"
        | "search"
        | "search_check"
        | "section"
        | "segment"
        | "shield"
        | "shield_outline"
        | "shield_stroke"
        | "sidebar_closed"
        | "sidebar_open"
        | "slack"
        | "slack_colorized"
        | "snail"
        | "snippet"
        | "sparkles"
        | "star_filled"
        | "star"
        | "stop"
        | "store"
        | "sun"
        | "t-shirt"
        | "tab"
        | "table2"
        | "text_bold"
        | "text_italic"
        | "text_strike"
        | "thumbs_down"
        | "thumbs_up"
        | "time_history"
        | "trash"
        | "trash_filled"
        | "triangle_left"
        | "triangle_right"
        | "unarchive"
        | "undo"
        | "unknown"
        | "unpin"
        | "unpublish"
        | "unreferenced"
        | "unsubscribe"
        | "upload"
        | "variable"
        | "verified"
        | "official_collection"
        | "open_folder"
        | "ordered_list"
        | "verified_filled"
        | "verified_round"
        | "view_archive"
        | "warning"
        | "warning_round"
        | "warning_round_filled"
        | "warning_triangle_filled"
        | "webhook"
        | "10k"
        | "1m"
        | "zap"
        | "zoom_in"
        | "zoom_out"
        | "cake"
        | "external"
        | "beaker"
        | "test_tube"
        | "eye_filled"

    diff --git a/_docs/latest/embedding/sdk/api/InitializationStatus.html b/_docs/latest/embedding/sdk/api/InitializationStatus.html index 5e86b40e1b..632afb1901 100644 --- a/_docs/latest/embedding/sdk/api/InitializationStatus.html +++ b/_docs/latest/embedding/sdk/api/InitializationStatus.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/InteractiveDashboard.html b/_docs/latest/embedding/sdk/api/InteractiveDashboard.html index 9e3e0272a0..cb2c79beb5 100644 --- a/_docs/latest/embedding/sdk/api/InteractiveDashboard.html +++ b/_docs/latest/embedding/sdk/api/InteractiveDashboard.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -11,8 +11,8 @@ latest: true --- -InteractiveDashboard | Embedded analytics SDK API{% include docs/embedded-analytics-sdk-metadata.html %}

    Function InteractiveDashboard

    • A dashboard component with drill downs, click behaviors, and the ability to view and click into questions.

      -

      Parameters

      • props: {
            autoRefreshInterval?: number;
            dashboardId: SdkDashboardId;
            drillThroughQuestionHeight?: Height<string | number>;
            drillThroughQuestionProps?: DrillThroughQuestionProps;
            initialParameters?: ParameterValues;
            plugins?: MetabasePluginsConfig;
            renderDrillThroughQuestion?: () => ReactNode;
        } & { dashboardId?: SdkDashboardId
        | null; token?: string | null } & {
            enableEntityNavigation?: boolean;
            hiddenParameters?: string[];
            initialParameters?: ParameterValues;
            withCardTitle?: boolean;
            withDownloads?: boolean;
            withSubscriptions?: boolean;
            withTitle?: boolean;
        } & { className?: string; style?: CSSProperties } & {
            onLoad?: (dashboard: MetabaseDashboard | null) => void;
            onLoadWithoutCards?: (dashboard: MetabaseDashboard | null) => void;
            onVisualizationChange?: (
                visualization:
                    | "object"
                    | "table"
                    | "bar"
                    | "line"
                    | "pie"
                    | "scalar"
                    | "row"
                    | "area"
                    | "combo"
                    | "pivot"
                    | "smartscalar"
                    | "gauge"
                    | "progress"
                    | "funnel"
                    | "map"
                    | "scatter"
                    | "boxplot"
                    | "waterfall"
                    | "sankey"
                    | "list",
            ) => void;
        } & { dataPickerProps?: Pick<SdkQuestionProps, "entityTypes"> } & {}
        • OptionalautoRefreshInterval?: number

          The interval between auto refreshes on the dashboard, in seconds.

          +InteractiveDashboard | Embedded analytics SDK API{% include docs/embedded-analytics-sdk-metadata.html %}

          Function InteractiveDashboard

          • A dashboard component with drill downs, click behaviors, and the ability to view and click into questions.

            +

            Parameters

            • props: {
                  autoRefreshInterval?: number;
                  dashboardId: SdkDashboardId;
                  drillThroughQuestionHeight?: Height<string | number>;
                  drillThroughQuestionProps?: DrillThroughQuestionProps;
                  initialParameters?: ParameterValues;
                  onParametersChange?: (payload: ParameterChangePayload) => void;
                  parameters?: ParameterValues;
                  plugins?: MetabasePluginsConfig;
                  renderDrillThroughQuestion?: () => ReactNode;
              } & { dashboardId?: SdkDashboardId
              | null; token?: string | null } & {
                  enableEntityNavigation?: boolean;
                  hiddenParameters?: string[];
                  initialParameters?: ParameterValues;
                  withCardTitle?: boolean;
                  withDownloads?: boolean;
                  withSubscriptions?: boolean;
                  withTitle?: boolean;
              } & { className?: string; style?: CSSProperties } & {
                  onLoad?: (dashboard: MetabaseDashboard | null) => void;
                  onLoadWithoutCards?: (dashboard: MetabaseDashboard | null) => void;
                  onVisualizationChange?: (
                      visualization:
                          | "object"
                          | "table"
                          | "bar"
                          | "line"
                          | "pie"
                          | "scalar"
                          | "row"
                          | "area"
                          | "combo"
                          | "pivot"
                          | "smartscalar"
                          | "gauge"
                          | "progress"
                          | "funnel"
                          | "map"
                          | "scatter"
                          | "boxplot"
                          | "waterfall"
                          | "sankey"
                          | "list",
                  ) => void;
              } & { dataPickerProps?: Pick<SdkQuestionProps, "entityTypes"> } & {}
              • OptionalautoRefreshInterval?: number

                The interval between auto refreshes on the dashboard, in seconds.

              • dashboardId: SdkDashboardId

                The ID of the dashboard.
                This is either: @@ -24,13 +24,39 @@

          • OptionaldrillThroughQuestionHeight?: Height<string | number>

            Height of a question component when drilled from the dashboard to a question level.

          • OptionaldrillThroughQuestionProps?: DrillThroughQuestionProps

            Props of a question component when drilled from the dashboard to a question level.

            -
          • OptionalinitialParameters?: ParameterValues

            Query parameters for the dashboard. For a single option, use a string value, and use a list of strings for multiple options. +

          • OptionalinitialParameters?: ParameterValues

            Initial values for query parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host. +
            +For each parameter:

              +
            • set to a value (string for a single option, array of strings for multiple): that value is applied. +
            • +
            • set to null: strictly cleared, ignoring the parameter's default. +
            • +
            • omitted (or set to undefined): falls back to the parameter's default (or null if it has no default). +
              +
            • Combining initialParameters and hiddenParameters to filter data on the frontend is a security risk.
            • Combining initialParameters and hiddenParameters to declutter the user interface is fine.
            +
          • OptionalonParametersChange?: (payload: ParameterChangePayload) => void

            Fires on parameters change. The payload's source distinguishes the initial state on load ('initial-state'), user edits in the UI ('manual-change'), and auto-updates ('auto-change').

            +
          • Optionalparameters?: ParameterValues

            Controlled parameter values, slug-keyed. On every render, this object replaces the dashboard's parameter values: +

            +
              +
            • a parameter set to a value uses that value. +
            • +
            • a parameter set to null is cleared, even if it has a default. +
            • +
            • a parameter omitted from the object (or set to undefined) uses its default (or null if it has no default). +
              +
              +Pair with onParametersChange to stay in sync with user edits. +
            • +
            • Combining parameters and hiddenParameters to filter data on the frontend is a security risk. +
            • +
            • Combining parameters and hiddenParameters to declutter the user interface is fine.
            • +
          • Optionalplugins?: MetabasePluginsConfig

            Additional mapper function to override or add drill-down menu. See the implementing custom actions section for more details.

          • OptionalrenderDrillThroughQuestion?: () => ReactNode

            A custom React component to render the question layout. Use namespaced InteractiveQuestion components to build the layout.

            diff --git a/_docs/latest/embedding/sdk/api/InteractiveDashboardProps.html b/_docs/latest/embedding/sdk/api/InteractiveDashboardProps.html index 437977372f..3a684ca61e 100644 --- a/_docs/latest/embedding/sdk/api/InteractiveDashboardProps.html +++ b/_docs/latest/embedding/sdk/api/InteractiveDashboardProps.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -11,7 +11,7 @@ latest: true --- -InteractiveDashboardProps | Embedded analytics SDK API{% include docs/embedded-analytics-sdk-metadata.html %}

            Interface InteractiveDashboardProps

            interface InteractiveDashboardProps {
                autoRefreshInterval?: number;
                className?: string;
                dashboardId: string | number;
                dataPickerProps?: Pick<SdkQuestionProps, "entityTypes">;
                drillThroughQuestionHeight?: Height<string | number>;
                drillThroughQuestionProps?: DrillThroughQuestionProps;
                enableEntityNavigation?: boolean;
                hiddenParameters?: string[];
                initialParameters?: ParameterValues;
                onLoad?: (dashboard: MetabaseDashboard | null) => void;
                onLoadWithoutCards?: (dashboard: MetabaseDashboard | null) => void;
                onVisualizationChange?: (
                    visualization:
                        | "object"
                        | "table"
                        | "bar"
                        | "line"
                        | "pie"
                        | "scalar"
                        | "row"
                        | "area"
                        | "combo"
                        | "pivot"
                        | "smartscalar"
                        | "gauge"
                        | "progress"
                        | "funnel"
                        | "map"
                        | "scatter"
                        | "boxplot"
                        | "waterfall"
                        | "sankey"
                        | "list",
                ) => void;
                plugins?: MetabasePluginsConfig;
                renderDrillThroughQuestion?: () => ReactNode;
                style?: CSSProperties;
                token?: string | null;
                withCardTitle?: boolean;
                withDownloads?: boolean;
                withSubscriptions?: boolean;
                withTitle?: boolean;
            }
            Index

            Properties

            autoRefreshInterval? +InteractiveDashboardProps | Embedded analytics SDK API{% include docs/embedded-analytics-sdk-metadata.html %}

            Interface InteractiveDashboardProps

            interface InteractiveDashboardProps {
                autoRefreshInterval?: number;
                className?: string;
                dashboardId: string | number;
                dataPickerProps?: Pick<SdkQuestionProps, "entityTypes">;
                drillThroughQuestionHeight?: Height<string | number>;
                drillThroughQuestionProps?: DrillThroughQuestionProps;
                enableEntityNavigation?: boolean;
                hiddenParameters?: string[];
                initialParameters?: ParameterValues;
                onLoad?: (dashboard: MetabaseDashboard | null) => void;
                onLoadWithoutCards?: (dashboard: MetabaseDashboard | null) => void;
                onParametersChange?: (payload: ParameterChangePayload) => void;
                onVisualizationChange?: (
                    visualization:
                        | "object"
                        | "table"
                        | "bar"
                        | "line"
                        | "pie"
                        | "scalar"
                        | "row"
                        | "area"
                        | "combo"
                        | "pivot"
                        | "smartscalar"
                        | "gauge"
                        | "progress"
                        | "funnel"
                        | "map"
                        | "scatter"
                        | "boxplot"
                        | "waterfall"
                        | "sankey"
                        | "list",
                ) => void;
                parameters?: ParameterValues;
                plugins?: MetabasePluginsConfig;
                renderDrillThroughQuestion?: () => ReactNode;
                style?: CSSProperties;
                token?: string | null;
                withCardTitle?: boolean;
                withDownloads?: boolean;
                withSubscriptions?: boolean;
                withTitle?: boolean;
            }
            Index
          • OptionalentityTypes?: EmbeddingEntityType[]

            An array that specifies which entity types are available in the data picker

          • Optionalheight?: Height<string | number>

            A number or string specifying a CSS size value that specifies the height of the component

          • OptionalinitialCollection?: SdkCollectionId

            The collection to preselect in the save modal's collection picker. Unlike targetCollection, the picker remains visible and the user can choose a different collection. Ignored when targetCollection is set.

            -
          • OptionalinitialSqlParameters?: SqlParameterValues

            Initial values for the SQL parameters.

            +
          • OptionalinitialSqlParameters?: SqlParameterValues

            Initial values for SQL parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host. +
            +For each parameter: +

            +
              +
            • set to a value: that value is applied. +
            • +
            • set to null: strictly cleared, ignoring the parameter's default. +
            • +
            • omitted (or set to undefined): falls back to the parameter's default (or null if it has no default).
            • +
          • OptionalisSaveEnabled?: boolean

            Whether to show the save button.

          • OptionalonBeforeSave?: (
                question: MetabaseQuestion | undefined,
                context: { isNewQuestion: boolean },
            ) => Promise<void>

            A callback function that triggers before saving. Only relevant when isSaveEnabled = true

          • OptionalonRun?: (question: MetabaseQuestion | undefined) => void

            A callback function that triggers when a question is updated, including when a user clicks the Visualize button in the question editor

            @@ -64,6 +76,7 @@
          • OptionalwithAlerts?: boolean

            Enables the ability to set up alerts on the question.

          • OptionalwithChartTypeSelector?: boolean

            Determines whether the chart type selector and corresponding settings button are shown. Only relevant when using the default layout.

          • OptionalwithDownloads?: boolean

            Enables the ability to download results in the question.

            +
          • OptionalwithEditorButton?: boolean

            Determines whether the editor button is shown. Only relevant when using the default layout.

    enableEntityNavigation?: boolean

    When true, internal click behaviors (links to dashboards/questions) are preserved. When false (default for SDK), these click behaviors are filtered out.

    hiddenParameters?: string[]

    A list of parameters to hide. @@ -73,19 +86,45 @@

  • Combining initialParameters and hiddenParameters to declutter the user interface is fine.
  • -
    initialParameters?: ParameterValues

    Query parameters for the dashboard. For a single option, use a string value, and use a list of strings for multiple options. +

    initialParameters?: ParameterValues

    Initial values for query parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host. +
    +For each parameter:

      +
    • set to a value (string for a single option, array of strings for multiple): that value is applied. +
    • +
    • set to null: strictly cleared, ignoring the parameter's default. +
    • +
    • omitted (or set to undefined): falls back to the parameter's default (or null if it has no default). +
      +
    • Combining initialParameters and hiddenParameters to filter data on the frontend is a security risk.
    • Combining initialParameters and hiddenParameters to declutter the user interface is fine.
    onLoad?: (dashboard: MetabaseDashboard | null) => void

    Callback that is called when the dashboard is loaded.

    onLoadWithoutCards?: (dashboard: MetabaseDashboard | null) => void

    Callback that is called when the dashboard is loaded without cards.

    +
    onParametersChange?: (payload: ParameterChangePayload) => void

    Fires on parameters change. The payload's source distinguishes the initial state on load ('initial-state'), user edits in the UI ('manual-change'), and auto-updates ('auto-change').

    onVisualizationChange?: (
        visualization:
            | "object"
            | "table"
            | "bar"
            | "line"
            | "pie"
            | "scalar"
            | "row"
            | "area"
            | "combo"
            | "pivot"
            | "smartscalar"
            | "gauge"
            | "progress"
            | "funnel"
            | "map"
            | "scatter"
            | "boxplot"
            | "waterfall"
            | "sankey"
            | "list",
    ) => void

    A callback function that triggers when a question is opened from a dashboard card or when the user changes the visualization type of a question.

    Type Declaration

      • (
            visualization:
                | "object"
                | "table"
                | "bar"
                | "line"
                | "pie"
                | "scalar"
                | "row"
                | "area"
                | "combo"
                | "pivot"
                | "smartscalar"
                | "gauge"
                | "progress"
                | "funnel"
                | "map"
                | "scatter"
                | "boxplot"
                | "waterfall"
                | "sankey"
                | "list",
        ): void
      • Parameters

        • visualization:
              | "object"
              | "table"
              | "bar"
              | "line"
              | "pie"
              | "scalar"
              | "row"
              | "area"
              | "combo"
              | "pivot"
              | "smartscalar"
              | "gauge"
              | "progress"
              | "funnel"
              | "map"
              | "scatter"
              | "boxplot"
              | "waterfall"
              | "sankey"
              | "list"

          the new visualization type

          -

        Returns void

    Additional mapper function to override or add drill-down menu. See the implementing custom actions section for more details.

    +

    Returns void

    parameters?: ParameterValues

    Controlled parameter values, slug-keyed. On every render, this object replaces the dashboard's parameter values: +

    +
      +
    • a parameter set to a value uses that value. +
    • +
    • a parameter set to null is cleared, even if it has a default. +
    • +
    • a parameter omitted from the object (or set to undefined) uses its default (or null if it has no default). +
      +
      +Pair with onParametersChange to stay in sync with user edits. +
    • +
    • Combining parameters and hiddenParameters to filter data on the frontend is a security risk. +
    • +
    • Combining parameters and hiddenParameters to declutter the user interface is fine.
    • +
    +

    Additional mapper function to override or add drill-down menu. See the implementing custom actions section for more details.

    renderDrillThroughQuestion?: () => ReactNode

    A custom React component to render the question layout. Use namespaced InteractiveQuestion components to build the layout.

    A custom style object to be added to the root element.

    @@ -93,4 +132,4 @@
    withDownloads?: boolean

    Whether to hide the download button.

    withSubscriptions?: boolean

    Whether to show the subscriptions button.

    withTitle?: boolean

    Whether the dashboard should display a title.

    -

    +

    diff --git a/_docs/latest/embedding/sdk/api/InteractiveQuestion.html b/_docs/latest/embedding/sdk/api/InteractiveQuestion.html index 29034e5b4c..5673b2da5c 100644 --- a/_docs/latest/embedding/sdk/api/InteractiveQuestion.html +++ b/_docs/latest/embedding/sdk/api/InteractiveQuestion.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -18,12 +18,23 @@
  • Optionalheight?: Height<string | number>

    A number or string specifying a CSS size value that specifies the height of the component

  • OptionalhiddenParameters?: string[]

    A list of parameters to hide.

  • OptionalinitialCollection?: SdkCollectionId

    The collection to preselect in the save modal's collection picker. Unlike targetCollection, the picker remains visible and the user can choose a different collection. Ignored when targetCollection is set.

    -
  • OptionalinitialSqlParameters?: SqlParameterValues

    Initial values for the SQL parameters.

    +
  • OptionalinitialSqlParameters?: SqlParameterValues

    Initial values for SQL parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host. +
    +For each parameter: +

    +
      +
    • set to a value: that value is applied. +
    • +
    • set to null: strictly cleared, ignoring the parameter's default. +
    • +
    • omitted (or set to undefined): falls back to the parameter's default (or null if it has no default).
    • +
  • OptionalisSaveEnabled?: boolean

    Whether to show the save button.

  • OptionalonBeforeSave?: (
        question: MetabaseQuestion | undefined,
        context: { isNewQuestion: boolean },
    ) => Promise<void>

    A callback function that triggers before saving. Only relevant when isSaveEnabled = true

  • OptionalonNavigateBack?: () => void

    A callback function that triggers when a user clicks the back button.

  • OptionalonRun?: (question: MetabaseQuestion | undefined) => void

    A callback function that triggers when a question is updated, including when a user clicks the Visualize button in the question editor

  • OptionalonSave?: (
        question: MetabaseQuestion,
        context: { dashboardTabId?: number; isNewQuestion: boolean },
    ) => void

    A callback function that triggers when a user saves the question. Only relevant when isSaveEnabled = true

    +
  • OptionalonSqlParametersChange?: (payload: SqlParameterChangePayload) => void

    Fires on SQL parameters change. The payload's source distinguishes the initial state on load ('initial-state'), user edits in the UI ('manual-change'), and auto-updates ('auto-change').

  • OptionalonVisualizationChange?: (
        display:
            | "object"
            | "table"
            | "bar"
            | "line"
            | "pie"
            | "scalar"
            | "row"
            | "area"
            | "combo"
            | "pivot"
            | "smartscalar"
            | "gauge"
            | "progress"
            | "funnel"
            | "map"
            | "scatter"
            | "boxplot"
            | "waterfall"
            | "sankey"
            | "list",
    ) => void

    A callback function that triggers when the visualization type changes.

  • Optionalplugins?: MetabasePluginsConfig
  • Optionalquery?: undefined
  • OptionalquestionId?: SdkQuestionId | null

    The ID of the question.
    @@ -38,6 +49,18 @@

  • new-native to show the SQL editor for creating new native questions
  • +
  • OptionalsqlParameters?: SqlParameterValues

    Controlled SQL parameter values, slug-keyed. On every render, this object replaces the question's parameter values: +

    +
      +
    • a parameter set to a value uses that value. +
    • +
    • a parameter set to null is cleared, even if it has a default. +
    • +
    • a parameter omitted from the object (or set to undefined) uses its default (or null if it has no default). +
      +
      +Pair with onSqlParametersChange to stay in sync with user edits.
    • +
  • Optionalstyle?: CSSProperties

    A custom style object to be added to the root element.

  • OptionaltargetCollection?: SdkCollectionId

    The collection to save the question to. This will hide the collection picker from the save modal. Only applicable to interactive questions.

  • Optionaltitle?: SdkQuestionTitleProps

    Determines whether the question title is displayed, and allows a custom title to be displayed instead of the default question title. Shown by default.

    @@ -46,6 +69,7 @@
  • OptionalwithAlerts?: boolean

    Enables the ability to set up alerts on the question.

  • OptionalwithChartTypeSelector?: boolean

    Determines whether the chart type selector and corresponding settings button are shown. Only relevant when using the default layout.

  • OptionalwithDownloads?: boolean

    Enables the ability to download results in the question.

    +
  • OptionalwithEditorButton?: boolean

    Determines whether the editor button is shown. Only relevant when using the default layout.

  • Returns Element

    Index

    InteractiveQuestion

    BackButton Breakout BreakoutDropdown diff --git a/_docs/latest/embedding/sdk/api/InteractiveQuestionBackButtonProps.html b/_docs/latest/embedding/sdk/api/InteractiveQuestionBackButtonProps.html index 38ce2d05cd..1106bbebc2 100644 --- a/_docs/latest/embedding/sdk/api/InteractiveQuestionBackButtonProps.html +++ b/_docs/latest/embedding/sdk/api/InteractiveQuestionBackButtonProps.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/InteractiveQuestionBreakoutDropdownProps.html b/_docs/latest/embedding/sdk/api/InteractiveQuestionBreakoutDropdownProps.html index 8dbcb59fa6..24f8e41093 100644 --- a/_docs/latest/embedding/sdk/api/InteractiveQuestionBreakoutDropdownProps.html +++ b/_docs/latest/embedding/sdk/api/InteractiveQuestionBreakoutDropdownProps.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/InteractiveQuestionChartTypeDropdownProps.html b/_docs/latest/embedding/sdk/api/InteractiveQuestionChartTypeDropdownProps.html index dda4916963..3d19a188f7 100644 --- a/_docs/latest/embedding/sdk/api/InteractiveQuestionChartTypeDropdownProps.html +++ b/_docs/latest/embedding/sdk/api/InteractiveQuestionChartTypeDropdownProps.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/InteractiveQuestionChartTypeSelectorProps.html b/_docs/latest/embedding/sdk/api/InteractiveQuestionChartTypeSelectorProps.html index b0abeda055..69526e35e3 100644 --- a/_docs/latest/embedding/sdk/api/InteractiveQuestionChartTypeSelectorProps.html +++ b/_docs/latest/embedding/sdk/api/InteractiveQuestionChartTypeSelectorProps.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/InteractiveQuestionComponents.html b/_docs/latest/embedding/sdk/api/InteractiveQuestionComponents.html index 9c48aadeb3..a50b93fa72 100644 --- a/_docs/latest/embedding/sdk/api/InteractiveQuestionComponents.html +++ b/_docs/latest/embedding/sdk/api/InteractiveQuestionComponents.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/InteractiveQuestionDownloadWidgetDropdownProps.html b/_docs/latest/embedding/sdk/api/InteractiveQuestionDownloadWidgetDropdownProps.html index 02e21b3c8b..1e0acb07af 100644 --- a/_docs/latest/embedding/sdk/api/InteractiveQuestionDownloadWidgetDropdownProps.html +++ b/_docs/latest/embedding/sdk/api/InteractiveQuestionDownloadWidgetDropdownProps.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/InteractiveQuestionDownloadWidgetProps.html b/_docs/latest/embedding/sdk/api/InteractiveQuestionDownloadWidgetProps.html index e77114ed8c..7a48d9bba1 100644 --- a/_docs/latest/embedding/sdk/api/InteractiveQuestionDownloadWidgetProps.html +++ b/_docs/latest/embedding/sdk/api/InteractiveQuestionDownloadWidgetProps.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/InteractiveQuestionEditorButtonProps.html b/_docs/latest/embedding/sdk/api/InteractiveQuestionEditorButtonProps.html index 2622b95168..a504c9bd31 100644 --- a/_docs/latest/embedding/sdk/api/InteractiveQuestionEditorButtonProps.html +++ b/_docs/latest/embedding/sdk/api/InteractiveQuestionEditorButtonProps.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/InteractiveQuestionEditorProps.html b/_docs/latest/embedding/sdk/api/InteractiveQuestionEditorProps.html index c8a7c9b23a..d7fec799e8 100644 --- a/_docs/latest/embedding/sdk/api/InteractiveQuestionEditorProps.html +++ b/_docs/latest/embedding/sdk/api/InteractiveQuestionEditorProps.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/InteractiveQuestionFilterDropdownProps.html b/_docs/latest/embedding/sdk/api/InteractiveQuestionFilterDropdownProps.html index 5bb6b815df..9e41d2ebc4 100644 --- a/_docs/latest/embedding/sdk/api/InteractiveQuestionFilterDropdownProps.html +++ b/_docs/latest/embedding/sdk/api/InteractiveQuestionFilterDropdownProps.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/InteractiveQuestionFilterProps.html b/_docs/latest/embedding/sdk/api/InteractiveQuestionFilterProps.html index 54f3fedf92..c1c62d92e4 100644 --- a/_docs/latest/embedding/sdk/api/InteractiveQuestionFilterProps.html +++ b/_docs/latest/embedding/sdk/api/InteractiveQuestionFilterProps.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/InteractiveQuestionProps.html b/_docs/latest/embedding/sdk/api/InteractiveQuestionProps.html index 6456a65444..479f359daf 100644 --- a/_docs/latest/embedding/sdk/api/InteractiveQuestionProps.html +++ b/_docs/latest/embedding/sdk/api/InteractiveQuestionProps.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -11,7 +11,7 @@ latest: true --- -InteractiveQuestionProps | Embedded analytics SDK API{% include docs/embedded-analytics-sdk-metadata.html %}

    Interface InteractiveQuestionProps

    interface InteractiveQuestionProps {
        className?: string;
        dataPicker?: EmbeddingDataPicker;
        entityTypes?: EmbeddingEntityType[];
        height?: Height<string | number>;
        hiddenParameters?: string[];
        initialCollection?: SdkCollectionId;
        initialSqlParameters?: SqlParameterValues;
        isSaveEnabled?: boolean;
        onBeforeSave?: (
            question: MetabaseQuestion | undefined,
            context: { isNewQuestion: boolean },
        ) => Promise<void>;
        onNavigateBack?: () => void;
        onRun?: (question: MetabaseQuestion | undefined) => void;
        onSave?: (
            question: MetabaseQuestion,
            context: { dashboardTabId?: number; isNewQuestion: boolean },
        ) => void;
        onVisualizationChange?: (
            display:
                | "object"
                | "table"
                | "bar"
                | "line"
                | "pie"
                | "scalar"
                | "row"
                | "area"
                | "combo"
                | "pivot"
                | "smartscalar"
                | "gauge"
                | "progress"
                | "funnel"
                | "map"
                | "scatter"
                | "boxplot"
                | "waterfall"
                | "sankey"
                | "list",
        ) => void;
        plugins?: MetabasePluginsConfig;
        query?: undefined;
        questionId?: SdkQuestionId
        | null;
        style?: CSSProperties;
        targetCollection?: SdkCollectionId;
        title?: SdkQuestionTitleProps;
        token?: string | null;
        width?: Width<string | number>;
        withAlerts?: boolean;
        withChartTypeSelector?: boolean;
        withDownloads?: boolean;
    }
    Index

    Properties

    className? +InteractiveQuestionProps | Embedded analytics SDK API{% include docs/embedded-analytics-sdk-metadata.html %}

    Interface InteractiveQuestionProps

    interface InteractiveQuestionProps {
        className?: string;
        dataPicker?: EmbeddingDataPicker;
        entityTypes?: EmbeddingEntityType[];
        height?: Height<string | number>;
        hiddenParameters?: string[];
        initialCollection?: SdkCollectionId;
        initialSqlParameters?: SqlParameterValues;
        isSaveEnabled?: boolean;
        onBeforeSave?: (
            question: MetabaseQuestion | undefined,
            context: { isNewQuestion: boolean },
        ) => Promise<void>;
        onNavigateBack?: () => void;
        onRun?: (question: MetabaseQuestion | undefined) => void;
        onSave?: (
            question: MetabaseQuestion,
            context: { dashboardTabId?: number; isNewQuestion: boolean },
        ) => void;
        onSqlParametersChange?: (payload: SqlParameterChangePayload) => void;
        onVisualizationChange?: (
            display:
                | "object"
                | "table"
                | "bar"
                | "line"
                | "pie"
                | "scalar"
                | "row"
                | "area"
                | "combo"
                | "pivot"
                | "smartscalar"
                | "gauge"
                | "progress"
                | "funnel"
                | "map"
                | "scatter"
                | "boxplot"
                | "waterfall"
                | "sankey"
                | "list",
        ) => void;
        plugins?: MetabasePluginsConfig;
        query?: undefined;
        questionId?: SdkQuestionId
        | null;
        sqlParameters?: SqlParameterValues;
        style?: CSSProperties;
        targetCollection?: SdkCollectionId;
        title?: SdkQuestionTitleProps;
        token?: string | null;
        width?: Width<string | number>;
        withAlerts?: boolean;
        withChartTypeSelector?: boolean;
        withDownloads?: boolean;
        withEditorButton?: boolean;
    }
    Index

    Properties

    className?: string

    A custom class name to be added to the root element.

    dataPicker?: EmbeddingDataPicker

    Controls the menu for selecting data sources in questions. You can opt for the full data picker by setting dataPicker = "staged".

    entityTypes?: EmbeddingEntityType[]

    An array that specifies which entity types are available in the data picker

    height?: Height<string | number>

    A number or string specifying a CSS size value that specifies the height of the component

    hiddenParameters?: string[]

    A list of parameters to hide.

    initialCollection?: SdkCollectionId

    The collection to preselect in the save modal's collection picker. Unlike targetCollection, the picker remains visible and the user can choose a different collection. Ignored when targetCollection is set.

    -
    initialSqlParameters?: SqlParameterValues

    Initial values for the SQL parameters.

    +
    initialSqlParameters?: SqlParameterValues

    Initial values for SQL parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host. +
    +For each parameter: +

    +
      +
    • set to a value: that value is applied. +
    • +
    • set to null: strictly cleared, ignoring the parameter's default. +
    • +
    • omitted (or set to undefined): falls back to the parameter's default (or null if it has no default).
    • +
    isSaveEnabled?: boolean

    Whether to show the save button.

    onBeforeSave?: (
        question: MetabaseQuestion | undefined,
        context: { isNewQuestion: boolean },
    ) => Promise<void>

    A callback function that triggers before saving. Only relevant when isSaveEnabled = true

    onNavigateBack?: () => void

    A callback function that triggers when a user clicks the back button.

    onRun?: (question: MetabaseQuestion | undefined) => void

    A callback function that triggers when a question is updated, including when a user clicks the Visualize button in the question editor

    onSave?: (
        question: MetabaseQuestion,
        context: { dashboardTabId?: number; isNewQuestion: boolean },
    ) => void

    A callback function that triggers when a user saves the question. Only relevant when isSaveEnabled = true

    +
    onSqlParametersChange?: (payload: SqlParameterChangePayload) => void

    Fires on SQL parameters change. The payload's source distinguishes the initial state on load ('initial-state'), user edits in the UI ('manual-change'), and auto-updates ('auto-change').

    onVisualizationChange?: (
        display:
            | "object"
            | "table"
            | "bar"
            | "line"
            | "pie"
            | "scalar"
            | "row"
            | "area"
            | "combo"
            | "pivot"
            | "smartscalar"
            | "gauge"
            | "progress"
            | "funnel"
            | "map"
            | "scatter"
            | "boxplot"
            | "waterfall"
            | "sankey"
            | "list",
    ) => void

    A callback function that triggers when the visualization type changes.

    Type Declaration

      • (
            display:
                | "object"
                | "table"
                | "bar"
                | "line"
                | "pie"
                | "scalar"
                | "row"
                | "area"
                | "combo"
                | "pivot"
                | "smartscalar"
                | "gauge"
                | "progress"
                | "funnel"
                | "map"
                | "scatter"
                | "boxplot"
                | "waterfall"
                | "sankey"
                | "list",
        ): void
      • Parameters

        • display:
              | "object"
              | "table"
              | "bar"
              | "line"
              | "pie"
              | "scalar"
              | "row"
              | "area"
              | "combo"
              | "pivot"
              | "smartscalar"
              | "gauge"
              | "progress"
              | "funnel"
              | "map"
              | "scatter"
              | "boxplot"
              | "waterfall"
              | "sankey"
              | "list"

          the new display type

        Returns void

    query?: undefined
    questionId?: SdkQuestionId | null

    The ID of the question. @@ -62,6 +76,18 @@

  • new-native to show the SQL editor for creating new native questions
  • +
    sqlParameters?: SqlParameterValues

    Controlled SQL parameter values, slug-keyed. On every render, this object replaces the question's parameter values: +

    +
      +
    • a parameter set to a value uses that value. +
    • +
    • a parameter set to null is cleared, even if it has a default. +
    • +
    • a parameter omitted from the object (or set to undefined) uses its default (or null if it has no default). +
      +
      +Pair with onSqlParametersChange to stay in sync with user edits.
    • +

    A custom style object to be added to the root element.

    targetCollection?: SdkCollectionId

    The collection to save the question to. This will hide the collection picker from the save modal. Only applicable to interactive questions.

    Determines whether the question title is displayed, and allows a custom title to be displayed instead of the default question title. Shown by default.

    @@ -70,4 +96,5 @@
    withAlerts?: boolean

    Enables the ability to set up alerts on the question.

    withChartTypeSelector?: boolean

    Determines whether the chart type selector and corresponding settings button are shown. Only relevant when using the default layout.

    withDownloads?: boolean

    Enables the ability to download results in the question.

    -

    +
    withEditorButton?: boolean

    Determines whether the editor button is shown. Only relevant when using the default layout.

    +

    diff --git a/_docs/latest/embedding/sdk/api/InteractiveQuestionQuestionSettingsDropdownProps.html b/_docs/latest/embedding/sdk/api/InteractiveQuestionQuestionSettingsDropdownProps.html index b605a24554..4f7223da19 100644 --- a/_docs/latest/embedding/sdk/api/InteractiveQuestionQuestionSettingsDropdownProps.html +++ b/_docs/latest/embedding/sdk/api/InteractiveQuestionQuestionSettingsDropdownProps.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/InteractiveQuestionQuestionSettingsProps.html b/_docs/latest/embedding/sdk/api/InteractiveQuestionQuestionSettingsProps.html index da865c308a..f86599b33d 100644 --- a/_docs/latest/embedding/sdk/api/InteractiveQuestionQuestionSettingsProps.html +++ b/_docs/latest/embedding/sdk/api/InteractiveQuestionQuestionSettingsProps.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/InteractiveQuestionQuestionVisualizationProps.html b/_docs/latest/embedding/sdk/api/InteractiveQuestionQuestionVisualizationProps.html index 5af88682ee..a3cac966b5 100644 --- a/_docs/latest/embedding/sdk/api/InteractiveQuestionQuestionVisualizationProps.html +++ b/_docs/latest/embedding/sdk/api/InteractiveQuestionQuestionVisualizationProps.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/InteractiveQuestionResetButtonProps.html b/_docs/latest/embedding/sdk/api/InteractiveQuestionResetButtonProps.html index eab755c786..9aad2ca1c1 100644 --- a/_docs/latest/embedding/sdk/api/InteractiveQuestionResetButtonProps.html +++ b/_docs/latest/embedding/sdk/api/InteractiveQuestionResetButtonProps.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/InteractiveQuestionSaveButtonProps.html b/_docs/latest/embedding/sdk/api/InteractiveQuestionSaveButtonProps.html index 036dfa76bc..67ba82b4a4 100644 --- a/_docs/latest/embedding/sdk/api/InteractiveQuestionSaveButtonProps.html +++ b/_docs/latest/embedding/sdk/api/InteractiveQuestionSaveButtonProps.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/InteractiveQuestionSaveQuestionFormProps.html b/_docs/latest/embedding/sdk/api/InteractiveQuestionSaveQuestionFormProps.html index bb6ce6f74b..a04e1a9f26 100644 --- a/_docs/latest/embedding/sdk/api/InteractiveQuestionSaveQuestionFormProps.html +++ b/_docs/latest/embedding/sdk/api/InteractiveQuestionSaveQuestionFormProps.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/InteractiveQuestionSummarizeDropdownProps.html b/_docs/latest/embedding/sdk/api/InteractiveQuestionSummarizeDropdownProps.html index 0b246d7cdd..cbb57e758a 100644 --- a/_docs/latest/embedding/sdk/api/InteractiveQuestionSummarizeDropdownProps.html +++ b/_docs/latest/embedding/sdk/api/InteractiveQuestionSummarizeDropdownProps.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/InteractiveQuestionTitleProps.html b/_docs/latest/embedding/sdk/api/InteractiveQuestionTitleProps.html index ff780c71f2..548785c2f0 100644 --- a/_docs/latest/embedding/sdk/api/InteractiveQuestionTitleProps.html +++ b/_docs/latest/embedding/sdk/api/InteractiveQuestionTitleProps.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/LoginStatus.html b/_docs/latest/embedding/sdk/api/LoginStatus.html index e04d3b3383..e69525c67b 100644 --- a/_docs/latest/embedding/sdk/api/LoginStatus.html +++ b/_docs/latest/embedding/sdk/api/LoginStatus.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/MetabaseAuthConfig.html b/_docs/latest/embedding/sdk/api/MetabaseAuthConfig.html index 9a05a92fb4..35e31c41e9 100644 --- a/_docs/latest/embedding/sdk/api/MetabaseAuthConfig.html +++ b/_docs/latest/embedding/sdk/api/MetabaseAuthConfig.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/MetabaseAuthConfigWithApiKey.html b/_docs/latest/embedding/sdk/api/MetabaseAuthConfigWithApiKey.html index 38ce6abe64..664b125d97 100644 --- a/_docs/latest/embedding/sdk/api/MetabaseAuthConfigWithApiKey.html +++ b/_docs/latest/embedding/sdk/api/MetabaseAuthConfigWithApiKey.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/MetabaseAuthConfigWithJwt.html b/_docs/latest/embedding/sdk/api/MetabaseAuthConfigWithJwt.html index 557edc7db6..27e69d4a99 100644 --- a/_docs/latest/embedding/sdk/api/MetabaseAuthConfigWithJwt.html +++ b/_docs/latest/embedding/sdk/api/MetabaseAuthConfigWithJwt.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/MetabaseAuthConfigWithSaml.html b/_docs/latest/embedding/sdk/api/MetabaseAuthConfigWithSaml.html index 4350d5fdd8..e5d3acd735 100644 --- a/_docs/latest/embedding/sdk/api/MetabaseAuthConfigWithSaml.html +++ b/_docs/latest/embedding/sdk/api/MetabaseAuthConfigWithSaml.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/MetabaseClickAction.html b/_docs/latest/embedding/sdk/api/MetabaseClickAction.html index 9b49e45fae..62c789a3c0 100644 --- a/_docs/latest/embedding/sdk/api/MetabaseClickAction.html +++ b/_docs/latest/embedding/sdk/api/MetabaseClickAction.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/MetabaseClickActionPluginsConfig.html b/_docs/latest/embedding/sdk/api/MetabaseClickActionPluginsConfig.html index 686ac287ce..412cdfe99c 100644 --- a/_docs/latest/embedding/sdk/api/MetabaseClickActionPluginsConfig.html +++ b/_docs/latest/embedding/sdk/api/MetabaseClickActionPluginsConfig.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/MetabaseCollection.html b/_docs/latest/embedding/sdk/api/MetabaseCollection.html index 93b1feb2b4..2d83ac7f09 100644 --- a/_docs/latest/embedding/sdk/api/MetabaseCollection.html +++ b/_docs/latest/embedding/sdk/api/MetabaseCollection.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/MetabaseCollectionItem.html b/_docs/latest/embedding/sdk/api/MetabaseCollectionItem.html index b935836ef7..0f5ab3715d 100644 --- a/_docs/latest/embedding/sdk/api/MetabaseCollectionItem.html +++ b/_docs/latest/embedding/sdk/api/MetabaseCollectionItem.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/MetabaseColorKey.html b/_docs/latest/embedding/sdk/api/MetabaseColorKey.html index 3497bfe762..6f10fd8c68 100644 --- a/_docs/latest/embedding/sdk/api/MetabaseColorKey.html +++ b/_docs/latest/embedding/sdk/api/MetabaseColorKey.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/MetabaseColors.html b/_docs/latest/embedding/sdk/api/MetabaseColors.html index 724eb1486d..e9cf9dd7b5 100644 --- a/_docs/latest/embedding/sdk/api/MetabaseColors.html +++ b/_docs/latest/embedding/sdk/api/MetabaseColors.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/MetabaseComponentTheme.html b/_docs/latest/embedding/sdk/api/MetabaseComponentTheme.html index 651641ce06..4575fa9a84 100644 --- a/_docs/latest/embedding/sdk/api/MetabaseComponentTheme.html +++ b/_docs/latest/embedding/sdk/api/MetabaseComponentTheme.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/MetabaseDashboard.html b/_docs/latest/embedding/sdk/api/MetabaseDashboard.html index af53a2b335..aa7cd2b1f8 100644 --- a/_docs/latest/embedding/sdk/api/MetabaseDashboard.html +++ b/_docs/latest/embedding/sdk/api/MetabaseDashboard.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/MetabaseDashboardPluginsConfig.html b/_docs/latest/embedding/sdk/api/MetabaseDashboardPluginsConfig.html index f6a274d345..c1bb0e37e5 100644 --- a/_docs/latest/embedding/sdk/api/MetabaseDashboardPluginsConfig.html +++ b/_docs/latest/embedding/sdk/api/MetabaseDashboardPluginsConfig.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/MetabaseDataPointObject.html b/_docs/latest/embedding/sdk/api/MetabaseDataPointObject.html index ee94e83f94..aa2dd6863b 100644 --- a/_docs/latest/embedding/sdk/api/MetabaseDataPointObject.html +++ b/_docs/latest/embedding/sdk/api/MetabaseDataPointObject.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/MetabaseEmbeddingColorKeyV2.html b/_docs/latest/embedding/sdk/api/MetabaseEmbeddingColorKeyV2.html index 2f2235a469..124991881d 100644 --- a/_docs/latest/embedding/sdk/api/MetabaseEmbeddingColorKeyV2.html +++ b/_docs/latest/embedding/sdk/api/MetabaseEmbeddingColorKeyV2.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/MetabaseEmbeddingTheme.html b/_docs/latest/embedding/sdk/api/MetabaseEmbeddingTheme.html index ec038f2cc8..fe036a2674 100644 --- a/_docs/latest/embedding/sdk/api/MetabaseEmbeddingTheme.html +++ b/_docs/latest/embedding/sdk/api/MetabaseEmbeddingTheme.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/MetabaseEmbeddingThemeV2.html b/_docs/latest/embedding/sdk/api/MetabaseEmbeddingThemeV2.html index 4552a22824..a0e2a516e3 100644 --- a/_docs/latest/embedding/sdk/api/MetabaseEmbeddingThemeV2.html +++ b/_docs/latest/embedding/sdk/api/MetabaseEmbeddingThemeV2.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/MetabaseFetchRequestTokenFn.html b/_docs/latest/embedding/sdk/api/MetabaseFetchRequestTokenFn.html index 7892061dc3..a3076b8a11 100644 --- a/_docs/latest/embedding/sdk/api/MetabaseFetchRequestTokenFn.html +++ b/_docs/latest/embedding/sdk/api/MetabaseFetchRequestTokenFn.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/MetabaseFontFamily.html b/_docs/latest/embedding/sdk/api/MetabaseFontFamily.html index 9d7967ee82..a7b2a106ac 100644 --- a/_docs/latest/embedding/sdk/api/MetabaseFontFamily.html +++ b/_docs/latest/embedding/sdk/api/MetabaseFontFamily.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -11,4 +11,4 @@ latest: true --- -MetabaseFontFamily | Embedded analytics SDK API{% include docs/embedded-analytics-sdk-metadata.html %}

    Type Alias MetabaseFontFamily

    MetabaseFontFamily:
        | "Roboto"
        | "Merriweather"
        | "Open Sans"
        | "Lato"
        | "Noto Sans"
        | "Roboto Slab"
        | "Source Sans Pro"
        | "Raleway"
        | "Slabo 27px"
        | "PT Sans"
        | "Poppins"
        | "PT Serif"
        | "Roboto Mono"
        | "Roboto Condensed"
        | "Playfair Display"
        | "Oswald"
        | "Ubuntu"
        | "Montserrat"
        | "Lora"
        | "Custom"

    +MetabaseFontFamily | Embedded analytics SDK API{% include docs/embedded-analytics-sdk-metadata.html %}

    Type Alias MetabaseFontFamily

    MetabaseFontFamily:
        | "Roboto"
        | "Merriweather"
        | "Open Sans"
        | "Lato"
        | "Inter"
        | "Noto Sans"
        | "Roboto Slab"
        | "Source Sans Pro"
        | "Raleway"
        | "Slabo 27px"
        | "PT Sans"
        | "Poppins"
        | "PT Serif"
        | "Roboto Mono"
        | "Roboto Condensed"
        | "Playfair Display"
        | "Oswald"
        | "Ubuntu"
        | "Montserrat"
        | "Lora"
        | "Custom"

    diff --git a/_docs/latest/embedding/sdk/api/MetabaseGlobalPluginsConfig.html b/_docs/latest/embedding/sdk/api/MetabaseGlobalPluginsConfig.html index 1bf8183221..7f0526f3ec 100644 --- a/_docs/latest/embedding/sdk/api/MetabaseGlobalPluginsConfig.html +++ b/_docs/latest/embedding/sdk/api/MetabaseGlobalPluginsConfig.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/MetabaseIsGuestAuthConfig.html b/_docs/latest/embedding/sdk/api/MetabaseIsGuestAuthConfig.html index 866c1ff205..a24164d091 100644 --- a/_docs/latest/embedding/sdk/api/MetabaseIsGuestAuthConfig.html +++ b/_docs/latest/embedding/sdk/api/MetabaseIsGuestAuthConfig.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/MetabasePluginsConfig.html b/_docs/latest/embedding/sdk/api/MetabasePluginsConfig.html index 97a06cce01..e56ef9dad4 100644 --- a/_docs/latest/embedding/sdk/api/MetabasePluginsConfig.html +++ b/_docs/latest/embedding/sdk/api/MetabasePluginsConfig.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/MetabaseProvider.html b/_docs/latest/embedding/sdk/api/MetabaseProvider.html index 6aed33d3cc..4d85373280 100644 --- a/_docs/latest/embedding/sdk/api/MetabaseProvider.html +++ b/_docs/latest/embedding/sdk/api/MetabaseProvider.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/MetabaseProviderProps.html b/_docs/latest/embedding/sdk/api/MetabaseProviderProps.html index 58c71d441b..b64f03a304 100644 --- a/_docs/latest/embedding/sdk/api/MetabaseProviderProps.html +++ b/_docs/latest/embedding/sdk/api/MetabaseProviderProps.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/MetabaseQuestion.html b/_docs/latest/embedding/sdk/api/MetabaseQuestion.html index 915e45c747..5fe8da72e0 100644 --- a/_docs/latest/embedding/sdk/api/MetabaseQuestion.html +++ b/_docs/latest/embedding/sdk/api/MetabaseQuestion.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/MetabaseTheme.html b/_docs/latest/embedding/sdk/api/MetabaseTheme.html index 4fbaf6811a..0b3ad7e90d 100644 --- a/_docs/latest/embedding/sdk/api/MetabaseTheme.html +++ b/_docs/latest/embedding/sdk/api/MetabaseTheme.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/MetabaseThemePreset.html b/_docs/latest/embedding/sdk/api/MetabaseThemePreset.html index 2fc2199cec..72bca7a876 100644 --- a/_docs/latest/embedding/sdk/api/MetabaseThemePreset.html +++ b/_docs/latest/embedding/sdk/api/MetabaseThemePreset.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/MetabaseUser.html b/_docs/latest/embedding/sdk/api/MetabaseUser.html index 551b995097..c2b25fc651 100644 --- a/_docs/latest/embedding/sdk/api/MetabaseUser.html +++ b/_docs/latest/embedding/sdk/api/MetabaseUser.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/MetabotAgentChartMessage.html b/_docs/latest/embedding/sdk/api/MetabotAgentChartMessage.html index d80b051c24..236e08d637 100644 --- a/_docs/latest/embedding/sdk/api/MetabotAgentChartMessage.html +++ b/_docs/latest/embedding/sdk/api/MetabotAgentChartMessage.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/MetabotAgentMessage.html b/_docs/latest/embedding/sdk/api/MetabotAgentMessage.html index 47f8fee0d9..2dbed1dd30 100644 --- a/_docs/latest/embedding/sdk/api/MetabotAgentMessage.html +++ b/_docs/latest/embedding/sdk/api/MetabotAgentMessage.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/MetabotAgentTextMessage.html b/_docs/latest/embedding/sdk/api/MetabotAgentTextMessage.html index 977f6a2ec0..47441ed22c 100644 --- a/_docs/latest/embedding/sdk/api/MetabotAgentTextMessage.html +++ b/_docs/latest/embedding/sdk/api/MetabotAgentTextMessage.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/MetabotChartProps.html b/_docs/latest/embedding/sdk/api/MetabotChartProps.html index 65a68d0e3f..620255f383 100644 --- a/_docs/latest/embedding/sdk/api/MetabotChartProps.html +++ b/_docs/latest/embedding/sdk/api/MetabotChartProps.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/MetabotErrorMessage.html b/_docs/latest/embedding/sdk/api/MetabotErrorMessage.html index b012d5af48..2f7676a6b0 100644 --- a/_docs/latest/embedding/sdk/api/MetabotErrorMessage.html +++ b/_docs/latest/embedding/sdk/api/MetabotErrorMessage.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/MetabotMessage.html b/_docs/latest/embedding/sdk/api/MetabotMessage.html index 788eace664..3621a352b2 100644 --- a/_docs/latest/embedding/sdk/api/MetabotMessage.html +++ b/_docs/latest/embedding/sdk/api/MetabotMessage.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/MetabotQuestion.html b/_docs/latest/embedding/sdk/api/MetabotQuestion.html index 0ccc109523..f7495fbdf9 100644 --- a/_docs/latest/embedding/sdk/api/MetabotQuestion.html +++ b/_docs/latest/embedding/sdk/api/MetabotQuestion.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/MetabotQuestionProps.html b/_docs/latest/embedding/sdk/api/MetabotQuestionProps.html index 4d9bb93fdb..72936e2633 100644 --- a/_docs/latest/embedding/sdk/api/MetabotQuestionProps.html +++ b/_docs/latest/embedding/sdk/api/MetabotQuestionProps.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/MetabotUserTextMessage.html b/_docs/latest/embedding/sdk/api/MetabotUserTextMessage.html index 33372326c3..d5dd7220b0 100644 --- a/_docs/latest/embedding/sdk/api/MetabotUserTextMessage.html +++ b/_docs/latest/embedding/sdk/api/MetabotUserTextMessage.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/ParameterChangePayload.html b/_docs/latest/embedding/sdk/api/ParameterChangePayload.html new file mode 100644 index 0000000000..ecae665b65 --- /dev/null +++ b/_docs/latest/embedding/sdk/api/ParameterChangePayload.html @@ -0,0 +1,19 @@ +--- +version: v0.62 +has_magic_breadcrumbs: true +show_category_breadcrumb: true +show_title_breadcrumb: true +category: Embedding +title: ParameterChangePayload +source_url: >- + https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/ParameterChangePayload.html +layout: docs-api +latest: true +--- + +ParameterChangePayload | Embedded analytics SDK API{% include docs/embedded-analytics-sdk-metadata.html %}

    Type Alias ParameterChangePayload

    Payload passed to onParametersChange callback

    +
    Index

    Properties

    defaultParameters: ParameterValues
    lastUsedParameters: ParameterValues
    parameters: ParameterValues

    diff --git a/_docs/latest/embedding/sdk/api/ParameterChangeSource.html b/_docs/latest/embedding/sdk/api/ParameterChangeSource.html new file mode 100644 index 0000000000..2bbaf03009 --- /dev/null +++ b/_docs/latest/embedding/sdk/api/ParameterChangeSource.html @@ -0,0 +1,20 @@ +--- +version: v0.62 +has_magic_breadcrumbs: true +show_category_breadcrumb: true +show_title_breadcrumb: true +category: Embedding +title: ParameterChangeSource +source_url: >- + https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/ParameterChangeSource.html +layout: docs-api +latest: true +--- + +ParameterChangeSource | Embedded analytics SDK API{% include docs/embedded-analytics-sdk-metadata.html %}

    Type Alias ParameterChangeSource

    ParameterChangeSource: "initial-state" | "manual-change" | "auto-change"

    Source of a parameter-change event:

    +
      +
    • initial-state - first applied snapshot, fired once per dashboard load.
    • +
    • manual-change - user edited parameters in UI.
    • +
    • auto-change - in the case of auto-updates, e.g. to pass normalized values back to parent.
    • +
    +

    diff --git a/_docs/latest/embedding/sdk/api/ParameterValues.html b/_docs/latest/embedding/sdk/api/ParameterValues.html index accf6aba30..686c612980 100644 --- a/_docs/latest/embedding/sdk/api/ParameterValues.html +++ b/_docs/latest/embedding/sdk/api/ParameterValues.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/ProtectedColorKey.html b/_docs/latest/embedding/sdk/api/ProtectedColorKey.html index 640a981503..d655b1bcda 100644 --- a/_docs/latest/embedding/sdk/api/ProtectedColorKey.html +++ b/_docs/latest/embedding/sdk/api/ProtectedColorKey.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/SdkCollectionId.html b/_docs/latest/embedding/sdk/api/SdkCollectionId.html index e71c295e89..29cbaac031 100644 --- a/_docs/latest/embedding/sdk/api/SdkCollectionId.html +++ b/_docs/latest/embedding/sdk/api/SdkCollectionId.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/SdkDashboardEntityPublicProps.html b/_docs/latest/embedding/sdk/api/SdkDashboardEntityPublicProps.html index 7fa7d72e71..b5416663cb 100644 --- a/_docs/latest/embedding/sdk/api/SdkDashboardEntityPublicProps.html +++ b/_docs/latest/embedding/sdk/api/SdkDashboardEntityPublicProps.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/SdkDashboardId.html b/_docs/latest/embedding/sdk/api/SdkDashboardId.html index 262785b9c4..e350d8bc53 100644 --- a/_docs/latest/embedding/sdk/api/SdkDashboardId.html +++ b/_docs/latest/embedding/sdk/api/SdkDashboardId.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/SdkDashboardLoadEvent.html b/_docs/latest/embedding/sdk/api/SdkDashboardLoadEvent.html index b4dcaf5a3a..807c34d5a0 100644 --- a/_docs/latest/embedding/sdk/api/SdkDashboardLoadEvent.html +++ b/_docs/latest/embedding/sdk/api/SdkDashboardLoadEvent.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/SdkEntityId.html b/_docs/latest/embedding/sdk/api/SdkEntityId.html index ef1c6645d5..59566e846a 100644 --- a/_docs/latest/embedding/sdk/api/SdkEntityId.html +++ b/_docs/latest/embedding/sdk/api/SdkEntityId.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/SdkEntityToken.html b/_docs/latest/embedding/sdk/api/SdkEntityToken.html index 920f0fa7e9..7982df5182 100644 --- a/_docs/latest/embedding/sdk/api/SdkEntityToken.html +++ b/_docs/latest/embedding/sdk/api/SdkEntityToken.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/SdkErrorComponent.html b/_docs/latest/embedding/sdk/api/SdkErrorComponent.html index 457ad6926d..8452c4c760 100644 --- a/_docs/latest/embedding/sdk/api/SdkErrorComponent.html +++ b/_docs/latest/embedding/sdk/api/SdkErrorComponent.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/SdkErrorComponentProps.html b/_docs/latest/embedding/sdk/api/SdkErrorComponentProps.html index ca6c3ee2f7..ac54d43c25 100644 --- a/_docs/latest/embedding/sdk/api/SdkErrorComponentProps.html +++ b/_docs/latest/embedding/sdk/api/SdkErrorComponentProps.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/SdkEventHandlersConfig.html b/_docs/latest/embedding/sdk/api/SdkEventHandlersConfig.html index 1acb68622a..dd5f8bff12 100644 --- a/_docs/latest/embedding/sdk/api/SdkEventHandlersConfig.html +++ b/_docs/latest/embedding/sdk/api/SdkEventHandlersConfig.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/SdkQuestionEntityPublicProps.html b/_docs/latest/embedding/sdk/api/SdkQuestionEntityPublicProps.html index 3f1c4317f9..8dd6fcb938 100644 --- a/_docs/latest/embedding/sdk/api/SdkQuestionEntityPublicProps.html +++ b/_docs/latest/embedding/sdk/api/SdkQuestionEntityPublicProps.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/SdkQuestionId.html b/_docs/latest/embedding/sdk/api/SdkQuestionId.html index 6ac4da68ec..f0d128fc62 100644 --- a/_docs/latest/embedding/sdk/api/SdkQuestionId.html +++ b/_docs/latest/embedding/sdk/api/SdkQuestionId.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/SdkQuestionProps.html b/_docs/latest/embedding/sdk/api/SdkQuestionProps.html index 694dbfe0a7..e6c51de044 100644 --- a/_docs/latest/embedding/sdk/api/SdkQuestionProps.html +++ b/_docs/latest/embedding/sdk/api/SdkQuestionProps.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -11,7 +11,7 @@ latest: true --- -SdkQuestionProps | Embedded analytics SDK API{% include docs/embedded-analytics-sdk-metadata.html %}

    Interface SdkQuestionProps

    interface SdkQuestionProps {
        className?: string;
        dataPicker?: EmbeddingDataPicker;
        entityTypes?: EmbeddingEntityType[];
        height?: Height<string | number>;
        hiddenParameters?: string[];
        initialCollection?: SdkCollectionId;
        initialSqlParameters?: SqlParameterValues;
        isSaveEnabled?: boolean;
        onBeforeSave?: (
            question: MetabaseQuestion | undefined,
            context: { isNewQuestion: boolean },
        ) => Promise<void>;
        onNavigateBack?: () => void;
        onRun?: (question: MetabaseQuestion | undefined) => void;
        onSave?: (
            question: MetabaseQuestion,
            context: { dashboardTabId?: number; isNewQuestion: boolean },
        ) => void;
        onVisualizationChange?: (
            display:
                | "object"
                | "table"
                | "bar"
                | "line"
                | "pie"
                | "scalar"
                | "row"
                | "area"
                | "combo"
                | "pivot"
                | "smartscalar"
                | "gauge"
                | "progress"
                | "funnel"
                | "map"
                | "scatter"
                | "boxplot"
                | "waterfall"
                | "sankey"
                | "list",
        ) => void;
        plugins?: MetabasePluginsConfig;
        questionId?: SdkQuestionId
        | null;
        style?: CSSProperties;
        targetCollection?: SdkCollectionId;
        title?: SdkQuestionTitleProps;
        token?: string | null;
        width?: Width<string | number>;
        withAlerts?: boolean;
        withChartTypeSelector?: boolean;
        withDownloads?: boolean;
    }
    Index

    Properties

    className? +SdkQuestionProps | Embedded analytics SDK API{% include docs/embedded-analytics-sdk-metadata.html %}

    Interface SdkQuestionProps

    interface SdkQuestionProps {
        className?: string;
        dataPicker?: EmbeddingDataPicker;
        entityTypes?: EmbeddingEntityType[];
        height?: Height<string | number>;
        hiddenParameters?: string[];
        initialCollection?: SdkCollectionId;
        initialSqlParameters?: SqlParameterValues;
        isSaveEnabled?: boolean;
        onBeforeSave?: (
            question: MetabaseQuestion | undefined,
            context: { isNewQuestion: boolean },
        ) => Promise<void>;
        onNavigateBack?: () => void;
        onRun?: (question: MetabaseQuestion | undefined) => void;
        onSave?: (
            question: MetabaseQuestion,
            context: { dashboardTabId?: number; isNewQuestion: boolean },
        ) => void;
        onSqlParametersChange?: (payload: SqlParameterChangePayload) => void;
        onVisualizationChange?: (
            display:
                | "object"
                | "table"
                | "bar"
                | "line"
                | "pie"
                | "scalar"
                | "row"
                | "area"
                | "combo"
                | "pivot"
                | "smartscalar"
                | "gauge"
                | "progress"
                | "funnel"
                | "map"
                | "scatter"
                | "boxplot"
                | "waterfall"
                | "sankey"
                | "list",
        ) => void;
        plugins?: MetabasePluginsConfig;
        questionId?: SdkQuestionId
        | null;
        sqlParameters?: SqlParameterValues;
        style?: CSSProperties;
        targetCollection?: SdkCollectionId;
        title?: SdkQuestionTitleProps;
        token?: string | null;
        width?: Width<string | number>;
        withAlerts?: boolean;
        withChartTypeSelector?: boolean;
        withDownloads?: boolean;
        withEditorButton?: boolean;
    }
    Index

    Properties

    className?: string

    A custom class name to be added to the root element.

    dataPicker?: EmbeddingDataPicker

    Controls the menu for selecting data sources in questions. You can opt for the full data picker by setting dataPicker = "staged".

    entityTypes?: EmbeddingEntityType[]

    An array that specifies which entity types are available in the data picker

    height?: Height<string | number>

    A number or string specifying a CSS size value that specifies the height of the component

    hiddenParameters?: string[]

    A list of parameters to hide.

    initialCollection?: SdkCollectionId

    The collection to preselect in the save modal's collection picker. Unlike targetCollection, the picker remains visible and the user can choose a different collection. Ignored when targetCollection is set.

    -
    initialSqlParameters?: SqlParameterValues

    Initial values for the SQL parameters.

    +
    initialSqlParameters?: SqlParameterValues

    Initial values for SQL parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host. +
    +For each parameter: +

    +
      +
    • set to a value: that value is applied. +
    • +
    • set to null: strictly cleared, ignoring the parameter's default. +
    • +
    • omitted (or set to undefined): falls back to the parameter's default (or null if it has no default).
    • +
    isSaveEnabled?: boolean

    Whether to show the save button.

    onBeforeSave?: (
        question: MetabaseQuestion | undefined,
        context: { isNewQuestion: boolean },
    ) => Promise<void>

    A callback function that triggers before saving. Only relevant when isSaveEnabled = true

    onNavigateBack?: () => void

    A callback function that triggers when a user clicks the back button.

    onRun?: (question: MetabaseQuestion | undefined) => void

    A callback function that triggers when a question is updated, including when a user clicks the Visualize button in the question editor

    onSave?: (
        question: MetabaseQuestion,
        context: { dashboardTabId?: number; isNewQuestion: boolean },
    ) => void

    A callback function that triggers when a user saves the question. Only relevant when isSaveEnabled = true

    +
    onSqlParametersChange?: (payload: SqlParameterChangePayload) => void

    Fires on SQL parameters change. The payload's source distinguishes the initial state on load ('initial-state'), user edits in the UI ('manual-change'), and auto-updates ('auto-change').

    onVisualizationChange?: (
        display:
            | "object"
            | "table"
            | "bar"
            | "line"
            | "pie"
            | "scalar"
            | "row"
            | "area"
            | "combo"
            | "pivot"
            | "smartscalar"
            | "gauge"
            | "progress"
            | "funnel"
            | "map"
            | "scatter"
            | "boxplot"
            | "waterfall"
            | "sankey"
            | "list",
    ) => void

    A callback function that triggers when the visualization type changes.

    Type Declaration

      • (
            display:
                | "object"
                | "table"
                | "bar"
                | "line"
                | "pie"
                | "scalar"
                | "row"
                | "area"
                | "combo"
                | "pivot"
                | "smartscalar"
                | "gauge"
                | "progress"
                | "funnel"
                | "map"
                | "scatter"
                | "boxplot"
                | "waterfall"
                | "sankey"
                | "list",
        ): void
      • Parameters

        • display:
              | "object"
              | "table"
              | "bar"
              | "line"
              | "pie"
              | "scalar"
              | "row"
              | "area"
              | "combo"
              | "pivot"
              | "smartscalar"
              | "gauge"
              | "progress"
              | "funnel"
              | "map"
              | "scatter"
              | "boxplot"
              | "waterfall"
              | "sankey"
              | "list"

          the new display type

          -

        Returns void

    questionId?: SdkQuestionId | null

    A custom style object to be added to the root element.

    +

    Returns void

    questionId?: SdkQuestionId | null
    sqlParameters?: SqlParameterValues

    Controlled SQL parameter values, slug-keyed. On every render, this object replaces the question's parameter values: +

    +
      +
    • a parameter set to a value uses that value. +
    • +
    • a parameter set to null is cleared, even if it has a default. +
    • +
    • a parameter omitted from the object (or set to undefined) uses its default (or null if it has no default). +
      +
      +Pair with onSqlParametersChange to stay in sync with user edits.
    • +
    +

    A custom style object to be added to the root element.

    targetCollection?: SdkCollectionId

    The collection to save the question to. This will hide the collection picker from the save modal. Only applicable to interactive questions.

    Determines whether the question title is displayed, and allows a custom title to be displayed instead of the default question title. Shown by default.

    token?: string | null
    width?: Width<string | number>

    A number or string specifying a CSS size value that specifies the width of the component

    withAlerts?: boolean

    Enables the ability to set up alerts on the question.

    withChartTypeSelector?: boolean

    Determines whether the chart type selector and corresponding settings button are shown. Only relevant when using the default layout.

    withDownloads?: boolean

    Enables the ability to download results in the question.

    -

    +
    withEditorButton?: boolean

    Determines whether the editor button is shown. Only relevant when using the default layout.

    +

    diff --git a/_docs/latest/embedding/sdk/api/SdkQuestionTitleProps.html b/_docs/latest/embedding/sdk/api/SdkQuestionTitleProps.html index 0fe598dade..a38f04ed56 100644 --- a/_docs/latest/embedding/sdk/api/SdkQuestionTitleProps.html +++ b/_docs/latest/embedding/sdk/api/SdkQuestionTitleProps.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/SdkUserId.html b/_docs/latest/embedding/sdk/api/SdkUserId.html index 9cdd839ae9..2e5c8a0fd6 100644 --- a/_docs/latest/embedding/sdk/api/SdkUserId.html +++ b/_docs/latest/embedding/sdk/api/SdkUserId.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/SqlParameterChangePayload.html b/_docs/latest/embedding/sdk/api/SqlParameterChangePayload.html new file mode 100644 index 0000000000..0fdabe672d --- /dev/null +++ b/_docs/latest/embedding/sdk/api/SqlParameterChangePayload.html @@ -0,0 +1,18 @@ +--- +version: v0.62 +has_magic_breadcrumbs: true +show_category_breadcrumb: true +show_title_breadcrumb: true +category: Embedding +title: SqlParameterChangePayload +source_url: >- + https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/SqlParameterChangePayload.html +layout: docs-api +latest: true +--- + +SqlParameterChangePayload | Embedded analytics SDK API{% include docs/embedded-analytics-sdk-metadata.html %}

    Type Alias SqlParameterChangePayload

    Payload passed to onSqlParametersChange callback

    +
    type SqlParameterChangePayload = {
        defaultParameters: ParameterValues;
        parameters: ParameterValues;
        source: SqlParameterChangeSource;
    }
    Index

    Properties

    defaultParameters: ParameterValues
    parameters: ParameterValues

    diff --git a/_docs/latest/embedding/sdk/api/SqlParameterChangeSource.html b/_docs/latest/embedding/sdk/api/SqlParameterChangeSource.html new file mode 100644 index 0000000000..99bb6e78a8 --- /dev/null +++ b/_docs/latest/embedding/sdk/api/SqlParameterChangeSource.html @@ -0,0 +1,20 @@ +--- +version: v0.62 +has_magic_breadcrumbs: true +show_category_breadcrumb: true +show_title_breadcrumb: true +category: Embedding +title: SqlParameterChangeSource +source_url: >- + https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/SqlParameterChangeSource.html +layout: docs-api +latest: true +--- + +SqlParameterChangeSource | Embedded analytics SDK API{% include docs/embedded-analytics-sdk-metadata.html %}

    Type Alias SqlParameterChangeSource

    SqlParameterChangeSource: "initial-state" | "manual-change" | "auto-change"

    Source of a sql-parameter-change event:

    +
      +
    • initial-state - first applied state, fired once per question load.
    • +
    • manual-change - user edited parameters in UI.
    • +
    • auto-change - in the case of auto-updates, e.g. to pass normalized values back to parent.
    • +
    +

    diff --git a/_docs/latest/embedding/sdk/api/SqlParameterValues.html b/_docs/latest/embedding/sdk/api/SqlParameterValues.html index 687cf1fa7a..d24f2918a4 100644 --- a/_docs/latest/embedding/sdk/api/SqlParameterValues.html +++ b/_docs/latest/embedding/sdk/api/SqlParameterValues.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/StaticDashboard.html b/_docs/latest/embedding/sdk/api/StaticDashboard.html index 2b5bcabf0d..0109cf2ff6 100644 --- a/_docs/latest/embedding/sdk/api/StaticDashboard.html +++ b/_docs/latest/embedding/sdk/api/StaticDashboard.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -31,17 +31,43 @@
  • Combining initialParameters and hiddenParameters to declutter the user interface is fine.
  • -
  • OptionalinitialParameters?: ParameterValues

    Query parameters for the dashboard. For a single option, use a string value, and use a list of strings for multiple options. +

  • OptionalinitialParameters?: ParameterValues

    Initial values for query parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host. +
    +For each parameter:

      +
    • set to a value (string for a single option, array of strings for multiple): that value is applied. +
    • +
    • set to null: strictly cleared, ignoring the parameter's default. +
    • +
    • omitted (or set to undefined): falls back to the parameter's default (or null if it has no default). +
      +
    • Combining initialParameters and hiddenParameters to filter data on the frontend is a security risk.
    • Combining initialParameters and hiddenParameters to declutter the user interface is fine.
  • OptionalonLoad?: (dashboard: MetabaseDashboard | null) => void

    Callback that is called when the dashboard is loaded.

  • OptionalonLoadWithoutCards?: (dashboard: MetabaseDashboard | null) => void

    Callback that is called when the dashboard is loaded without cards.

    +
  • OptionalonParametersChange?: (payload: ParameterChangePayload) => void

    Fires on parameters change. The payload's source distinguishes the initial state on load ('initial-state'), user edits in the UI ('manual-change'), and auto-updates ('auto-change').

  • OptionalonVisualizationChange?: (
        visualization:
            | "object"
            | "table"
            | "bar"
            | "line"
            | "pie"
            | "scalar"
            | "row"
            | "area"
            | "combo"
            | "pivot"
            | "smartscalar"
            | "gauge"
            | "progress"
            | "funnel"
            | "map"
            | "scatter"
            | "boxplot"
            | "waterfall"
            | "sankey"
            | "list",
    ) => void

    A callback function that triggers when a question is opened from a dashboard card or when the user changes the visualization type of a question.

    +
  • Optionalparameters?: ParameterValues

    Controlled parameter values, slug-keyed. On every render, this object replaces the dashboard's parameter values: +

    +
      +
    • a parameter set to a value uses that value. +
    • +
    • a parameter set to null is cleared, even if it has a default. +
    • +
    • a parameter omitted from the object (or set to undefined) uses its default (or null if it has no default). +
      +
      +Pair with onParametersChange to stay in sync with user edits. +
    • +
    • Combining parameters and hiddenParameters to filter data on the frontend is a security risk. +
    • +
    • Combining parameters and hiddenParameters to declutter the user interface is fine.
    • +
  • Optionalplugins?: MetabasePluginsConfig

    Additional mapper function to override or add drill-down menu. See the implementing custom actions section for more details.

  • Optionalstyle?: CSSProperties

    A custom style object to be added to the root element.

  • Optionaltoken?: string | null

    A valid JWT token for the guest embed.

    diff --git a/_docs/latest/embedding/sdk/api/StaticDashboardProps.html b/_docs/latest/embedding/sdk/api/StaticDashboardProps.html index 1a8f5af2a4..ca42d6c2fb 100644 --- a/_docs/latest/embedding/sdk/api/StaticDashboardProps.html +++ b/_docs/latest/embedding/sdk/api/StaticDashboardProps.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -11,7 +11,7 @@ latest: true --- -StaticDashboardProps | Embedded analytics SDK API{% include docs/embedded-analytics-sdk-metadata.html %}

    Interface StaticDashboardProps

    interface StaticDashboardProps {
        autoRefreshInterval?: number;
        className?: string;
        dashboardId?: SdkDashboardId | null;
        dataPickerProps?: Pick<SdkQuestionProps, "entityTypes">;
        hiddenParameters?: string[];
        initialParameters?: ParameterValues;
        onLoad?: (dashboard: MetabaseDashboard | null) => void;
        onLoadWithoutCards?: (dashboard: MetabaseDashboard | null) => void;
        onVisualizationChange?: (
            visualization:
                | "object"
                | "table"
                | "bar"
                | "line"
                | "pie"
                | "scalar"
                | "row"
                | "area"
                | "combo"
                | "pivot"
                | "smartscalar"
                | "gauge"
                | "progress"
                | "funnel"
                | "map"
                | "scatter"
                | "boxplot"
                | "waterfall"
                | "sankey"
                | "list",
        ) => void;
        plugins?: MetabasePluginsConfig;
        style?: CSSProperties;
        token?: string
        | null;
        withCardTitle?: boolean;
        withDownloads?: boolean;
        withSubscriptions?: boolean;
        withTitle?: boolean;
    }
    Index

    Properties

    autoRefreshInterval? +StaticDashboardProps | Embedded analytics SDK API{% include docs/embedded-analytics-sdk-metadata.html %}

    Interface StaticDashboardProps

    interface StaticDashboardProps {
        autoRefreshInterval?: number;
        className?: string;
        dashboardId?: SdkDashboardId | null;
        dataPickerProps?: Pick<SdkQuestionProps, "entityTypes">;
        hiddenParameters?: string[];
        initialParameters?: ParameterValues;
        onLoad?: (dashboard: MetabaseDashboard | null) => void;
        onLoadWithoutCards?: (dashboard: MetabaseDashboard | null) => void;
        onParametersChange?: (payload: ParameterChangePayload) => void;
        onVisualizationChange?: (
            visualization:
                | "object"
                | "table"
                | "bar"
                | "line"
                | "pie"
                | "scalar"
                | "row"
                | "area"
                | "combo"
                | "pivot"
                | "smartscalar"
                | "gauge"
                | "progress"
                | "funnel"
                | "map"
                | "scatter"
                | "boxplot"
                | "waterfall"
                | "sankey"
                | "list",
        ) => void;
        parameters?: ParameterValues;
        plugins?: MetabasePluginsConfig;
        style?: CSSProperties;
        token?: string
        | null;
        withCardTitle?: boolean;
        withDownloads?: boolean;
        withSubscriptions?: boolean;
        withTitle?: boolean;
    }
    Index
  • Combining initialParameters and hiddenParameters to declutter the user interface is fine.
  • -
    initialParameters?: ParameterValues

    Query parameters for the dashboard. For a single option, use a string value, and use a list of strings for multiple options. +

    initialParameters?: ParameterValues

    Initial values for query parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host. +
    +For each parameter:

      +
    • set to a value (string for a single option, array of strings for multiple): that value is applied. +
    • +
    • set to null: strictly cleared, ignoring the parameter's default. +
    • +
    • omitted (or set to undefined): falls back to the parameter's default (or null if it has no default). +
      +
    • Combining initialParameters and hiddenParameters to filter data on the frontend is a security risk.
    • Combining initialParameters and hiddenParameters to declutter the user interface is fine.
    onLoad?: (dashboard: MetabaseDashboard | null) => void

    Callback that is called when the dashboard is loaded.

    onLoadWithoutCards?: (dashboard: MetabaseDashboard | null) => void

    Callback that is called when the dashboard is loaded without cards.

    +
    onParametersChange?: (payload: ParameterChangePayload) => void

    Fires on parameters change. The payload's source distinguishes the initial state on load ('initial-state'), user edits in the UI ('manual-change'), and auto-updates ('auto-change').

    onVisualizationChange?: (
        visualization:
            | "object"
            | "table"
            | "bar"
            | "line"
            | "pie"
            | "scalar"
            | "row"
            | "area"
            | "combo"
            | "pivot"
            | "smartscalar"
            | "gauge"
            | "progress"
            | "funnel"
            | "map"
            | "scatter"
            | "boxplot"
            | "waterfall"
            | "sankey"
            | "list",
    ) => void

    A callback function that triggers when a question is opened from a dashboard card or when the user changes the visualization type of a question.

    Type Declaration

      • (
            visualization:
                | "object"
                | "table"
                | "bar"
                | "line"
                | "pie"
                | "scalar"
                | "row"
                | "area"
                | "combo"
                | "pivot"
                | "smartscalar"
                | "gauge"
                | "progress"
                | "funnel"
                | "map"
                | "scatter"
                | "boxplot"
                | "waterfall"
                | "sankey"
                | "list",
        ): void
      • Parameters

        • visualization:
              | "object"
              | "table"
              | "bar"
              | "line"
              | "pie"
              | "scalar"
              | "row"
              | "area"
              | "combo"
              | "pivot"
              | "smartscalar"
              | "gauge"
              | "progress"
              | "funnel"
              | "map"
              | "scatter"
              | "boxplot"
              | "waterfall"
              | "sankey"
              | "list"

          the new visualization type

          -

        Returns void

    Additional mapper function to override or add drill-down menu. See the implementing custom actions section for more details.

    +

    Returns void

    parameters?: ParameterValues

    Controlled parameter values, slug-keyed. On every render, this object replaces the dashboard's parameter values: +

    +
      +
    • a parameter set to a value uses that value. +
    • +
    • a parameter set to null is cleared, even if it has a default. +
    • +
    • a parameter omitted from the object (or set to undefined) uses its default (or null if it has no default). +
      +
      +Pair with onParametersChange to stay in sync with user edits. +
    • +
    • Combining parameters and hiddenParameters to filter data on the frontend is a security risk. +
    • +
    • Combining parameters and hiddenParameters to declutter the user interface is fine.
    • +
    +

    Additional mapper function to override or add drill-down menu. See the implementing custom actions section for more details.

    A custom style object to be added to the root element.

    token?: string | null

    A valid JWT token for the guest embed.

    withCardTitle?: boolean

    Whether the dashboard cards should display a title.

    withDownloads?: boolean

    Whether to hide the download button.

    withSubscriptions?: boolean

    Whether to show the subscriptions button.

    withTitle?: boolean

    Whether the dashboard should display a title.

    -

    +

    diff --git a/_docs/latest/embedding/sdk/api/StaticQuestion.html b/_docs/latest/embedding/sdk/api/StaticQuestion.html index c2b5e7062b..8fbb881682 100644 --- a/_docs/latest/embedding/sdk/api/StaticQuestion.html +++ b/_docs/latest/embedding/sdk/api/StaticQuestion.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -15,7 +15,18 @@

    Parameters

    • props: StaticQuestionProps
      • OptionalclassName?: string

        A custom class name to be added to the root element.

      • Optionalheight?: Height<string | number>

        A number or string specifying a CSS size value that specifies the height of the component

      • OptionalhiddenParameters?: string[]

        A list of parameters to hide.

        -
      • OptionalinitialSqlParameters?: SqlParameterValues

        Initial values for the SQL parameters.

        +
      • OptionalinitialSqlParameters?: SqlParameterValues

        Initial values for SQL parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host. +
        +For each parameter: +

        +
          +
        • set to a value: that value is applied. +
        • +
        • set to null: strictly cleared, ignoring the parameter's default. +
        • +
        • omitted (or set to undefined): falls back to the parameter's default (or null if it has no default).
        • +
        +
      • OptionalonSqlParametersChange?: (payload: SqlParameterChangePayload) => void

        Fires on SQL parameters change. The payload's source distinguishes the initial state on load ('initial-state'), user edits in the UI ('manual-change'), and auto-updates ('auto-change').

      • Optionalquery?: undefined
      • OptionalquestionId?: SdkQuestionId | null

        The ID of the question.
        This is either: @@ -29,6 +40,18 @@

      • new-native to show the SQL editor for creating new native questions
      +
  • OptionalsqlParameters?: SqlParameterValues

    Controlled SQL parameter values, slug-keyed. On every render, this object replaces the question's parameter values: +

    +
      +
    • a parameter set to a value uses that value. +
    • +
    • a parameter set to null is cleared, even if it has a default. +
    • +
    • a parameter omitted from the object (or set to undefined) uses its default (or null if it has no default). +
      +
      +Pair with onSqlParametersChange to stay in sync with user edits.
    • +
  • Optionalstyle?: CSSProperties

    A custom style object to be added to the root element.

  • Optionaltitle?: SdkQuestionTitleProps

    Determines whether the question title is displayed, and allows a custom title to be displayed instead of the default question title. Shown by default.

  • Optionaltoken?: string | null

    A valid JWT token for the guest embed.

    diff --git a/_docs/latest/embedding/sdk/api/StaticQuestionComponents.html b/_docs/latest/embedding/sdk/api/StaticQuestionComponents.html index 3ce47349bd..38865d907c 100644 --- a/_docs/latest/embedding/sdk/api/StaticQuestionComponents.html +++ b/_docs/latest/embedding/sdk/api/StaticQuestionComponents.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/StaticQuestionProps.html b/_docs/latest/embedding/sdk/api/StaticQuestionProps.html index d0c11d20b2..10416e5d82 100644 --- a/_docs/latest/embedding/sdk/api/StaticQuestionProps.html +++ b/_docs/latest/embedding/sdk/api/StaticQuestionProps.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -11,12 +11,14 @@ latest: true --- -StaticQuestionProps | Embedded analytics SDK API{% include docs/embedded-analytics-sdk-metadata.html %}

    Interface StaticQuestionProps

    interface StaticQuestionProps {
        className?: string;
        height?: Height<string | number>;
        hiddenParameters?: string[];
        initialSqlParameters?: SqlParameterValues;
        query?: undefined;
        questionId?: SdkQuestionId | null;
        style?: CSSProperties;
        title?: SdkQuestionTitleProps;
        token?: string | null;
        width?: Width<string | number>;
        withAlerts?: boolean;
        withChartTypeSelector?: boolean;
        withDownloads?: boolean;
    }
    Index

    Properties

    className? +StaticQuestionProps | Embedded analytics SDK API{% include docs/embedded-analytics-sdk-metadata.html %}

    Interface StaticQuestionProps

    interface StaticQuestionProps {
        className?: string;
        height?: Height<string | number>;
        hiddenParameters?: string[];
        initialSqlParameters?: SqlParameterValues;
        onSqlParametersChange?: (payload: SqlParameterChangePayload) => void;
        query?: undefined;
        questionId?: SdkQuestionId | null;
        sqlParameters?: SqlParameterValues;
        style?: CSSProperties;
        title?: SdkQuestionTitleProps;
        token?: string | null;
        width?: Width<string | number>;
        withAlerts?: boolean;
        withChartTypeSelector?: boolean;
        withDownloads?: boolean;
    }
    Index

    Properties

    className?: string

    A custom class name to be added to the root element.

    height?: Height<string | number>

    A number or string specifying a CSS size value that specifies the height of the component

    hiddenParameters?: string[]

    A list of parameters to hide.

    -
    initialSqlParameters?: SqlParameterValues

    Initial values for the SQL parameters.

    +
    initialSqlParameters?: SqlParameterValues

    Initial values for SQL parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host. +
    +For each parameter: +

    +
      +
    • set to a value: that value is applied. +
    • +
    • set to null: strictly cleared, ignoring the parameter's default. +
    • +
    • omitted (or set to undefined): falls back to the parameter's default (or null if it has no default).
    • +
    +
    onSqlParametersChange?: (payload: SqlParameterChangePayload) => void

    Fires on SQL parameters change. The payload's source distinguishes the initial state on load ('initial-state'), user edits in the UI ('manual-change'), and auto-updates ('auto-change').

    query?: undefined
    questionId?: SdkQuestionId | null

    The ID of the question.
    This is either: @@ -41,6 +54,18 @@

  • new-native to show the SQL editor for creating new native questions
  • +
    sqlParameters?: SqlParameterValues

    Controlled SQL parameter values, slug-keyed. On every render, this object replaces the question's parameter values: +

    +
      +
    • a parameter set to a value uses that value. +
    • +
    • a parameter set to null is cleared, even if it has a default. +
    • +
    • a parameter omitted from the object (or set to undefined) uses its default (or null if it has no default). +
      +
      +Pair with onSqlParametersChange to stay in sync with user edits.
    • +

    A custom style object to be added to the root element.

    Determines whether the question title is displayed, and allows a custom title to be displayed instead of the default question title. Shown by default.

    token?: string | null

    A valid JWT token for the guest embed.

    @@ -48,4 +73,4 @@
    withAlerts?: boolean

    Enables the ability to set up alerts on the question.

    withChartTypeSelector?: boolean

    Determines whether the chart type selector and corresponding settings button are shown. Only relevant when using the default layout.

    withDownloads?: boolean

    Enables the ability to download results in the question.

    -

    +

    diff --git a/_docs/latest/embedding/sdk/api/UseMetabotResult.html b/_docs/latest/embedding/sdk/api/UseMetabotResult.html index 174eca306d..0c6a751aed 100644 --- a/_docs/latest/embedding/sdk/api/UseMetabotResult.html +++ b/_docs/latest/embedding/sdk/api/UseMetabotResult.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/UserBackendJwtResponse.html b/_docs/latest/embedding/sdk/api/UserBackendJwtResponse.html index 3840a19382..c4310ac3f5 100644 --- a/_docs/latest/embedding/sdk/api/UserBackendJwtResponse.html +++ b/_docs/latest/embedding/sdk/api/UserBackendJwtResponse.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/assets/navigation.js b/_docs/latest/embedding/sdk/api/assets/navigation.js index d6af4cbcb8..2755dbda4a 100644 --- a/_docs/latest/embedding/sdk/api/assets/navigation.js +++ b/_docs/latest/embedding/sdk/api/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "eJylWtty2zYQ/Rc+ezqtp0mnflN8Se3YrWrJzkMmDxC5EVGBgAIurTid/HuHupAgsLiQfbIH5+AcLAAuF6A+/ZshfMPsIrtUQkCOXMl3Wu1q0NlZlpdcFBpkdvEpyNsyLCnopxIrkZ1lGy6L7OLtrz/O/DJzrbZ1QGuPDwXP37z98dnU1MAQrlhdrhTTxYMqmPBFQVNP5gQaioWg2+H4KCkR/d1A3c5EMBaDNPA8tdvjP8tyweo6u8gK2GrIGUKRea3JcAZgOJAuck8M1wVHthJg8o5eDhRYiVuJoFmO/IVSotCA2AIZ8pzQsYCAhDN2ax5p3J3KcISWqJcS0rVisiQpNLzgxiAi25dmurH4NrK5yzQXYllq1axLz871UhIn/dTnsmQal69buNJqW6id7ZPcZaRvu2OUftcgOqGlsCe5pfpMcYhrT1E9/V0AIpfrOn2Rgj0njuKZ1w0T/DtLC9jfbaT/I9SAqVvFJo/0WrD+/xulq7gh2WOk65KjgLhVTwumwGLj2ZU2MnKU71i+SV0Gi2s5/fz7b7+8OY+4aWAb1WD6nid7THDuEtwC2totJXHQXSZ4X6mdFIoVH3mxhhGxB/r971GMdZ/qesMFgk6PmeBPdk11m+pi5+PxGXyqc5ufUp9aizvFrakqpvn3EfUE3YX2NkuzB0C2YnWbEF944T3oFfCFSziRZw2Wl0p+4et+TD5GoEIjvI9iNjJCxJoqEg6l7FCMsejcxXV7fORYzrb8A7yGdHvWNIe7Hcbk73Y4TXvBKhETbzmp6rf1+3YThybcoSRubIWR84bLMp17ILYBeya1/yw0fFg6HK8i43ZIg7NZwqiHRPKEN2LMyxIqLtehSWY1XFcrKAou1y0dns/ddbYZoQd1Xy1cKqG0qWS2pm7APZ18IE9IqtJw/LH44ptYYelNyVQBpaqtkiAxUmd1tJREuJ8DIqMe2lMUPE+XgaSoeKaUmkniMiM0RT5GSJUsBka89ft9Su3daG/7QvSe123PppKha1ODFXVoalRVd8lz2d5TgmxuESrDwE+K6Q86HXRc/QBplH7byaPaQqO1DkO5FlCBxIDwgJfiQk+zjcSUuixzxZDNeb4xSysCTNa7lsjxtT2hEXo9GNXrmIfjwAd4Na9BCTRaQ+dK/snM9HBqiVffHHl3sdJmgmaQPF00pniv1twRMhqT30qC55tZTidOA5ygNxfNmsvaV235mCPep8e8Q741jth4teFTQePpqscs73mtDPFUVeL7gAON1oqsFs1Ld0E2V1ziX6t/ICcODRZhdCV0KqGC5V5PStW/AczLR/javrSXagPyhthsBClZX0m8YRUXRFXYY6lq74VaMRFZSIKUqh9RnqS53/hz3d4Ee6quA5iq91RTJ/wn58uwR0HhbA0S9zXSA9Q1W9tPLcEYoxwUnaC3hG9hTYOQqNtOVkjWwmOqc6ZZBQj6mYkGjLeVBUR1tELIEQr3IOVAMa1FsTESuvmddQgk6HSJ8VBRzJuV4Ll7me+njfGwhmq0j1G5V6y4fhkUlSScoHmIxhrWqTG5/z5rEhL79hQVrZXu3qVDoQE0WstdSAJPUW3n8w8mCwHaSaA0nqDafQsNbj0va4SDtcJ98wgN6ssZCSdotjnIGtOhKdr3q/AmJBeLqbWe7eczkMXdDh+h3ipZGxmTxuM3Mk0Ns+1W8Hx/IjieOajrGZJ4NHcx56bO9nxhXLQ/DmlrjzpgafMMxwEUM7R+ozTbcr8pye2NXTj951P2RiDh8N1kO4JGa5D45P8hm0Myht+3xybNvAvvToAeO5Lbu7pwkrnCiKNC10ZhYEGOjH1VRd9t91BiGbNP1L4axgQT9XxSiSpP3TQ8Qt0IHCSJAeJLD5//AyT7V6k=" \ No newline at end of file +window.navigationData = "eJylWsly3DYQ/ReeVanEFTsV3WQtjrdkopHsg8sHDNkeIgMCY7ApWU7531OYjSDQ2JiTVHgP72FtNMD59G+F8A2r8+pSCQE1ciVfavXYg67OqrrlotEgq/NPUd6WYUtBP7XYieqs2nDZVOcvfv1xFpZZaLXtI1o7fCr47PmLH59tTQ0M4Yr17Uox3bxXDROhXtDUozmBxvpC0N3uhCg5Pfp7gN6MRLQvFmnieSx3239W1YL1fXVeNbDVUDOEpgpak92ZgPGOnHoe6MN1w5GtBNi8g5cHRWbitUTQrEb+QClRaERsiQx5Teg4QETCa7szjjTuD2W8h45okBLTdfrkSFJoTG3BNOsAQV+2TK5hwZ6EYtYI0rij+PPvv/3y/FlYdakGXUNQdA/Tmp/pEU1sNJrpj3poy9n7QXMh7lqthnUb2GNBSubyONa5bJnGu6ctXGm1bdSj65NdpdDXrG2lXw6IXtdy2LPccn3mOKS156ge/y4Bkct1nz9J0ZozW/GB9wMT/DvL63C4WqH/LfSAuUvFJRd6Ldn4/43SXdqQrFHoesdRQNpqpEWDdbMJrEoXKWzlS1ZvcqfB4aaCN6WggW3UgPlrnqwxw/kU4JZgssycwEFXmeF9pR6lOe0+8mYNBX2P1PvfrSh1n+t6wwWCzu8zwZ/tmus218WNx+URfK6ziU+5u9bhznEbuo5p/r0gn6CrpLyXX0UqjwxSyrXdbDLESCeU7wHZivUmjD/wJniRbuALl3AkXwzYXir5ha/HJoQYkbyS8D6IuUiBiDPBJBw7aGJ9TPXOnzq/xkeO7cWWv4WnmO7Imufw5hFT8m8ecZ72knUiJW44ueqv+1dm68UG3KNkLmyFiVuSz7KdRyC1AEcmtf4cNP76sL++JtrtkSZ334xWT4nkDbqgzXctdFyuY4PMerjuVtA0XK4NHT488+fZZcQ26i7HuVRCaVvJLs1dgDs6uSGPSK7StP2p/qUXscI2GJKptE91WyVBYiI7PNFyAuFuDIiIui/PUQjsLgvJUQkMKTWSxGNRbIhCjJgqmcIU5CrjOqXWbrK2++D8jvem5tDJ2LO0xUo6DD2q7vSIdmnegUEOrxE6yyBMSulPKu11fP0IqUjfVAqoGqhYa9+UawEdSIwIT3g5LvQwu0hK6RRlrhiyBa83dmpFgNl61xI5Ppl7JaE3gkm9E3N/iXkLT/YzM4EmM/9ayT+ZHR6OJek7A0d+eg4ykWCYBE8fTSm+U2vuCVmF2aeS4PXmoqYDpwXO0FuIYc1lH8q2QsyC8/QQd8hT44CVq013BY3nqx6ifOBYmeK5qsT3Fw8q1krMFs3Ld0G2UFziX6t/oCYuDQ6hOBM6plDRdG8k5erfANbtLXw1h/ad2oC8IRYbQcrWVxJvWMcFkRWOWK7aK6FWTCQmkiDl6ieUZ2nuFv5Cm/frQNa1B3P17nvqhn/vfXkPKCi8WIPEXY70Hvqerd1dSzBKlKOiM/Tu4Ftc0yJk6prBisk6ePYnyg9MDGCdVg6Q1NEKoUZo/IuUByXfupqNFdDt17MpkKFzCoz7jGIxrASv/U8QYVqJh9NUq7xE5Z1izfXDJKkk4QzNfW+cZh0Ls+vvoiYhsSvPUdFa6dNZOhWaQMVa/kQSeI6qGc8/mGwEaC+A0niG6ukLbnTpBVkFDs4Mj8UFGtT3PhLO0DQxyGnTvqjkldsNSD6WUjOe5qMfyObNI95Cv1WytyImjadfZIYeLrZbwevdjeBw56CeZ0jiwdzHvJc61/OBcWF+fGNyjz5i6fIsxwmUMnR+A3ax5WFTkjsa+3D+z9PchUDC8bdJ04JBa5B4H/6hoEeymj+WpwbNfgs/3QADdiR3dPXhLHOFCUeFvo3CyIQcGLusin7bHqHMNGYXqEM5jA1m6oWkMlXuT8NwC/0gcBIkJkgoPHz+D9w00Bk=" \ No newline at end of file diff --git a/_docs/latest/embedding/sdk/api/assets/search.js b/_docs/latest/embedding/sdk/api/assets/search.js index c2337b3e87..8e145947b8 100644 --- a/_docs/latest/embedding/sdk/api/assets/search.js +++ b/_docs/latest/embedding/sdk/api/assets/search.js @@ -1 +1 @@ -window.searchData = "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"; \ No newline at end of file +window.searchData = "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u767T+abWCDfbt+MewbMu+fd65eUfTrB5away7S+a7+fqcOu97ArS1DGLGJDlHm2nPcDM40597q7NU39u6bgvfaNm3fuqvd/q+61OXWfiuOOdxuacza267Y9d7uPPdkQ+7g97BD7XHvGouzjJs0JtM+z6jDPae/urXR3M6p8YmszT/OxrHc2lz4dfVnG9N3R8Hsn++J915gp45uueVq75kvJuwG+5T20unV9cdzF2c9j2t1ivjjuxrdY861IV/BTVkwv3+db8dPpaciN4VvSkl73smbeU7nxiYS7BlStJV4aZVvcZ+8wLn7W9iF/LewdxIQ105uI2TagfcSEFZytxBV24N3EpC28DcV8e6b3FFOmzd9W3MXKefdv9uZito0T+4sJA2duMWZbl91lTNjF3mjMtii/15gwib/dmG0T2XFMGDKx6bhSO9x3sCxhbT2usCq7+5i0ir0BucKqsT3IpGFztiGzbQM7kQmD/hW+TPcjUyZMbElm62fsSiZMumJjMtvKeG8yYdD49mS27niHMqF7fJMyWzfep0zYwNuqXGVLulth2DK9YbnKFrxnYdjD27ZcZdPs53T7M8rsX/xbnFSJyC7Ixnvw9ze78rk47Tt7FKmEkzRD0YezkMYLmbw/E9ebnZ+smflpiWNqU1sr+bPTlZbedDv/Bfdxyu/82dJxXxta8f2LW72UyL66jmlwJRmLeJX0qD3XVdJjWMOocprYckW9U74lnOJVOYuuqWI1bdmsaqjUtJvqos6wjVMhNWvbNbVSp23jV02lhl1fP3WuVdc80ttrqk5bOV1dlVo1v84q14r5o9W1tVenLZquwkptmV+PlWvFNb5zfY3WaavmVmultt1at5VhIaOCa2LVFbVc+ZZccZeuru86bZVvyan0Su26pebrfMuu8f171IHlW8quCJsz8+rasNM2MqvEUsuurBc7bQ+vciw157oasjxrfOuparLIpmvryjIsm1NhNjHtllqzDNs4VWcTm66pPzvDlmuGiZtq0k7bNlmdltozu07ttA0zK9ZSi26sXQvtm9ihhyvByaBQ0pi/XydVadjCpwrUsC4pG/eJK1XxjZqqWzXTKtYzYj6dmc/ltWi90zJmCqriw2vReqe9YsoILyz7jGxlwG+zjGrq4tznRksmnsvkE5n5LEZzL646wJg1mn9+cdwExvHFuTag04vjRnAO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"; \ No newline at end of file diff --git a/_docs/latest/embedding/sdk/api/defineMetabaseAuthConfig.html b/_docs/latest/embedding/sdk/api/defineMetabaseAuthConfig.html index 0c8cb52c7b..f955511dc5 100644 --- a/_docs/latest/embedding/sdk/api/defineMetabaseAuthConfig.html +++ b/_docs/latest/embedding/sdk/api/defineMetabaseAuthConfig.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/index.html b/_docs/latest/embedding/sdk/api/index.html index 051d268ab4..6a2b1a8124 100644 --- a/_docs/latest/embedding/sdk/api/index.html +++ b/_docs/latest/embedding/sdk/api/index.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -11,4 +11,4 @@ latest: true --- -Embedded analytics SDK API{% include docs/embedded-analytics-sdk-metadata.html %}

    Embedded analytics SDK API

    CollectionBrowser

    CollectionBrowser
    CollectionBrowserProps

    CreateDashboardModal

    CreateDashboardModal
    CreateDashboardModalProps

    CreateQuestion

    CreateQuestion
    CreateQuestionProps

    Dashboard

    EditableDashboard
    InteractiveDashboard
    StaticDashboard
    EditableDashboardProps
    InteractiveDashboardProps
    StaticDashboardProps

    InteractiveQuestion

    InteractiveQuestion
    DrillThroughQuestionProps
    InteractiveQuestionChartTypeDropdownProps
    InteractiveQuestionEditorButtonProps
    InteractiveQuestionEditorProps
    InteractiveQuestionProps
    InteractiveQuestionQuestionSettingsDropdownProps
    InteractiveQuestionQuestionVisualizationProps
    InteractiveQuestionResetButtonProps
    InteractiveQuestionSaveQuestionFormProps
    InteractiveQuestionTitleProps
    SdkQuestionProps
    InteractiveQuestionBackButtonProps
    InteractiveQuestionBreakoutDropdownProps
    InteractiveQuestionChartTypeSelectorProps
    InteractiveQuestionDownloadWidgetDropdownProps
    InteractiveQuestionDownloadWidgetProps
    InteractiveQuestionFilterDropdownProps
    InteractiveQuestionFilterProps
    InteractiveQuestionQuestionSettingsProps
    InteractiveQuestionSaveButtonProps
    InteractiveQuestionSummarizeDropdownProps

    MetabaseProvider

    defineMetabaseAuthConfig
    MetabaseProvider
    MetabaseProviderProps
    MetabaseAuthConfig
    MetabaseAuthConfigWithApiKey
    MetabaseAuthConfigWithJwt
    MetabaseAuthConfigWithSaml
    MetabaseIsGuestAuthConfig

    MetabotQuestion

    MetabotQuestion
    MetabotQuestionProps

    StaticQuestion

    StaticQuestion
    StaticQuestionProps

    Theming

    MetabaseEmbeddingThemeV2
    ChartColorV2
    MetabaseColorKey
    MetabaseEmbeddingTheme

    other

    InteractiveQuestionComponents
    MetabaseColors
    MetabaseQuestion
    MetabaseTheme
    StaticQuestionComponents
    ButtonProps
    ChartColor
    CollectionBrowserListColumns
    CustomDashboardCardMenuItem
    DashboardCardCustomMenuItem
    DashboardCardMenu
    DashboardCardMenuCustomElement
    DashCardMenuItem
    EmbeddingDataPicker
    EmbeddingEntityType
    EntityTypeFilterKeys
    IconName
    InitializationStatus
    LoginStatus
    MetabaseClickAction
    MetabaseClickActionPluginsConfig
    MetabaseCollection
    MetabaseCollectionItem
    MetabaseComponentTheme
    MetabaseDashboard
    MetabaseDashboardPluginsConfig
    MetabaseDataPointObject
    MetabaseEmbeddingColorKeyV2
    MetabaseFetchRequestTokenFn
    MetabaseFontFamily
    MetabaseGlobalPluginsConfig
    MetabasePluginsConfig
    MetabaseThemePreset
    MetabaseUser
    MetabotAgentChartMessage
    MetabotAgentMessage
    MetabotAgentTextMessage
    MetabotUserTextMessage
    ParameterValues
    ProtectedColorKey
    SdkCollectionId
    SdkDashboardEntityPublicProps
    SdkDashboardId
    SdkDashboardLoadEvent
    SdkEntityId
    SdkEntityToken
    SdkErrorComponent
    SdkErrorComponentProps
    SdkEventHandlersConfig
    SdkQuestionEntityPublicProps
    SdkQuestionId
    SdkQuestionTitleProps
    SdkUserId
    SqlParameterValues
    UserBackendJwtResponse

    useApplicationName

    useApplicationName

    useAvailableFonts

    useAvailableFonts

    useCreateDashboardApi

    useCreateDashboardApi
    CreateDashboardValues

    useCurrentUser

    useCurrentUser

    useMetabaseAuthStatus

    useMetabaseAuthStatus

    useMetabot

    useMetabot
    MetabotChartProps
    MetabotErrorMessage
    MetabotMessage
    UseMetabotResult

    +Embedded analytics SDK API{% include docs/embedded-analytics-sdk-metadata.html %}

    Embedded analytics SDK API

    CollectionBrowser

    CollectionBrowser
    CollectionBrowserProps

    CreateDashboardModal

    CreateDashboardModal
    CreateDashboardModalProps

    CreateQuestion

    CreateQuestion
    CreateQuestionProps

    Dashboard

    EditableDashboard
    InteractiveDashboard
    StaticDashboard
    EditableDashboardProps
    InteractiveDashboardProps
    StaticDashboardProps
    ParameterChangePayload
    ParameterChangeSource

    InteractiveQuestion

    InteractiveQuestion
    DrillThroughQuestionProps
    InteractiveQuestionChartTypeDropdownProps
    InteractiveQuestionEditorButtonProps
    InteractiveQuestionEditorProps
    InteractiveQuestionProps
    InteractiveQuestionQuestionSettingsDropdownProps
    InteractiveQuestionQuestionVisualizationProps
    InteractiveQuestionResetButtonProps
    InteractiveQuestionSaveQuestionFormProps
    InteractiveQuestionTitleProps
    SdkQuestionProps
    InteractiveQuestionBackButtonProps
    InteractiveQuestionBreakoutDropdownProps
    InteractiveQuestionChartTypeSelectorProps
    InteractiveQuestionDownloadWidgetDropdownProps
    InteractiveQuestionDownloadWidgetProps
    InteractiveQuestionFilterDropdownProps
    InteractiveQuestionFilterProps
    InteractiveQuestionQuestionSettingsProps
    InteractiveQuestionSaveButtonProps
    InteractiveQuestionSummarizeDropdownProps
    SqlParameterChangePayload
    SqlParameterChangeSource

    MetabaseProvider

    defineMetabaseAuthConfig
    MetabaseProvider
    MetabaseProviderProps
    MetabaseAuthConfig
    MetabaseAuthConfigWithApiKey
    MetabaseAuthConfigWithJwt
    MetabaseAuthConfigWithSaml
    MetabaseIsGuestAuthConfig

    MetabotQuestion

    MetabotQuestion
    MetabotQuestionProps

    StaticQuestion

    StaticQuestion
    StaticQuestionProps

    Theming

    MetabaseEmbeddingThemeV2
    ChartColorV2
    MetabaseColorKey
    MetabaseEmbeddingTheme

    other

    InteractiveQuestionComponents
    MetabaseColors
    MetabaseQuestion
    MetabaseTheme
    StaticQuestionComponents
    ButtonProps
    ChartColor
    CollectionBrowserListColumns
    CustomDashboardCardMenuItem
    DashboardCardCustomMenuItem
    DashboardCardMenu
    DashboardCardMenuCustomElement
    DashCardMenuItem
    EmbeddingDataPicker
    EmbeddingEntityType
    EntityTypeFilterKeys
    IconName
    InitializationStatus
    LoginStatus
    MetabaseClickAction
    MetabaseClickActionPluginsConfig
    MetabaseCollection
    MetabaseCollectionItem
    MetabaseComponentTheme
    MetabaseDashboard
    MetabaseDashboardPluginsConfig
    MetabaseDataPointObject
    MetabaseEmbeddingColorKeyV2
    MetabaseFetchRequestTokenFn
    MetabaseFontFamily
    MetabaseGlobalPluginsConfig
    MetabasePluginsConfig
    MetabaseThemePreset
    MetabaseUser
    MetabotAgentChartMessage
    MetabotAgentMessage
    MetabotAgentTextMessage
    MetabotUserTextMessage
    ParameterValues
    ProtectedColorKey
    SdkCollectionId
    SdkDashboardEntityPublicProps
    SdkDashboardId
    SdkDashboardLoadEvent
    SdkEntityId
    SdkEntityToken
    SdkErrorComponent
    SdkErrorComponentProps
    SdkEventHandlersConfig
    SdkQuestionEntityPublicProps
    SdkQuestionId
    SdkQuestionTitleProps
    SdkUserId
    SqlParameterValues
    UserBackendJwtResponse

    useApplicationName

    useApplicationName

    useAvailableFonts

    useAvailableFonts

    useCreateDashboardApi

    useCreateDashboardApi
    CreateDashboardValues

    useCurrentUser

    useCurrentUser

    useMetabaseAuthStatus

    useMetabaseAuthStatus

    useMetabot

    useMetabot
    MetabotChartProps
    MetabotErrorMessage
    MetabotMessage
    UseMetabotResult

    diff --git a/_docs/latest/embedding/sdk/api/snippets/ButtonProps.md b/_docs/latest/embedding/sdk/api/snippets/ButtonProps.md index 55bb774b73..1304bc444e 100644 --- a/_docs/latest/embedding/sdk/api/snippets/ButtonProps.md +++ b/_docs/latest/embedding/sdk/api/snippets/ButtonProps.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/ChartColor.md b/_docs/latest/embedding/sdk/api/snippets/ChartColor.md index 041ad74a46..bbda8b1901 100644 --- a/_docs/latest/embedding/sdk/api/snippets/ChartColor.md +++ b/_docs/latest/embedding/sdk/api/snippets/ChartColor.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/ChartColorV2.md b/_docs/latest/embedding/sdk/api/snippets/ChartColorV2.md index 341dfaff93..b5faf37bf3 100644 --- a/_docs/latest/embedding/sdk/api/snippets/ChartColorV2.md +++ b/_docs/latest/embedding/sdk/api/snippets/ChartColorV2.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/CollectionBrowser.md b/_docs/latest/embedding/sdk/api/snippets/CollectionBrowser.md index c1890719e9..30b465e3a7 100644 --- a/_docs/latest/embedding/sdk/api/snippets/CollectionBrowser.md +++ b/_docs/latest/embedding/sdk/api/snippets/CollectionBrowser.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/CollectionBrowserListColumns.md b/_docs/latest/embedding/sdk/api/snippets/CollectionBrowserListColumns.md index d533493e17..d8b673a916 100644 --- a/_docs/latest/embedding/sdk/api/snippets/CollectionBrowserListColumns.md +++ b/_docs/latest/embedding/sdk/api/snippets/CollectionBrowserListColumns.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/CollectionBrowserProps.md b/_docs/latest/embedding/sdk/api/snippets/CollectionBrowserProps.md index f016dfd963..9f5d80742a 100644 --- a/_docs/latest/embedding/sdk/api/snippets/CollectionBrowserProps.md +++ b/_docs/latest/embedding/sdk/api/snippets/CollectionBrowserProps.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/CreateDashboardModal.md b/_docs/latest/embedding/sdk/api/snippets/CreateDashboardModal.md index 7381e4cba7..df0a57b468 100644 --- a/_docs/latest/embedding/sdk/api/snippets/CreateDashboardModal.md +++ b/_docs/latest/embedding/sdk/api/snippets/CreateDashboardModal.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/CreateDashboardModalProps.md b/_docs/latest/embedding/sdk/api/snippets/CreateDashboardModalProps.md index d1444908d6..d9632df6db 100644 --- a/_docs/latest/embedding/sdk/api/snippets/CreateDashboardModalProps.md +++ b/_docs/latest/embedding/sdk/api/snippets/CreateDashboardModalProps.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/CreateDashboardValues.md b/_docs/latest/embedding/sdk/api/snippets/CreateDashboardValues.md index 8751f41748..4bdfe5a9aa 100644 --- a/_docs/latest/embedding/sdk/api/snippets/CreateDashboardValues.md +++ b/_docs/latest/embedding/sdk/api/snippets/CreateDashboardValues.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/CreateQuestion.md b/_docs/latest/embedding/sdk/api/snippets/CreateQuestion.md index cdd8314817..92bb8fa809 100644 --- a/_docs/latest/embedding/sdk/api/snippets/CreateQuestion.md +++ b/_docs/latest/embedding/sdk/api/snippets/CreateQuestion.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/CreateQuestionProps.md b/_docs/latest/embedding/sdk/api/snippets/CreateQuestionProps.md index a93121c76c..afae3f7774 100644 --- a/_docs/latest/embedding/sdk/api/snippets/CreateQuestionProps.md +++ b/_docs/latest/embedding/sdk/api/snippets/CreateQuestionProps.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -17,28 +17,31 @@ latest: true -| Property | Type | Description | -| :---------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `className?` | `string` | A custom class name to be added to the root element. | -| `dataPicker?` | [`EmbeddingDataPicker`](./api/EmbeddingDataPicker) | Controls the menu for selecting data sources in questions. You can opt for the full data picker by setting `dataPicker = "staged"`. | -| `entityTypes?` | [`EmbeddingEntityType`](./api/EmbeddingEntityType)[] | An array that specifies which entity types are available in the data picker | -| `height?` | `Height`\<`string` \| `number`\> | A number or string specifying a CSS size value that specifies the height of the component | -| `hiddenParameters?` | `string`[] | A list of parameters to hide. | -| `initialCollection?` | [`SdkCollectionId`](./api/SdkCollectionId) | The collection to preselect in the save modal's collection picker. Unlike `targetCollection`, the picker remains visible and the user can choose a different collection. Ignored when `targetCollection` is set. | -| `initialSqlParameters?` | [`SqlParameterValues`](./api/SqlParameterValues) | Initial values for the SQL parameters. | -| `isSaveEnabled?` | `boolean` | Whether to show the save button. | -| `onBeforeSave?` | (`question`: [`MetabaseQuestion`](./api/MetabaseQuestion) \| `undefined`, `context`: \{ `isNewQuestion`: `boolean`; \}) => [`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<`void`\> | A callback function that triggers before saving. Only relevant when `isSaveEnabled = true` | -| `onNavigateBack?` | () => `void` | A callback function that triggers when a user clicks the back button. | -| `onRun?` | (`question`: [`MetabaseQuestion`](./api/MetabaseQuestion) \| `undefined`) => `void` | A callback function that triggers when a question is updated, including when a user clicks the `Visualize` button in the question editor | -| `onSave?` | (`question`: [`MetabaseQuestion`](./api/MetabaseQuestion), `context`: \{ `dashboardTabId?`: `number`; `isNewQuestion`: `boolean`; \}) => `void` | A callback function that triggers when a user saves the question. Only relevant when `isSaveEnabled = true` | -| `onVisualizationChange?` | (`display`: \| `"object"` \| `"table"` \| `"bar"` \| `"line"` \| `"pie"` \| `"scalar"` \| `"row"` \| `"area"` \| `"combo"` \| `"pivot"` \| `"smartscalar"` \| `"gauge"` \| `"progress"` \| `"funnel"` \| `"map"` \| `"scatter"` \| `"boxplot"` \| `"waterfall"` \| `"sankey"` \| `"list"`) => `void` | A callback function that triggers when the visualization type changes. | -| `plugins?` | [`MetabasePluginsConfig`](./api/MetabasePluginsConfig) | - | -| `style?` | [`CSSProperties`](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/0b728411cd1dfb4bd26992bb35a73cf8edaa22e7/types/react/index.d.ts#L2579) | A custom style object to be added to the root element. | -| `targetCollection?` | [`SdkCollectionId`](./api/SdkCollectionId) | The collection to save the question to. This will hide the collection picker from the save modal. Only applicable to interactive questions. | -| `title?` | [`SdkQuestionTitleProps`](./api/SdkQuestionTitleProps) | Determines whether the question title is displayed, and allows a custom title to be displayed instead of the default question title. Shown by default. | -| `width?` | `Width`\<`string` \| `number`\> | A number or string specifying a CSS size value that specifies the width of the component | -| `withAlerts?` | `boolean` | Enables the ability to set up alerts on the question. | -| `withChartTypeSelector?` | `boolean` | Determines whether the chart type selector and corresponding settings button are shown. Only relevant when using the default layout. | -| `withDownloads?` | `boolean` | Enables the ability to download results in the question. | +| Property | Type | Description | +| :---------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `className?` | `string` | A custom class name to be added to the root element. | +| `dataPicker?` | [`EmbeddingDataPicker`](./api/EmbeddingDataPicker) | Controls the menu for selecting data sources in questions. You can opt for the full data picker by setting `dataPicker = "staged"`. | +| `entityTypes?` | [`EmbeddingEntityType`](./api/EmbeddingEntityType)[] | An array that specifies which entity types are available in the data picker | +| `height?` | `Height`\<`string` \| `number`\> | A number or string specifying a CSS size value that specifies the height of the component | +| `hiddenParameters?` | `string`[] | A list of parameters to hide. | +| `initialCollection?` | [`SdkCollectionId`](./api/SdkCollectionId) | The collection to preselect in the save modal's collection picker. Unlike `targetCollection`, the picker remains visible and the user can choose a different collection. Ignored when `targetCollection` is set. | +| `initialSqlParameters?` | [`SqlParameterValues`](./api/SqlParameterValues) | Initial values for SQL parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host.
    For each parameter:
    - set to a value: that value is applied.
    - set to `null`: strictly cleared, ignoring the parameter's default.
    - omitted (or set to `undefined`): falls back to the parameter's default (or `null` if it has no default). | +| `isSaveEnabled?` | `boolean` | Whether to show the save button. | +| `onBeforeSave?` | (`question`: [`MetabaseQuestion`](./api/MetabaseQuestion) \| `undefined`, `context`: \{ `isNewQuestion`: `boolean`; \}) => [`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<`void`\> | A callback function that triggers before saving. Only relevant when `isSaveEnabled = true` | +| `onNavigateBack?` | () => `void` | A callback function that triggers when a user clicks the back button. | +| `onRun?` | (`question`: [`MetabaseQuestion`](./api/MetabaseQuestion) \| `undefined`) => `void` | A callback function that triggers when a question is updated, including when a user clicks the `Visualize` button in the question editor | +| `onSave?` | (`question`: [`MetabaseQuestion`](./api/MetabaseQuestion), `context`: \{ `dashboardTabId?`: `number`; `isNewQuestion`: `boolean`; \}) => `void` | A callback function that triggers when a user saves the question. Only relevant when `isSaveEnabled = true` | +| `onSqlParametersChange?` | (`payload`: [`SqlParameterChangePayload`](./api/SqlParameterChangePayload)) => `void` | Fires on SQL parameters change. The payload's `source` distinguishes the initial state on load (`'initial-state'`), user edits in the UI (`'manual-change'`), and auto-updates (`'auto-change'`). | +| `onVisualizationChange?` | (`display`: \| `"object"` \| `"table"` \| `"bar"` \| `"line"` \| `"pie"` \| `"scalar"` \| `"row"` \| `"area"` \| `"combo"` \| `"pivot"` \| `"smartscalar"` \| `"gauge"` \| `"progress"` \| `"funnel"` \| `"map"` \| `"scatter"` \| `"boxplot"` \| `"waterfall"` \| `"sankey"` \| `"list"`) => `void` | A callback function that triggers when the visualization type changes. | +| `plugins?` | [`MetabasePluginsConfig`](./api/MetabasePluginsConfig) | - | +| `sqlParameters?` | [`SqlParameterValues`](./api/SqlParameterValues) | Controlled SQL parameter values, slug-keyed. On every render, this object replaces the question's parameter values:
    - a parameter set to a value uses that value.
    - a parameter set to `null` is cleared, even if it has a default.
    - a parameter omitted from the object (or set to `undefined`) uses its default (or `null` if it has no default).

    Pair with `onSqlParametersChange` to stay in sync with user edits. | +| `style?` | [`CSSProperties`](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/0b728411cd1dfb4bd26992bb35a73cf8edaa22e7/types/react/index.d.ts#L2579) | A custom style object to be added to the root element. | +| `targetCollection?` | [`SdkCollectionId`](./api/SdkCollectionId) | The collection to save the question to. This will hide the collection picker from the save modal. Only applicable to interactive questions. | +| `title?` | [`SdkQuestionTitleProps`](./api/SdkQuestionTitleProps) | Determines whether the question title is displayed, and allows a custom title to be displayed instead of the default question title. Shown by default. | +| `width?` | `Width`\<`string` \| `number`\> | A number or string specifying a CSS size value that specifies the width of the component | +| `withAlerts?` | `boolean` | Enables the ability to set up alerts on the question. | +| `withChartTypeSelector?` | `boolean` | Determines whether the chart type selector and corresponding settings button are shown. Only relevant when using the default layout. | +| `withDownloads?` | `boolean` | Enables the ability to download results in the question. | +| `withEditorButton?` | `boolean` | Determines whether the editor button is shown. Only relevant when using the default layout. | diff --git a/_docs/latest/embedding/sdk/api/snippets/CustomDashboardCardMenuItem.md b/_docs/latest/embedding/sdk/api/snippets/CustomDashboardCardMenuItem.md index 0af9263a86..9628e89ec3 100644 --- a/_docs/latest/embedding/sdk/api/snippets/CustomDashboardCardMenuItem.md +++ b/_docs/latest/embedding/sdk/api/snippets/CustomDashboardCardMenuItem.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/DashCardMenuItem.md b/_docs/latest/embedding/sdk/api/snippets/DashCardMenuItem.md index c3a3f1aa98..2bd6df00b8 100644 --- a/_docs/latest/embedding/sdk/api/snippets/DashCardMenuItem.md +++ b/_docs/latest/embedding/sdk/api/snippets/DashCardMenuItem.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/DashboardCardCustomMenuItem.md b/_docs/latest/embedding/sdk/api/snippets/DashboardCardCustomMenuItem.md index 0d277327af..cf1094fe56 100644 --- a/_docs/latest/embedding/sdk/api/snippets/DashboardCardCustomMenuItem.md +++ b/_docs/latest/embedding/sdk/api/snippets/DashboardCardCustomMenuItem.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/DashboardCardMenu.md b/_docs/latest/embedding/sdk/api/snippets/DashboardCardMenu.md index 25167e3ce4..03f9c29753 100644 --- a/_docs/latest/embedding/sdk/api/snippets/DashboardCardMenu.md +++ b/_docs/latest/embedding/sdk/api/snippets/DashboardCardMenu.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/DashboardCardMenuCustomElement.md b/_docs/latest/embedding/sdk/api/snippets/DashboardCardMenuCustomElement.md index 4b23de8ffc..f9c68d3676 100644 --- a/_docs/latest/embedding/sdk/api/snippets/DashboardCardMenuCustomElement.md +++ b/_docs/latest/embedding/sdk/api/snippets/DashboardCardMenuCustomElement.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/DrillThroughQuestionProps.md b/_docs/latest/embedding/sdk/api/snippets/DrillThroughQuestionProps.md index a0bd726939..bf5bfe318e 100644 --- a/_docs/latest/embedding/sdk/api/snippets/DrillThroughQuestionProps.md +++ b/_docs/latest/embedding/sdk/api/snippets/DrillThroughQuestionProps.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -19,26 +19,27 @@ Props for the drill-through question -| Property | Type | Description | -| :---------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `children?` | [`ReactNode`](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/0b728411cd1dfb4bd26992bb35a73cf8edaa22e7/types/react/index.d.ts#L478) | The children of the component | -| `className?` | `string` | A custom class name to be added to the root element. | -| `dataPicker?` | [`EmbeddingDataPicker`](./api/EmbeddingDataPicker) | Controls the menu for selecting data sources in questions. You can opt for the full data picker by setting `dataPicker = "staged"`. | -| `entityTypes?` | [`EmbeddingEntityType`](./api/EmbeddingEntityType)[] | An array that specifies which entity types are available in the data picker | -| `height?` | `Height`\<`string` \| `number`\> | A number or string specifying a CSS size value that specifies the height of the component | -| `initialCollection?` | [`SdkCollectionId`](./api/SdkCollectionId) | The collection to preselect in the save modal's collection picker. Unlike `targetCollection`, the picker remains visible and the user can choose a different collection. Ignored when `targetCollection` is set. | -| `initialSqlParameters?` | [`SqlParameterValues`](./api/SqlParameterValues) | Initial values for the SQL parameters. | -| `isSaveEnabled?` | `boolean` | Whether to show the save button. | -| `onBeforeSave?` | (`question`: [`MetabaseQuestion`](./api/MetabaseQuestion) \| `undefined`, `context`: \{ `isNewQuestion`: `boolean`; \}) => [`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<`void`\> | A callback function that triggers before saving. Only relevant when `isSaveEnabled = true` | -| `onRun?` | (`question`: [`MetabaseQuestion`](./api/MetabaseQuestion) \| `undefined`) => `void` | A callback function that triggers when a question is updated, including when a user clicks the `Visualize` button in the question editor | -| `onSave?` | (`question`: [`MetabaseQuestion`](./api/MetabaseQuestion), `context`: \{ `dashboardTabId?`: `number`; `isNewQuestion`: `boolean`; \}) => `void` | A callback function that triggers when a user saves the question. Only relevant when `isSaveEnabled = true` | -| `plugins?` | [`MetabasePluginsConfig`](./api/MetabasePluginsConfig) | - | -| `style?` | [`CSSProperties`](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/0b728411cd1dfb4bd26992bb35a73cf8edaa22e7/types/react/index.d.ts#L2579) | A custom style object to be added to the root element. | -| `targetCollection?` | [`SdkCollectionId`](./api/SdkCollectionId) | The collection to save the question to. This will hide the collection picker from the save modal. Only applicable to interactive questions. | -| `title?` | [`SdkQuestionTitleProps`](./api/SdkQuestionTitleProps) | Determines whether the question title is displayed, and allows a custom title to be displayed instead of the default question title. Shown by default. | -| `width?` | `Width`\<`string` \| `number`\> | A number or string specifying a CSS size value that specifies the width of the component | -| `withAlerts?` | `boolean` | Enables the ability to set up alerts on the question. | -| `withChartTypeSelector?` | `boolean` | Determines whether the chart type selector and corresponding settings button are shown. Only relevant when using the default layout. | -| `withDownloads?` | `boolean` | Enables the ability to download results in the question. | +| Property | Type | Description | +| :---------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `children?` | [`ReactNode`](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/0b728411cd1dfb4bd26992bb35a73cf8edaa22e7/types/react/index.d.ts#L478) | The children of the component | +| `className?` | `string` | A custom class name to be added to the root element. | +| `dataPicker?` | [`EmbeddingDataPicker`](./api/EmbeddingDataPicker) | Controls the menu for selecting data sources in questions. You can opt for the full data picker by setting `dataPicker = "staged"`. | +| `entityTypes?` | [`EmbeddingEntityType`](./api/EmbeddingEntityType)[] | An array that specifies which entity types are available in the data picker | +| `height?` | `Height`\<`string` \| `number`\> | A number or string specifying a CSS size value that specifies the height of the component | +| `initialCollection?` | [`SdkCollectionId`](./api/SdkCollectionId) | The collection to preselect in the save modal's collection picker. Unlike `targetCollection`, the picker remains visible and the user can choose a different collection. Ignored when `targetCollection` is set. | +| `initialSqlParameters?` | [`SqlParameterValues`](./api/SqlParameterValues) | Initial values for SQL parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host.
    For each parameter:
    - set to a value: that value is applied.
    - set to `null`: strictly cleared, ignoring the parameter's default.
    - omitted (or set to `undefined`): falls back to the parameter's default (or `null` if it has no default). | +| `isSaveEnabled?` | `boolean` | Whether to show the save button. | +| `onBeforeSave?` | (`question`: [`MetabaseQuestion`](./api/MetabaseQuestion) \| `undefined`, `context`: \{ `isNewQuestion`: `boolean`; \}) => [`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<`void`\> | A callback function that triggers before saving. Only relevant when `isSaveEnabled = true` | +| `onRun?` | (`question`: [`MetabaseQuestion`](./api/MetabaseQuestion) \| `undefined`) => `void` | A callback function that triggers when a question is updated, including when a user clicks the `Visualize` button in the question editor | +| `onSave?` | (`question`: [`MetabaseQuestion`](./api/MetabaseQuestion), `context`: \{ `dashboardTabId?`: `number`; `isNewQuestion`: `boolean`; \}) => `void` | A callback function that triggers when a user saves the question. Only relevant when `isSaveEnabled = true` | +| `plugins?` | [`MetabasePluginsConfig`](./api/MetabasePluginsConfig) | - | +| `style?` | [`CSSProperties`](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/0b728411cd1dfb4bd26992bb35a73cf8edaa22e7/types/react/index.d.ts#L2579) | A custom style object to be added to the root element. | +| `targetCollection?` | [`SdkCollectionId`](./api/SdkCollectionId) | The collection to save the question to. This will hide the collection picker from the save modal. Only applicable to interactive questions. | +| `title?` | [`SdkQuestionTitleProps`](./api/SdkQuestionTitleProps) | Determines whether the question title is displayed, and allows a custom title to be displayed instead of the default question title. Shown by default. | +| `width?` | `Width`\<`string` \| `number`\> | A number or string specifying a CSS size value that specifies the width of the component | +| `withAlerts?` | `boolean` | Enables the ability to set up alerts on the question. | +| `withChartTypeSelector?` | `boolean` | Determines whether the chart type selector and corresponding settings button are shown. Only relevant when using the default layout. | +| `withDownloads?` | `boolean` | Enables the ability to download results in the question. | +| `withEditorButton?` | `boolean` | Determines whether the editor button is shown. Only relevant when using the default layout. | diff --git a/_docs/latest/embedding/sdk/api/snippets/EditableDashboard.md b/_docs/latest/embedding/sdk/api/snippets/EditableDashboard.md index cc562f743e..67d6bd5133 100644 --- a/_docs/latest/embedding/sdk/api/snippets/EditableDashboard.md +++ b/_docs/latest/embedding/sdk/api/snippets/EditableDashboard.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/EditableDashboardProps.md b/_docs/latest/embedding/sdk/api/snippets/EditableDashboardProps.md index 1c2ccd6b73..421651053d 100644 --- a/_docs/latest/embedding/sdk/api/snippets/EditableDashboardProps.md +++ b/_docs/latest/embedding/sdk/api/snippets/EditableDashboardProps.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -17,27 +17,29 @@ latest: true -| Property | Type | Description | -| :-------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `autoRefreshInterval?` | `number` | The interval between auto refreshes on the dashboard, in seconds. | -| `className?` | `string` | A custom class name to be added to the root element. | -| `dashboardId` | `string` \| `number` | The ID of the dashboard.
    This is either:
    - the numerical ID when accessing a dashboard link, i.e. `http://localhost:3000/dashboard/1-my-dashboard` where the ID is `1`
    - the string ID found in the `entity_id` key of the dashboard object when using the API directly or using the SDK Collection Browser to return data | -| `dataPickerProps?` | [`Pick`](https://www.typescriptlang.org/docs/handbook/utility-types.html#picktype-keys)\<[`SdkQuestionProps`](./api/SdkQuestionProps), `"entityTypes"`\> | Additional props to pass to the query builder rendered by `InteractiveQuestion` when creating a new dashboard question. | -| `drillThroughQuestionHeight?` | `Height`\<`string` \| `number`\> | Height of a question component when drilled from the dashboard to a question level. | -| `drillThroughQuestionProps?` | [`DrillThroughQuestionProps`](./api/DrillThroughQuestionProps) | Props of a question component when drilled from the dashboard to a question level. | -| `enableEntityNavigation?` | `boolean` | When true, internal click behaviors (links to dashboards/questions) are preserved. When false (default for SDK), these click behaviors are filtered out. | -| `hiddenParameters?` | `string`[] | A list of [parameters to hide](/docs/latest/embedding/public-links#appearance-parameters).
    - Combining [initialParameters](./api/InteractiveDashboardProps#initialparameters) and [hiddenParameters](./api/InteractiveDashboardProps#hiddenparameters) to filter data on the frontend is a [security risk](/docs/latest/embedding/sdk/authentication#security-warning-each-end-user-must-have-their-own-metabase-account).
    - Combining [initialParameters](./api/InteractiveDashboardProps#initialparameters) and [hiddenParameters](./api/InteractiveDashboardProps#hiddenparameters) to declutter the user interface is fine. | -| `initialParameters?` | [`ParameterValues`](./api/ParameterValues) | Query parameters for the dashboard. For a single option, use a `string` value, and use a list of strings for multiple options.
    - Combining [initialParameters](./api/InteractiveDashboardProps#initialparameters) and [hiddenParameters](./api/InteractiveDashboardProps#hiddenparameters) to filter data on the frontend is a [security risk](/docs/latest/embedding/sdk/authentication#security-warning-each-end-user-must-have-their-own-metabase-account).
    - Combining [initialParameters](./api/InteractiveDashboardProps#initialparameters) and [hiddenParameters](./api/InteractiveDashboardProps#hiddenparameters) to declutter the user interface is fine. | -| `onLoad?` | (`dashboard`: [`MetabaseDashboard`](./api/MetabaseDashboard) \| `null`) => `void` | Callback that is called when the dashboard is loaded. | -| `onLoadWithoutCards?` | (`dashboard`: [`MetabaseDashboard`](./api/MetabaseDashboard) \| `null`) => `void` | Callback that is called when the dashboard is loaded without cards. | -| `onVisualizationChange?` | (`visualization`: \| `"object"` \| `"table"` \| `"bar"` \| `"line"` \| `"pie"` \| `"scalar"` \| `"row"` \| `"area"` \| `"combo"` \| `"pivot"` \| `"smartscalar"` \| `"gauge"` \| `"progress"` \| `"funnel"` \| `"map"` \| `"scatter"` \| `"boxplot"` \| `"waterfall"` \| `"sankey"` \| `"list"`) => `void` | A callback function that triggers when a question is opened from a dashboard card or when the user changes the visualization type of a question. | -| `plugins?` | [`MetabasePluginsConfig`](./api/MetabasePluginsConfig) | Additional mapper function to override or add drill-down menu. See the implementing custom actions section for more details. | -| `renderDrillThroughQuestion?` | () => [`ReactNode`](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/0b728411cd1dfb4bd26992bb35a73cf8edaa22e7/types/react/index.d.ts#L478) | A custom React component to render the question layout. Use namespaced InteractiveQuestion components to build the layout. | -| `style?` | [`CSSProperties`](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/0b728411cd1dfb4bd26992bb35a73cf8edaa22e7/types/react/index.d.ts#L2579) | A custom style object to be added to the root element. | -| `token?` | `string` \| `null` | - | -| `withCardTitle?` | `boolean` | Whether the dashboard cards should display a title. | -| `withDownloads?` | `boolean` | Whether to hide the download button. | -| `withSubscriptions?` | `boolean` | Whether to show the subscriptions button. | -| `withTitle?` | `boolean` | Whether the dashboard should display a title. | +| Property | Type | Description | +| :-------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `autoRefreshInterval?` | `number` | The interval between auto refreshes on the dashboard, in seconds. | +| `className?` | `string` | A custom class name to be added to the root element. | +| `dashboardId` | `string` \| `number` | The ID of the dashboard.
    This is either:
    - the numerical ID when accessing a dashboard link, i.e. `http://localhost:3000/dashboard/1-my-dashboard` where the ID is `1`
    - the string ID found in the `entity_id` key of the dashboard object when using the API directly or using the SDK Collection Browser to return data | +| `dataPickerProps?` | [`Pick`](https://www.typescriptlang.org/docs/handbook/utility-types.html#picktype-keys)\<[`SdkQuestionProps`](./api/SdkQuestionProps), `"entityTypes"`\> | Additional props to pass to the query builder rendered by `InteractiveQuestion` when creating a new dashboard question. | +| `drillThroughQuestionHeight?` | `Height`\<`string` \| `number`\> | Height of a question component when drilled from the dashboard to a question level. | +| `drillThroughQuestionProps?` | [`DrillThroughQuestionProps`](./api/DrillThroughQuestionProps) | Props of a question component when drilled from the dashboard to a question level. | +| `enableEntityNavigation?` | `boolean` | When true, internal click behaviors (links to dashboards/questions) are preserved. When false (default for SDK), these click behaviors are filtered out. | +| `hiddenParameters?` | `string`[] | A list of [parameters to hide](/docs/latest/embedding/public-links#appearance-parameters).
    - Combining [initialParameters](./api/InteractiveDashboardProps#initialparameters) and [hiddenParameters](./api/InteractiveDashboardProps#hiddenparameters) to filter data on the frontend is a [security risk](/docs/latest/embedding/sdk/authentication#security-warning-each-end-user-must-have-their-own-metabase-account).
    - Combining [initialParameters](./api/InteractiveDashboardProps#initialparameters) and [hiddenParameters](./api/InteractiveDashboardProps#hiddenparameters) to declutter the user interface is fine. | +| `initialParameters?` | [`ParameterValues`](./api/ParameterValues) | Initial values for query parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host.
    For each parameter:
    - set to a value (string for a single option, array of strings for multiple): that value is applied.
    - set to `null`: strictly cleared, ignoring the parameter's default.
    - omitted (or set to `undefined`): falls back to the parameter's default (or `null` if it has no default).

    - Combining [initialParameters](./api/InteractiveDashboardProps#initialparameters) and [hiddenParameters](./api/InteractiveDashboardProps#hiddenparameters) to filter data on the frontend is a [security risk](/docs/latest/embedding/sdk/authentication#security-warning-each-end-user-must-have-their-own-metabase-account).
    - Combining [initialParameters](./api/InteractiveDashboardProps#initialparameters) and [hiddenParameters](./api/InteractiveDashboardProps#hiddenparameters) to declutter the user interface is fine. | +| `onLoad?` | (`dashboard`: [`MetabaseDashboard`](./api/MetabaseDashboard) \| `null`) => `void` | Callback that is called when the dashboard is loaded. | +| `onLoadWithoutCards?` | (`dashboard`: [`MetabaseDashboard`](./api/MetabaseDashboard) \| `null`) => `void` | Callback that is called when the dashboard is loaded without cards. | +| `onParametersChange?` | (`payload`: [`ParameterChangePayload`](./api/ParameterChangePayload)) => `void` | Fires on parameters change. The payload's `source` distinguishes the initial state on load (`'initial-state'`), user edits in the UI (`'manual-change'`), and auto-updates (`'auto-change'`). | +| `onVisualizationChange?` | (`visualization`: \| `"object"` \| `"table"` \| `"bar"` \| `"line"` \| `"pie"` \| `"scalar"` \| `"row"` \| `"area"` \| `"combo"` \| `"pivot"` \| `"smartscalar"` \| `"gauge"` \| `"progress"` \| `"funnel"` \| `"map"` \| `"scatter"` \| `"boxplot"` \| `"waterfall"` \| `"sankey"` \| `"list"`) => `void` | A callback function that triggers when a question is opened from a dashboard card or when the user changes the visualization type of a question. | +| `parameters?` | [`ParameterValues`](./api/ParameterValues) | Controlled parameter values, slug-keyed. On every render, this object replaces the dashboard's parameter values:
    - a parameter set to a value uses that value.
    - a parameter set to `null` is cleared, even if it has a default.
    - a parameter omitted from the object (or set to `undefined`) uses its default (or `null` if it has no default).

    Pair with [onParametersChange](./api/InteractiveDashboardProps#onparameterschange) to stay in sync with user edits.
    - Combining [parameters](./api/InteractiveDashboardProps#parameters) and [hiddenParameters](./api/InteractiveDashboardProps#hiddenparameters) to filter data on the frontend is a [security risk](/docs/latest/embedding/sdk/authentication#security-warning-each-end-user-must-have-their-own-metabase-account).
    - Combining [parameters](./api/InteractiveDashboardProps#parameters) and [hiddenParameters](./api/InteractiveDashboardProps#hiddenparameters) to declutter the user interface is fine. | +| `plugins?` | [`MetabasePluginsConfig`](./api/MetabasePluginsConfig) | Additional mapper function to override or add drill-down menu. See the implementing custom actions section for more details. | +| `renderDrillThroughQuestion?` | () => [`ReactNode`](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/0b728411cd1dfb4bd26992bb35a73cf8edaa22e7/types/react/index.d.ts#L478) | A custom React component to render the question layout. Use namespaced InteractiveQuestion components to build the layout. | +| `style?` | [`CSSProperties`](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/0b728411cd1dfb4bd26992bb35a73cf8edaa22e7/types/react/index.d.ts#L2579) | A custom style object to be added to the root element. | +| `token?` | `string` \| `null` | - | +| `withCardTitle?` | `boolean` | Whether the dashboard cards should display a title. | +| `withDownloads?` | `boolean` | Whether to hide the download button. | +| `withSubscriptions?` | `boolean` | Whether to show the subscriptions button. | +| `withTitle?` | `boolean` | Whether the dashboard should display a title. | diff --git a/_docs/latest/embedding/sdk/api/snippets/EmbeddingDataPicker.md b/_docs/latest/embedding/sdk/api/snippets/EmbeddingDataPicker.md index e62a93a999..705817871d 100644 --- a/_docs/latest/embedding/sdk/api/snippets/EmbeddingDataPicker.md +++ b/_docs/latest/embedding/sdk/api/snippets/EmbeddingDataPicker.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/EmbeddingEntityType.md b/_docs/latest/embedding/sdk/api/snippets/EmbeddingEntityType.md index eba51547cd..18b2f8f5fb 100644 --- a/_docs/latest/embedding/sdk/api/snippets/EmbeddingEntityType.md +++ b/_docs/latest/embedding/sdk/api/snippets/EmbeddingEntityType.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/EntityTypeFilterKeys.md b/_docs/latest/embedding/sdk/api/snippets/EntityTypeFilterKeys.md index ba1db33d2d..859c598a50 100644 --- a/_docs/latest/embedding/sdk/api/snippets/EntityTypeFilterKeys.md +++ b/_docs/latest/embedding/sdk/api/snippets/EntityTypeFilterKeys.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/IconName.md b/_docs/latest/embedding/sdk/api/snippets/IconName.md index 0ccf8b0f30..18dd00ef62 100644 --- a/_docs/latest/embedding/sdk/api/snippets/IconName.md +++ b/_docs/latest/embedding/sdk/api/snippets/IconName.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -102,6 +102,7 @@ type IconName = | "database" | "database_routing" | "dependencies" + | "dependent" | "data_studio" | "dash" | "curve" @@ -294,6 +295,7 @@ type IconName = | "verified_round" | "view_archive" | "warning" + | "warning_round" | "warning_round_filled" | "warning_triangle_filled" | "webhook" diff --git a/_docs/latest/embedding/sdk/api/snippets/InitializationStatus.md b/_docs/latest/embedding/sdk/api/snippets/InitializationStatus.md index 4c930543b1..bf926a05ec 100644 --- a/_docs/latest/embedding/sdk/api/snippets/InitializationStatus.md +++ b/_docs/latest/embedding/sdk/api/snippets/InitializationStatus.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/InteractiveDashboard.md b/_docs/latest/embedding/sdk/api/snippets/InteractiveDashboard.md index 26578ff539..86fddbb7aa 100644 --- a/_docs/latest/embedding/sdk/api/snippets/InteractiveDashboard.md +++ b/_docs/latest/embedding/sdk/api/snippets/InteractiveDashboard.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -19,6 +19,8 @@ function InteractiveDashboard( drillThroughQuestionHeight?: Height; drillThroughQuestionProps?: DrillThroughQuestionProps; initialParameters?: ParameterValues; + onParametersChange?: (payload: ParameterChangePayload) => void; + parameters?: ParameterValues; plugins?: MetabasePluginsConfig; renderDrillThroughQuestion?: () => ReactNode; } & { @@ -73,9 +75,9 @@ A dashboard component with drill downs, click behaviors, and the ability to view -| Parameter | Type | Description | -| :-------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :---------- | -| `props` | \{ `autoRefreshInterval?`: `number`; `dashboardId`: [`SdkDashboardId`](./api/SdkDashboardId); `drillThroughQuestionHeight?`: `Height`\<`string` \| `number`\>; `drillThroughQuestionProps?`: [`DrillThroughQuestionProps`](./api/DrillThroughQuestionProps); `initialParameters?`: [`ParameterValues`](./api/ParameterValues); `plugins?`: [`MetabasePluginsConfig`](./api/MetabasePluginsConfig); `renderDrillThroughQuestion?`: () => [`ReactNode`](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/0b728411cd1dfb4bd26992bb35a73cf8edaa22e7/types/react/index.d.ts#L478); \} & \{ `dashboardId?`: [`SdkDashboardId`](./api/SdkDashboardId) \| `null`; `token?`: `string` \| `null`; \} & \{ `enableEntityNavigation?`: `boolean`; `hiddenParameters?`: `string`[]; `initialParameters?`: [`ParameterValues`](./api/ParameterValues); `withCardTitle?`: `boolean`; `withDownloads?`: `boolean`; `withSubscriptions?`: `boolean`; `withTitle?`: `boolean`; \} & \{ `className?`: `string`; `style?`: [`CSSProperties`](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/0b728411cd1dfb4bd26992bb35a73cf8edaa22e7/types/react/index.d.ts#L2579); \} & \{ `onLoad?`: (`dashboard`: [`MetabaseDashboard`](./api/MetabaseDashboard) \| `null`) => `void`; `onLoadWithoutCards?`: (`dashboard`: [`MetabaseDashboard`](./api/MetabaseDashboard) \| `null`) => `void`; `onVisualizationChange?`: (`visualization`: \| `"object"` \| `"table"` \| `"bar"` \| `"line"` \| `"pie"` \| `"scalar"` \| `"row"` \| `"area"` \| `"combo"` \| `"pivot"` \| `"smartscalar"` \| `"gauge"` \| `"progress"` \| `"funnel"` \| `"map"` \| `"scatter"` \| `"boxplot"` \| `"waterfall"` \| `"sankey"` \| `"list"`) => `void`; \} & \{ `dataPickerProps?`: [`Pick`](https://www.typescriptlang.org/docs/handbook/utility-types.html#picktype-keys)\<[`SdkQuestionProps`](./api/SdkQuestionProps), `"entityTypes"`\>; \} & \{ \} | | +| Parameter | Type | Description | +| :-------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------- | +| `props` | \{ `autoRefreshInterval?`: `number`; `dashboardId`: [`SdkDashboardId`](./api/SdkDashboardId); `drillThroughQuestionHeight?`: `Height`\<`string` \| `number`\>; `drillThroughQuestionProps?`: [`DrillThroughQuestionProps`](./api/DrillThroughQuestionProps); `initialParameters?`: [`ParameterValues`](./api/ParameterValues); `onParametersChange?`: (`payload`: [`ParameterChangePayload`](./api/ParameterChangePayload)) => `void`; `parameters?`: [`ParameterValues`](./api/ParameterValues); `plugins?`: [`MetabasePluginsConfig`](./api/MetabasePluginsConfig); `renderDrillThroughQuestion?`: () => [`ReactNode`](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/0b728411cd1dfb4bd26992bb35a73cf8edaa22e7/types/react/index.d.ts#L478); \} & \{ `dashboardId?`: [`SdkDashboardId`](./api/SdkDashboardId) \| `null`; `token?`: `string` \| `null`; \} & \{ `enableEntityNavigation?`: `boolean`; `hiddenParameters?`: `string`[]; `initialParameters?`: [`ParameterValues`](./api/ParameterValues); `withCardTitle?`: `boolean`; `withDownloads?`: `boolean`; `withSubscriptions?`: `boolean`; `withTitle?`: `boolean`; \} & \{ `className?`: `string`; `style?`: [`CSSProperties`](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/0b728411cd1dfb4bd26992bb35a73cf8edaa22e7/types/react/index.d.ts#L2579); \} & \{ `onLoad?`: (`dashboard`: [`MetabaseDashboard`](./api/MetabaseDashboard) \| `null`) => `void`; `onLoadWithoutCards?`: (`dashboard`: [`MetabaseDashboard`](./api/MetabaseDashboard) \| `null`) => `void`; `onVisualizationChange?`: (`visualization`: \| `"object"` \| `"table"` \| `"bar"` \| `"line"` \| `"pie"` \| `"scalar"` \| `"row"` \| `"area"` \| `"combo"` \| `"pivot"` \| `"smartscalar"` \| `"gauge"` \| `"progress"` \| `"funnel"` \| `"map"` \| `"scatter"` \| `"boxplot"` \| `"waterfall"` \| `"sankey"` \| `"list"`) => `void`; \} & \{ `dataPickerProps?`: [`Pick`](https://www.typescriptlang.org/docs/handbook/utility-types.html#picktype-keys)\<[`SdkQuestionProps`](./api/SdkQuestionProps), `"entityTypes"`\>; \} & \{ \} | | diff --git a/_docs/latest/embedding/sdk/api/snippets/InteractiveDashboardProps.md b/_docs/latest/embedding/sdk/api/snippets/InteractiveDashboardProps.md index f6ceb6be0c..fe20f64962 100644 --- a/_docs/latest/embedding/sdk/api/snippets/InteractiveDashboardProps.md +++ b/_docs/latest/embedding/sdk/api/snippets/InteractiveDashboardProps.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -17,27 +17,29 @@ latest: true -| Property | Type | Description | -| :-------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `autoRefreshInterval?` | `number` | The interval between auto refreshes on the dashboard, in seconds. | -| `className?` | `string` | A custom class name to be added to the root element. | -| `dashboardId` | `string` \| `number` | The ID of the dashboard.
    This is either:
    - the numerical ID when accessing a dashboard link, i.e. `http://localhost:3000/dashboard/1-my-dashboard` where the ID is `1`
    - the string ID found in the `entity_id` key of the dashboard object when using the API directly or using the SDK Collection Browser to return data | -| `dataPickerProps?` | [`Pick`](https://www.typescriptlang.org/docs/handbook/utility-types.html#picktype-keys)\<[`SdkQuestionProps`](./api/SdkQuestionProps), `"entityTypes"`\> | Additional props to pass to the query builder rendered by `InteractiveQuestion` when creating a new dashboard question. | -| `drillThroughQuestionHeight?` | `Height`\<`string` \| `number`\> | Height of a question component when drilled from the dashboard to a question level. | -| `drillThroughQuestionProps?` | [`DrillThroughQuestionProps`](./api/DrillThroughQuestionProps) | Props of a question component when drilled from the dashboard to a question level. | -| `enableEntityNavigation?` | `boolean` | When true, internal click behaviors (links to dashboards/questions) are preserved. When false (default for SDK), these click behaviors are filtered out. | -| `hiddenParameters?` | `string`[] | A list of [parameters to hide](/docs/latest/embedding/public-links#appearance-parameters).
    - Combining [initialParameters](./api/InteractiveDashboardProps#initialparameters) and [hiddenParameters](./api/InteractiveDashboardProps#hiddenparameters) to filter data on the frontend is a [security risk](/docs/latest/embedding/sdk/authentication#security-warning-each-end-user-must-have-their-own-metabase-account).
    - Combining [initialParameters](./api/InteractiveDashboardProps#initialparameters) and [hiddenParameters](./api/InteractiveDashboardProps#hiddenparameters) to declutter the user interface is fine. | -| `initialParameters?` | [`ParameterValues`](./api/ParameterValues) | Query parameters for the dashboard. For a single option, use a `string` value, and use a list of strings for multiple options.
    - Combining [initialParameters](./api/InteractiveDashboardProps#initialparameters) and [hiddenParameters](./api/InteractiveDashboardProps#hiddenparameters) to filter data on the frontend is a [security risk](/docs/latest/embedding/sdk/authentication#security-warning-each-end-user-must-have-their-own-metabase-account).
    - Combining [initialParameters](./api/InteractiveDashboardProps#initialparameters) and [hiddenParameters](./api/InteractiveDashboardProps#hiddenparameters) to declutter the user interface is fine. | -| `onLoad?` | (`dashboard`: [`MetabaseDashboard`](./api/MetabaseDashboard) \| `null`) => `void` | Callback that is called when the dashboard is loaded. | -| `onLoadWithoutCards?` | (`dashboard`: [`MetabaseDashboard`](./api/MetabaseDashboard) \| `null`) => `void` | Callback that is called when the dashboard is loaded without cards. | -| `onVisualizationChange?` | (`visualization`: \| `"object"` \| `"table"` \| `"bar"` \| `"line"` \| `"pie"` \| `"scalar"` \| `"row"` \| `"area"` \| `"combo"` \| `"pivot"` \| `"smartscalar"` \| `"gauge"` \| `"progress"` \| `"funnel"` \| `"map"` \| `"scatter"` \| `"boxplot"` \| `"waterfall"` \| `"sankey"` \| `"list"`) => `void` | A callback function that triggers when a question is opened from a dashboard card or when the user changes the visualization type of a question. | -| `plugins?` | [`MetabasePluginsConfig`](./api/MetabasePluginsConfig) | Additional mapper function to override or add drill-down menu. See the implementing custom actions section for more details. | -| `renderDrillThroughQuestion?` | () => [`ReactNode`](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/0b728411cd1dfb4bd26992bb35a73cf8edaa22e7/types/react/index.d.ts#L478) | A custom React component to render the question layout. Use namespaced InteractiveQuestion components to build the layout. | -| `style?` | [`CSSProperties`](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/0b728411cd1dfb4bd26992bb35a73cf8edaa22e7/types/react/index.d.ts#L2579) | A custom style object to be added to the root element. | -| `token?` | `string` \| `null` | - | -| `withCardTitle?` | `boolean` | Whether the dashboard cards should display a title. | -| `withDownloads?` | `boolean` | Whether to hide the download button. | -| `withSubscriptions?` | `boolean` | Whether to show the subscriptions button. | -| `withTitle?` | `boolean` | Whether the dashboard should display a title. | +| Property | Type | Description | +| :-------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `autoRefreshInterval?` | `number` | The interval between auto refreshes on the dashboard, in seconds. | +| `className?` | `string` | A custom class name to be added to the root element. | +| `dashboardId` | `string` \| `number` | The ID of the dashboard.
    This is either:
    - the numerical ID when accessing a dashboard link, i.e. `http://localhost:3000/dashboard/1-my-dashboard` where the ID is `1`
    - the string ID found in the `entity_id` key of the dashboard object when using the API directly or using the SDK Collection Browser to return data | +| `dataPickerProps?` | [`Pick`](https://www.typescriptlang.org/docs/handbook/utility-types.html#picktype-keys)\<[`SdkQuestionProps`](./api/SdkQuestionProps), `"entityTypes"`\> | Additional props to pass to the query builder rendered by `InteractiveQuestion` when creating a new dashboard question. | +| `drillThroughQuestionHeight?` | `Height`\<`string` \| `number`\> | Height of a question component when drilled from the dashboard to a question level. | +| `drillThroughQuestionProps?` | [`DrillThroughQuestionProps`](./api/DrillThroughQuestionProps) | Props of a question component when drilled from the dashboard to a question level. | +| `enableEntityNavigation?` | `boolean` | When true, internal click behaviors (links to dashboards/questions) are preserved. When false (default for SDK), these click behaviors are filtered out. | +| `hiddenParameters?` | `string`[] | A list of [parameters to hide](/docs/latest/embedding/public-links#appearance-parameters).
    - Combining [initialParameters](./api/InteractiveDashboardProps#initialparameters) and [hiddenParameters](./api/InteractiveDashboardProps#hiddenparameters) to filter data on the frontend is a [security risk](/docs/latest/embedding/sdk/authentication#security-warning-each-end-user-must-have-their-own-metabase-account).
    - Combining [initialParameters](./api/InteractiveDashboardProps#initialparameters) and [hiddenParameters](./api/InteractiveDashboardProps#hiddenparameters) to declutter the user interface is fine. | +| `initialParameters?` | [`ParameterValues`](./api/ParameterValues) | Initial values for query parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host.
    For each parameter:
    - set to a value (string for a single option, array of strings for multiple): that value is applied.
    - set to `null`: strictly cleared, ignoring the parameter's default.
    - omitted (or set to `undefined`): falls back to the parameter's default (or `null` if it has no default).

    - Combining [initialParameters](./api/InteractiveDashboardProps#initialparameters) and [hiddenParameters](./api/InteractiveDashboardProps#hiddenparameters) to filter data on the frontend is a [security risk](/docs/latest/embedding/sdk/authentication#security-warning-each-end-user-must-have-their-own-metabase-account).
    - Combining [initialParameters](./api/InteractiveDashboardProps#initialparameters) and [hiddenParameters](./api/InteractiveDashboardProps#hiddenparameters) to declutter the user interface is fine. | +| `onLoad?` | (`dashboard`: [`MetabaseDashboard`](./api/MetabaseDashboard) \| `null`) => `void` | Callback that is called when the dashboard is loaded. | +| `onLoadWithoutCards?` | (`dashboard`: [`MetabaseDashboard`](./api/MetabaseDashboard) \| `null`) => `void` | Callback that is called when the dashboard is loaded without cards. | +| `onParametersChange?` | (`payload`: [`ParameterChangePayload`](./api/ParameterChangePayload)) => `void` | Fires on parameters change. The payload's `source` distinguishes the initial state on load (`'initial-state'`), user edits in the UI (`'manual-change'`), and auto-updates (`'auto-change'`). | +| `onVisualizationChange?` | (`visualization`: \| `"object"` \| `"table"` \| `"bar"` \| `"line"` \| `"pie"` \| `"scalar"` \| `"row"` \| `"area"` \| `"combo"` \| `"pivot"` \| `"smartscalar"` \| `"gauge"` \| `"progress"` \| `"funnel"` \| `"map"` \| `"scatter"` \| `"boxplot"` \| `"waterfall"` \| `"sankey"` \| `"list"`) => `void` | A callback function that triggers when a question is opened from a dashboard card or when the user changes the visualization type of a question. | +| `parameters?` | [`ParameterValues`](./api/ParameterValues) | Controlled parameter values, slug-keyed. On every render, this object replaces the dashboard's parameter values:
    - a parameter set to a value uses that value.
    - a parameter set to `null` is cleared, even if it has a default.
    - a parameter omitted from the object (or set to `undefined`) uses its default (or `null` if it has no default).

    Pair with [onParametersChange](./api/InteractiveDashboardProps#onparameterschange) to stay in sync with user edits.
    - Combining [parameters](./api/InteractiveDashboardProps#parameters) and [hiddenParameters](./api/InteractiveDashboardProps#hiddenparameters) to filter data on the frontend is a [security risk](/docs/latest/embedding/sdk/authentication#security-warning-each-end-user-must-have-their-own-metabase-account).
    - Combining [parameters](./api/InteractiveDashboardProps#parameters) and [hiddenParameters](./api/InteractiveDashboardProps#hiddenparameters) to declutter the user interface is fine. | +| `plugins?` | [`MetabasePluginsConfig`](./api/MetabasePluginsConfig) | Additional mapper function to override or add drill-down menu. See the implementing custom actions section for more details. | +| `renderDrillThroughQuestion?` | () => [`ReactNode`](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/0b728411cd1dfb4bd26992bb35a73cf8edaa22e7/types/react/index.d.ts#L478) | A custom React component to render the question layout. Use namespaced InteractiveQuestion components to build the layout. | +| `style?` | [`CSSProperties`](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/0b728411cd1dfb4bd26992bb35a73cf8edaa22e7/types/react/index.d.ts#L2579) | A custom style object to be added to the root element. | +| `token?` | `string` \| `null` | - | +| `withCardTitle?` | `boolean` | Whether the dashboard cards should display a title. | +| `withDownloads?` | `boolean` | Whether to hide the download button. | +| `withSubscriptions?` | `boolean` | Whether to show the subscriptions button. | +| `withTitle?` | `boolean` | Whether the dashboard should display a title. | diff --git a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestion.md b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestion.md index c1d78315c1..a9d8c72ff4 100644 --- a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestion.md +++ b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestion.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionBackButtonProps.md b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionBackButtonProps.md index a6916352e2..55a08451db 100644 --- a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionBackButtonProps.md +++ b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionBackButtonProps.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionBreakoutDropdownProps.md b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionBreakoutDropdownProps.md index 0b54308d8e..637447552d 100644 --- a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionBreakoutDropdownProps.md +++ b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionBreakoutDropdownProps.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionChartTypeDropdownProps.md b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionChartTypeDropdownProps.md index e7c9ab0df1..bdb65a1e9a 100644 --- a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionChartTypeDropdownProps.md +++ b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionChartTypeDropdownProps.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionChartTypeSelectorProps.md b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionChartTypeSelectorProps.md index 70ef22d34a..63f5a8a37b 100644 --- a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionChartTypeSelectorProps.md +++ b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionChartTypeSelectorProps.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionComponents.md b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionComponents.md index 94a9b39ecb..82e7850842 100644 --- a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionComponents.md +++ b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionComponents.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionDownloadWidgetDropdownProps.md b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionDownloadWidgetDropdownProps.md index 4305a1aefd..7bc21c2444 100644 --- a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionDownloadWidgetDropdownProps.md +++ b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionDownloadWidgetDropdownProps.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionDownloadWidgetProps.md b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionDownloadWidgetProps.md index 428a507017..77878303b9 100644 --- a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionDownloadWidgetProps.md +++ b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionDownloadWidgetProps.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionEditorButtonProps.md b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionEditorButtonProps.md index f3ec406c6e..b99901bb74 100644 --- a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionEditorButtonProps.md +++ b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionEditorButtonProps.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionEditorProps.md b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionEditorProps.md index 30d5395b6d..c874d2406f 100644 --- a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionEditorProps.md +++ b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionEditorProps.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionFilterDropdownProps.md b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionFilterDropdownProps.md index ed4d5ebe68..d1f8fd92c3 100644 --- a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionFilterDropdownProps.md +++ b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionFilterDropdownProps.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionFilterProps.md b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionFilterProps.md index 358484f6dc..4ce9a5a49d 100644 --- a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionFilterProps.md +++ b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionFilterProps.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionProps.md b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionProps.md index 059dec859d..be2dcb4478 100644 --- a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionProps.md +++ b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionProps.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -25,16 +25,18 @@ latest: true | `height?` | `Height`\<`string` \| `number`\> | A number or string specifying a CSS size value that specifies the height of the component | | `hiddenParameters?` | `string`[] | A list of parameters to hide. | | `initialCollection?` | [`SdkCollectionId`](./api/SdkCollectionId) | The collection to preselect in the save modal's collection picker. Unlike `targetCollection`, the picker remains visible and the user can choose a different collection. Ignored when `targetCollection` is set. | -| `initialSqlParameters?` | [`SqlParameterValues`](./api/SqlParameterValues) | Initial values for the SQL parameters. | +| `initialSqlParameters?` | [`SqlParameterValues`](./api/SqlParameterValues) | Initial values for SQL parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host.
    For each parameter:
    - set to a value: that value is applied.
    - set to `null`: strictly cleared, ignoring the parameter's default.
    - omitted (or set to `undefined`): falls back to the parameter's default (or `null` if it has no default). | | `isSaveEnabled?` | `boolean` | Whether to show the save button. | | `onBeforeSave?` | (`question`: [`MetabaseQuestion`](./api/MetabaseQuestion) \| `undefined`, `context`: \{ `isNewQuestion`: `boolean`; \}) => [`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<`void`\> | A callback function that triggers before saving. Only relevant when `isSaveEnabled = true` | | `onNavigateBack?` | () => `void` | A callback function that triggers when a user clicks the back button. | | `onRun?` | (`question`: [`MetabaseQuestion`](./api/MetabaseQuestion) \| `undefined`) => `void` | A callback function that triggers when a question is updated, including when a user clicks the `Visualize` button in the question editor | | `onSave?` | (`question`: [`MetabaseQuestion`](./api/MetabaseQuestion), `context`: \{ `dashboardTabId?`: `number`; `isNewQuestion`: `boolean`; \}) => `void` | A callback function that triggers when a user saves the question. Only relevant when `isSaveEnabled = true` | +| `onSqlParametersChange?` | (`payload`: [`SqlParameterChangePayload`](./api/SqlParameterChangePayload)) => `void` | Fires on SQL parameters change. The payload's `source` distinguishes the initial state on load (`'initial-state'`), user edits in the UI (`'manual-change'`), and auto-updates (`'auto-change'`). | | `onVisualizationChange?` | (`display`: \| `"object"` \| `"table"` \| `"bar"` \| `"line"` \| `"pie"` \| `"scalar"` \| `"row"` \| `"area"` \| `"combo"` \| `"pivot"` \| `"smartscalar"` \| `"gauge"` \| `"progress"` \| `"funnel"` \| `"map"` \| `"scatter"` \| `"boxplot"` \| `"waterfall"` \| `"sankey"` \| `"list"`) => `void` | A callback function that triggers when the visualization type changes. | | `plugins?` | [`MetabasePluginsConfig`](./api/MetabasePluginsConfig) | - | | `query?` | `undefined` | - | | `questionId?` | [`SdkQuestionId`](./api/SdkQuestionId) \| `null` | The ID of the question.
    This is either:
    - the numerical ID when accessing a question link, i.e. `http://localhost:3000/question/1-my-question` where the ID is `1`
    - the string ID found in the `entity_id` key of the question object when using the API directly or using the SDK Collection Browser to return data
    - `new` to show the notebook editor for creating new questions
    - `new-native` to show the SQL editor for creating new native questions | +| `sqlParameters?` | [`SqlParameterValues`](./api/SqlParameterValues) | Controlled SQL parameter values, slug-keyed. On every render, this object replaces the question's parameter values:
    - a parameter set to a value uses that value.
    - a parameter set to `null` is cleared, even if it has a default.
    - a parameter omitted from the object (or set to `undefined`) uses its default (or `null` if it has no default).

    Pair with `onSqlParametersChange` to stay in sync with user edits. | | `style?` | [`CSSProperties`](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/0b728411cd1dfb4bd26992bb35a73cf8edaa22e7/types/react/index.d.ts#L2579) | A custom style object to be added to the root element. | | `targetCollection?` | [`SdkCollectionId`](./api/SdkCollectionId) | The collection to save the question to. This will hide the collection picker from the save modal. Only applicable to interactive questions. | | `title?` | [`SdkQuestionTitleProps`](./api/SdkQuestionTitleProps) | Determines whether the question title is displayed, and allows a custom title to be displayed instead of the default question title. Shown by default. | @@ -43,5 +45,6 @@ latest: true | `withAlerts?` | `boolean` | Enables the ability to set up alerts on the question. | | `withChartTypeSelector?` | `boolean` | Determines whether the chart type selector and corresponding settings button are shown. Only relevant when using the default layout. | | `withDownloads?` | `boolean` | Enables the ability to download results in the question. | +| `withEditorButton?` | `boolean` | Determines whether the editor button is shown. Only relevant when using the default layout. | diff --git a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionQuestionSettingsDropdownProps.md b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionQuestionSettingsDropdownProps.md index f7f725457d..f4c8a2ef44 100644 --- a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionQuestionSettingsDropdownProps.md +++ b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionQuestionSettingsDropdownProps.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionQuestionSettingsProps.md b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionQuestionSettingsProps.md index 8917ccceee..7d2e0b0c07 100644 --- a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionQuestionSettingsProps.md +++ b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionQuestionSettingsProps.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionQuestionVisualizationProps.md b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionQuestionVisualizationProps.md index 8e75736bd2..7fef0ff95b 100644 --- a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionQuestionVisualizationProps.md +++ b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionQuestionVisualizationProps.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionResetButtonProps.md b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionResetButtonProps.md index 0dfb747cad..3cc1ce543d 100644 --- a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionResetButtonProps.md +++ b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionResetButtonProps.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionSaveButtonProps.md b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionSaveButtonProps.md index 544c197a80..157e4b2459 100644 --- a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionSaveButtonProps.md +++ b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionSaveButtonProps.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionSaveQuestionFormProps.md b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionSaveQuestionFormProps.md index 76af7a9111..4de49b664c 100644 --- a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionSaveQuestionFormProps.md +++ b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionSaveQuestionFormProps.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionSummarizeDropdownProps.md b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionSummarizeDropdownProps.md index dd49d7ef4c..346eaab1c4 100644 --- a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionSummarizeDropdownProps.md +++ b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionSummarizeDropdownProps.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionTitleProps.md b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionTitleProps.md index 634a638c98..e2c02c71e6 100644 --- a/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionTitleProps.md +++ b/_docs/latest/embedding/sdk/api/snippets/InteractiveQuestionTitleProps.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/LoginStatus.md b/_docs/latest/embedding/sdk/api/snippets/LoginStatus.md index bf7d4d0f18..eeadc00e9e 100644 --- a/_docs/latest/embedding/sdk/api/snippets/LoginStatus.md +++ b/_docs/latest/embedding/sdk/api/snippets/LoginStatus.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/MetabaseAuthConfig.md b/_docs/latest/embedding/sdk/api/snippets/MetabaseAuthConfig.md index de9f5a2488..abdb70f230 100644 --- a/_docs/latest/embedding/sdk/api/snippets/MetabaseAuthConfig.md +++ b/_docs/latest/embedding/sdk/api/snippets/MetabaseAuthConfig.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/MetabaseAuthConfigWithApiKey.md b/_docs/latest/embedding/sdk/api/snippets/MetabaseAuthConfigWithApiKey.md index ca9b5faaa7..35e065fe5c 100644 --- a/_docs/latest/embedding/sdk/api/snippets/MetabaseAuthConfigWithApiKey.md +++ b/_docs/latest/embedding/sdk/api/snippets/MetabaseAuthConfigWithApiKey.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/MetabaseAuthConfigWithJwt.md b/_docs/latest/embedding/sdk/api/snippets/MetabaseAuthConfigWithJwt.md index 127090a484..7531c4ff53 100644 --- a/_docs/latest/embedding/sdk/api/snippets/MetabaseAuthConfigWithJwt.md +++ b/_docs/latest/embedding/sdk/api/snippets/MetabaseAuthConfigWithJwt.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/MetabaseAuthConfigWithSaml.md b/_docs/latest/embedding/sdk/api/snippets/MetabaseAuthConfigWithSaml.md index 77a5922779..fe66592195 100644 --- a/_docs/latest/embedding/sdk/api/snippets/MetabaseAuthConfigWithSaml.md +++ b/_docs/latest/embedding/sdk/api/snippets/MetabaseAuthConfigWithSaml.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/MetabaseClickAction.md b/_docs/latest/embedding/sdk/api/snippets/MetabaseClickAction.md index d95bf7a8f6..ec7d57e5c4 100644 --- a/_docs/latest/embedding/sdk/api/snippets/MetabaseClickAction.md +++ b/_docs/latest/embedding/sdk/api/snippets/MetabaseClickAction.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/MetabaseClickActionPluginsConfig.md b/_docs/latest/embedding/sdk/api/snippets/MetabaseClickActionPluginsConfig.md index c2fd814378..4bc0f1ec3e 100644 --- a/_docs/latest/embedding/sdk/api/snippets/MetabaseClickActionPluginsConfig.md +++ b/_docs/latest/embedding/sdk/api/snippets/MetabaseClickActionPluginsConfig.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/MetabaseCollection.md b/_docs/latest/embedding/sdk/api/snippets/MetabaseCollection.md index d534355e76..4db0a77f7f 100644 --- a/_docs/latest/embedding/sdk/api/snippets/MetabaseCollection.md +++ b/_docs/latest/embedding/sdk/api/snippets/MetabaseCollection.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/MetabaseCollectionItem.md b/_docs/latest/embedding/sdk/api/snippets/MetabaseCollectionItem.md index 47daa484d0..ead6e0e373 100644 --- a/_docs/latest/embedding/sdk/api/snippets/MetabaseCollectionItem.md +++ b/_docs/latest/embedding/sdk/api/snippets/MetabaseCollectionItem.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/MetabaseColorKey.md b/_docs/latest/embedding/sdk/api/snippets/MetabaseColorKey.md index e833366d9e..1b11da76f8 100644 --- a/_docs/latest/embedding/sdk/api/snippets/MetabaseColorKey.md +++ b/_docs/latest/embedding/sdk/api/snippets/MetabaseColorKey.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/MetabaseColors.md b/_docs/latest/embedding/sdk/api/snippets/MetabaseColors.md index c4c6ed541c..e9e2ebdc36 100644 --- a/_docs/latest/embedding/sdk/api/snippets/MetabaseColors.md +++ b/_docs/latest/embedding/sdk/api/snippets/MetabaseColors.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/MetabaseComponentTheme.md b/_docs/latest/embedding/sdk/api/snippets/MetabaseComponentTheme.md index 5c29199e53..db2604bd1d 100644 --- a/_docs/latest/embedding/sdk/api/snippets/MetabaseComponentTheme.md +++ b/_docs/latest/embedding/sdk/api/snippets/MetabaseComponentTheme.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/MetabaseDashboard.md b/_docs/latest/embedding/sdk/api/snippets/MetabaseDashboard.md index fb32666dfe..5aa740fb96 100644 --- a/_docs/latest/embedding/sdk/api/snippets/MetabaseDashboard.md +++ b/_docs/latest/embedding/sdk/api/snippets/MetabaseDashboard.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/MetabaseDashboardPluginsConfig.md b/_docs/latest/embedding/sdk/api/snippets/MetabaseDashboardPluginsConfig.md index 928863e535..5566bc296a 100644 --- a/_docs/latest/embedding/sdk/api/snippets/MetabaseDashboardPluginsConfig.md +++ b/_docs/latest/embedding/sdk/api/snippets/MetabaseDashboardPluginsConfig.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/MetabaseDataPointObject.md b/_docs/latest/embedding/sdk/api/snippets/MetabaseDataPointObject.md index 4a5da1a811..bdf4113620 100644 --- a/_docs/latest/embedding/sdk/api/snippets/MetabaseDataPointObject.md +++ b/_docs/latest/embedding/sdk/api/snippets/MetabaseDataPointObject.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/MetabaseEmbeddingColorKeyV2.md b/_docs/latest/embedding/sdk/api/snippets/MetabaseEmbeddingColorKeyV2.md index 131556f244..413f9c3883 100644 --- a/_docs/latest/embedding/sdk/api/snippets/MetabaseEmbeddingColorKeyV2.md +++ b/_docs/latest/embedding/sdk/api/snippets/MetabaseEmbeddingColorKeyV2.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/MetabaseEmbeddingTheme.md b/_docs/latest/embedding/sdk/api/snippets/MetabaseEmbeddingTheme.md index c06e0b958b..6e45adbd0c 100644 --- a/_docs/latest/embedding/sdk/api/snippets/MetabaseEmbeddingTheme.md +++ b/_docs/latest/embedding/sdk/api/snippets/MetabaseEmbeddingTheme.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/MetabaseEmbeddingThemeV2.md b/_docs/latest/embedding/sdk/api/snippets/MetabaseEmbeddingThemeV2.md index a12939c2fa..a8f2a70d33 100644 --- a/_docs/latest/embedding/sdk/api/snippets/MetabaseEmbeddingThemeV2.md +++ b/_docs/latest/embedding/sdk/api/snippets/MetabaseEmbeddingThemeV2.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/MetabaseFetchRequestTokenFn.md b/_docs/latest/embedding/sdk/api/snippets/MetabaseFetchRequestTokenFn.md index 1e2be1adca..6442605bd6 100644 --- a/_docs/latest/embedding/sdk/api/snippets/MetabaseFetchRequestTokenFn.md +++ b/_docs/latest/embedding/sdk/api/snippets/MetabaseFetchRequestTokenFn.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/MetabaseFontFamily.md b/_docs/latest/embedding/sdk/api/snippets/MetabaseFontFamily.md index 9e9a4035c4..7e733cf071 100644 --- a/_docs/latest/embedding/sdk/api/snippets/MetabaseFontFamily.md +++ b/_docs/latest/embedding/sdk/api/snippets/MetabaseFontFamily.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -17,6 +17,7 @@ type MetabaseFontFamily = | "Merriweather" | "Open Sans" | "Lato" + | "Inter" | "Noto Sans" | "Roboto Slab" | "Source Sans Pro" diff --git a/_docs/latest/embedding/sdk/api/snippets/MetabaseGlobalPluginsConfig.md b/_docs/latest/embedding/sdk/api/snippets/MetabaseGlobalPluginsConfig.md index b597cda8bc..8b4086c5e6 100644 --- a/_docs/latest/embedding/sdk/api/snippets/MetabaseGlobalPluginsConfig.md +++ b/_docs/latest/embedding/sdk/api/snippets/MetabaseGlobalPluginsConfig.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/MetabaseIsGuestAuthConfig.md b/_docs/latest/embedding/sdk/api/snippets/MetabaseIsGuestAuthConfig.md index 7d3bc0a1a9..cc3248fa6a 100644 --- a/_docs/latest/embedding/sdk/api/snippets/MetabaseIsGuestAuthConfig.md +++ b/_docs/latest/embedding/sdk/api/snippets/MetabaseIsGuestAuthConfig.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/MetabasePluginsConfig.md b/_docs/latest/embedding/sdk/api/snippets/MetabasePluginsConfig.md index bae90d2aa4..d7c0593831 100644 --- a/_docs/latest/embedding/sdk/api/snippets/MetabasePluginsConfig.md +++ b/_docs/latest/embedding/sdk/api/snippets/MetabasePluginsConfig.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/MetabaseProvider.md b/_docs/latest/embedding/sdk/api/snippets/MetabaseProvider.md index 6b86de4f61..17b058cffc 100644 --- a/_docs/latest/embedding/sdk/api/snippets/MetabaseProvider.md +++ b/_docs/latest/embedding/sdk/api/snippets/MetabaseProvider.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/MetabaseProviderProps.md b/_docs/latest/embedding/sdk/api/snippets/MetabaseProviderProps.md index 137afd4137..b1f587e087 100644 --- a/_docs/latest/embedding/sdk/api/snippets/MetabaseProviderProps.md +++ b/_docs/latest/embedding/sdk/api/snippets/MetabaseProviderProps.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/MetabaseQuestion.md b/_docs/latest/embedding/sdk/api/snippets/MetabaseQuestion.md index 1d21c187da..bb6c957557 100644 --- a/_docs/latest/embedding/sdk/api/snippets/MetabaseQuestion.md +++ b/_docs/latest/embedding/sdk/api/snippets/MetabaseQuestion.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/MetabaseTheme.md b/_docs/latest/embedding/sdk/api/snippets/MetabaseTheme.md index ae9fedccd3..4d15561912 100644 --- a/_docs/latest/embedding/sdk/api/snippets/MetabaseTheme.md +++ b/_docs/latest/embedding/sdk/api/snippets/MetabaseTheme.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/MetabaseThemePreset.md b/_docs/latest/embedding/sdk/api/snippets/MetabaseThemePreset.md index 07d1bacdfd..4181d5c2d0 100644 --- a/_docs/latest/embedding/sdk/api/snippets/MetabaseThemePreset.md +++ b/_docs/latest/embedding/sdk/api/snippets/MetabaseThemePreset.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/MetabaseUser.md b/_docs/latest/embedding/sdk/api/snippets/MetabaseUser.md index 1159bebdf8..3c370d9efa 100644 --- a/_docs/latest/embedding/sdk/api/snippets/MetabaseUser.md +++ b/_docs/latest/embedding/sdk/api/snippets/MetabaseUser.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/MetabotAgentChartMessage.md b/_docs/latest/embedding/sdk/api/snippets/MetabotAgentChartMessage.md index e831b040c8..20d209456d 100644 --- a/_docs/latest/embedding/sdk/api/snippets/MetabotAgentChartMessage.md +++ b/_docs/latest/embedding/sdk/api/snippets/MetabotAgentChartMessage.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/MetabotAgentMessage.md b/_docs/latest/embedding/sdk/api/snippets/MetabotAgentMessage.md index 9bbf3b6f14..9a08ac6e75 100644 --- a/_docs/latest/embedding/sdk/api/snippets/MetabotAgentMessage.md +++ b/_docs/latest/embedding/sdk/api/snippets/MetabotAgentMessage.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/MetabotAgentTextMessage.md b/_docs/latest/embedding/sdk/api/snippets/MetabotAgentTextMessage.md index 68ad948f9e..3986efe38e 100644 --- a/_docs/latest/embedding/sdk/api/snippets/MetabotAgentTextMessage.md +++ b/_docs/latest/embedding/sdk/api/snippets/MetabotAgentTextMessage.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/MetabotChartProps.md b/_docs/latest/embedding/sdk/api/snippets/MetabotChartProps.md index 885c70d18c..adea65aef2 100644 --- a/_docs/latest/embedding/sdk/api/snippets/MetabotChartProps.md +++ b/_docs/latest/embedding/sdk/api/snippets/MetabotChartProps.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/MetabotErrorMessage.md b/_docs/latest/embedding/sdk/api/snippets/MetabotErrorMessage.md index e56849b831..d0d4fd4682 100644 --- a/_docs/latest/embedding/sdk/api/snippets/MetabotErrorMessage.md +++ b/_docs/latest/embedding/sdk/api/snippets/MetabotErrorMessage.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/MetabotMessage.md b/_docs/latest/embedding/sdk/api/snippets/MetabotMessage.md index bb6a9acf2c..8c9387cec1 100644 --- a/_docs/latest/embedding/sdk/api/snippets/MetabotMessage.md +++ b/_docs/latest/embedding/sdk/api/snippets/MetabotMessage.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/MetabotQuestion.md b/_docs/latest/embedding/sdk/api/snippets/MetabotQuestion.md index 0b07c06c0b..f07f788393 100644 --- a/_docs/latest/embedding/sdk/api/snippets/MetabotQuestion.md +++ b/_docs/latest/embedding/sdk/api/snippets/MetabotQuestion.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/MetabotQuestionProps.md b/_docs/latest/embedding/sdk/api/snippets/MetabotQuestionProps.md index f1a5c9400e..8d230f3f30 100644 --- a/_docs/latest/embedding/sdk/api/snippets/MetabotQuestionProps.md +++ b/_docs/latest/embedding/sdk/api/snippets/MetabotQuestionProps.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/MetabotUserTextMessage.md b/_docs/latest/embedding/sdk/api/snippets/MetabotUserTextMessage.md index 27d785a87e..f4254167c9 100644 --- a/_docs/latest/embedding/sdk/api/snippets/MetabotUserTextMessage.md +++ b/_docs/latest/embedding/sdk/api/snippets/MetabotUserTextMessage.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/ParameterChangePayload.md b/_docs/latest/embedding/sdk/api/snippets/ParameterChangePayload.md new file mode 100644 index 0000000000..997a4dafb8 --- /dev/null +++ b/_docs/latest/embedding/sdk/api/snippets/ParameterChangePayload.md @@ -0,0 +1,36 @@ +--- +version: v0.62 +has_magic_breadcrumbs: true +show_category_breadcrumb: true +show_title_breadcrumb: true +category: Embedding +title: ParameterChangePayload +source_url: >- + https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/ParameterChangePayload.md +layout: new-docs +latest: true +--- + +```ts +type ParameterChangePayload = { + defaultParameters: ParameterValues; + lastUsedParameters: ParameterValues; + parameters: ParameterValues; + source: ParameterChangeSource; +}; +``` + +Payload passed to `onParametersChange` callback + +## Properties + + + +| Property | Type | +| :--------------------------------------------------- | :-------------------------------------------------------- | +| `defaultParameters` | [`ParameterValues`](./api/ParameterValues) | +| `lastUsedParameters` | [`ParameterValues`](./api/ParameterValues) | +| `parameters` | [`ParameterValues`](./api/ParameterValues) | +| `source` | [`ParameterChangeSource`](./api/ParameterChangeSource) | + + diff --git a/_docs/latest/embedding/sdk/api/snippets/ParameterChangeSource.md b/_docs/latest/embedding/sdk/api/snippets/ParameterChangeSource.md new file mode 100644 index 0000000000..33b597d6b9 --- /dev/null +++ b/_docs/latest/embedding/sdk/api/snippets/ParameterChangeSource.md @@ -0,0 +1,22 @@ +--- +version: v0.62 +has_magic_breadcrumbs: true +show_category_breadcrumb: true +show_title_breadcrumb: true +category: Embedding +title: ParameterChangeSource +source_url: >- + https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/ParameterChangeSource.md +layout: new-docs +latest: true +--- + +```ts +type ParameterChangeSource = "initial-state" | "manual-change" | "auto-change"; +``` + +Source of a parameter-change event: + +- `initial-state` - first applied snapshot, fired once per dashboard load. +- `manual-change` - user edited parameters in UI. +- `auto-change` - in the case of auto-updates, e.g. to pass normalized values back to parent. diff --git a/_docs/latest/embedding/sdk/api/snippets/ParameterValues.md b/_docs/latest/embedding/sdk/api/snippets/ParameterValues.md index 5c499ba7b2..208d99b68c 100644 --- a/_docs/latest/embedding/sdk/api/snippets/ParameterValues.md +++ b/_docs/latest/embedding/sdk/api/snippets/ParameterValues.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/ProtectedColorKey.md b/_docs/latest/embedding/sdk/api/snippets/ProtectedColorKey.md index 2b821aa5c8..a9e423357f 100644 --- a/_docs/latest/embedding/sdk/api/snippets/ProtectedColorKey.md +++ b/_docs/latest/embedding/sdk/api/snippets/ProtectedColorKey.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/SdkCollectionId.md b/_docs/latest/embedding/sdk/api/snippets/SdkCollectionId.md index 6ae5536a48..a185414ae2 100644 --- a/_docs/latest/embedding/sdk/api/snippets/SdkCollectionId.md +++ b/_docs/latest/embedding/sdk/api/snippets/SdkCollectionId.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/SdkDashboardEntityPublicProps.md b/_docs/latest/embedding/sdk/api/snippets/SdkDashboardEntityPublicProps.md index f80e4f0d53..aaf4488c98 100644 --- a/_docs/latest/embedding/sdk/api/snippets/SdkDashboardEntityPublicProps.md +++ b/_docs/latest/embedding/sdk/api/snippets/SdkDashboardEntityPublicProps.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/SdkDashboardId.md b/_docs/latest/embedding/sdk/api/snippets/SdkDashboardId.md index ce22bf93a1..060fd39113 100644 --- a/_docs/latest/embedding/sdk/api/snippets/SdkDashboardId.md +++ b/_docs/latest/embedding/sdk/api/snippets/SdkDashboardId.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/SdkDashboardLoadEvent.md b/_docs/latest/embedding/sdk/api/snippets/SdkDashboardLoadEvent.md index 4c5cfd8a17..3502ee354e 100644 --- a/_docs/latest/embedding/sdk/api/snippets/SdkDashboardLoadEvent.md +++ b/_docs/latest/embedding/sdk/api/snippets/SdkDashboardLoadEvent.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/SdkEntityId.md b/_docs/latest/embedding/sdk/api/snippets/SdkEntityId.md index af65483926..cb0be49263 100644 --- a/_docs/latest/embedding/sdk/api/snippets/SdkEntityId.md +++ b/_docs/latest/embedding/sdk/api/snippets/SdkEntityId.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/SdkEntityToken.md b/_docs/latest/embedding/sdk/api/snippets/SdkEntityToken.md index 7cb3e57a78..69ae4a2adb 100644 --- a/_docs/latest/embedding/sdk/api/snippets/SdkEntityToken.md +++ b/_docs/latest/embedding/sdk/api/snippets/SdkEntityToken.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/SdkErrorComponent.md b/_docs/latest/embedding/sdk/api/snippets/SdkErrorComponent.md index 19e8ae7b61..ef2b8db45e 100644 --- a/_docs/latest/embedding/sdk/api/snippets/SdkErrorComponent.md +++ b/_docs/latest/embedding/sdk/api/snippets/SdkErrorComponent.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/SdkErrorComponentProps.md b/_docs/latest/embedding/sdk/api/snippets/SdkErrorComponentProps.md index b37c660fd7..8eabe11767 100644 --- a/_docs/latest/embedding/sdk/api/snippets/SdkErrorComponentProps.md +++ b/_docs/latest/embedding/sdk/api/snippets/SdkErrorComponentProps.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/SdkEventHandlersConfig.md b/_docs/latest/embedding/sdk/api/snippets/SdkEventHandlersConfig.md index 87d1ec1d55..21908aaad7 100644 --- a/_docs/latest/embedding/sdk/api/snippets/SdkEventHandlersConfig.md +++ b/_docs/latest/embedding/sdk/api/snippets/SdkEventHandlersConfig.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/SdkQuestionEntityPublicProps.md b/_docs/latest/embedding/sdk/api/snippets/SdkQuestionEntityPublicProps.md index a2461197e1..d42b7fc373 100644 --- a/_docs/latest/embedding/sdk/api/snippets/SdkQuestionEntityPublicProps.md +++ b/_docs/latest/embedding/sdk/api/snippets/SdkQuestionEntityPublicProps.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/SdkQuestionId.md b/_docs/latest/embedding/sdk/api/snippets/SdkQuestionId.md index 5be69d51c9..5b24fab436 100644 --- a/_docs/latest/embedding/sdk/api/snippets/SdkQuestionId.md +++ b/_docs/latest/embedding/sdk/api/snippets/SdkQuestionId.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/SdkQuestionProps.md b/_docs/latest/embedding/sdk/api/snippets/SdkQuestionProps.md index c19d7b0022..4973ff1a25 100644 --- a/_docs/latest/embedding/sdk/api/snippets/SdkQuestionProps.md +++ b/_docs/latest/embedding/sdk/api/snippets/SdkQuestionProps.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -17,30 +17,33 @@ latest: true -| Property | Type | Description | -| :---------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `className?` | `string` | A custom class name to be added to the root element. | -| `dataPicker?` | [`EmbeddingDataPicker`](./api/EmbeddingDataPicker) | Controls the menu for selecting data sources in questions. You can opt for the full data picker by setting `dataPicker = "staged"`. | -| `entityTypes?` | [`EmbeddingEntityType`](./api/EmbeddingEntityType)[] | An array that specifies which entity types are available in the data picker | -| `height?` | `Height`\<`string` \| `number`\> | A number or string specifying a CSS size value that specifies the height of the component | -| `hiddenParameters?` | `string`[] | A list of parameters to hide. | -| `initialCollection?` | [`SdkCollectionId`](./api/SdkCollectionId) | The collection to preselect in the save modal's collection picker. Unlike `targetCollection`, the picker remains visible and the user can choose a different collection. Ignored when `targetCollection` is set. | -| `initialSqlParameters?` | [`SqlParameterValues`](./api/SqlParameterValues) | Initial values for the SQL parameters. | -| `isSaveEnabled?` | `boolean` | Whether to show the save button. | -| `onBeforeSave?` | (`question`: [`MetabaseQuestion`](./api/MetabaseQuestion) \| `undefined`, `context`: \{ `isNewQuestion`: `boolean`; \}) => [`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<`void`\> | A callback function that triggers before saving. Only relevant when `isSaveEnabled = true` | -| `onNavigateBack?` | () => `void` | A callback function that triggers when a user clicks the back button. | -| `onRun?` | (`question`: [`MetabaseQuestion`](./api/MetabaseQuestion) \| `undefined`) => `void` | A callback function that triggers when a question is updated, including when a user clicks the `Visualize` button in the question editor | -| `onSave?` | (`question`: [`MetabaseQuestion`](./api/MetabaseQuestion), `context`: \{ `dashboardTabId?`: `number`; `isNewQuestion`: `boolean`; \}) => `void` | A callback function that triggers when a user saves the question. Only relevant when `isSaveEnabled = true` | -| `onVisualizationChange?` | (`display`: \| `"object"` \| `"table"` \| `"bar"` \| `"line"` \| `"pie"` \| `"scalar"` \| `"row"` \| `"area"` \| `"combo"` \| `"pivot"` \| `"smartscalar"` \| `"gauge"` \| `"progress"` \| `"funnel"` \| `"map"` \| `"scatter"` \| `"boxplot"` \| `"waterfall"` \| `"sankey"` \| `"list"`) => `void` | A callback function that triggers when the visualization type changes. | -| `plugins?` | [`MetabasePluginsConfig`](./api/MetabasePluginsConfig) | - | -| `questionId?` | [`SdkQuestionId`](./api/SdkQuestionId) \| `null` | - | -| `style?` | [`CSSProperties`](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/0b728411cd1dfb4bd26992bb35a73cf8edaa22e7/types/react/index.d.ts#L2579) | A custom style object to be added to the root element. | -| `targetCollection?` | [`SdkCollectionId`](./api/SdkCollectionId) | The collection to save the question to. This will hide the collection picker from the save modal. Only applicable to interactive questions. | -| `title?` | [`SdkQuestionTitleProps`](./api/SdkQuestionTitleProps) | Determines whether the question title is displayed, and allows a custom title to be displayed instead of the default question title. Shown by default. | -| `token?` | `string` \| `null` | - | -| `width?` | `Width`\<`string` \| `number`\> | A number or string specifying a CSS size value that specifies the width of the component | -| `withAlerts?` | `boolean` | Enables the ability to set up alerts on the question. | -| `withChartTypeSelector?` | `boolean` | Determines whether the chart type selector and corresponding settings button are shown. Only relevant when using the default layout. | -| `withDownloads?` | `boolean` | Enables the ability to download results in the question. | +| Property | Type | Description | +| :---------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `className?` | `string` | A custom class name to be added to the root element. | +| `dataPicker?` | [`EmbeddingDataPicker`](./api/EmbeddingDataPicker) | Controls the menu for selecting data sources in questions. You can opt for the full data picker by setting `dataPicker = "staged"`. | +| `entityTypes?` | [`EmbeddingEntityType`](./api/EmbeddingEntityType)[] | An array that specifies which entity types are available in the data picker | +| `height?` | `Height`\<`string` \| `number`\> | A number or string specifying a CSS size value that specifies the height of the component | +| `hiddenParameters?` | `string`[] | A list of parameters to hide. | +| `initialCollection?` | [`SdkCollectionId`](./api/SdkCollectionId) | The collection to preselect in the save modal's collection picker. Unlike `targetCollection`, the picker remains visible and the user can choose a different collection. Ignored when `targetCollection` is set. | +| `initialSqlParameters?` | [`SqlParameterValues`](./api/SqlParameterValues) | Initial values for SQL parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host.
    For each parameter:
    - set to a value: that value is applied.
    - set to `null`: strictly cleared, ignoring the parameter's default.
    - omitted (or set to `undefined`): falls back to the parameter's default (or `null` if it has no default). | +| `isSaveEnabled?` | `boolean` | Whether to show the save button. | +| `onBeforeSave?` | (`question`: [`MetabaseQuestion`](./api/MetabaseQuestion) \| `undefined`, `context`: \{ `isNewQuestion`: `boolean`; \}) => [`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<`void`\> | A callback function that triggers before saving. Only relevant when `isSaveEnabled = true` | +| `onNavigateBack?` | () => `void` | A callback function that triggers when a user clicks the back button. | +| `onRun?` | (`question`: [`MetabaseQuestion`](./api/MetabaseQuestion) \| `undefined`) => `void` | A callback function that triggers when a question is updated, including when a user clicks the `Visualize` button in the question editor | +| `onSave?` | (`question`: [`MetabaseQuestion`](./api/MetabaseQuestion), `context`: \{ `dashboardTabId?`: `number`; `isNewQuestion`: `boolean`; \}) => `void` | A callback function that triggers when a user saves the question. Only relevant when `isSaveEnabled = true` | +| `onSqlParametersChange?` | (`payload`: [`SqlParameterChangePayload`](./api/SqlParameterChangePayload)) => `void` | Fires on SQL parameters change. The payload's `source` distinguishes the initial state on load (`'initial-state'`), user edits in the UI (`'manual-change'`), and auto-updates (`'auto-change'`). | +| `onVisualizationChange?` | (`display`: \| `"object"` \| `"table"` \| `"bar"` \| `"line"` \| `"pie"` \| `"scalar"` \| `"row"` \| `"area"` \| `"combo"` \| `"pivot"` \| `"smartscalar"` \| `"gauge"` \| `"progress"` \| `"funnel"` \| `"map"` \| `"scatter"` \| `"boxplot"` \| `"waterfall"` \| `"sankey"` \| `"list"`) => `void` | A callback function that triggers when the visualization type changes. | +| `plugins?` | [`MetabasePluginsConfig`](./api/MetabasePluginsConfig) | - | +| `questionId?` | [`SdkQuestionId`](./api/SdkQuestionId) \| `null` | - | +| `sqlParameters?` | [`SqlParameterValues`](./api/SqlParameterValues) | Controlled SQL parameter values, slug-keyed. On every render, this object replaces the question's parameter values:
    - a parameter set to a value uses that value.
    - a parameter set to `null` is cleared, even if it has a default.
    - a parameter omitted from the object (or set to `undefined`) uses its default (or `null` if it has no default).

    Pair with `onSqlParametersChange` to stay in sync with user edits. | +| `style?` | [`CSSProperties`](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/0b728411cd1dfb4bd26992bb35a73cf8edaa22e7/types/react/index.d.ts#L2579) | A custom style object to be added to the root element. | +| `targetCollection?` | [`SdkCollectionId`](./api/SdkCollectionId) | The collection to save the question to. This will hide the collection picker from the save modal. Only applicable to interactive questions. | +| `title?` | [`SdkQuestionTitleProps`](./api/SdkQuestionTitleProps) | Determines whether the question title is displayed, and allows a custom title to be displayed instead of the default question title. Shown by default. | +| `token?` | `string` \| `null` | - | +| `width?` | `Width`\<`string` \| `number`\> | A number or string specifying a CSS size value that specifies the width of the component | +| `withAlerts?` | `boolean` | Enables the ability to set up alerts on the question. | +| `withChartTypeSelector?` | `boolean` | Determines whether the chart type selector and corresponding settings button are shown. Only relevant when using the default layout. | +| `withDownloads?` | `boolean` | Enables the ability to download results in the question. | +| `withEditorButton?` | `boolean` | Determines whether the editor button is shown. Only relevant when using the default layout. | diff --git a/_docs/latest/embedding/sdk/api/snippets/SdkQuestionTitleProps.md b/_docs/latest/embedding/sdk/api/snippets/SdkQuestionTitleProps.md index eedf4f5b6b..b183a5dc78 100644 --- a/_docs/latest/embedding/sdk/api/snippets/SdkQuestionTitleProps.md +++ b/_docs/latest/embedding/sdk/api/snippets/SdkQuestionTitleProps.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/SdkUserId.md b/_docs/latest/embedding/sdk/api/snippets/SdkUserId.md index b074aea910..95f555de82 100644 --- a/_docs/latest/embedding/sdk/api/snippets/SdkUserId.md +++ b/_docs/latest/embedding/sdk/api/snippets/SdkUserId.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/SqlParameterChangePayload.md b/_docs/latest/embedding/sdk/api/snippets/SqlParameterChangePayload.md new file mode 100644 index 0000000000..7c944797b3 --- /dev/null +++ b/_docs/latest/embedding/sdk/api/snippets/SqlParameterChangePayload.md @@ -0,0 +1,34 @@ +--- +version: v0.62 +has_magic_breadcrumbs: true +show_category_breadcrumb: true +show_title_breadcrumb: true +category: Embedding +title: SqlParameterChangePayload +source_url: >- + https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/SqlParameterChangePayload.md +layout: new-docs +latest: true +--- + +```ts +type SqlParameterChangePayload = { + defaultParameters: ParameterValues; + parameters: ParameterValues; + source: SqlParameterChangeSource; +}; +``` + +Payload passed to `onSqlParametersChange` callback + +## Properties + + + +| Property | Type | +| :------------------------------------------------- | :-------------------------------------------------------------- | +| `defaultParameters` | [`ParameterValues`](./api/ParameterValues) | +| `parameters` | [`ParameterValues`](./api/ParameterValues) | +| `source` | [`SqlParameterChangeSource`](./api/SqlParameterChangeSource) | + + diff --git a/_docs/latest/embedding/sdk/api/snippets/SqlParameterChangeSource.md b/_docs/latest/embedding/sdk/api/snippets/SqlParameterChangeSource.md new file mode 100644 index 0000000000..54b9acd060 --- /dev/null +++ b/_docs/latest/embedding/sdk/api/snippets/SqlParameterChangeSource.md @@ -0,0 +1,25 @@ +--- +version: v0.62 +has_magic_breadcrumbs: true +show_category_breadcrumb: true +show_title_breadcrumb: true +category: Embedding +title: SqlParameterChangeSource +source_url: >- + https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/SqlParameterChangeSource.md +layout: new-docs +latest: true +--- + +```ts +type SqlParameterChangeSource = + | "initial-state" + | "manual-change" + | "auto-change"; +``` + +Source of a sql-parameter-change event: + +- `initial-state` - first applied state, fired once per question load. +- `manual-change` - user edited parameters in UI. +- `auto-change` - in the case of auto-updates, e.g. to pass normalized values back to parent. diff --git a/_docs/latest/embedding/sdk/api/snippets/SqlParameterValues.md b/_docs/latest/embedding/sdk/api/snippets/SqlParameterValues.md index e24a77800a..732aa9fc5b 100644 --- a/_docs/latest/embedding/sdk/api/snippets/SqlParameterValues.md +++ b/_docs/latest/embedding/sdk/api/snippets/SqlParameterValues.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/StaticDashboard.md b/_docs/latest/embedding/sdk/api/snippets/StaticDashboard.md index b2a9c2d5ed..f504d58982 100644 --- a/_docs/latest/embedding/sdk/api/snippets/StaticDashboard.md +++ b/_docs/latest/embedding/sdk/api/snippets/StaticDashboard.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/StaticDashboardProps.md b/_docs/latest/embedding/sdk/api/snippets/StaticDashboardProps.md index 7cb7a7930a..a00110db57 100644 --- a/_docs/latest/embedding/sdk/api/snippets/StaticDashboardProps.md +++ b/_docs/latest/embedding/sdk/api/snippets/StaticDashboardProps.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -17,23 +17,25 @@ latest: true -| Property | Type | Description | -| :---------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `autoRefreshInterval?` | `number` | The interval between auto refreshes on the dashboard, in seconds. | -| `className?` | `string` | A custom class name to be added to the root element. | -| `dashboardId?` | [`SdkDashboardId`](./api/SdkDashboardId) \| `null` | The ID of the dashboard.
    This is either:
    - the numerical ID when accessing a dashboard link, i.e. `http://localhost:3000/dashboard/1-my-dashboard` where the ID is `1`
    - the string ID found in the `entity_id` key of the dashboard object when using the API directly or using the SDK Collection Browser to return data | -| `dataPickerProps?` | [`Pick`](https://www.typescriptlang.org/docs/handbook/utility-types.html#picktype-keys)\<[`SdkQuestionProps`](./api/SdkQuestionProps), `"entityTypes"`\> | Additional props to pass to the query builder rendered by `InteractiveQuestion` when creating a new dashboard question. | -| `hiddenParameters?` | `string`[] | A list of [parameters to hide](/docs/latest/embedding/public-links#appearance-parameters).
    - Combining [initialParameters](./api/InteractiveDashboardProps#initialparameters) and [hiddenParameters](./api/InteractiveDashboardProps#hiddenparameters) to filter data on the frontend is a [security risk](/docs/latest/embedding/sdk/authentication#security-warning-each-end-user-must-have-their-own-metabase-account).
    - Combining [initialParameters](./api/InteractiveDashboardProps#initialparameters) and [hiddenParameters](./api/InteractiveDashboardProps#hiddenparameters) to declutter the user interface is fine. | -| `initialParameters?` | [`ParameterValues`](./api/ParameterValues) | Query parameters for the dashboard. For a single option, use a `string` value, and use a list of strings for multiple options.
    - Combining [initialParameters](./api/InteractiveDashboardProps#initialparameters) and [hiddenParameters](./api/InteractiveDashboardProps#hiddenparameters) to filter data on the frontend is a [security risk](/docs/latest/embedding/sdk/authentication#security-warning-each-end-user-must-have-their-own-metabase-account).
    - Combining [initialParameters](./api/InteractiveDashboardProps#initialparameters) and [hiddenParameters](./api/InteractiveDashboardProps#hiddenparameters) to declutter the user interface is fine. | -| `onLoad?` | (`dashboard`: [`MetabaseDashboard`](./api/MetabaseDashboard) \| `null`) => `void` | Callback that is called when the dashboard is loaded. | -| `onLoadWithoutCards?` | (`dashboard`: [`MetabaseDashboard`](./api/MetabaseDashboard) \| `null`) => `void` | Callback that is called when the dashboard is loaded without cards. | -| `onVisualizationChange?` | (`visualization`: \| `"object"` \| `"table"` \| `"bar"` \| `"line"` \| `"pie"` \| `"scalar"` \| `"row"` \| `"area"` \| `"combo"` \| `"pivot"` \| `"smartscalar"` \| `"gauge"` \| `"progress"` \| `"funnel"` \| `"map"` \| `"scatter"` \| `"boxplot"` \| `"waterfall"` \| `"sankey"` \| `"list"`) => `void` | A callback function that triggers when a question is opened from a dashboard card or when the user changes the visualization type of a question. | -| `plugins?` | [`MetabasePluginsConfig`](./api/MetabasePluginsConfig) | Additional mapper function to override or add drill-down menu. See the implementing custom actions section for more details. | -| `style?` | [`CSSProperties`](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/0b728411cd1dfb4bd26992bb35a73cf8edaa22e7/types/react/index.d.ts#L2579) | A custom style object to be added to the root element. | -| `token?` | `string` \| `null` | A valid JWT token for the guest embed. | -| `withCardTitle?` | `boolean` | Whether the dashboard cards should display a title. | -| `withDownloads?` | `boolean` | Whether to hide the download button. | -| `withSubscriptions?` | `boolean` | Whether to show the subscriptions button. | -| `withTitle?` | `boolean` | Whether the dashboard should display a title. | +| Property | Type | Description | +| :---------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `autoRefreshInterval?` | `number` | The interval between auto refreshes on the dashboard, in seconds. | +| `className?` | `string` | A custom class name to be added to the root element. | +| `dashboardId?` | [`SdkDashboardId`](./api/SdkDashboardId) \| `null` | The ID of the dashboard.
    This is either:
    - the numerical ID when accessing a dashboard link, i.e. `http://localhost:3000/dashboard/1-my-dashboard` where the ID is `1`
    - the string ID found in the `entity_id` key of the dashboard object when using the API directly or using the SDK Collection Browser to return data | +| `dataPickerProps?` | [`Pick`](https://www.typescriptlang.org/docs/handbook/utility-types.html#picktype-keys)\<[`SdkQuestionProps`](./api/SdkQuestionProps), `"entityTypes"`\> | Additional props to pass to the query builder rendered by `InteractiveQuestion` when creating a new dashboard question. | +| `hiddenParameters?` | `string`[] | A list of [parameters to hide](/docs/latest/embedding/public-links#appearance-parameters).
    - Combining [initialParameters](./api/InteractiveDashboardProps#initialparameters) and [hiddenParameters](./api/InteractiveDashboardProps#hiddenparameters) to filter data on the frontend is a [security risk](/docs/latest/embedding/sdk/authentication#security-warning-each-end-user-must-have-their-own-metabase-account).
    - Combining [initialParameters](./api/InteractiveDashboardProps#initialparameters) and [hiddenParameters](./api/InteractiveDashboardProps#hiddenparameters) to declutter the user interface is fine. | +| `initialParameters?` | [`ParameterValues`](./api/ParameterValues) | Initial values for query parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host.
    For each parameter:
    - set to a value (string for a single option, array of strings for multiple): that value is applied.
    - set to `null`: strictly cleared, ignoring the parameter's default.
    - omitted (or set to `undefined`): falls back to the parameter's default (or `null` if it has no default).

    - Combining [initialParameters](./api/InteractiveDashboardProps#initialparameters) and [hiddenParameters](./api/InteractiveDashboardProps#hiddenparameters) to filter data on the frontend is a [security risk](/docs/latest/embedding/sdk/authentication#security-warning-each-end-user-must-have-their-own-metabase-account).
    - Combining [initialParameters](./api/InteractiveDashboardProps#initialparameters) and [hiddenParameters](./api/InteractiveDashboardProps#hiddenparameters) to declutter the user interface is fine. | +| `onLoad?` | (`dashboard`: [`MetabaseDashboard`](./api/MetabaseDashboard) \| `null`) => `void` | Callback that is called when the dashboard is loaded. | +| `onLoadWithoutCards?` | (`dashboard`: [`MetabaseDashboard`](./api/MetabaseDashboard) \| `null`) => `void` | Callback that is called when the dashboard is loaded without cards. | +| `onParametersChange?` | (`payload`: [`ParameterChangePayload`](./api/ParameterChangePayload)) => `void` | Fires on parameters change. The payload's `source` distinguishes the initial state on load (`'initial-state'`), user edits in the UI (`'manual-change'`), and auto-updates (`'auto-change'`). | +| `onVisualizationChange?` | (`visualization`: \| `"object"` \| `"table"` \| `"bar"` \| `"line"` \| `"pie"` \| `"scalar"` \| `"row"` \| `"area"` \| `"combo"` \| `"pivot"` \| `"smartscalar"` \| `"gauge"` \| `"progress"` \| `"funnel"` \| `"map"` \| `"scatter"` \| `"boxplot"` \| `"waterfall"` \| `"sankey"` \| `"list"`) => `void` | A callback function that triggers when a question is opened from a dashboard card or when the user changes the visualization type of a question. | +| `parameters?` | [`ParameterValues`](./api/ParameterValues) | Controlled parameter values, slug-keyed. On every render, this object replaces the dashboard's parameter values:
    - a parameter set to a value uses that value.
    - a parameter set to `null` is cleared, even if it has a default.
    - a parameter omitted from the object (or set to `undefined`) uses its default (or `null` if it has no default).

    Pair with [onParametersChange](./api/InteractiveDashboardProps#onparameterschange) to stay in sync with user edits.
    - Combining [parameters](./api/InteractiveDashboardProps#parameters) and [hiddenParameters](./api/InteractiveDashboardProps#hiddenparameters) to filter data on the frontend is a [security risk](/docs/latest/embedding/sdk/authentication#security-warning-each-end-user-must-have-their-own-metabase-account).
    - Combining [parameters](./api/InteractiveDashboardProps#parameters) and [hiddenParameters](./api/InteractiveDashboardProps#hiddenparameters) to declutter the user interface is fine. | +| `plugins?` | [`MetabasePluginsConfig`](./api/MetabasePluginsConfig) | Additional mapper function to override or add drill-down menu. See the implementing custom actions section for more details. | +| `style?` | [`CSSProperties`](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/0b728411cd1dfb4bd26992bb35a73cf8edaa22e7/types/react/index.d.ts#L2579) | A custom style object to be added to the root element. | +| `token?` | `string` \| `null` | A valid JWT token for the guest embed. | +| `withCardTitle?` | `boolean` | Whether the dashboard cards should display a title. | +| `withDownloads?` | `boolean` | Whether to hide the download button. | +| `withSubscriptions?` | `boolean` | Whether to show the subscriptions button. | +| `withTitle?` | `boolean` | Whether the dashboard should display a title. | diff --git a/_docs/latest/embedding/sdk/api/snippets/StaticQuestion.md b/_docs/latest/embedding/sdk/api/snippets/StaticQuestion.md index 4c6177f964..2b71576739 100644 --- a/_docs/latest/embedding/sdk/api/snippets/StaticQuestion.md +++ b/_docs/latest/embedding/sdk/api/snippets/StaticQuestion.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/StaticQuestionComponents.md b/_docs/latest/embedding/sdk/api/snippets/StaticQuestionComponents.md index 3f164a5344..0fede4329d 100644 --- a/_docs/latest/embedding/sdk/api/snippets/StaticQuestionComponents.md +++ b/_docs/latest/embedding/sdk/api/snippets/StaticQuestionComponents.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/StaticQuestionProps.md b/_docs/latest/embedding/sdk/api/snippets/StaticQuestionProps.md index b3f3d26fbd..23313c75c1 100644 --- a/_docs/latest/embedding/sdk/api/snippets/StaticQuestionProps.md +++ b/_docs/latest/embedding/sdk/api/snippets/StaticQuestionProps.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -22,9 +22,11 @@ latest: true | `className?` | `string` | A custom class name to be added to the root element. | | `height?` | `Height`\<`string` \| `number`\> | A number or string specifying a CSS size value that specifies the height of the component | | `hiddenParameters?` | `string`[] | A list of parameters to hide. | -| `initialSqlParameters?` | [`SqlParameterValues`](./api/SqlParameterValues) | Initial values for the SQL parameters. | +| `initialSqlParameters?` | [`SqlParameterValues`](./api/SqlParameterValues) | Initial values for SQL parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host.
    For each parameter:
    - set to a value: that value is applied.
    - set to `null`: strictly cleared, ignoring the parameter's default.
    - omitted (or set to `undefined`): falls back to the parameter's default (or `null` if it has no default). | +| `onSqlParametersChange?` | (`payload`: [`SqlParameterChangePayload`](./api/SqlParameterChangePayload)) => `void` | Fires on SQL parameters change. The payload's `source` distinguishes the initial state on load (`'initial-state'`), user edits in the UI (`'manual-change'`), and auto-updates (`'auto-change'`). | | `query?` | `undefined` | - | | `questionId?` | [`SdkQuestionId`](./api/SdkQuestionId) \| `null` | The ID of the question.
    This is either:
    - the numerical ID when accessing a question link, i.e. `http://localhost:3000/question/1-my-question` where the ID is `1`
    - the string ID found in the `entity_id` key of the question object when using the API directly or using the SDK Collection Browser to return data
    - `new` to show the notebook editor for creating new questions
    - `new-native` to show the SQL editor for creating new native questions | +| `sqlParameters?` | [`SqlParameterValues`](./api/SqlParameterValues) | Controlled SQL parameter values, slug-keyed. On every render, this object replaces the question's parameter values:
    - a parameter set to a value uses that value.
    - a parameter set to `null` is cleared, even if it has a default.
    - a parameter omitted from the object (or set to `undefined`) uses its default (or `null` if it has no default).

    Pair with `onSqlParametersChange` to stay in sync with user edits. | | `style?` | [`CSSProperties`](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/0b728411cd1dfb4bd26992bb35a73cf8edaa22e7/types/react/index.d.ts#L2579) | A custom style object to be added to the root element. | | `title?` | [`SdkQuestionTitleProps`](./api/SdkQuestionTitleProps) | Determines whether the question title is displayed, and allows a custom title to be displayed instead of the default question title. Shown by default. | | `token?` | `string` \| `null` | A valid JWT token for the guest embed. | diff --git a/_docs/latest/embedding/sdk/api/snippets/UseMetabotResult.md b/_docs/latest/embedding/sdk/api/snippets/UseMetabotResult.md index 5891ae38cd..51c5eae220 100644 --- a/_docs/latest/embedding/sdk/api/snippets/UseMetabotResult.md +++ b/_docs/latest/embedding/sdk/api/snippets/UseMetabotResult.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/UserBackendJwtResponse.md b/_docs/latest/embedding/sdk/api/snippets/UserBackendJwtResponse.md index 3db309f66a..bc90b4d1b8 100644 --- a/_docs/latest/embedding/sdk/api/snippets/UserBackendJwtResponse.md +++ b/_docs/latest/embedding/sdk/api/snippets/UserBackendJwtResponse.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/defineMetabaseAuthConfig.md b/_docs/latest/embedding/sdk/api/snippets/defineMetabaseAuthConfig.md index bf8d8423a1..1b7ca57109 100644 --- a/_docs/latest/embedding/sdk/api/snippets/defineMetabaseAuthConfig.md +++ b/_docs/latest/embedding/sdk/api/snippets/defineMetabaseAuthConfig.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/index.md b/_docs/latest/embedding/sdk/api/snippets/index.md index 31ab3664b0..c31617f841 100644 --- a/_docs/latest/embedding/sdk/api/snippets/index.md +++ b/_docs/latest/embedding/sdk/api/snippets/index.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -34,41 +34,45 @@ latest: true ## Dashboard -| Name | Description | -| :-------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [EditableDashboard](./api/EditableDashboard) | A dashboard component with the features available in the `InteractiveDashboard` component, as well as the ability to add and update questions, layout, and content within your dashboard. | -| [InteractiveDashboard](./api/InteractiveDashboard) | A dashboard component with drill downs, click behaviors, and the ability to view and click into questions. | -| [StaticDashboard](./api/StaticDashboard) | A lightweight dashboard component. | -| [EditableDashboardProps](./api/EditableDashboardProps) | - | -| [InteractiveDashboardProps](./api/InteractiveDashboardProps) | - | -| [StaticDashboardProps](./api/StaticDashboardProps) | - | +| Name | Description | +| :-------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [EditableDashboard](./api/EditableDashboard) | A dashboard component with the features available in the `InteractiveDashboard` component, as well as the ability to add and update questions, layout, and content within your dashboard. | +| [InteractiveDashboard](./api/InteractiveDashboard) | A dashboard component with drill downs, click behaviors, and the ability to view and click into questions. | +| [StaticDashboard](./api/StaticDashboard) | A lightweight dashboard component. | +| [EditableDashboardProps](./api/EditableDashboardProps) | - | +| [InteractiveDashboardProps](./api/InteractiveDashboardProps) | - | +| [StaticDashboardProps](./api/StaticDashboardProps) | - | +| [ParameterChangePayload](./api/ParameterChangePayload) | Payload passed to `onParametersChange` callback | +| [ParameterChangeSource](./api/ParameterChangeSource) | Source of a parameter-change event: - `initial-state` - first applied snapshot, fired once per dashboard load. - `manual-change` - user edited parameters in UI. - `auto-change` - in the case of auto-updates, e.g. to pass normalized values back to parent. | ## InteractiveQuestion -| Name | Description | -| :------------------------------------------------------------------------------------------------------------ | :------------------------------------------------ | -| [InteractiveQuestion](./api/InteractiveQuestion) | A component that renders an interactive question. | -| [DrillThroughQuestionProps](./api/DrillThroughQuestionProps) | Props for the drill-through question | -| [InteractiveQuestionChartTypeDropdownProps](./api/InteractiveQuestionChartTypeDropdownProps) | - | -| [InteractiveQuestionEditorButtonProps](./api/InteractiveQuestionEditorButtonProps) | - | -| [InteractiveQuestionEditorProps](./api/InteractiveQuestionEditorProps) | - | -| [InteractiveQuestionProps](./api/InteractiveQuestionProps) | - | -| [InteractiveQuestionQuestionSettingsDropdownProps](./api/InteractiveQuestionQuestionSettingsDropdownProps) | - | -| [InteractiveQuestionQuestionVisualizationProps](./api/InteractiveQuestionQuestionVisualizationProps) | - | -| [InteractiveQuestionResetButtonProps](./api/InteractiveQuestionResetButtonProps) | - | -| [InteractiveQuestionSaveQuestionFormProps](./api/InteractiveQuestionSaveQuestionFormProps) | - | -| [InteractiveQuestionTitleProps](./api/InteractiveQuestionTitleProps) | - | -| [SdkQuestionProps](./api/SdkQuestionProps) | - | -| [InteractiveQuestionBackButtonProps](./api/InteractiveQuestionBackButtonProps) | - | -| [InteractiveQuestionBreakoutDropdownProps](./api/InteractiveQuestionBreakoutDropdownProps) | - | -| [InteractiveQuestionChartTypeSelectorProps](./api/InteractiveQuestionChartTypeSelectorProps) | - | -| [InteractiveQuestionDownloadWidgetDropdownProps](./api/InteractiveQuestionDownloadWidgetDropdownProps) | - | -| [InteractiveQuestionDownloadWidgetProps](./api/InteractiveQuestionDownloadWidgetProps) | - | -| [InteractiveQuestionFilterDropdownProps](./api/InteractiveQuestionFilterDropdownProps) | - | -| [InteractiveQuestionFilterProps](./api/InteractiveQuestionFilterProps) | - | -| [InteractiveQuestionQuestionSettingsProps](./api/InteractiveQuestionQuestionSettingsProps) | - | -| [InteractiveQuestionSaveButtonProps](./api/InteractiveQuestionSaveButtonProps) | - | -| [InteractiveQuestionSummarizeDropdownProps](./api/InteractiveQuestionSummarizeDropdownProps) | - | +| Name | Description | +| :------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [InteractiveQuestion](./api/InteractiveQuestion) | A component that renders an interactive question. | +| [DrillThroughQuestionProps](./api/DrillThroughQuestionProps) | Props for the drill-through question | +| [InteractiveQuestionChartTypeDropdownProps](./api/InteractiveQuestionChartTypeDropdownProps) | - | +| [InteractiveQuestionEditorButtonProps](./api/InteractiveQuestionEditorButtonProps) | - | +| [InteractiveQuestionEditorProps](./api/InteractiveQuestionEditorProps) | - | +| [InteractiveQuestionProps](./api/InteractiveQuestionProps) | - | +| [InteractiveQuestionQuestionSettingsDropdownProps](./api/InteractiveQuestionQuestionSettingsDropdownProps) | - | +| [InteractiveQuestionQuestionVisualizationProps](./api/InteractiveQuestionQuestionVisualizationProps) | - | +| [InteractiveQuestionResetButtonProps](./api/InteractiveQuestionResetButtonProps) | - | +| [InteractiveQuestionSaveQuestionFormProps](./api/InteractiveQuestionSaveQuestionFormProps) | - | +| [InteractiveQuestionTitleProps](./api/InteractiveQuestionTitleProps) | - | +| [SdkQuestionProps](./api/SdkQuestionProps) | - | +| [InteractiveQuestionBackButtonProps](./api/InteractiveQuestionBackButtonProps) | - | +| [InteractiveQuestionBreakoutDropdownProps](./api/InteractiveQuestionBreakoutDropdownProps) | - | +| [InteractiveQuestionChartTypeSelectorProps](./api/InteractiveQuestionChartTypeSelectorProps) | - | +| [InteractiveQuestionDownloadWidgetDropdownProps](./api/InteractiveQuestionDownloadWidgetDropdownProps) | - | +| [InteractiveQuestionDownloadWidgetProps](./api/InteractiveQuestionDownloadWidgetProps) | - | +| [InteractiveQuestionFilterDropdownProps](./api/InteractiveQuestionFilterDropdownProps) | - | +| [InteractiveQuestionFilterProps](./api/InteractiveQuestionFilterProps) | - | +| [InteractiveQuestionQuestionSettingsProps](./api/InteractiveQuestionQuestionSettingsProps) | - | +| [InteractiveQuestionSaveButtonProps](./api/InteractiveQuestionSaveButtonProps) | - | +| [InteractiveQuestionSummarizeDropdownProps](./api/InteractiveQuestionSummarizeDropdownProps) | - | +| [SqlParameterChangePayload](./api/SqlParameterChangePayload) | Payload passed to `onSqlParametersChange` callback | +| [SqlParameterChangeSource](./api/SqlParameterChangeSource) | Source of a sql-parameter-change event: - `initial-state` - first applied state, fired once per question load. - `manual-change` - user edited parameters in UI. - `auto-change` - in the case of auto-updates, e.g. to pass normalized values back to parent. | ## MetabaseProvider diff --git a/_docs/latest/embedding/sdk/api/snippets/useApplicationName.md b/_docs/latest/embedding/sdk/api/snippets/useApplicationName.md index 6da0909da9..7f9eba286f 100644 --- a/_docs/latest/embedding/sdk/api/snippets/useApplicationName.md +++ b/_docs/latest/embedding/sdk/api/snippets/useApplicationName.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/useAvailableFonts.md b/_docs/latest/embedding/sdk/api/snippets/useAvailableFonts.md index 3080fe7ca6..093b7b811c 100644 --- a/_docs/latest/embedding/sdk/api/snippets/useAvailableFonts.md +++ b/_docs/latest/embedding/sdk/api/snippets/useAvailableFonts.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/useCreateDashboardApi.md b/_docs/latest/embedding/sdk/api/snippets/useCreateDashboardApi.md index 8f8e163168..17d8db859e 100644 --- a/_docs/latest/embedding/sdk/api/snippets/useCreateDashboardApi.md +++ b/_docs/latest/embedding/sdk/api/snippets/useCreateDashboardApi.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/useCurrentUser.md b/_docs/latest/embedding/sdk/api/snippets/useCurrentUser.md index 4dc48811e1..22224ba724 100644 --- a/_docs/latest/embedding/sdk/api/snippets/useCurrentUser.md +++ b/_docs/latest/embedding/sdk/api/snippets/useCurrentUser.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/useMetabaseAuthStatus.md b/_docs/latest/embedding/sdk/api/snippets/useMetabaseAuthStatus.md index afa22b9aa7..536634d391 100644 --- a/_docs/latest/embedding/sdk/api/snippets/useMetabaseAuthStatus.md +++ b/_docs/latest/embedding/sdk/api/snippets/useMetabaseAuthStatus.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/snippets/useMetabot.md b/_docs/latest/embedding/sdk/api/snippets/useMetabot.md index 612856fcd7..612c9a8621 100644 --- a/_docs/latest/embedding/sdk/api/snippets/useMetabot.md +++ b/_docs/latest/embedding/sdk/api/snippets/useMetabot.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/useApplicationName.html b/_docs/latest/embedding/sdk/api/useApplicationName.html index 6a2a77a977..cb085b95f8 100644 --- a/_docs/latest/embedding/sdk/api/useApplicationName.html +++ b/_docs/latest/embedding/sdk/api/useApplicationName.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/useAvailableFonts.html b/_docs/latest/embedding/sdk/api/useAvailableFonts.html index 94111daf7f..b4185bb0e7 100644 --- a/_docs/latest/embedding/sdk/api/useAvailableFonts.html +++ b/_docs/latest/embedding/sdk/api/useAvailableFonts.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/useCreateDashboardApi.html b/_docs/latest/embedding/sdk/api/useCreateDashboardApi.html index a730b28248..29571eb557 100644 --- a/_docs/latest/embedding/sdk/api/useCreateDashboardApi.html +++ b/_docs/latest/embedding/sdk/api/useCreateDashboardApi.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/useCurrentUser.html b/_docs/latest/embedding/sdk/api/useCurrentUser.html index f4a8401cb3..d184c4389a 100644 --- a/_docs/latest/embedding/sdk/api/useCurrentUser.html +++ b/_docs/latest/embedding/sdk/api/useCurrentUser.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/useMetabaseAuthStatus.html b/_docs/latest/embedding/sdk/api/useMetabaseAuthStatus.html index 4e95a43624..eb3af7f905 100644 --- a/_docs/latest/embedding/sdk/api/useMetabaseAuthStatus.html +++ b/_docs/latest/embedding/sdk/api/useMetabaseAuthStatus.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/api/useMetabot.html b/_docs/latest/embedding/sdk/api/useMetabot.html index 49650518e4..a558ad2d4c 100644 --- a/_docs/latest/embedding/sdk/api/useMetabot.html +++ b/_docs/latest/embedding/sdk/api/useMetabot.html @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/collections.md b/_docs/latest/embedding/sdk/collections.md index 783286f6df..40d6fc7211 100644 --- a/_docs/latest/embedding/sdk/collections.md +++ b/_docs/latest/embedding/sdk/collections.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/config.md b/_docs/latest/embedding/sdk/config.md index 6faf2a7608..5c977b8dff 100644 --- a/_docs/latest/embedding/sdk/config.md +++ b/_docs/latest/embedding/sdk/config.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/dashboards.md b/_docs/latest/embedding/sdk/dashboards.md index 4d8fec0873..7d5d5835e5 100644 --- a/_docs/latest/embedding/sdk/dashboards.md +++ b/_docs/latest/embedding/sdk/dashboards.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -71,6 +71,10 @@ A dashboard component with the features available in the `InteractiveDashboard` {% include_file "{{ dirname }}/snippets/dashboards/interactive-dashboard.tsx" %} ``` +## Pass parameter values to a dashboard + +See [Modular embedding parameters](../parameters#pass-parameter-values-to-a-dashboard). + ## Customizing dashboard height By default, dashboard components take full page height (100vh). You can override this with custom styles passed via `style` or `className` props. diff --git a/_docs/latest/embedding/sdk/introduction.md b/_docs/latest/embedding/sdk/introduction.md index f9cda44df2..91226dc05e 100644 --- a/_docs/latest/embedding/sdk/introduction.md +++ b/_docs/latest/embedding/sdk/introduction.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/next-js.md b/_docs/latest/embedding/sdk/next-js.md index 63ec5e8183..5790d99529 100644 --- a/_docs/latest/embedding/sdk/next-js.md +++ b/_docs/latest/embedding/sdk/next-js.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/plugins.md b/_docs/latest/embedding/sdk/plugins.md index b8a4564508..c63b013267 100644 --- a/_docs/latest/embedding/sdk/plugins.md +++ b/_docs/latest/embedding/sdk/plugins.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/questions.md b/_docs/latest/embedding/sdk/questions.md index 78ce345c91..f5232618b5 100644 --- a/_docs/latest/embedding/sdk/questions.md +++ b/_docs/latest/embedding/sdk/questions.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -69,15 +69,9 @@ Use this component when you want to allow people to explore their data and custo {% include_file "{{ dirname }}/api/snippets/InteractiveQuestionProps.md" snippet="properties" %} -## Pass SQL parameters to SQL questions with `initialSqlParameters` +## Pass parameters to SQL questions -You can pass parameter values to questions defined with SQL via the `initialSqlParameters` prop, in the format of `{parameter_name: parameter_value}`. Learn more about [SQL parameters](../../questions/native-editor/sql-parameters). - -```typescript -{% include_file "{{ dirname }}/snippets/questions/initial-sql-parameters.tsx" snippet="example" %} -``` - -`initialSqlParameters` can't be used with questions built using the query builder. +See [Modular embedding parameters](../parameters#pass-parameters-to-sql-questions). ## Enable alerts on embedded questions diff --git a/_docs/latest/embedding/sdk/quickstart-cli.md b/_docs/latest/embedding/sdk/quickstart-cli.md index 1ea1eb65f2..fe36070dcb 100644 --- a/_docs/latest/embedding/sdk/quickstart-cli.md +++ b/_docs/latest/embedding/sdk/quickstart-cli.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/quickstart-with-sample-app.md b/_docs/latest/embedding/sdk/quickstart-with-sample-app.md index 0300ef22d4..0840fba026 100644 --- a/_docs/latest/embedding/sdk/quickstart-with-sample-app.md +++ b/_docs/latest/embedding/sdk/quickstart-with-sample-app.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/quickstart.md b/_docs/latest/embedding/sdk/quickstart.md index b473e252c3..a7e55ac040 100644 --- a/_docs/latest/embedding/sdk/quickstart.md +++ b/_docs/latest/embedding/sdk/quickstart.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/upgrade.md b/_docs/latest/embedding/sdk/upgrade.md index a6cc3d7180..c155ebac95 100644 --- a/_docs/latest/embedding/sdk/upgrade.md +++ b/_docs/latest/embedding/sdk/upgrade.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/sdk/version.md b/_docs/latest/embedding/sdk/version.md index b5c9516f18..4fe3f51a9b 100644 --- a/_docs/latest/embedding/sdk/version.md +++ b/_docs/latest/embedding/sdk/version.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/securing-embeds.md b/_docs/latest/embedding/securing-embeds.md index 61fcdf7bb7..d5604367ac 100644 --- a/_docs/latest/embedding/securing-embeds.md +++ b/_docs/latest/embedding/securing-embeds.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/snippets/parameters/dashboards/controlled-parameters.tsx b/_docs/latest/embedding/snippets/parameters/dashboards/controlled-parameters.tsx new file mode 100644 index 0000000000..3f65498c41 --- /dev/null +++ b/_docs/latest/embedding/snippets/parameters/dashboards/controlled-parameters.tsx @@ -0,0 +1,52 @@ +import { + InteractiveDashboard, + type ParameterChangePayload, + type ParameterValues, +} from "@metabase/embedding-sdk-react"; +import { useState } from "react"; + +const dashboardId = 1; + +const ExampleControlled = () => { + // [] + const [parameters, setParameters] = useState({ + state: "NY", + }); + + const handleParametersChange = (payload: ParameterChangePayload) => { + // Sync your local state on every applied change. `payload.source` is one of: + // "initial-state" — post-load snapshot, fired once per dashboard load + // "manual-change" — user edited a parameter widget + // "auto-change" — your push was normalized; re-sync from `payload.parameters` + setParameters(payload.parameters); + }; + + return ( + + ); + // [] +}; + +const ExampleClearOne = () => ( + // [] + // Setting a parameter to `null` clears it (ignores the parameter's default). + // Missing slugs fall back to `parameter.default ?? null`. + + // [] +); + +const ExampleClearAll = () => ( + // [] + // Pass an empty object to clear every parameter. + + // [] +); + +export { ExampleControlled, ExampleClearOne, ExampleClearAll }; diff --git a/_docs/latest/embedding/snippets/parameters/dashboards/initial-parameters.tsx b/_docs/latest/embedding/snippets/parameters/dashboards/initial-parameters.tsx new file mode 100644 index 0000000000..df8e56bda1 --- /dev/null +++ b/_docs/latest/embedding/snippets/parameters/dashboards/initial-parameters.tsx @@ -0,0 +1,14 @@ +import { InteractiveDashboard } from "@metabase/embedding-sdk-react"; + +const dashboardId = 1; + +const Example = () => ( + // [] + + // [] +); + +export { Example }; diff --git a/_docs/latest/embedding/snippets/parameters/questions/controlled-sql-parameters.tsx b/_docs/latest/embedding/snippets/parameters/questions/controlled-sql-parameters.tsx new file mode 100644 index 0000000000..761ed732cc --- /dev/null +++ b/_docs/latest/embedding/snippets/parameters/questions/controlled-sql-parameters.tsx @@ -0,0 +1,44 @@ +import { + InteractiveQuestion, + type SqlParameterChangePayload, + type SqlParameterValues, +} from "@metabase/embedding-sdk-react"; +import { useState } from "react"; + +const questionId = 1; + +const ExampleControlled = () => { + // [] + const [sqlParameters, setSqlParameters] = useState({ + state: "NY", + }); + + const handleSqlParametersChange = (payload: SqlParameterChangePayload) => { + // Sync your local state on every applied change. `payload.source` is one of: + // "initial-state" — post-load snapshot, fired once per question load + // "manual-change" — user edited a parameter widget + // "auto-change" — your push was normalized; re-sync from `payload.parameters` + setSqlParameters(payload.parameters); + }; + + return ( + + ); + // [] +}; + +const ExampleClear = () => ( + // [] + // Setting a SQL parameter to `null` clears it (ignores the parameter's default). + + // [] +); + +export { ExampleControlled, ExampleClear }; diff --git a/_docs/latest/embedding/sdk/snippets/questions/initial-sql-parameters.tsx b/_docs/latest/embedding/snippets/parameters/questions/initial-sql-parameters.tsx similarity index 100% rename from _docs/latest/embedding/sdk/snippets/questions/initial-sql-parameters.tsx rename to _docs/latest/embedding/snippets/parameters/questions/initial-sql-parameters.tsx diff --git a/_docs/latest/embedding/start.md b/_docs/latest/embedding/start.md index 66039b9903..f4874fa618 100644 --- a/_docs/latest/embedding/start.md +++ b/_docs/latest/embedding/start.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: false diff --git a/_docs/latest/embedding/static-embedding-parameters.md b/_docs/latest/embedding/static-embedding-parameters.md index 7a9b376a8c..193d04830f 100644 --- a/_docs/latest/embedding/static-embedding-parameters.md +++ b/_docs/latest/embedding/static-embedding-parameters.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/static-embedding.md b/_docs/latest/embedding/static-embedding.md index 80ed4283fe..9177039d27 100644 --- a/_docs/latest/embedding/static-embedding.md +++ b/_docs/latest/embedding/static-embedding.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/tenants.md b/_docs/latest/embedding/tenants.md index a719199801..ea24f92611 100644 --- a/_docs/latest/embedding/tenants.md +++ b/_docs/latest/embedding/tenants.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/embedding/translations.md b/_docs/latest/embedding/translations.md index 960dce66d5..40d5179951 100644 --- a/_docs/latest/embedding/translations.md +++ b/_docs/latest/embedding/translations.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/exploration-and-organization/collections.md b/_docs/latest/exploration-and-organization/collections.md index d1c0d73ffe..33b73706b3 100644 --- a/_docs/latest/exploration-and-organization/collections.md +++ b/_docs/latest/exploration-and-organization/collections.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/exploration-and-organization/content-verification.md b/_docs/latest/exploration-and-organization/content-verification.md index 565a66b858..3bb2efd658 100644 --- a/_docs/latest/exploration-and-organization/content-verification.md +++ b/_docs/latest/exploration-and-organization/content-verification.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/exploration-and-organization/data-model-reference.md b/_docs/latest/exploration-and-organization/data-model-reference.md index f497dc8093..8daf2dcbee 100644 --- a/_docs/latest/exploration-and-organization/data-model-reference.md +++ b/_docs/latest/exploration-and-organization/data-model-reference.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/exploration-and-organization/delete-and-restore.md b/_docs/latest/exploration-and-organization/delete-and-restore.md index b300db72ff..da140956b2 100644 --- a/_docs/latest/exploration-and-organization/delete-and-restore.md +++ b/_docs/latest/exploration-and-organization/delete-and-restore.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/exploration-and-organization/events-and-timelines.md b/_docs/latest/exploration-and-organization/events-and-timelines.md index f5a6b01604..57bac426b5 100644 --- a/_docs/latest/exploration-and-organization/events-and-timelines.md +++ b/_docs/latest/exploration-and-organization/events-and-timelines.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/exploration-and-organization/exploration.md b/_docs/latest/exploration-and-organization/exploration.md index 0a99475d2c..4a51ab2a5a 100644 --- a/_docs/latest/exploration-and-organization/exploration.md +++ b/_docs/latest/exploration-and-organization/exploration.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/exploration-and-organization/history.md b/_docs/latest/exploration-and-organization/history.md index 48a7992f07..923862bb5d 100644 --- a/_docs/latest/exploration-and-organization/history.md +++ b/_docs/latest/exploration-and-organization/history.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/exploration-and-organization/keyboard-shortcuts.md b/_docs/latest/exploration-and-organization/keyboard-shortcuts.md index 8218c9531d..78bda8cbb7 100644 --- a/_docs/latest/exploration-and-organization/keyboard-shortcuts.md +++ b/_docs/latest/exploration-and-organization/keyboard-shortcuts.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/exploration-and-organization/start.md b/_docs/latest/exploration-and-organization/start.md index b03c1bf45f..1ff4be7875 100644 --- a/_docs/latest/exploration-and-organization/start.md +++ b/_docs/latest/exploration-and-organization/start.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: false diff --git a/_docs/latest/exploration-and-organization/uploads.md b/_docs/latest/exploration-and-organization/uploads.md index ab5dbbaf85..1d52140a42 100644 --- a/_docs/latest/exploration-and-organization/uploads.md +++ b/_docs/latest/exploration-and-organization/uploads.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/exploration-and-organization/x-rays.md b/_docs/latest/exploration-and-organization/x-rays.md index 0854d4c8d5..5b0400d142 100644 --- a/_docs/latest/exploration-and-organization/x-rays.md +++ b/_docs/latest/exploration-and-organization/x-rays.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -73,4 +73,4 @@ If for some reason X-rays aren't a good fit for your team or your data, administ If you pin any dashboards in the "Our Analytics" collection, Metabase will hide the X-ray suggestions that appear on the homepage. -Admins can also manually remove these suggestions by clicking on the **Customize** button in the upper right and selecting a dashboard as your homepage. [Changing the home page](../configuring-metabase/settings#custom-homepage) won't disable the X-ray features in the rest of Metabase. +Admins can also manually remove these suggestions by clicking on the **Customize** button in the upper right and selecting a dashboard as your homepage. [Changing the home page](../configuring-metabase/settings#homepage) won't disable the X-ray features in the rest of Metabase. diff --git a/_docs/latest/installation-and-operation/accessibility.md b/_docs/latest/installation-and-operation/accessibility.md index cf8ae40555..d9465de3c1 100644 --- a/_docs/latest/installation-and-operation/accessibility.md +++ b/_docs/latest/installation-and-operation/accessibility.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/installation-and-operation/activating-the-enterprise-edition.md b/_docs/latest/installation-and-operation/activating-the-enterprise-edition.md index 81646e71b9..dfbcd995f9 100644 --- a/_docs/latest/installation-and-operation/activating-the-enterprise-edition.md +++ b/_docs/latest/installation-and-operation/activating-the-enterprise-edition.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/installation-and-operation/backing-up-metabase-application-data.md b/_docs/latest/installation-and-operation/backing-up-metabase-application-data.md index 7d9eb25842..08fa307ad7 100644 --- a/_docs/latest/installation-and-operation/backing-up-metabase-application-data.md +++ b/_docs/latest/installation-and-operation/backing-up-metabase-application-data.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/installation-and-operation/commands.md b/_docs/latest/installation-and-operation/commands.md index 0d1fce27c7..d4fc3f39bb 100644 --- a/_docs/latest/installation-and-operation/commands.md +++ b/_docs/latest/installation-and-operation/commands.md @@ -1,22 +1,24 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true category: Installation and Operation -title: Metabase CLI +title: Metabase JAR commands source_url: >- https://github.com/metabase/metabase/blob/master/docs/installation-and-operation/commands.md layout: new-docs description: >- - CLI commands for managing your Metabase instance, including database - migrations, serialization, and administrative tasks. + Commands built into the Metabase JAR for managing your instance, including + database migrations, serialization, and administrative tasks. latest: true --- -# Metabase CLI +# Metabase JAR commands -Metabase ships with some handy CLI commands for administration, maintenance, and automation tasks. These commands let you manage your Metabase instance, migrate databases, handle serialization, and generate documentation. +> Looking for the `mb` command-line client that drives a Metabase instance over its API, on its own or through an AI agent? Check out the [Metabase CLI](./metabase-cli). + +Metabase ships with some handy commands for administration, maintenance, and automation tasks. These commands run on the server, built into the Metabase JAR, and let you manage your Metabase instance, migrate databases, handle serialization, and generate documentation. To view a list of commands, run the Metabase jar followed by `help`. @@ -26,7 +28,6 @@ java --add-opens java.base/java.nio=ALL-UNNAMED -jar metabase.jar help Metabase will print out the help text for available commands. - ## `api-documentation` Generate an HTML file and a JSON file for Scalar docs for the Metabase API. diff --git a/_docs/latest/installation-and-operation/configuring-application-database.md b/_docs/latest/installation-and-operation/configuring-application-database.md index 2c524795ad..ae70d7d45b 100644 --- a/_docs/latest/installation-and-operation/configuring-application-database.md +++ b/_docs/latest/installation-and-operation/configuring-application-database.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/installation-and-operation/creating-RDS-database-on-AWS.md b/_docs/latest/installation-and-operation/creating-RDS-database-on-AWS.md index 6aa042666d..69bfc4744d 100644 --- a/_docs/latest/installation-and-operation/creating-RDS-database-on-AWS.md +++ b/_docs/latest/installation-and-operation/creating-RDS-database-on-AWS.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/installation-and-operation/development-instance.md b/_docs/latest/installation-and-operation/development-instance.md index 89afe68f5e..3bd20952f3 100644 --- a/_docs/latest/installation-and-operation/development-instance.md +++ b/_docs/latest/installation-and-operation/development-instance.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/installation-and-operation/information-collection.md b/_docs/latest/installation-and-operation/information-collection.md index b1ed68eb5b..a1b775323b 100644 --- a/_docs/latest/installation-and-operation/information-collection.md +++ b/_docs/latest/installation-and-operation/information-collection.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/installation-and-operation/installing-metabase.md b/_docs/latest/installation-and-operation/installing-metabase.md index 42077057da..3f0c87900c 100644 --- a/_docs/latest/installation-and-operation/installing-metabase.md +++ b/_docs/latest/installation-and-operation/installing-metabase.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/installation-and-operation/metabase-cli.md b/_docs/latest/installation-and-operation/metabase-cli.md new file mode 100644 index 0000000000..921ffd1bae --- /dev/null +++ b/_docs/latest/installation-and-operation/metabase-cli.md @@ -0,0 +1,89 @@ +--- +version: v0.62 +has_magic_breadcrumbs: true +show_category_breadcrumb: true +show_title_breadcrumb: true +category: Installation and Operation +title: Metabase CLI +source_url: >- + https://github.com/metabase/metabase/blob/master/docs/installation-and-operation/metabase-cli.md +layout: new-docs +summary: >- + The Metabase CLI (mb) is a command-line client that drives a Metabase instance + over its API. Use it yourself, or hand it to an AI agent with the metabase-cli + skill. +latest: true +--- + +# Metabase CLI + +The Metabase CLI (`mb`) is a command-line client for Metabase. `mb` authenticates against a Metabase instance with an API key and lets you or an AI agent read and write content like questions, dashboards, collections, and transforms over the Metabase API. + +> Looking for the commands built into the Metabase JAR, like `migrate` or `load-from-h2`? Check out [Metabase JAR commands](./commands). + +## Requirements + +- Node.js, to install the CLI from npm. +- A Metabase instance on version 58 or later. +- An [API key](../people-and-groups/api-keys#create-an-api-key) to authenticate the CLI against your instance. +- A Pro or Enterprise plan for some command groups. For example, `git-sync` needs the premium [Remote sync](./remote-sync) feature. + +## Install the CLI + +``` +npm install -g @metabase/cli +``` + +The binary is `mb`. + +For commands, run: + +``` +mb --help +``` + +## Authenticate the CLI + +Log in once per Metabase instance. + +``` +mb auth login --url https://metabase.example.com +``` + +The CLI prompts for an API key, or reads it from the `METABASE_API_KEY` environment variable or stdin. To create a key, see [API keys](../people-and-groups/api-keys#create-an-api-key). + +Credentials are stored per profile, so you can manage more than one Metabase (like dev and prod Metabases): + +``` +mb auth login --profile prod --url https://prod.example.com +mb auth list +``` + +Add `--profile ` to any command to run it against that instance. + +## Use the CLI with an AI agent + +The CLI is built to be driven by an AI coding agent like Claude Code. Instead of running commands yourself, you install a skill and describe what you want in plain language; the agent works out the commands. + +### The metabase-cli skill + +The [metabase-cli skill](https://github.com/metabase/agent-skills/tree/main/skills/metabase-cli) teaches your agent the CLI's conventions. Once installed, you can run: + +``` +/metabase-cli Create a dashboard summarizing this month's signups by plan. +``` + +And your agent will go to work, creating content directly in your Metabase via the `mb` CLI. + +## Use the CLI for agent-driven development + +Pair the CLI with version control to build content with an agent in a development Metabase, commit the changes, and pull the changes into your production Metabase. Check out [Agent-driven development](../ai/file-based-development). + +## Further reading + +- [@metabase/cli on npm](https://www.npmjs.com/package/@metabase/cli) +- [Agent-driven development](../ai/file-based-development) +- [Agent skills](https://github.com/metabase/agent-skills) +- [Remote sync](./remote-sync) +- [Serialization](./serialization) +- [Metabase JAR commands](./commands) diff --git a/_docs/latest/installation-and-operation/migrating-from-h2.md b/_docs/latest/installation-and-operation/migrating-from-h2.md index dc815d9036..9414ca67cf 100644 --- a/_docs/latest/installation-and-operation/migrating-from-h2.md +++ b/_docs/latest/installation-and-operation/migrating-from-h2.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/installation-and-operation/monitoring-metabase.md b/_docs/latest/installation-and-operation/monitoring-metabase.md index 0e51f83b42..fefa0ff4dd 100644 --- a/_docs/latest/installation-and-operation/monitoring-metabase.md +++ b/_docs/latest/installation-and-operation/monitoring-metabase.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/installation-and-operation/observability-with-prometheus.md b/_docs/latest/installation-and-operation/observability-with-prometheus.md index 2e198d884b..b8eafbea90 100644 --- a/_docs/latest/installation-and-operation/observability-with-prometheus.md +++ b/_docs/latest/installation-and-operation/observability-with-prometheus.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/installation-and-operation/privacy.md b/_docs/latest/installation-and-operation/privacy.md index 0740cce011..ab016b80da 100644 --- a/_docs/latest/installation-and-operation/privacy.md +++ b/_docs/latest/installation-and-operation/privacy.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/installation-and-operation/remote-sync.md b/_docs/latest/installation-and-operation/remote-sync.md index 99b0cf40ab..46b2dbf991 100644 --- a/_docs/latest/installation-and-operation/remote-sync.md +++ b/_docs/latest/installation-and-operation/remote-sync.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/installation-and-operation/running-metabase-as-service.md b/_docs/latest/installation-and-operation/running-metabase-as-service.md index eec3e7237b..5b70df9fc6 100644 --- a/_docs/latest/installation-and-operation/running-metabase-as-service.md +++ b/_docs/latest/installation-and-operation/running-metabase-as-service.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/installation-and-operation/running-metabase-on-azure.md b/_docs/latest/installation-and-operation/running-metabase-on-azure.md index aaabb5f526..b714d4d871 100644 --- a/_docs/latest/installation-and-operation/running-metabase-on-azure.md +++ b/_docs/latest/installation-and-operation/running-metabase-on-azure.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/installation-and-operation/running-metabase-on-docker.md b/_docs/latest/installation-and-operation/running-metabase-on-docker.md index 34be22365e..2779e5c28c 100644 --- a/_docs/latest/installation-and-operation/running-metabase-on-docker.md +++ b/_docs/latest/installation-and-operation/running-metabase-on-docker.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/installation-and-operation/running-metabase-on-elastic-beanstalk.md b/_docs/latest/installation-and-operation/running-metabase-on-elastic-beanstalk.md index 7b3c97bec7..3278432962 100644 --- a/_docs/latest/installation-and-operation/running-metabase-on-elastic-beanstalk.md +++ b/_docs/latest/installation-and-operation/running-metabase-on-elastic-beanstalk.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/installation-and-operation/running-metabase-on-podman.md b/_docs/latest/installation-and-operation/running-metabase-on-podman.md index 0ff51ed1b5..8cbbaa1688 100644 --- a/_docs/latest/installation-and-operation/running-metabase-on-podman.md +++ b/_docs/latest/installation-and-operation/running-metabase-on-podman.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/installation-and-operation/running-the-metabase-jar-file.md b/_docs/latest/installation-and-operation/running-the-metabase-jar-file.md index ec773aee2f..93b8a455cd 100644 --- a/_docs/latest/installation-and-operation/running-the-metabase-jar-file.md +++ b/_docs/latest/installation-and-operation/running-the-metabase-jar-file.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/installation-and-operation/security-center.md b/_docs/latest/installation-and-operation/security-center.md index d7533d0b3e..218333981a 100644 --- a/_docs/latest/installation-and-operation/security-center.md +++ b/_docs/latest/installation-and-operation/security-center.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/installation-and-operation/serialization.md b/_docs/latest/installation-and-operation/serialization.md index d4c7607b61..e89f758865 100644 --- a/_docs/latest/installation-and-operation/serialization.md +++ b/_docs/latest/installation-and-operation/serialization.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/installation-and-operation/start.md b/_docs/latest/installation-and-operation/start.md index 4559d1cdda..82f5668746 100644 --- a/_docs/latest/installation-and-operation/start.md +++ b/_docs/latest/installation-and-operation/start.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: false @@ -43,6 +43,10 @@ Try out your changes before deploying to production. Export your questions, dashboards, and more as YAML files that you can check into version control. +## [Metabase CLI](./metabase-cli) + +A command-line client that drives a Metabase instance over its API, on its own or through an AI agent. + ## [Monitoring your Metabase](./monitoring-metabase) Monitor your Metabase with JMX. @@ -63,9 +67,9 @@ We collect anonymous Metabase usage data to improve the product. We don't collec Notes on Metabase's accessibility. -## [Command line commands](./commands) +## [Metabase JAR commands](./commands) -Metabase's CLI. +Administrative commands built into the Metabase JAR. --- diff --git a/_docs/latest/installation-and-operation/supported-browsers.md b/_docs/latest/installation-and-operation/supported-browsers.md index c2a51f5354..b30344d3a5 100644 --- a/_docs/latest/installation-and-operation/supported-browsers.md +++ b/_docs/latest/installation-and-operation/supported-browsers.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/installation-and-operation/upgrading-metabase.md b/_docs/latest/installation-and-operation/upgrading-metabase.md index 9be03cb59a..366175fb46 100644 --- a/_docs/latest/installation-and-operation/upgrading-metabase.md +++ b/_docs/latest/installation-and-operation/upgrading-metabase.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/people-and-groups/account-settings.md b/_docs/latest/people-and-groups/account-settings.md index ac6832611f..ebe5f32dfc 100644 --- a/_docs/latest/people-and-groups/account-settings.md +++ b/_docs/latest/people-and-groups/account-settings.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/people-and-groups/api-keys.md b/_docs/latest/people-and-groups/api-keys.md index c5dd7ac3b7..f5ad234888 100644 --- a/_docs/latest/people-and-groups/api-keys.md +++ b/_docs/latest/people-and-groups/api-keys.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/people-and-groups/authenticating-with-jwt.md b/_docs/latest/people-and-groups/authenticating-with-jwt.md index 90b4f3c7d7..03e2c2fcac 100644 --- a/_docs/latest/people-and-groups/authenticating-with-jwt.md +++ b/_docs/latest/people-and-groups/authenticating-with-jwt.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/people-and-groups/authenticating-with-oidc.md b/_docs/latest/people-and-groups/authenticating-with-oidc.md index 69516eb882..775e670041 100644 --- a/_docs/latest/people-and-groups/authenticating-with-oidc.md +++ b/_docs/latest/people-and-groups/authenticating-with-oidc.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/people-and-groups/authenticating-with-saml.md b/_docs/latest/people-and-groups/authenticating-with-saml.md index bf46b6f7e3..4465f02821 100644 --- a/_docs/latest/people-and-groups/authenticating-with-saml.md +++ b/_docs/latest/people-and-groups/authenticating-with-saml.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/people-and-groups/changing-password-complexity.md b/_docs/latest/people-and-groups/changing-password-complexity.md index 4f9bb552a9..f0591bfb6d 100644 --- a/_docs/latest/people-and-groups/changing-password-complexity.md +++ b/_docs/latest/people-and-groups/changing-password-complexity.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -29,6 +29,7 @@ The settings above can be used independently, so it's fine to use only one or th - `weak` = no character constraints - `normal` = at least 1 digit - `strong` = minimum 8 characters w/ 2 lowercase, 2 uppercase, 1 digit, and 1 special character +- `strong-enough` = minimum 15 characters By default, Metabase also prevents users from setting passwords that are in a list of common passwords (like `qwerty123` and `passw0rd`). Changing the complexity requirement to `weak` disables this behavior. diff --git a/_docs/latest/people-and-groups/changing-session-expiration.md b/_docs/latest/people-and-groups/changing-session-expiration.md index 5dab235ae0..fd2cb41d77 100644 --- a/_docs/latest/people-and-groups/changing-session-expiration.md +++ b/_docs/latest/people-and-groups/changing-session-expiration.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/people-and-groups/google-sign-in.md b/_docs/latest/people-and-groups/google-sign-in.md index 56b1853c73..19db0b101f 100644 --- a/_docs/latest/people-and-groups/google-sign-in.md +++ b/_docs/latest/people-and-groups/google-sign-in.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/people-and-groups/ldap.md b/_docs/latest/people-and-groups/ldap.md index 60cac48e5c..09363889aa 100644 --- a/_docs/latest/people-and-groups/ldap.md +++ b/_docs/latest/people-and-groups/ldap.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/people-and-groups/managing.md b/_docs/latest/people-and-groups/managing.md index 329fb40f3e..4b4f13da2a 100644 --- a/_docs/latest/people-and-groups/managing.md +++ b/_docs/latest/people-and-groups/managing.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/people-and-groups/oidc-keycloak.md b/_docs/latest/people-and-groups/oidc-keycloak.md index 7762f997f6..21111b0d23 100644 --- a/_docs/latest/people-and-groups/oidc-keycloak.md +++ b/_docs/latest/people-and-groups/oidc-keycloak.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/people-and-groups/saml-auth0.md b/_docs/latest/people-and-groups/saml-auth0.md index 9eab2a01e7..27fdfa25dc 100644 --- a/_docs/latest/people-and-groups/saml-auth0.md +++ b/_docs/latest/people-and-groups/saml-auth0.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/people-and-groups/saml-azure.md b/_docs/latest/people-and-groups/saml-azure.md index e9c7a94db4..265cc82406 100644 --- a/_docs/latest/people-and-groups/saml-azure.md +++ b/_docs/latest/people-and-groups/saml-azure.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/people-and-groups/saml-google.md b/_docs/latest/people-and-groups/saml-google.md index 136f5b7021..07a0ede7ab 100644 --- a/_docs/latest/people-and-groups/saml-google.md +++ b/_docs/latest/people-and-groups/saml-google.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/people-and-groups/saml-keycloak.md b/_docs/latest/people-and-groups/saml-keycloak.md index e5eeaeaf22..435ae4e248 100644 --- a/_docs/latest/people-and-groups/saml-keycloak.md +++ b/_docs/latest/people-and-groups/saml-keycloak.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/people-and-groups/saml-okta.md b/_docs/latest/people-and-groups/saml-okta.md index 23a5cdc6b3..5c19b582d4 100644 --- a/_docs/latest/people-and-groups/saml-okta.md +++ b/_docs/latest/people-and-groups/saml-okta.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/people-and-groups/start.md b/_docs/latest/people-and-groups/start.md index c6519c6ad5..f2031c6a63 100644 --- a/_docs/latest/people-and-groups/start.md +++ b/_docs/latest/people-and-groups/start.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: false diff --git a/_docs/latest/people-and-groups/user-provisioning.md b/_docs/latest/people-and-groups/user-provisioning.md index 8cfc083e3e..21f7d5d9ac 100644 --- a/_docs/latest/people-and-groups/user-provisioning.md +++ b/_docs/latest/people-and-groups/user-provisioning.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/permissions/application.md b/_docs/latest/permissions/application.md index c843ebbc21..be86d12ea4 100644 --- a/_docs/latest/permissions/application.md +++ b/_docs/latest/permissions/application.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/permissions/collections.md b/_docs/latest/permissions/collections.md index 15e0face07..6189b8c0ea 100644 --- a/_docs/latest/permissions/collections.md +++ b/_docs/latest/permissions/collections.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/permissions/data.md b/_docs/latest/permissions/data.md index 68011b2105..a1eab5d717 100644 --- a/_docs/latest/permissions/data.md +++ b/_docs/latest/permissions/data.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/permissions/database-routing.md b/_docs/latest/permissions/database-routing.md index 901d4bc9b3..905b4dd64a 100644 --- a/_docs/latest/permissions/database-routing.md +++ b/_docs/latest/permissions/database-routing.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/permissions/embedding.md b/_docs/latest/permissions/embedding.md index 0eb9bd9d00..55f5a216df 100644 --- a/_docs/latest/permissions/embedding.md +++ b/_docs/latest/permissions/embedding.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/permissions/impersonation.md b/_docs/latest/permissions/impersonation.md index 850882d74e..3dfaff8d21 100644 --- a/_docs/latest/permissions/impersonation.md +++ b/_docs/latest/permissions/impersonation.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/permissions/introduction.md b/_docs/latest/permissions/introduction.md index 7b1e1a776d..b158403649 100644 --- a/_docs/latest/permissions/introduction.md +++ b/_docs/latest/permissions/introduction.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/permissions/no-self-service-deprecation.md b/_docs/latest/permissions/no-self-service-deprecation.md index 6565428166..d3e2273dfb 100644 --- a/_docs/latest/permissions/no-self-service-deprecation.md +++ b/_docs/latest/permissions/no-self-service-deprecation.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/permissions/notifications.md b/_docs/latest/permissions/notifications.md index 903cde9b55..e25afc2bc5 100644 --- a/_docs/latest/permissions/notifications.md +++ b/_docs/latest/permissions/notifications.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/permissions/row-and-column-security-examples.md b/_docs/latest/permissions/row-and-column-security-examples.md index 6f863a7f52..994f3d7ed4 100644 --- a/_docs/latest/permissions/row-and-column-security-examples.md +++ b/_docs/latest/permissions/row-and-column-security-examples.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/permissions/row-and-column-security.md b/_docs/latest/permissions/row-and-column-security.md index 5269e6c6f8..9e88914b0e 100644 --- a/_docs/latest/permissions/row-and-column-security.md +++ b/_docs/latest/permissions/row-and-column-security.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/permissions/snippets.md b/_docs/latest/permissions/snippets.md index 0a4a23e69c..f83e8968c2 100644 --- a/_docs/latest/permissions/snippets.md +++ b/_docs/latest/permissions/snippets.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/permissions/start.md b/_docs/latest/permissions/start.md index 7d4892b434..1cbd5c84e8 100644 --- a/_docs/latest/permissions/start.md +++ b/_docs/latest/permissions/start.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: false diff --git a/_docs/latest/questions/alerts.md b/_docs/latest/questions/alerts.md index 642101fbfb..ca6214e3b1 100644 --- a/_docs/latest/questions/alerts.md +++ b/_docs/latest/questions/alerts.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/exporting-results.md b/_docs/latest/questions/exporting-results.md index ea524fe21b..bd8639b3e7 100644 --- a/_docs/latest/questions/exporting-results.md +++ b/_docs/latest/questions/exporting-results.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/images/custom-viz-calendar-heatmap.png b/_docs/latest/questions/images/custom-viz-calendar-heatmap.png new file mode 100644 index 0000000000..66f4350f58 Binary files /dev/null and b/_docs/latest/questions/images/custom-viz-calendar-heatmap.png differ diff --git a/_docs/latest/questions/images/gondola-line-chart.png b/_docs/latest/questions/images/gondola-line-chart.png new file mode 100644 index 0000000000..a5c7947078 Binary files /dev/null and b/_docs/latest/questions/images/gondola-line-chart.png differ diff --git a/_docs/latest/questions/introduction.md b/_docs/latest/questions/introduction.md index f77ed49e16..6155309c13 100644 --- a/_docs/latest/questions/introduction.md +++ b/_docs/latest/questions/introduction.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/metrics-explorer.md b/_docs/latest/questions/metrics-explorer.md index 8e05aad352..2997b2ca2f 100644 --- a/_docs/latest/questions/metrics-explorer.md +++ b/_docs/latest/questions/metrics-explorer.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/native-editor/basic-sql-parameters.md b/_docs/latest/questions/native-editor/basic-sql-parameters.md index 7ff1dd0af0..3db1401f78 100644 --- a/_docs/latest/questions/native-editor/basic-sql-parameters.md +++ b/_docs/latest/questions/native-editor/basic-sql-parameters.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/native-editor/field-filters.md b/_docs/latest/questions/native-editor/field-filters.md index e26ebcdd9d..87f74ce3e4 100644 --- a/_docs/latest/questions/native-editor/field-filters.md +++ b/_docs/latest/questions/native-editor/field-filters.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/native-editor/filter-widgets.md b/_docs/latest/questions/native-editor/filter-widgets.md index 20a0e6b040..a2e00f14a0 100644 --- a/_docs/latest/questions/native-editor/filter-widgets.md +++ b/_docs/latest/questions/native-editor/filter-widgets.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -25,6 +25,8 @@ The kind of filter widget that Metabase displays when you create a field filter Date fields will either have a simple date filter (for date variables) or a dynamic date picker (for field filters mapped to a date field). +ID parameters also support all three widget types (input box, search box, and dropdown list), so you can power an ID filter with a dropdown or search box instead of a plain input box. + If you want to change the default filter widget for a particular field, you'll need to ask an admin to update that field in [the Table Metadata](../../data-modeling/metadata-editing) and set the desired "Filtering on this field" option. For dropdown lists and search boxes, you can also customize values available in the list. See below. @@ -67,11 +69,11 @@ When you add a dropdown menu or search box, you can tell Metabase which values p 2. Next to the option you chose, click **Edit**. 3. Metabase will pop up a modal where you can select **Where the values should come from**. -You can choose: +You can choose between: -- **From connected fields**. If you selected the Field filter variable type, you'll also have the option to use the connected field. -- **From another model or question**. If you select this option, you'll need to pick a model or question, then a field from that model or question that Metabase will use to supply the values for that dropdown or search box. For example, if you want the dropdown to list the different plans an account could be on, you could select an "Account" model you created, and select the field "Plan" to power that dropdown. The dropdown would then list all of the distinct plan options that appear in the "Plan" column in the Accounts model. -- **Custom list**. Enter each item on a line. You can enter any string values you like. +- **From connected fields:** If you selected the Field filter variable type, you'll also have the option to use the connected field. +- **From another model or question:** Pick a model or question (built with either the query builder or SQL), then set the **Column to supply the values** that Metabase should filter on. You can also set a **Column to supply the labels** to display friendly labels in the dropdown while still filtering on the underlying values. For example, if you want the dropdown to list the different plans an account could be on, you could select an "Account" model you created and set the **Column to supply the values** to "Plan". Or, to filter on product IDs while showing product names, set the **Column to supply the values** to "ID" and the **Column to supply the labels** to "Title", so people see product names in the dropdown but the filter passes along the matching ID. +- **Custom list:** Enter each item on a line. You can enter any string values you like. You can also [change a dashboard filter's selectable values](../../dashboards/filters#change-a-filters-selectable-values). diff --git a/_docs/latest/questions/native-editor/optional-variables.md b/_docs/latest/questions/native-editor/optional-variables.md index 60d2b124ce..ecb0f4247f 100644 --- a/_docs/latest/questions/native-editor/optional-variables.md +++ b/_docs/latest/questions/native-editor/optional-variables.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/native-editor/referencing-saved-questions-in-queries.md b/_docs/latest/questions/native-editor/referencing-saved-questions-in-queries.md index 6968a3874a..d4edb33e2a 100644 --- a/_docs/latest/questions/native-editor/referencing-saved-questions-in-queries.md +++ b/_docs/latest/questions/native-editor/referencing-saved-questions-in-queries.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/native-editor/snippets.md b/_docs/latest/questions/native-editor/snippets.md index 5b233e944c..8315bda698 100644 --- a/_docs/latest/questions/native-editor/snippets.md +++ b/_docs/latest/questions/native-editor/snippets.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/native-editor/sql-parameters.md b/_docs/latest/questions/native-editor/sql-parameters.md index aae991a152..a035ab4fe2 100644 --- a/_docs/latest/questions/native-editor/sql-parameters.md +++ b/_docs/latest/questions/native-editor/sql-parameters.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/native-editor/table-variables.md b/_docs/latest/questions/native-editor/table-variables.md index 056499b1f1..759a9eef4f 100644 --- a/_docs/latest/questions/native-editor/table-variables.md +++ b/_docs/latest/questions/native-editor/table-variables.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/native-editor/time-grouping-parameters.md b/_docs/latest/questions/native-editor/time-grouping-parameters.md index 0d1896fe89..63b8983537 100644 --- a/_docs/latest/questions/native-editor/time-grouping-parameters.md +++ b/_docs/latest/questions/native-editor/time-grouping-parameters.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/native-editor/writing-sql.md b/_docs/latest/questions/native-editor/writing-sql.md index 955d12a822..f81fb9d9ad 100644 --- a/_docs/latest/questions/native-editor/writing-sql.md +++ b/_docs/latest/questions/native-editor/writing-sql.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/query-builder/editor.md b/_docs/latest/questions/query-builder/editor.md index 773ee38d7a..b493ba72cd 100644 --- a/_docs/latest/questions/query-builder/editor.md +++ b/_docs/latest/questions/query-builder/editor.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/query-builder/expressions-list.md b/_docs/latest/questions/query-builder/expressions-list.md index b705dd5ee3..2e936b46c7 100644 --- a/_docs/latest/questions/query-builder/expressions-list.md +++ b/_docs/latest/questions/query-builder/expressions-list.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/query-builder/expressions.md b/_docs/latest/questions/query-builder/expressions.md index f333225f91..1f30477c43 100644 --- a/_docs/latest/questions/query-builder/expressions.md +++ b/_docs/latest/questions/query-builder/expressions.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/query-builder/expressions/case.md b/_docs/latest/questions/query-builder/expressions/case.md index 5e401cf15c..01a64a9ed3 100644 --- a/_docs/latest/questions/query-builder/expressions/case.md +++ b/_docs/latest/questions/query-builder/expressions/case.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/query-builder/expressions/coalesce.md b/_docs/latest/questions/query-builder/expressions/coalesce.md index 2ccb8d1331..083b8bac44 100644 --- a/_docs/latest/questions/query-builder/expressions/coalesce.md +++ b/_docs/latest/questions/query-builder/expressions/coalesce.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/query-builder/expressions/concat.md b/_docs/latest/questions/query-builder/expressions/concat.md index 853d590cb9..10dfebce1f 100644 --- a/_docs/latest/questions/query-builder/expressions/concat.md +++ b/_docs/latest/questions/query-builder/expressions/concat.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/query-builder/expressions/converttimezone.md b/_docs/latest/questions/query-builder/expressions/converttimezone.md index 38731ff2de..bbabd574fa 100644 --- a/_docs/latest/questions/query-builder/expressions/converttimezone.md +++ b/_docs/latest/questions/query-builder/expressions/converttimezone.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/query-builder/expressions/countif.md b/_docs/latest/questions/query-builder/expressions/countif.md index c5867ef6a4..6c05756c08 100644 --- a/_docs/latest/questions/query-builder/expressions/countif.md +++ b/_docs/latest/questions/query-builder/expressions/countif.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/query-builder/expressions/cumulative.md b/_docs/latest/questions/query-builder/expressions/cumulative.md index 324d37f3b6..42e74ce95c 100644 --- a/_docs/latest/questions/query-builder/expressions/cumulative.md +++ b/_docs/latest/questions/query-builder/expressions/cumulative.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/query-builder/expressions/datetimeadd.md b/_docs/latest/questions/query-builder/expressions/datetimeadd.md index 512523d4c2..b58bb3340e 100644 --- a/_docs/latest/questions/query-builder/expressions/datetimeadd.md +++ b/_docs/latest/questions/query-builder/expressions/datetimeadd.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/query-builder/expressions/datetimediff.md b/_docs/latest/questions/query-builder/expressions/datetimediff.md index a28fadd1f3..13dff068e3 100644 --- a/_docs/latest/questions/query-builder/expressions/datetimediff.md +++ b/_docs/latest/questions/query-builder/expressions/datetimediff.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/query-builder/expressions/datetimesubtract.md b/_docs/latest/questions/query-builder/expressions/datetimesubtract.md index bd5cf8ac29..b92461fc2e 100644 --- a/_docs/latest/questions/query-builder/expressions/datetimesubtract.md +++ b/_docs/latest/questions/query-builder/expressions/datetimesubtract.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/query-builder/expressions/in.md b/_docs/latest/questions/query-builder/expressions/in.md index 12b31f82cb..787a7163fd 100644 --- a/_docs/latest/questions/query-builder/expressions/in.md +++ b/_docs/latest/questions/query-builder/expressions/in.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/query-builder/expressions/isempty.md b/_docs/latest/questions/query-builder/expressions/isempty.md index 21a4fd4121..aa12c9b358 100644 --- a/_docs/latest/questions/query-builder/expressions/isempty.md +++ b/_docs/latest/questions/query-builder/expressions/isempty.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/query-builder/expressions/isnull.md b/_docs/latest/questions/query-builder/expressions/isnull.md index c19044c798..43b1e24652 100644 --- a/_docs/latest/questions/query-builder/expressions/isnull.md +++ b/_docs/latest/questions/query-builder/expressions/isnull.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/query-builder/expressions/now.md b/_docs/latest/questions/query-builder/expressions/now.md index cfeb21de89..e9306bdcec 100644 --- a/_docs/latest/questions/query-builder/expressions/now.md +++ b/_docs/latest/questions/query-builder/expressions/now.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/query-builder/expressions/offset.md b/_docs/latest/questions/query-builder/expressions/offset.md index c0839c3ece..b42c35777a 100644 --- a/_docs/latest/questions/query-builder/expressions/offset.md +++ b/_docs/latest/questions/query-builder/expressions/offset.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/query-builder/expressions/regexextract.md b/_docs/latest/questions/query-builder/expressions/regexextract.md index 832c6b772d..22e3af36c1 100644 --- a/_docs/latest/questions/query-builder/expressions/regexextract.md +++ b/_docs/latest/questions/query-builder/expressions/regexextract.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/query-builder/expressions/substring.md b/_docs/latest/questions/query-builder/expressions/substring.md index b1c69ed8e2..b47a75ac07 100644 --- a/_docs/latest/questions/query-builder/expressions/substring.md +++ b/_docs/latest/questions/query-builder/expressions/substring.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/query-builder/expressions/sumif.md b/_docs/latest/questions/query-builder/expressions/sumif.md index 747f433b24..2e2089a47d 100644 --- a/_docs/latest/questions/query-builder/expressions/sumif.md +++ b/_docs/latest/questions/query-builder/expressions/sumif.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/query-builder/expressions/week.md b/_docs/latest/questions/query-builder/expressions/week.md index b182d6b56a..b1ff4f0c30 100644 --- a/_docs/latest/questions/query-builder/expressions/week.md +++ b/_docs/latest/questions/query-builder/expressions/week.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/query-builder/filters.md b/_docs/latest/questions/query-builder/filters.md index 6712c0a7ce..a40d8eb50a 100644 --- a/_docs/latest/questions/query-builder/filters.md +++ b/_docs/latest/questions/query-builder/filters.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/query-builder/join.md b/_docs/latest/questions/query-builder/join.md index f80c528ea2..5855f85820 100644 --- a/_docs/latest/questions/query-builder/join.md +++ b/_docs/latest/questions/query-builder/join.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/query-builder/summarizing-and-grouping.md b/_docs/latest/questions/query-builder/summarizing-and-grouping.md index a4a4d825b8..669c0dd288 100644 --- a/_docs/latest/questions/query-builder/summarizing-and-grouping.md +++ b/_docs/latest/questions/query-builder/summarizing-and-grouping.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/start.md b/_docs/latest/questions/start.md index 7746b96b72..5410e8edb7 100644 --- a/_docs/latest/questions/start.md +++ b/_docs/latest/questions/start.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: false diff --git a/_docs/latest/questions/visualizations/box-plot.md b/_docs/latest/questions/visualizations/box-plot.md index 14f33444c0..0ee460b910 100644 --- a/_docs/latest/questions/visualizations/box-plot.md +++ b/_docs/latest/questions/visualizations/box-plot.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/visualizations/combo-chart.md b/_docs/latest/questions/visualizations/combo-chart.md index 035d7cf247..c41444502a 100644 --- a/_docs/latest/questions/visualizations/combo-chart.md +++ b/_docs/latest/questions/visualizations/combo-chart.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/visualizations/country-codes.md b/_docs/latest/questions/visualizations/country-codes.md index 1a2578d5b2..17ff2c054e 100644 --- a/_docs/latest/questions/visualizations/country-codes.md +++ b/_docs/latest/questions/visualizations/country-codes.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/visualizations/custom.md b/_docs/latest/questions/visualizations/custom.md new file mode 100644 index 0000000000..9e30286451 --- /dev/null +++ b/_docs/latest/questions/visualizations/custom.md @@ -0,0 +1,98 @@ +--- +version: v0.62 +has_magic_breadcrumbs: true +show_category_breadcrumb: true +show_title_breadcrumb: true +category: Questions +title: Custom visualizations +source_url: >- + https://github.com/metabase/metabase/blob/master/docs/questions/visualizations/custom.md +layout: new-docs +summary: >- + Add your own chart types to Metabase by uploading visualization plugins built + with the Custom Visualizations SDK. +latest: true +--- + +# Custom visualizations + +{% include plans-blockquote.html feature="Custom visualizations" %} + +You can build new chart types and add them to Metabase. Here's a calendar heatmap: + +![Calendar heatmap custom visualization](../images/custom-viz-calendar-heatmap.png) + +Here's the [code for that calendar heatmap viz](https://github.com/metabase/custom-viz-calendar-heatmap). + +This page covers how to add a custom visualization to your Metabase. To _create_ a new custom visualization, see [developing a custom visualization](../../developers-guide/custom-visualizations). + +## Enabling custom visualizations + +### Restrict image domains first + +Before you can turn on custom visualizations, you need to enable [Restrict image domains](../../configuring-metabase/settings#restrict-image-domains). A custom visualization runs third-party JavaScript in your Metabase. By restricting image (and font) domains, you limit where that code can load assets from, which narrows the ways a plugin could leak data through outbound asset requests. See [Only add plugins you trust](#only-add-plugins-you-trust). + +While custom visualizations are enabled, you can't turn **Restrict image domains** back off. You'll need to first disable custom visualizations. + +### Turn on custom visualizations + +To turn on custom visualizations, go to **Admin** > **Settings** > **Custom visualizations** and click **Enable custom visualizations**. + +You can also enable (or disable) custom visualizations with the [`MB_CUSTOM_VIZ_ENABLED`](../../configuring-metabase/environment-variables#mb_custom_viz_enabled) environment variable, or with the `custom-viz-enabled` key in a [configuration file](../../configuring-metabase/config-file). + +## Adding a custom visualization + +Once you've [built the custom visualization](../../developers-guide/custom-visualizations): + +1. In Metabase, go to **Admin** > **Settings** > **Custom visualizations** > **Manage visualizations**. +2. Click **Add** and drag the `.tgz` file into the upload area (or click to browse for it). +3. Click **Add visualization**. + +- Bundles must be smaller than 5 MiB. +- Each plugin lists the Metabase versions it supports (for example, "Requires Metabase >=1.62"). If your Metabase version isn't in that range, Metabase rejects the upload and tells you which version the plugin needs. +- The **Manage visualizations** page shows each plugin's icon, name, the first eight characters of the bundle's hash, and its required Metabase version range, so you can tell which version is installed. + +## Using a custom visualization + +On a question, dashboard or document card, open the visualization sidebar (the **Visualization** button), and look for the **Custom visualizations** section. Pick your visualization the same way you'd pick a line chart or a table, and voilà, there's that gondola line chart you needed: + +![Gondola line chart](../images/gondola-line-chart.png) + +If a custom visualization can't render the current query results (for example, if the query is missing a column the visualization needs), Metabase shows the error message from the plugin so you can adjust the query or pick a different chart. + +Custom visualizations behave like built-in charts in most places: + +- **Settings.** Click the **gear** icon in the visualization sidebar to change the visualization's settings. A plugin defines its own setting tabs: each setting names the section it belongs to. +- **Dark mode.** Plugins that use Metabase's colors adapt to [dark mode](../../people-and-groups/account-settings#theme) automatically. +- **Icons.** A custom visualization shows its own icon in the visualization picker, and questions that use it show that icon in collections and bookmarks. + +## Managing custom visualizations + +_Admin > Settings > Custom visualizations > Manage visualizations_ + +- **Disable a visualization.** Any question, dashboard card, or document card that used the visualization falls back to the default visualization for that query's results. If you re-enable the plugin, those cards will go back to using the custom visualization. +- **Replace a bundle.** Upload a new `.tgz` to ship an updated version of a plugin. The new bundle's manifest `name` _must_ match the existing plugin's identifier, so questions that already use the visualization keep working. +- **Remove a visualization.** Cards that used the custom viz fall back to the default visualization. + +## Exports + +- **Dashboard subscriptions and alerts don't use custom visualizations**. Cards that use custom visualizations will fall back to a default visualization for the card's data shape. +- **PDF exports of dashboards include custom visualizations**. +- **Custom visualizations can support PNG export**, but only if its developer turned on PNG export for that plugin. PNG export is off by default. + +## Only add plugins you trust + +A custom visualization plugin runs JavaScript in your Metabase. Only upload plugins from sources you trust (like plugins you've built yourself, or have vetted). + +Metabase runs custom visualizations in a sandbox to limit what a plugin can do: + +- A plugin renders inside an isolated container and can't reach the rest of the Metabase app. +- A plugin can't call Metabase's APIs or make network requests. + +While this sandboxing limits the damage a plugin can do, you still need to review the code. + +## Further reading + +- [Building custom visualizations](../../developers-guide/custom-visualizations) +- [Visualization overview](./visualizing-results) +- [Appearance](../../configuring-metabase/appearance) diff --git a/_docs/latest/questions/visualizations/detail.md b/_docs/latest/questions/visualizations/detail.md index e74378b57e..5d0daf385d 100644 --- a/_docs/latest/questions/visualizations/detail.md +++ b/_docs/latest/questions/visualizations/detail.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/visualizations/drill-through.md b/_docs/latest/questions/visualizations/drill-through.md index 41898845a7..a0b47c04d4 100644 --- a/_docs/latest/questions/visualizations/drill-through.md +++ b/_docs/latest/questions/visualizations/drill-through.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/visualizations/funnel.md b/_docs/latest/questions/visualizations/funnel.md index 1883ffb583..9ff2423f09 100644 --- a/_docs/latest/questions/visualizations/funnel.md +++ b/_docs/latest/questions/visualizations/funnel.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/visualizations/gauge.md b/_docs/latest/questions/visualizations/gauge.md index 6a951fabc7..9aa6836a2e 100644 --- a/_docs/latest/questions/visualizations/gauge.md +++ b/_docs/latest/questions/visualizations/gauge.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/visualizations/line-bar-and-area-charts.md b/_docs/latest/questions/visualizations/line-bar-and-area-charts.md index cabdc0a75f..2884afb2ba 100644 --- a/_docs/latest/questions/visualizations/line-bar-and-area-charts.md +++ b/_docs/latest/questions/visualizations/line-bar-and-area-charts.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/visualizations/map.md b/_docs/latest/questions/visualizations/map.md index c77b0321f4..03dd1c5390 100644 --- a/_docs/latest/questions/visualizations/map.md +++ b/_docs/latest/questions/visualizations/map.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/visualizations/numbers.md b/_docs/latest/questions/visualizations/numbers.md index fb6e0ea723..0b872d53db 100644 --- a/_docs/latest/questions/visualizations/numbers.md +++ b/_docs/latest/questions/visualizations/numbers.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/visualizations/pie-or-donut-chart.md b/_docs/latest/questions/visualizations/pie-or-donut-chart.md index cbffe4d415..53639c6a57 100644 --- a/_docs/latest/questions/visualizations/pie-or-donut-chart.md +++ b/_docs/latest/questions/visualizations/pie-or-donut-chart.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/visualizations/pivot-table.md b/_docs/latest/questions/visualizations/pivot-table.md index 909d811ec9..30813528d1 100644 --- a/_docs/latest/questions/visualizations/pivot-table.md +++ b/_docs/latest/questions/visualizations/pivot-table.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/visualizations/progress-bar.md b/_docs/latest/questions/visualizations/progress-bar.md index 20fd761791..0759390fd0 100644 --- a/_docs/latest/questions/visualizations/progress-bar.md +++ b/_docs/latest/questions/visualizations/progress-bar.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/visualizations/sankey.md b/_docs/latest/questions/visualizations/sankey.md index f15f99c6da..be3e2585f2 100644 --- a/_docs/latest/questions/visualizations/sankey.md +++ b/_docs/latest/questions/visualizations/sankey.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/visualizations/scatterplot-or-bubble-chart.md b/_docs/latest/questions/visualizations/scatterplot-or-bubble-chart.md index 2d11368bf3..517eeea06e 100644 --- a/_docs/latest/questions/visualizations/scatterplot-or-bubble-chart.md +++ b/_docs/latest/questions/visualizations/scatterplot-or-bubble-chart.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/visualizations/table.md b/_docs/latest/questions/visualizations/table.md index f06a1aef38..a5b3eb9f4d 100644 --- a/_docs/latest/questions/visualizations/table.md +++ b/_docs/latest/questions/visualizations/table.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/visualizations/tooltips.md b/_docs/latest/questions/visualizations/tooltips.md index 2b71d4b5b6..d281899aba 100644 --- a/_docs/latest/questions/visualizations/tooltips.md +++ b/_docs/latest/questions/visualizations/tooltips.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/visualizations/trend.md b/_docs/latest/questions/visualizations/trend.md index 31021812f5..45eed4998d 100644 --- a/_docs/latest/questions/visualizations/trend.md +++ b/_docs/latest/questions/visualizations/trend.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/questions/visualizations/visualizing-results.md b/_docs/latest/questions/visualizations/visualizing-results.md index 2830fa4e65..4b602c9c58 100644 --- a/_docs/latest/questions/visualizations/visualizing-results.md +++ b/_docs/latest/questions/visualizations/visualizing-results.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -177,6 +177,10 @@ If you have a bar chart like Count of Users by Age, where the x-axis is a number ![Scatter](../images/scatter.png) +## Custom visualizations + +On [Pro and Enterprise plans](/pricing/), admins can add [custom visualizations](./custom): chart types you build with the Custom Visualizations SDK and upload to Metabase. Once a custom visualization is installed, it shows up in the visualization picker alongside the built-in charts. + ## Styling and formatting data in charts ![Chart formatting options](../images/chart-formatting-options.png) @@ -190,5 +194,6 @@ See also [Formatting defaults](../../data-modeling/formatting). ## Further reading - [Charts with multiple series](../../dashboards/multiple-series) +- [Custom visualizations](./custom) - [Appearance](../../configuring-metabase/appearance) - [BI dashboard best practices](/learn/metabase-basics/querying-and-dashboards/dashboards/bi-dashboard-best-practices) diff --git a/_docs/latest/questions/visualizations/waterfall-chart.md b/_docs/latest/questions/visualizations/waterfall-chart.md index 808373e247..9ed7703986 100644 --- a/_docs/latest/questions/visualizations/waterfall-chart.md +++ b/_docs/latest/questions/visualizations/waterfall-chart.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/troubleshooting-guide/bigquery-drive.md b/_docs/latest/troubleshooting-guide/bigquery-drive.md index 3b0a1e8dc1..0b6d2077b0 100644 --- a/_docs/latest/troubleshooting-guide/bigquery-drive.md +++ b/_docs/latest/troubleshooting-guide/bigquery-drive.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/troubleshooting-guide/bugs.md b/_docs/latest/troubleshooting-guide/bugs.md index f580614883..51b6ee4033 100644 --- a/_docs/latest/troubleshooting-guide/bugs.md +++ b/_docs/latest/troubleshooting-guide/bugs.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/troubleshooting-guide/cant-log-in.md b/_docs/latest/troubleshooting-guide/cant-log-in.md index 1424ff38ba..db5cdc027e 100644 --- a/_docs/latest/troubleshooting-guide/cant-log-in.md +++ b/_docs/latest/troubleshooting-guide/cant-log-in.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/troubleshooting-guide/cant-see-tables.md b/_docs/latest/troubleshooting-guide/cant-see-tables.md index e4a65268a9..411cdababf 100644 --- a/_docs/latest/troubleshooting-guide/cant-see-tables.md +++ b/_docs/latest/troubleshooting-guide/cant-see-tables.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/troubleshooting-guide/cant-send-email.md b/_docs/latest/troubleshooting-guide/cant-send-email.md index e50da56ad1..d0733f20fe 100644 --- a/_docs/latest/troubleshooting-guide/cant-send-email.md +++ b/_docs/latest/troubleshooting-guide/cant-send-email.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/troubleshooting-guide/cant-view-or-edit.md b/_docs/latest/troubleshooting-guide/cant-view-or-edit.md index 8ac3321ffc..e2e0137884 100644 --- a/_docs/latest/troubleshooting-guide/cant-view-or-edit.md +++ b/_docs/latest/troubleshooting-guide/cant-view-or-edit.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/troubleshooting-guide/create-har-file.md b/_docs/latest/troubleshooting-guide/create-har-file.md index eeba16139e..849549c25d 100644 --- a/_docs/latest/troubleshooting-guide/create-har-file.md +++ b/_docs/latest/troubleshooting-guide/create-har-file.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/troubleshooting-guide/data-permissions.md b/_docs/latest/troubleshooting-guide/data-permissions.md index 270fe716ea..b02ec1731b 100644 --- a/_docs/latest/troubleshooting-guide/data-permissions.md +++ b/_docs/latest/troubleshooting-guide/data-permissions.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/troubleshooting-guide/db-connection.md b/_docs/latest/troubleshooting-guide/db-connection.md index 50cc250a77..6cb2352f9b 100644 --- a/_docs/latest/troubleshooting-guide/db-connection.md +++ b/_docs/latest/troubleshooting-guide/db-connection.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/troubleshooting-guide/db-performance.md b/_docs/latest/troubleshooting-guide/db-performance.md index 7e975f1526..bcbebe064f 100644 --- a/_docs/latest/troubleshooting-guide/db-performance.md +++ b/_docs/latest/troubleshooting-guide/db-performance.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/troubleshooting-guide/diagnostic-info.md b/_docs/latest/troubleshooting-guide/diagnostic-info.md index da3cbcacd4..204c352bf7 100644 --- a/_docs/latest/troubleshooting-guide/diagnostic-info.md +++ b/_docs/latest/troubleshooting-guide/diagnostic-info.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/troubleshooting-guide/docker.md b/_docs/latest/troubleshooting-guide/docker.md index 5fdfd40862..fec0e9a671 100644 --- a/_docs/latest/troubleshooting-guide/docker.md +++ b/_docs/latest/troubleshooting-guide/docker.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/troubleshooting-guide/error-message.md b/_docs/latest/troubleshooting-guide/error-message.md index 35d51fc803..02073883a6 100644 --- a/_docs/latest/troubleshooting-guide/error-message.md +++ b/_docs/latest/troubleshooting-guide/error-message.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/troubleshooting-guide/filters.md b/_docs/latest/troubleshooting-guide/filters.md index d082f437dc..76ef26851b 100644 --- a/_docs/latest/troubleshooting-guide/filters.md +++ b/_docs/latest/troubleshooting-guide/filters.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/troubleshooting-guide/index.md b/_docs/latest/troubleshooting-guide/index.md index 2cced324d5..ca6d1747a7 100644 --- a/_docs/latest/troubleshooting-guide/index.md +++ b/_docs/latest/troubleshooting-guide/index.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: false diff --git a/_docs/latest/troubleshooting-guide/known-issues.md b/_docs/latest/troubleshooting-guide/known-issues.md index 48bbc259ab..c4d85262ac 100644 --- a/_docs/latest/troubleshooting-guide/known-issues.md +++ b/_docs/latest/troubleshooting-guide/known-issues.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/troubleshooting-guide/ldap.md b/_docs/latest/troubleshooting-guide/ldap.md index e84f51aa87..45825dc303 100644 --- a/_docs/latest/troubleshooting-guide/ldap.md +++ b/_docs/latest/troubleshooting-guide/ldap.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/troubleshooting-guide/linked-filters.md b/_docs/latest/troubleshooting-guide/linked-filters.md index 3fe5cdc07a..eac9d07928 100644 --- a/_docs/latest/troubleshooting-guide/linked-filters.md +++ b/_docs/latest/troubleshooting-guide/linked-filters.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/troubleshooting-guide/loading-from-h2.md b/_docs/latest/troubleshooting-guide/loading-from-h2.md index 3622b499aa..ae6f955ebc 100644 --- a/_docs/latest/troubleshooting-guide/loading-from-h2.md +++ b/_docs/latest/troubleshooting-guide/loading-from-h2.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/troubleshooting-guide/models.md b/_docs/latest/troubleshooting-guide/models.md index 1e39397e55..6bbec0b95e 100644 --- a/_docs/latest/troubleshooting-guide/models.md +++ b/_docs/latest/troubleshooting-guide/models.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/troubleshooting-guide/my-dashboard-is-slow.md b/_docs/latest/troubleshooting-guide/my-dashboard-is-slow.md index 8ccaecea11..b45c24e4bd 100644 --- a/_docs/latest/troubleshooting-guide/my-dashboard-is-slow.md +++ b/_docs/latest/troubleshooting-guide/my-dashboard-is-slow.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/troubleshooting-guide/notifications.md b/_docs/latest/troubleshooting-guide/notifications.md index 6b1b7a5a43..e2fb095c8f 100644 --- a/_docs/latest/troubleshooting-guide/notifications.md +++ b/_docs/latest/troubleshooting-guide/notifications.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/troubleshooting-guide/permissions.md b/_docs/latest/troubleshooting-guide/permissions.md index 8e6ff54096..c3b7747fbf 100644 --- a/_docs/latest/troubleshooting-guide/permissions.md +++ b/_docs/latest/troubleshooting-guide/permissions.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/troubleshooting-guide/proxies.md b/_docs/latest/troubleshooting-guide/proxies.md index eb852a48eb..4f83e9d7d2 100644 --- a/_docs/latest/troubleshooting-guide/proxies.md +++ b/_docs/latest/troubleshooting-guide/proxies.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/troubleshooting-guide/requesting-new-features.md b/_docs/latest/troubleshooting-guide/requesting-new-features.md index 85aaa6a044..8cc6aed50d 100644 --- a/_docs/latest/troubleshooting-guide/requesting-new-features.md +++ b/_docs/latest/troubleshooting-guide/requesting-new-features.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/troubleshooting-guide/row-and-column-security.md b/_docs/latest/troubleshooting-guide/row-and-column-security.md index 95436c506b..162b9ef6b7 100644 --- a/_docs/latest/troubleshooting-guide/row-and-column-security.md +++ b/_docs/latest/troubleshooting-guide/row-and-column-security.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/troubleshooting-guide/running.md b/_docs/latest/troubleshooting-guide/running.md index 23a6988cc7..98ee232f79 100644 --- a/_docs/latest/troubleshooting-guide/running.md +++ b/_docs/latest/troubleshooting-guide/running.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/troubleshooting-guide/saml.md b/_docs/latest/troubleshooting-guide/saml.md index e65036357c..414ae53845 100644 --- a/_docs/latest/troubleshooting-guide/saml.md +++ b/_docs/latest/troubleshooting-guide/saml.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/troubleshooting-guide/server-logs.md b/_docs/latest/troubleshooting-guide/server-logs.md index f0b7be3e67..d5bcd068a6 100644 --- a/_docs/latest/troubleshooting-guide/server-logs.md +++ b/_docs/latest/troubleshooting-guide/server-logs.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/troubleshooting-guide/sql.md b/_docs/latest/troubleshooting-guide/sql.md index f91b825712..233653742c 100644 --- a/_docs/latest/troubleshooting-guide/sql.md +++ b/_docs/latest/troubleshooting-guide/sql.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/troubleshooting-guide/sync-fingerprint-scan.md b/_docs/latest/troubleshooting-guide/sync-fingerprint-scan.md index 06e65c1d70..0fe7da0d84 100644 --- a/_docs/latest/troubleshooting-guide/sync-fingerprint-scan.md +++ b/_docs/latest/troubleshooting-guide/sync-fingerprint-scan.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/troubleshooting-guide/timeout.md b/_docs/latest/troubleshooting-guide/timeout.md index 35fcd95bbe..41d0d1d380 100644 --- a/_docs/latest/troubleshooting-guide/timeout.md +++ b/_docs/latest/troubleshooting-guide/timeout.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/troubleshooting-guide/timezones.md b/_docs/latest/troubleshooting-guide/timezones.md index 672812e5a2..7dfd8be576 100644 --- a/_docs/latest/troubleshooting-guide/timezones.md +++ b/_docs/latest/troubleshooting-guide/timezones.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/troubleshooting-guide/visualization.md b/_docs/latest/troubleshooting-guide/visualization.md index 6f64eb82ef..11450c1f63 100644 --- a/_docs/latest/troubleshooting-guide/visualization.md +++ b/_docs/latest/troubleshooting-guide/visualization.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/usage-and-performance-tools/audit.md b/_docs/latest/usage-and-performance-tools/audit.md index 0b2c946dfe..d8b787e245 100644 --- a/_docs/latest/usage-and-performance-tools/audit.md +++ b/_docs/latest/usage-and-performance-tools/audit.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/usage-and-performance-tools/start.md b/_docs/latest/usage-and-performance-tools/start.md index 29414e56bc..817e3fab03 100644 --- a/_docs/latest/usage-and-performance-tools/start.md +++ b/_docs/latest/usage-and-performance-tools/start.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: false diff --git a/_docs/latest/usage-and-performance-tools/tools.md b/_docs/latest/usage-and-performance-tools/tools.md index 4b1c283c9f..7ed2b6816a 100644 --- a/_docs/latest/usage-and-performance-tools/tools.md +++ b/_docs/latest/usage-and-performance-tools/tools.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/latest/usage-and-performance-tools/usage-analytics-reference.md b/_docs/latest/usage-and-performance-tools/usage-analytics-reference.md index 717dd8a696..e8be5a8470 100644 --- a/_docs/latest/usage-and-performance-tools/usage-analytics-reference.md +++ b/_docs/latest/usage-and-performance-tools/usage-analytics-reference.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true @@ -204,6 +204,8 @@ Columns: - IP Address - Tenant ID - Request ID +- Cache Creation Tokens +- Cache Read Tokens ### Alerts @@ -582,6 +584,9 @@ The Topic column on the [Activity log](#activity-log) model takes one of: - comment-delete - comment-update - create-permission-failure +- custom-viz-plugin-create +- custom-viz-plugin-delete +- custom-viz-plugin-update - dashboard-add-cards - dashboard-create - dashboard-delete @@ -644,7 +649,9 @@ The Topic column on the [Activity log](#activity-log) model takes one of: - transform-delete - transform-inspect-discover - transform-inspect-lens +- transform-run-canceled - transform-run-start +- transform-run-timeout - update-permission-failure - update-transform - upload-append diff --git a/_docs/latest/usage-and-performance-tools/usage-analytics.md b/_docs/latest/usage-and-performance-tools/usage-analytics.md index 929f8dc45a..4f529d1538 100644 --- a/_docs/latest/usage-and-performance-tools/usage-analytics.md +++ b/_docs/latest/usage-and-performance-tools/usage-analytics.md @@ -1,5 +1,5 @@ --- -version: v0.61 +version: v0.62 has_magic_breadcrumbs: true show_category_breadcrumb: true show_title_breadcrumb: true diff --git a/_docs/v0.62/configuring-metabase/environment-variables.md b/_docs/v0.62/configuring-metabase/environment-variables.md index e44628ef45..1bf07dbc3e 100644 --- a/_docs/v0.62/configuring-metabase/environment-variables.md +++ b/_docs/v0.62/configuring-metabase/environment-variables.md @@ -2770,7 +2770,7 @@ Comma-separated namespaces to trace. **WARNING:** Could log sensitive informatio ### `MB_PASSWORD_COMPLEXITY` -Type: string (`"weak"`, `"normal"`, `"strong"`)
    +Type: string (`"weak"`, `"normal"`, `"strong"`, `"strong-enough"`)
    Default: `"normal"` Enforce a password complexity rule to increase security for regular logins. This only applies to new users or users that are changing their password. Related [MB_PASSWORD_LENGTH](#mb_password_length) @@ -2778,6 +2778,7 @@ Enforce a password complexity rule to increase security for regular logins. This - `weak` no character constraints - `normal` at least 1 digit - `strong` minimum 8 characters w/ 2 lowercase, 2 uppercase, 1 digit, and 1 special character +- `strong-enough` minimum 15 characters ### `MB_PASSWORD_LENGTH` diff --git a/_docs/v0.62/dashboards/filters.md b/_docs/v0.62/dashboards/filters.md index d086291102..263c8f9af8 100644 --- a/_docs/v0.62/dashboards/filters.md +++ b/_docs/v0.62/dashboards/filters.md @@ -122,7 +122,15 @@ Additionally, you can select an operator for the location filter: ### ID filter -The ID filter provides a simple input box where you can type the ID of a user, order, and so on. +The ID filter lets people filter on the ID of a user, order, and so on. + +You can select how people should filter on this column: + +- Dropdown list +- Search box +- Input box + +See [Set filter input type](#set-filter-input-type). To control which values appear in the dropdown or search box, see [Change a filter's selectable values](#change-a-filters-selectable-values). You can give people the option to pick one value or multiple values. @@ -248,7 +256,7 @@ To change the widget type: 1. When viewing a dashboard, click the **pencil** icon to **Edit the dashboard**. 2. Click on the filter or parameter you want to edit. A widget editing sidebar should pop up on the right side. -3. In the sidebar, change the type of filter or parameter. Changing the widget type disconnects the widget from all cards. You'll need to reconnect to the relevant columns on each card for the new type. If you've changed the widget type by mistake and want to restore the widget and its connections to cards, you can exit dashboard edit mode without saving your changes. +3. In the sidebar, change the type of filter or parameter. Changing the widget type disconnects the widget from all cards. You'll need to reconnect the widget to the relevant columns on each card for the new type. If you've changed the widget type by mistake and want to restore the widget and its connections to cards, you can exit dashboard edit mode without saving your changes. ### Change filter operator @@ -312,11 +320,11 @@ A multi-select filter with the widget type [Dropdown list](#dropdown-list) or [S 3. Select "Dropdown list". If you don't see "Dropdown list" as an option, go to [Filter widgets: Dropdown list](#dropdown-list) for more info. 4. Click **Edit** (to the right of "Dropdown list") to specify where the values should come from: - - From connected fields - - From another model or question - - Custom list + - **From connected fields:** Use the values from the field the filter is connected to. + - **From another model or question:** Pick a model or question (built with either the query builder or SQL), then set the **Column to supply the values** that the filter should pass along. You can also set a **Column to supply the labels** to show friendly labels in the dropdown while still filtering on the underlying values. For example, you could filter on product ID while showing the product's title so people can search for products by name or ID. + - **Custom list:** Enter each value on its own line. - ![Selectable values](./images/selectable-values.png) +![Selectable values](./images/selectable-values.png) ### Set a default filter value diff --git a/_docs/v0.62/dashboards/images/selectable-values.png b/_docs/v0.62/dashboards/images/selectable-values.png index ea42a7b321..67bafddaf5 100644 Binary files a/_docs/v0.62/dashboards/images/selectable-values.png and b/_docs/v0.62/dashboards/images/selectable-values.png differ diff --git a/_docs/v0.62/developers-guide/mage.md b/_docs/v0.62/developers-guide/mage.md index e3c01edf71..0e6041aecc 100644 --- a/_docs/v0.62/developers-guide/mage.md +++ b/_docs/v0.62/developers-guide/mage.md @@ -7,6 +7,7 @@ category: 'Developers Guide' title: Mage source_url: 'https://github.com/metabase/metabase/blob/master/docs/developers-guide/mage.md' layout: new-docs +latest: true --- # MAGE - Development Automation diff --git a/_docs/v0.62/developers-guide/security-token-scanner.md b/_docs/v0.62/developers-guide/security-token-scanner.md index e2adea1ae1..45ba8b2974 100644 --- a/_docs/v0.62/developers-guide/security-token-scanner.md +++ b/_docs/v0.62/developers-guide/security-token-scanner.md @@ -7,6 +7,7 @@ category: 'Developers Guide' title: 'Security Token Scanner' source_url: 'https://github.com/metabase/metabase/blob/master/docs/developers-guide/security-token-scanner.md' layout: new-docs +latest: true --- # Security Token Scanner diff --git a/_docs/v0.62/embedding/eajs/snippets/MetabaseBrowserAttributes.md b/_docs/v0.62/embedding/eajs/snippets/MetabaseBrowserAttributes.md index e2a8b5665b..8c343e8189 100644 --- a/_docs/v0.62/embedding/eajs/snippets/MetabaseBrowserAttributes.md +++ b/_docs/v0.62/embedding/eajs/snippets/MetabaseBrowserAttributes.md @@ -7,6 +7,7 @@ category: Embedding title: MetabaseBrowserAttributes source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/eajs/snippets/MetabaseBrowserAttributes.md' layout: new-docs +latest: true --- Attributes for the `` web component. diff --git a/_docs/v0.62/embedding/eajs/snippets/MetabaseMetabotAttributes.md b/_docs/v0.62/embedding/eajs/snippets/MetabaseMetabotAttributes.md index eaced10817..51e6b65916 100644 --- a/_docs/v0.62/embedding/eajs/snippets/MetabaseMetabotAttributes.md +++ b/_docs/v0.62/embedding/eajs/snippets/MetabaseMetabotAttributes.md @@ -7,6 +7,7 @@ category: Embedding title: MetabaseMetabotAttributes source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/eajs/snippets/MetabaseMetabotAttributes.md' layout: new-docs +latest: true --- Attributes for the `` web component. diff --git a/_docs/v0.62/embedding/sdk/api/snippets/ButtonProps.md b/_docs/v0.62/embedding/sdk/api/snippets/ButtonProps.md index a223d4e7aa..4f63be16e4 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/ButtonProps.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/ButtonProps.md @@ -7,6 +7,7 @@ category: Embedding title: ButtonProps source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/ButtonProps.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/ChartColor.md b/_docs/v0.62/embedding/sdk/api/snippets/ChartColor.md index cf37ab2311..d80bc78034 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/ChartColor.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/ChartColor.md @@ -7,6 +7,7 @@ category: Embedding title: ChartColor source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/ChartColor.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/ChartColorV2.md b/_docs/v0.62/embedding/sdk/api/snippets/ChartColorV2.md index 52c74b6aed..87b78bc2d3 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/ChartColorV2.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/ChartColorV2.md @@ -7,6 +7,7 @@ category: Embedding title: ChartColorV2 source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/ChartColorV2.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/CollectionBrowserListColumns.md b/_docs/v0.62/embedding/sdk/api/snippets/CollectionBrowserListColumns.md index d9012e5f73..b12f398829 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/CollectionBrowserListColumns.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/CollectionBrowserListColumns.md @@ -7,6 +7,7 @@ category: Embedding title: CollectionBrowserListColumns source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/CollectionBrowserListColumns.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/DashboardCardMenu.md b/_docs/v0.62/embedding/sdk/api/snippets/DashboardCardMenu.md index f7e442dc80..5c94aa937b 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/DashboardCardMenu.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/DashboardCardMenu.md @@ -7,6 +7,7 @@ category: Embedding title: DashboardCardMenu source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/DashboardCardMenu.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/EmbeddingDataPicker.md b/_docs/v0.62/embedding/sdk/api/snippets/EmbeddingDataPicker.md index 82e566d592..60021d2871 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/EmbeddingDataPicker.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/EmbeddingDataPicker.md @@ -7,6 +7,7 @@ category: Embedding title: EmbeddingDataPicker source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/EmbeddingDataPicker.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/EmbeddingEntityType.md b/_docs/v0.62/embedding/sdk/api/snippets/EmbeddingEntityType.md index 2d12ecb40c..ccdae01b04 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/EmbeddingEntityType.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/EmbeddingEntityType.md @@ -7,6 +7,7 @@ category: Embedding title: EmbeddingEntityType source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/EmbeddingEntityType.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/EntityTypeFilterKeys.md b/_docs/v0.62/embedding/sdk/api/snippets/EntityTypeFilterKeys.md index 69cd9ceaf9..04b9aca221 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/EntityTypeFilterKeys.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/EntityTypeFilterKeys.md @@ -7,6 +7,7 @@ category: Embedding title: EntityTypeFilterKeys source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/EntityTypeFilterKeys.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/IconName.md b/_docs/v0.62/embedding/sdk/api/snippets/IconName.md index 028b6c437d..1bfe01c227 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/IconName.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/IconName.md @@ -7,6 +7,7 @@ category: Embedding title: IconName source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/IconName.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/InitializationStatus.md b/_docs/v0.62/embedding/sdk/api/snippets/InitializationStatus.md index ec20c1c5d4..103d1ef54a 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/InitializationStatus.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/InitializationStatus.md @@ -7,6 +7,7 @@ category: Embedding title: InitializationStatus source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/InitializationStatus.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionBackButtonProps.md b/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionBackButtonProps.md index decce5bdb3..12a464df34 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionBackButtonProps.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionBackButtonProps.md @@ -7,6 +7,7 @@ category: Embedding title: InteractiveQuestionBackButtonProps source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/InteractiveQuestionBackButtonProps.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionBreakoutDropdownProps.md b/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionBreakoutDropdownProps.md index 63ec764b1e..3d9aa3e47c 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionBreakoutDropdownProps.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionBreakoutDropdownProps.md @@ -7,6 +7,7 @@ category: Embedding title: InteractiveQuestionBreakoutDropdownProps source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/InteractiveQuestionBreakoutDropdownProps.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionChartTypeDropdownProps.md b/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionChartTypeDropdownProps.md index 870b76b349..17854c06ea 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionChartTypeDropdownProps.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionChartTypeDropdownProps.md @@ -7,6 +7,7 @@ category: Embedding title: InteractiveQuestionChartTypeDropdownProps source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/InteractiveQuestionChartTypeDropdownProps.md' layout: new-docs +latest: true --- **`Expand`** diff --git a/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionChartTypeSelectorProps.md b/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionChartTypeSelectorProps.md index edfa5fbed6..3cc6bee750 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionChartTypeSelectorProps.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionChartTypeSelectorProps.md @@ -7,6 +7,7 @@ category: Embedding title: InteractiveQuestionChartTypeSelectorProps source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/InteractiveQuestionChartTypeSelectorProps.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionDownloadWidgetDropdownProps.md b/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionDownloadWidgetDropdownProps.md index 31e05de6f2..c90f372c01 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionDownloadWidgetDropdownProps.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionDownloadWidgetDropdownProps.md @@ -7,6 +7,7 @@ category: Embedding title: InteractiveQuestionDownloadWidgetDropdownProps source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/InteractiveQuestionDownloadWidgetDropdownProps.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionDownloadWidgetProps.md b/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionDownloadWidgetProps.md index d89a54dd8e..87170ed9d9 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionDownloadWidgetProps.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionDownloadWidgetProps.md @@ -7,6 +7,7 @@ category: Embedding title: InteractiveQuestionDownloadWidgetProps source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/InteractiveQuestionDownloadWidgetProps.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionEditorButtonProps.md b/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionEditorButtonProps.md index 5aae32acf9..c4e102aeb3 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionEditorButtonProps.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionEditorButtonProps.md @@ -7,6 +7,7 @@ category: Embedding title: InteractiveQuestionEditorButtonProps source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/InteractiveQuestionEditorButtonProps.md' layout: new-docs +latest: true --- **`Expand`** diff --git a/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionEditorProps.md b/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionEditorProps.md index 664ec4528a..be5c396cd5 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionEditorProps.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionEditorProps.md @@ -7,6 +7,7 @@ category: Embedding title: InteractiveQuestionEditorProps source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/InteractiveQuestionEditorProps.md' layout: new-docs +latest: true --- **`Expand`** diff --git a/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionFilterDropdownProps.md b/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionFilterDropdownProps.md index 2ccfbd9140..26509ac0ef 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionFilterDropdownProps.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionFilterDropdownProps.md @@ -7,6 +7,7 @@ category: Embedding title: InteractiveQuestionFilterDropdownProps source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/InteractiveQuestionFilterDropdownProps.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionFilterProps.md b/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionFilterProps.md index 206f5b27b6..75d37faddc 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionFilterProps.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionFilterProps.md @@ -7,6 +7,7 @@ category: Embedding title: InteractiveQuestionFilterProps source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/InteractiveQuestionFilterProps.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionQuestionSettingsDropdownProps.md b/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionQuestionSettingsDropdownProps.md index 0c757852b0..f8273ec5b0 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionQuestionSettingsDropdownProps.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionQuestionSettingsDropdownProps.md @@ -7,6 +7,7 @@ category: Embedding title: InteractiveQuestionQuestionSettingsDropdownProps source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/InteractiveQuestionQuestionSettingsDropdownProps.md' layout: new-docs +latest: true --- **`Expand`** diff --git a/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionQuestionSettingsProps.md b/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionQuestionSettingsProps.md index 4034e60773..82d1711efb 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionQuestionSettingsProps.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionQuestionSettingsProps.md @@ -7,6 +7,7 @@ category: Embedding title: InteractiveQuestionQuestionSettingsProps source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/InteractiveQuestionQuestionSettingsProps.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionQuestionVisualizationProps.md b/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionQuestionVisualizationProps.md index f458c04f9f..2d5cdefee1 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionQuestionVisualizationProps.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionQuestionVisualizationProps.md @@ -7,6 +7,7 @@ category: Embedding title: InteractiveQuestionQuestionVisualizationProps source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/InteractiveQuestionQuestionVisualizationProps.md' layout: new-docs +latest: true --- **`Expand`** diff --git a/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionResetButtonProps.md b/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionResetButtonProps.md index d6594b5911..0c5d0fcd72 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionResetButtonProps.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionResetButtonProps.md @@ -7,6 +7,7 @@ category: Embedding title: InteractiveQuestionResetButtonProps source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/InteractiveQuestionResetButtonProps.md' layout: new-docs +latest: true --- **`Expand`** diff --git a/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionSaveButtonProps.md b/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionSaveButtonProps.md index ce7030d530..1780aefb3e 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionSaveButtonProps.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionSaveButtonProps.md @@ -7,6 +7,7 @@ category: Embedding title: InteractiveQuestionSaveButtonProps source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/InteractiveQuestionSaveButtonProps.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionSaveQuestionFormProps.md b/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionSaveQuestionFormProps.md index 1f683fe553..29235a3364 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionSaveQuestionFormProps.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionSaveQuestionFormProps.md @@ -7,6 +7,7 @@ category: Embedding title: InteractiveQuestionSaveQuestionFormProps source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/InteractiveQuestionSaveQuestionFormProps.md' layout: new-docs +latest: true --- **`Expand`** diff --git a/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionSummarizeDropdownProps.md b/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionSummarizeDropdownProps.md index 4b19b76300..2dfc66b4cd 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionSummarizeDropdownProps.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionSummarizeDropdownProps.md @@ -7,6 +7,7 @@ category: Embedding title: InteractiveQuestionSummarizeDropdownProps source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/InteractiveQuestionSummarizeDropdownProps.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionTitleProps.md b/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionTitleProps.md index ee728c4e0a..739e30f6d6 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionTitleProps.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/InteractiveQuestionTitleProps.md @@ -7,6 +7,7 @@ category: Embedding title: InteractiveQuestionTitleProps source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/InteractiveQuestionTitleProps.md' layout: new-docs +latest: true --- **`Expand`** diff --git a/_docs/v0.62/embedding/sdk/api/snippets/LoginStatus.md b/_docs/v0.62/embedding/sdk/api/snippets/LoginStatus.md index f83a40b891..9b10d33540 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/LoginStatus.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/LoginStatus.md @@ -7,6 +7,7 @@ category: Embedding title: LoginStatus source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/LoginStatus.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/MetabaseAuthConfig.md b/_docs/v0.62/embedding/sdk/api/snippets/MetabaseAuthConfig.md index 12c0afde04..592de0c4e5 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/MetabaseAuthConfig.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/MetabaseAuthConfig.md @@ -7,6 +7,7 @@ category: Embedding title: MetabaseAuthConfig source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/MetabaseAuthConfig.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/MetabaseAuthConfigWithApiKey.md b/_docs/v0.62/embedding/sdk/api/snippets/MetabaseAuthConfigWithApiKey.md index 65eda1ea9f..0ca2b81905 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/MetabaseAuthConfigWithApiKey.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/MetabaseAuthConfigWithApiKey.md @@ -7,6 +7,7 @@ category: Embedding title: MetabaseAuthConfigWithApiKey source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/MetabaseAuthConfigWithApiKey.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/MetabaseAuthConfigWithSaml.md b/_docs/v0.62/embedding/sdk/api/snippets/MetabaseAuthConfigWithSaml.md index 6ae924074c..d8978588db 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/MetabaseAuthConfigWithSaml.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/MetabaseAuthConfigWithSaml.md @@ -7,6 +7,7 @@ category: Embedding title: MetabaseAuthConfigWithSaml source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/MetabaseAuthConfigWithSaml.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/MetabaseClickAction.md b/_docs/v0.62/embedding/sdk/api/snippets/MetabaseClickAction.md index 6cc71d58ea..66720d699c 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/MetabaseClickAction.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/MetabaseClickAction.md @@ -7,6 +7,7 @@ category: Embedding title: MetabaseClickAction source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/MetabaseClickAction.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/MetabaseColorKey.md b/_docs/v0.62/embedding/sdk/api/snippets/MetabaseColorKey.md index 0d71ccf40a..428a2fc2c0 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/MetabaseColorKey.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/MetabaseColorKey.md @@ -7,6 +7,7 @@ category: Embedding title: MetabaseColorKey source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/MetabaseColorKey.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/MetabaseComponentTheme.md b/_docs/v0.62/embedding/sdk/api/snippets/MetabaseComponentTheme.md index bbb01b0fb0..cbfa99db6b 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/MetabaseComponentTheme.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/MetabaseComponentTheme.md @@ -7,6 +7,7 @@ category: Embedding title: MetabaseComponentTheme source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/MetabaseComponentTheme.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/MetabaseEmbeddingColorKeyV2.md b/_docs/v0.62/embedding/sdk/api/snippets/MetabaseEmbeddingColorKeyV2.md index 60033875c4..06627e4570 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/MetabaseEmbeddingColorKeyV2.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/MetabaseEmbeddingColorKeyV2.md @@ -7,6 +7,7 @@ category: Embedding title: MetabaseEmbeddingColorKeyV2 source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/MetabaseEmbeddingColorKeyV2.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/MetabaseEmbeddingTheme.md b/_docs/v0.62/embedding/sdk/api/snippets/MetabaseEmbeddingTheme.md index 65752c73f5..fedbc6e4bf 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/MetabaseEmbeddingTheme.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/MetabaseEmbeddingTheme.md @@ -7,6 +7,7 @@ category: Embedding title: MetabaseEmbeddingTheme source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/MetabaseEmbeddingTheme.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/MetabaseFetchRequestTokenFn.md b/_docs/v0.62/embedding/sdk/api/snippets/MetabaseFetchRequestTokenFn.md index b59b435166..3cc40bd42c 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/MetabaseFetchRequestTokenFn.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/MetabaseFetchRequestTokenFn.md @@ -7,6 +7,7 @@ category: Embedding title: MetabaseFetchRequestTokenFn source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/MetabaseFetchRequestTokenFn.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/MetabaseFontFamily.md b/_docs/v0.62/embedding/sdk/api/snippets/MetabaseFontFamily.md index 72e0881368..a110f7b716 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/MetabaseFontFamily.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/MetabaseFontFamily.md @@ -7,6 +7,7 @@ category: Embedding title: MetabaseFontFamily source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/MetabaseFontFamily.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/MetabaseGlobalPluginsConfig.md b/_docs/v0.62/embedding/sdk/api/snippets/MetabaseGlobalPluginsConfig.md index 10201c8bce..9047e8ba98 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/MetabaseGlobalPluginsConfig.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/MetabaseGlobalPluginsConfig.md @@ -7,6 +7,7 @@ category: Embedding title: MetabaseGlobalPluginsConfig source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/MetabaseGlobalPluginsConfig.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/MetabaseIsGuestAuthConfig.md b/_docs/v0.62/embedding/sdk/api/snippets/MetabaseIsGuestAuthConfig.md index 77c6741277..79ccd175b1 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/MetabaseIsGuestAuthConfig.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/MetabaseIsGuestAuthConfig.md @@ -7,6 +7,7 @@ category: Embedding title: MetabaseIsGuestAuthConfig source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/MetabaseIsGuestAuthConfig.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/MetabaseQuestion.md b/_docs/v0.62/embedding/sdk/api/snippets/MetabaseQuestion.md index 11cff8f316..9071763962 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/MetabaseQuestion.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/MetabaseQuestion.md @@ -7,6 +7,7 @@ category: Embedding title: MetabaseQuestion source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/MetabaseQuestion.md' layout: new-docs +latest: true --- ## Properties diff --git a/_docs/v0.62/embedding/sdk/api/snippets/MetabaseThemePreset.md b/_docs/v0.62/embedding/sdk/api/snippets/MetabaseThemePreset.md index 954b79fa99..7df932e159 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/MetabaseThemePreset.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/MetabaseThemePreset.md @@ -7,6 +7,7 @@ category: Embedding title: MetabaseThemePreset source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/MetabaseThemePreset.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/MetabotAgentMessage.md b/_docs/v0.62/embedding/sdk/api/snippets/MetabotAgentMessage.md index 2dacacaea9..a29f21552f 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/MetabotAgentMessage.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/MetabotAgentMessage.md @@ -7,6 +7,7 @@ category: Embedding title: MetabotAgentMessage source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/MetabotAgentMessage.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/MetabotAgentTextMessage.md b/_docs/v0.62/embedding/sdk/api/snippets/MetabotAgentTextMessage.md index 6741bb0716..bf0df46ac9 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/MetabotAgentTextMessage.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/MetabotAgentTextMessage.md @@ -7,6 +7,7 @@ category: Embedding title: MetabotAgentTextMessage source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/MetabotAgentTextMessage.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/MetabotChartProps.md b/_docs/v0.62/embedding/sdk/api/snippets/MetabotChartProps.md index 6815877ffc..d186baf383 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/MetabotChartProps.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/MetabotChartProps.md @@ -7,6 +7,7 @@ category: Embedding title: MetabotChartProps source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/MetabotChartProps.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/MetabotErrorMessage.md b/_docs/v0.62/embedding/sdk/api/snippets/MetabotErrorMessage.md index f8583b885c..ac8bdef3e6 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/MetabotErrorMessage.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/MetabotErrorMessage.md @@ -7,6 +7,7 @@ category: Embedding title: MetabotErrorMessage source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/MetabotErrorMessage.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/MetabotMessage.md b/_docs/v0.62/embedding/sdk/api/snippets/MetabotMessage.md index 63c31e062e..89d1c01020 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/MetabotMessage.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/MetabotMessage.md @@ -7,6 +7,7 @@ category: Embedding title: MetabotMessage source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/MetabotMessage.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/MetabotUserTextMessage.md b/_docs/v0.62/embedding/sdk/api/snippets/MetabotUserTextMessage.md index f12cd82065..e2defef161 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/MetabotUserTextMessage.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/MetabotUserTextMessage.md @@ -7,6 +7,7 @@ category: Embedding title: MetabotUserTextMessage source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/MetabotUserTextMessage.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/ParameterChangeSource.md b/_docs/v0.62/embedding/sdk/api/snippets/ParameterChangeSource.md index 3930915bd4..24b76c6fb0 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/ParameterChangeSource.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/ParameterChangeSource.md @@ -7,6 +7,7 @@ category: Embedding title: ParameterChangeSource source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/ParameterChangeSource.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/ParameterValues.md b/_docs/v0.62/embedding/sdk/api/snippets/ParameterValues.md index 5c3f0f122c..a5ea594703 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/ParameterValues.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/ParameterValues.md @@ -7,6 +7,7 @@ category: Embedding title: ParameterValues source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/ParameterValues.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/ProtectedColorKey.md b/_docs/v0.62/embedding/sdk/api/snippets/ProtectedColorKey.md index b906d75837..1e905e3753 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/ProtectedColorKey.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/ProtectedColorKey.md @@ -7,6 +7,7 @@ category: Embedding title: ProtectedColorKey source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/ProtectedColorKey.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/SdkCollectionId.md b/_docs/v0.62/embedding/sdk/api/snippets/SdkCollectionId.md index 1b19cd2d8d..532325f265 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/SdkCollectionId.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/SdkCollectionId.md @@ -7,6 +7,7 @@ category: Embedding title: SdkCollectionId source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/SdkCollectionId.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/SdkDashboardId.md b/_docs/v0.62/embedding/sdk/api/snippets/SdkDashboardId.md index 8f6267e9eb..780790f350 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/SdkDashboardId.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/SdkDashboardId.md @@ -7,6 +7,7 @@ category: Embedding title: SdkDashboardId source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/SdkDashboardId.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/SdkEntityId.md b/_docs/v0.62/embedding/sdk/api/snippets/SdkEntityId.md index 4d0685a571..06104e37ee 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/SdkEntityId.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/SdkEntityId.md @@ -7,6 +7,7 @@ category: Embedding title: SdkEntityId source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/SdkEntityId.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/SdkEntityToken.md b/_docs/v0.62/embedding/sdk/api/snippets/SdkEntityToken.md index e0a5161af0..b60bc16ebb 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/SdkEntityToken.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/SdkEntityToken.md @@ -7,6 +7,7 @@ category: Embedding title: SdkEntityToken source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/SdkEntityToken.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/SdkErrorComponentProps.md b/_docs/v0.62/embedding/sdk/api/snippets/SdkErrorComponentProps.md index 46b8f7274b..8b291bd22f 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/SdkErrorComponentProps.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/SdkErrorComponentProps.md @@ -7,6 +7,7 @@ category: Embedding title: SdkErrorComponentProps source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/SdkErrorComponentProps.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/SdkQuestionId.md b/_docs/v0.62/embedding/sdk/api/snippets/SdkQuestionId.md index 4b3ea5f081..70e146c69a 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/SdkQuestionId.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/SdkQuestionId.md @@ -7,6 +7,7 @@ category: Embedding title: SdkQuestionId source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/SdkQuestionId.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/SdkQuestionTitleProps.md b/_docs/v0.62/embedding/sdk/api/snippets/SdkQuestionTitleProps.md index 58ad0ae139..175b9235f7 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/SdkQuestionTitleProps.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/SdkQuestionTitleProps.md @@ -7,6 +7,7 @@ category: Embedding title: SdkQuestionTitleProps source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/SdkQuestionTitleProps.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/SdkUserId.md b/_docs/v0.62/embedding/sdk/api/snippets/SdkUserId.md index ea030e92f8..722efb6352 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/SdkUserId.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/SdkUserId.md @@ -7,6 +7,7 @@ category: Embedding title: SdkUserId source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/SdkUserId.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/SqlParameterChangeSource.md b/_docs/v0.62/embedding/sdk/api/snippets/SqlParameterChangeSource.md index f91bd18d44..e06f4ca8d6 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/SqlParameterChangeSource.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/SqlParameterChangeSource.md @@ -7,6 +7,7 @@ category: Embedding title: SqlParameterChangeSource source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/SqlParameterChangeSource.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/SqlParameterValues.md b/_docs/v0.62/embedding/sdk/api/snippets/SqlParameterValues.md index 879124bd06..b5a68f0c27 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/SqlParameterValues.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/SqlParameterValues.md @@ -7,6 +7,7 @@ category: Embedding title: SqlParameterValues source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/SqlParameterValues.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/UserBackendJwtResponse.md b/_docs/v0.62/embedding/sdk/api/snippets/UserBackendJwtResponse.md index 3870a80213..7c0b69b061 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/UserBackendJwtResponse.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/UserBackendJwtResponse.md @@ -7,6 +7,7 @@ category: Embedding title: UserBackendJwtResponse source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/UserBackendJwtResponse.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/useApplicationName.md b/_docs/v0.62/embedding/sdk/api/snippets/useApplicationName.md index 0e54770d6d..cf86f7628b 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/useApplicationName.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/useApplicationName.md @@ -7,6 +7,7 @@ category: Embedding title: useApplicationName source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/useApplicationName.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/embedding/sdk/api/snippets/useAvailableFonts.md b/_docs/v0.62/embedding/sdk/api/snippets/useAvailableFonts.md index 63878fcccf..55a899542c 100644 --- a/_docs/v0.62/embedding/sdk/api/snippets/useAvailableFonts.md +++ b/_docs/v0.62/embedding/sdk/api/snippets/useAvailableFonts.md @@ -7,6 +7,7 @@ category: Embedding title: useAvailableFonts source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/useAvailableFonts.md' layout: new-docs +latest: true --- ```ts diff --git a/_docs/v0.62/people-and-groups/changing-password-complexity.md b/_docs/v0.62/people-and-groups/changing-password-complexity.md index c2a9ed07a0..9323de09d5 100644 --- a/_docs/v0.62/people-and-groups/changing-password-complexity.md +++ b/_docs/v0.62/people-and-groups/changing-password-complexity.md @@ -27,6 +27,7 @@ The settings above can be used independently, so it's fine to use only one or th - `weak` = no character constraints - `normal` = at least 1 digit - `strong` = minimum 8 characters w/ 2 lowercase, 2 uppercase, 1 digit, and 1 special character +- `strong-enough` = minimum 15 characters By default, Metabase also prevents users from setting passwords that are in a list of common passwords (like `qwerty123` and `passw0rd`). Changing the complexity requirement to `weak` disables this behavior. diff --git a/_docs/v0.62/questions/native-editor/filter-widgets.md b/_docs/v0.62/questions/native-editor/filter-widgets.md index 3ea87d71fc..8ce5d4133c 100644 --- a/_docs/v0.62/questions/native-editor/filter-widgets.md +++ b/_docs/v0.62/questions/native-editor/filter-widgets.md @@ -23,6 +23,8 @@ The kind of filter widget that Metabase displays when you create a field filter Date fields will either have a simple date filter (for date variables) or a dynamic date picker (for field filters mapped to a date field). +ID parameters also support all three widget types (input box, search box, and dropdown list), so you can power an ID filter with a dropdown or search box instead of a plain input box. + If you want to change the default filter widget for a particular field, you'll need to ask an admin to update that field in [the Table Metadata](../../data-modeling/metadata-editing) and set the desired "Filtering on this field" option. For dropdown lists and search boxes, you can also customize values available in the list. See below. @@ -65,11 +67,11 @@ When you add a dropdown menu or search box, you can tell Metabase which values p 2. Next to the option you chose, click **Edit**. 3. Metabase will pop up a modal where you can select **Where the values should come from**. -You can choose: +You can choose between: -- **From connected fields**. If you selected the Field filter variable type, you'll also have the option to use the connected field. -- **From another model or question**. If you select this option, you'll need to pick a model or question, then a field from that model or question that Metabase will use to supply the values for that dropdown or search box. For example, if you want the dropdown to list the different plans an account could be on, you could select an "Account" model you created, and select the field "Plan" to power that dropdown. The dropdown would then list all of the distinct plan options that appear in the "Plan" column in the Accounts model. -- **Custom list**. Enter each item on a line. You can enter any string values you like. +- **From connected fields:** If you selected the Field filter variable type, you'll also have the option to use the connected field. +- **From another model or question:** Pick a model or question (built with either the query builder or SQL), then set the **Column to supply the values** that Metabase should filter on. You can also set a **Column to supply the labels** to display friendly labels in the dropdown while still filtering on the underlying values. For example, if you want the dropdown to list the different plans an account could be on, you could select an "Account" model you created and set the **Column to supply the values** to "Plan". Or, to filter on product IDs while showing product names, set the **Column to supply the values** to "ID" and the **Column to supply the labels** to "Title", so people see product names in the dropdown but the filter passes along the matching ID. +- **Custom list:** Enter each item on a line. You can enter any string values you like. You can also [change a dashboard filter's selectable values](../../dashboards/filters#change-a-filters-selectable-values). diff --git a/_site/docs/all.html b/_site/docs/all.html index 6614dcaa23..e9f7132f9e 100644 --- a/_site/docs/all.html +++ b/_site/docs/all.html @@ -218,6 +218,12 @@ + + + + + + @@ -1022,9 +1028,47 @@
    Learn
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -1887,7 +1981,7 @@
    Analytics
  • - + Queries and charts @@ -1910,7 +2004,7 @@
    Analytics
  • - + Introduction @@ -1946,7 +2040,7 @@
    Analytics
  • - + Editor @@ -1960,7 +2054,7 @@
    Analytics
  • - + Filtering @@ -1974,7 +2068,7 @@
    Analytics
  • - + Summarizing and grouping @@ -1988,7 +2082,7 @@
    Analytics
  • - + Joining data @@ -2002,7 +2096,7 @@
    Analytics
  • - + Custom expressions @@ -2016,7 +2110,7 @@
    Analytics
  • - + List of expressions @@ -2056,7 +2150,7 @@
    Analytics
  • - + SQL editor @@ -2070,7 +2164,7 @@
    Analytics
  • - + SQL parameters @@ -2084,7 +2178,7 @@
    Analytics
  • - + Field filters @@ -2098,7 +2192,7 @@
    Analytics
  • - + Basic SQL parameters @@ -2112,7 +2206,7 @@
    Analytics
  • - + Time grouping parameters @@ -2126,7 +2220,7 @@
    Analytics
  • - + Table variables @@ -2140,7 +2234,7 @@
    Analytics
  • - + Optional variables @@ -2154,7 +2248,7 @@
    Analytics
  • - + Filter widgets @@ -2168,7 +2262,7 @@
    Analytics
  • - + Referencing models and questions @@ -2182,7 +2276,7 @@
    Analytics
  • - + Snippets @@ -2196,7 +2290,7 @@
    Analytics
  • - + Snippet folder permissions @@ -2236,7 +2330,7 @@
    Analytics
  • - + Overview @@ -2250,7 +2344,7 @@
    Analytics
  • - + Box plot @@ -2264,7 +2358,7 @@
    Analytics
  • - + Combo chart @@ -2278,7 +2372,7 @@
    Analytics
  • - + Details chart @@ -2292,7 +2386,7 @@
    Analytics
  • - + Funnel chart @@ -2306,7 +2400,7 @@
    Analytics
  • - + Gauge chart @@ -2320,7 +2414,7 @@
    Analytics
  • - + Line, bar, and area charts @@ -2334,7 +2428,7 @@
    Analytics
  • - + Maps @@ -2348,7 +2442,7 @@
    Analytics
  • - + Number chart @@ -2362,7 +2456,7 @@
    Analytics
  • - + Pie and sunburst charts @@ -2376,7 +2470,7 @@
    Analytics
  • - + Pivot tables @@ -2390,7 +2484,7 @@
    Analytics
  • - + Progress bar @@ -2404,7 +2498,7 @@
    Analytics
  • - + Sankey chart @@ -2418,7 +2512,7 @@
    Analytics
  • - + Scatterplot @@ -2432,7 +2526,7 @@
    Analytics
  • - + Table @@ -2446,7 +2540,7 @@
    Analytics
  • - + Trend chart @@ -2460,7 +2554,7 @@
    Analytics
  • - + Waterfall chart @@ -2474,7 +2568,7 @@
    Analytics
  • - + Tooltips @@ -2493,7 +2587,7 @@
    Analytics
  • - + Metrics explorer @@ -2508,7 +2602,7 @@
    Analytics
  • - + Alerts @@ -2523,7 +2617,7 @@
    Analytics
  • - + Exporting data @@ -2544,7 +2638,7 @@
    Analytics
  • - + Dashboards @@ -2567,7 +2661,7 @@
    Analytics
  • - + Overview @@ -2582,7 +2676,7 @@
    Analytics
  • - + Dashboard filters @@ -2597,7 +2691,7 @@
    Analytics
  • - + Linked filters @@ -2612,7 +2706,7 @@
    Analytics
  • - + Dashboard interactivity @@ -2627,7 +2721,7 @@
    Analytics
  • - + Charts with multiple series @@ -2642,7 +2736,7 @@
    Analytics
  • - + Dashboard subscriptions @@ -2657,7 +2751,7 @@
    Analytics
  • - + Actions on dashboards @@ -2678,7 +2772,7 @@
    Analytics
  • - + Documents @@ -2701,7 +2795,7 @@
    Analytics
  • - + Overview @@ -2722,7 +2816,7 @@
    Analytics
  • - + AI @@ -2745,7 +2839,7 @@
    Analytics
  • - + Overview @@ -2760,7 +2854,7 @@
    Analytics
  • - + Metabot @@ -2775,7 +2869,7 @@
    Analytics
  • - + Metabot in Slack @@ -2790,7 +2884,7 @@
    Analytics
  • - + Settings @@ -2805,7 +2899,7 @@
    Analytics
  • - + MCP server @@ -2820,7 +2914,7 @@
    Analytics
  • - + Agent API @@ -2835,7 +2929,7 @@
    Analytics
  • - + Agent-driven development @@ -2850,7 +2944,7 @@
    Analytics
  • - + Customization @@ -2865,7 +2959,7 @@
    Analytics
  • - + System prompts @@ -2880,7 +2974,7 @@
    Analytics
  • - + Usage auditing @@ -2895,7 +2989,7 @@
    Analytics
  • - + Usage controls @@ -2910,7 +3004,7 @@
    Analytics
  • - + AI privacy @@ -2931,7 +3025,7 @@
    Analytics
  • - + Data modeling @@ -2954,7 +3048,7 @@
    Analytics
  • - + Models @@ -2969,7 +3063,7 @@
    Analytics
  • - + Model persistence @@ -2984,7 +3078,7 @@
    Analytics
  • - + Metrics @@ -2999,7 +3093,7 @@
    Analytics
  • - + Table metadata settings @@ -3014,7 +3108,7 @@
    Analytics
  • - + Data and semantic types @@ -3029,7 +3123,7 @@
    Analytics
  • - + Editable tables @@ -3044,7 +3138,7 @@
    Analytics
  • - + Formatting defaults @@ -3059,7 +3153,7 @@
    Analytics
  • - + Working with JSON @@ -3074,7 +3168,7 @@
    Analytics
  • - + Segments @@ -3110,7 +3204,7 @@
    Analytics
  • - + Overview @@ -3124,7 +3218,7 @@
    Analytics
  • - + Basic actions @@ -3138,7 +3232,7 @@
    Analytics
  • - + Custom actions @@ -3163,7 +3257,7 @@
    Analytics
  • - + Data Studio @@ -3186,7 +3280,7 @@
    Analytics
  • - + Overview @@ -3201,7 +3295,7 @@
    Analytics
  • - + Library @@ -3216,7 +3310,7 @@
    Analytics
  • - + Data structure @@ -3231,7 +3325,7 @@
    Analytics
  • - + Glossary @@ -3246,7 +3340,7 @@
    Analytics
  • - + Dependency graph @@ -3261,7 +3355,7 @@
    Analytics
  • - + Dependency diagnostics @@ -3297,7 +3391,7 @@
    Analytics
  • - + Overview @@ -3311,7 +3405,7 @@
    Analytics
  • - + Query transforms @@ -3325,7 +3419,7 @@
    Analytics
  • - + Python transforms @@ -3339,7 +3433,7 @@
    Analytics
  • - + Python runner @@ -3353,7 +3447,7 @@
    Analytics
  • - + Jobs and runs @@ -3367,7 +3461,7 @@
    Analytics
  • - + Transform inspector @@ -3381,7 +3475,7 @@
    Analytics
  • - + Add-ons @@ -3406,7 +3500,7 @@
    Analytics
  • - + Organization @@ -3429,7 +3523,7 @@
    Analytics
  • - + Basic exploration @@ -3444,7 +3538,7 @@
    Analytics
  • - + Keyboard shortcuts @@ -3459,7 +3553,7 @@
    Analytics
  • - + Collections @@ -3474,7 +3568,7 @@
    Analytics
  • - + Data reference @@ -3489,7 +3583,7 @@
    Analytics
  • - + Events and timelines @@ -3504,7 +3598,7 @@
    Analytics
  • - + X-rays @@ -3519,7 +3613,7 @@
    Analytics
  • - + Content verification @@ -3534,7 +3628,7 @@
    Analytics
  • - + History @@ -3549,7 +3643,7 @@
    Analytics
  • - + Delete and restore @@ -3576,7 +3670,7 @@
    Embedding
  • - + Overview @@ -3617,7 +3711,7 @@
    Embedding
  • - + Overview @@ -3632,7 +3726,7 @@
    Embedding
  • - + Components @@ -3647,7 +3741,22 @@
    Embedding
  • - + + Filters and parameters + + + + +
  • + + + + + + + +
  • + Appearance @@ -3662,7 +3771,7 @@
    Embedding
  • - + Authentication @@ -3677,7 +3786,7 @@
    Embedding
  • - + Tenants @@ -3713,7 +3822,7 @@
    Embedding
  • - + Overview @@ -3727,7 +3836,7 @@
    Embedding
  • - + Quickstarts @@ -3758,35 +3867,35 @@
    Embedding
  • - + Questions
  • - + Dashboards
  • - + AI chat
  • - + Collections
  • - + Plugins
  • @@ -3818,21 +3927,21 @@
    Embedding
  • - + Provider config
  • - + Working with Next.js
  • - + Versioning
  • @@ -3847,7 +3956,7 @@
    Embedding
  • - + Upgrading @@ -3861,7 +3970,7 @@
    Embedding
  • - + API @@ -3880,7 +3989,7 @@
    Embedding
  • - + Guest embedding @@ -3895,7 +4004,7 @@
    Embedding
  • - + Translate embeds @@ -3939,7 +4048,7 @@
    Embedding
  • - + Overview @@ -3954,7 +4063,7 @@
    Embedding
  • - + Quickstart @@ -3969,7 +4078,7 @@
    Embedding
  • - + Full app UI components @@ -3990,7 +4099,7 @@
    Embedding
  • - + Public links and embeds @@ -4008,7 +4117,7 @@
    Embedding
  • - + Securing embeds @@ -4026,7 +4135,7 @@
    Embedding
  • - + AI agent resources @@ -4050,7 +4159,7 @@
    Administration
  • - + Installation @@ -4094,7 +4203,7 @@
    Administration
  • - + Installation overview @@ -4122,7 +4231,7 @@
    Administration
  • - + Running the JAR file @@ -4136,7 +4245,7 @@
    Administration
  • - + Running in Docker @@ -4150,7 +4259,7 @@
    Administration
  • - + Other installation options @@ -4169,7 +4278,7 @@
    Administration
  • - + Upgrading Metabase @@ -4184,7 +4293,7 @@
    Administration
  • - + Configuring the Metabase application database @@ -4199,7 +4308,7 @@
    Administration
  • - + Activating Enterprise features @@ -4214,7 +4323,7 @@
    Administration
  • - + Migrating to a production application database @@ -4235,7 +4344,7 @@
    Administration
  • - + Data sources @@ -4258,7 +4367,7 @@
    Administration
  • - + Adding and managing databases @@ -4294,7 +4403,7 @@
    Administration
  • - + Athena @@ -4308,7 +4417,7 @@
    Administration
  • - + Amazon RDS @@ -4322,7 +4431,7 @@
    Administration
  • - + BigQuery @@ -4336,7 +4445,7 @@
    Administration
  • - + ClickHouse @@ -4350,7 +4459,7 @@
    Administration
  • - + Databricks @@ -4364,7 +4473,7 @@
    Administration
  • - + Druid @@ -4378,7 +4487,7 @@
    Administration
  • - + MariaDB @@ -4392,7 +4501,7 @@
    Administration
  • - + MongoDB @@ -4406,7 +4515,7 @@
    Administration
  • - + MySQL @@ -4420,7 +4529,7 @@
    Administration
  • - + Oracle @@ -4434,7 +4543,7 @@
    Administration
  • - + PostgreSQL @@ -4448,7 +4557,7 @@
    Administration
  • - + Presto @@ -4462,7 +4571,7 @@
    Administration
  • - + Redshift @@ -4476,7 +4585,7 @@
    Administration
  • - + Snowflake @@ -4490,7 +4599,7 @@
    Administration
  • - + SQL Server @@ -4504,7 +4613,7 @@
    Administration
  • - + SQLite @@ -4518,7 +4627,7 @@
    Administration
  • - + Spark SQL @@ -4532,7 +4641,7 @@
    Administration
  • - + Starburst @@ -4546,7 +4655,7 @@
    Administration
  • - + Vertica @@ -4560,7 +4669,7 @@
    Administration
  • - + Community drivers @@ -4579,7 +4688,7 @@
    Administration
  • - + Database users, roles, and privileges @@ -4594,7 +4703,7 @@
    Administration
  • - + Writeable connection @@ -4609,7 +4718,7 @@
    Administration
  • - + Syncing and scanning databases @@ -4624,7 +4733,7 @@
    Administration
  • - + Encrypting your database connection @@ -4639,7 +4748,7 @@
    Administration
  • - + SSH tunneling @@ -4654,7 +4763,7 @@
    Administration
  • - + SSL certificate @@ -4669,7 +4778,7 @@
    Administration
  • - + Setting up data uploads @@ -4684,7 +4793,7 @@
    Administration
  • - + Uploading data @@ -4735,7 +4844,7 @@
    Administration
  • - + Configuration @@ -4758,7 +4867,7 @@
    Administration
  • - + Setting up Metabase @@ -4773,7 +4882,7 @@
    Administration
  • - + General settings @@ -4788,7 +4897,7 @@
    Administration
  • - + Set up email @@ -4803,7 +4912,7 @@
    Administration
  • - + Set up Slack @@ -4818,7 +4927,7 @@
    Administration
  • - + Webhooks @@ -4833,7 +4942,7 @@
    Administration
  • - + Environment variables @@ -4848,7 +4957,7 @@
    Administration
  • - + Configuration file @@ -4863,7 +4972,7 @@
    Administration
  • - + Config file template @@ -4878,7 +4987,7 @@
    Administration
  • - + Metabase log configuration @@ -4893,7 +5002,7 @@
    Administration
  • - + Timezones @@ -4908,7 +5017,7 @@
    Administration
  • - + Languages and localization @@ -4923,7 +5032,7 @@
    Administration
  • - + Appearance @@ -4938,7 +5047,7 @@
    Administration
  • - + Fonts @@ -4953,7 +5062,7 @@
    Administration
  • - + Caching query results @@ -4968,7 +5077,7 @@
    Administration
  • - + Custom maps @@ -4983,7 +5092,7 @@
    Administration
  • - + Customizing the Metabase Jetty webserver @@ -5004,7 +5113,7 @@
    Administration
  • - + Operations and monitoring @@ -5027,7 +5136,7 @@
    Administration
  • - + Backing up Metabase @@ -5042,7 +5151,7 @@
    Administration
  • - + Development instances @@ -5057,7 +5166,7 @@
    Administration
  • - + Monitoring your Metabase @@ -5072,7 +5181,7 @@
    Administration
  • - + Observability with Prometheus @@ -5087,7 +5196,7 @@
    Administration
  • - + Serialization @@ -5102,7 +5211,7 @@
    Administration
  • - + Remote Sync @@ -5117,7 +5226,7 @@
    Administration
  • - + Commands @@ -5132,7 +5241,7 @@
    Administration
  • - + Usage analytics @@ -5147,7 +5256,7 @@
    Administration
  • - + Security center @@ -5162,7 +5271,7 @@
    Administration
  • - + Admin tools @@ -5183,7 +5292,7 @@
    Administration
  • - + Authentication @@ -5206,7 +5315,7 @@
    Administration
  • - + Account settings @@ -5221,7 +5330,7 @@
    Administration
  • - + Password complexity @@ -5236,7 +5345,7 @@
    Administration
  • - + Session expiration @@ -5251,7 +5360,7 @@
    Administration
  • - + Google Sign-In @@ -5266,7 +5375,7 @@
    Administration
  • - + LDAP @@ -5281,7 +5390,7 @@
    Administration
  • - + User provisioning @@ -5296,7 +5405,7 @@
    Administration
  • - + API keys @@ -5311,7 +5420,7 @@
    Administration
  • - + Paid SSO options @@ -5332,7 +5441,7 @@
    Administration
  • - + JWT-based authentication @@ -5346,7 +5455,7 @@
    Administration
  • - + SAML-based authentication @@ -5360,7 +5469,7 @@
    Administration
  • - + SAML with Auth0 @@ -5374,7 +5483,7 @@
    Administration
  • - + SAML with Microsoft Entra ID @@ -5388,7 +5497,7 @@
    Administration
  • - + SAML with Google @@ -5402,7 +5511,7 @@
    Administration
  • - + SAML with Keycloak @@ -5416,7 +5525,7 @@
    Administration
  • - + SAML with Okta @@ -5430,7 +5539,7 @@
    Administration
  • - + OIDC-based authentication @@ -5444,7 +5553,7 @@
    Administration
  • - + OIDC with Keycloak @@ -5469,7 +5578,7 @@
    Administration
  • - + Permissions @@ -5492,7 +5601,7 @@
    Administration
  • - + Permissions introduction @@ -5507,7 +5616,7 @@
    Administration
  • - + Managing people and groups @@ -5522,7 +5631,7 @@
    Administration
  • - + Data permissions @@ -5537,7 +5646,7 @@
    Administration
  • - + Collection permissions @@ -5552,7 +5661,7 @@
    Administration
  • - + Application permissions @@ -5567,7 +5676,7 @@
    Administration
  • - + Row and column security @@ -5582,7 +5691,7 @@
    Administration
  • - + Row and column security examples @@ -5597,7 +5706,7 @@
    Administration
  • - + Database routing @@ -5612,7 +5721,7 @@
    Administration
  • - + Impersonation @@ -5627,7 +5736,7 @@
    Administration
  • - + Snippets folder permissions @@ -5642,7 +5751,7 @@
    Administration
  • - + Notification permissions @@ -5657,7 +5766,7 @@
    Administration
  • - + Configuring permissions for embedding @@ -5684,7 +5793,7 @@
    Other resources
  • - + API @@ -5910,7 +6019,7 @@
    Other resources
  • - + Troubleshooting @@ -5928,7 +6037,7 @@
    Other resources
  • - + Developer guide @@ -5964,7 +6073,7 @@
    Other resources
  • - + Accessibility @@ -5982,7 +6091,7 @@
    Other resources
  • - + Supported browsers @@ -6000,7 +6109,7 @@
    Other resources
  • - + Privacy @@ -6018,7 +6127,7 @@
    Other resources
  • - + About the anonymous usage data we collect diff --git a/_site/docs/latest/CONTRIBUTING.html b/_site/docs/latest/CONTRIBUTING.html index c9bd31ee24..e4565b51f6 100644 --- a/_site/docs/latest/CONTRIBUTING.html +++ b/_site/docs/latest/CONTRIBUTING.html @@ -218,6 +218,12 @@ + + + + + + @@ -1022,9 +1028,47 @@
    Learn
  • - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    -

    Metabase content like questions and dashboards can be serialized as YAML files. You can edit those YAML files by hand, sure, but now that we have actual genies, you can just ask them to edit them for you (call it “lamp-rubbing development”).

    +

    Now that we have actual genies, you can just ask the genies to create the content for you (call it “lamp-rubbing development”).

    -

    Paired with some skills we’ve developed, you can export your Metabase as YAML files, ask your agent to create new questions and dashboards YAML files, then import that new content into your Metabase. It’s a whole new way to work with Metabase.

    +

    Give an agent the Metabase CLI, and it can create content for you. But since LLMs can be unpredictable, we recommend developing content in a dev instance of Metabase, then using Remote Sync to get your changes into production.

    -

    The agent-driven development toolkit

    +

    With this set up, a typical workflow using an agent with a development instance of Metabase would be:

    -

    To develop your Metabase content on your local filesystem, we’ve put together a set of tools, including a set of agent skills.

    - -
      -
    • Metabase Representation Format: the YAML schema and spec for every Metabase entity (questions, dashboards, collections, transforms, and so on).
    • -
    • Metabase Database Metadata Format: diff-friendly representations of synced databases, their tables, and their fields, as a tree of YAML files.
    • -
    • Export and Import CLI and API endpoints to move serialized content between your local files and Metabase.
    • -
    • Remote Sync (Optional): push content from a Read-write Metabase into a git repo, and pull it into a Read-only Metabase in production.
    • -
    +
      +
    1. Prompt the agent with /metabase-cli Create a dashboard based on the sales table.
    2. +
    3. Agent creates questions and a dashboard.
    4. +
    5. View the dashboard in your dev instance.
    6. +
    7. Iterate either in your Metabase or via the agent until you’re happy with the dashboard.
    8. +
    9. Use Remote Sync to push your changes to a repo.
    10. +
    11. Create a PR.
    12. +
    13. Merge the changes.
    14. +
    15. Once merged, your production Metabase pulls in the changes via Remote Sync.
    16. +
    -

    How content moves between files and Metabase

    +

    The agent-driven development toolkit

    -

    You’ll need a way to get YAML files out of Metabase to edit and back into Metabase to verify and ship. There are two options:

    +

    To develop your Metabase content with an agent, we’ve put together a set of tools.

      -
    • Remote Sync — push and pull from inside Metabase. Requires a Read-write development instance and a Read-only production instance.
    • -
    • Serialization APIcurl-based export and import against the /api/ee/serialization/ endpoints.
    • +
    • A Metabase instance to use for development.
    • +
    • Metabase CLI: a command-line client (mb) your agent uses to create content directly in your Metabase. Use the CLI with the /metabase-cli skill.
    • +
    • Metabase Representation Format: the YAML schema and spec for every Metabase entity (questions, dashboards, collections, transforms, and so on). This is the format your content takes once you version it as files.
    • +
    • Remote Sync: push content from a Read-write Metabase into a git repo, and pull it into a Read-only Metabase in production.
    -

    Pick one before you start the Initial setup; the setup steps differ slightly (Remote Sync doesn’t need a separate API key in production).

    -

    Initial setup

    Some things to put into place to get a workflow going:

    @@ -6247,11 +6358,11 @@

    Initial setup

    1. Set up a development Metabase
    2. Set up a repository to version your YAML files
    3. -
    4. Add agent skills to your repository
    5. -
    6. Download the database metadata
    7. +
    8. Install and authenticate the Metabase CLI
    9. +
    10. Add the agent skill
    -

    Once you have these set up, you can step through one of the example workflows.

    +

    Once you have these set up, you can step through the example workflow.

    Set up a development Metabase

    @@ -6260,7 +6371,7 @@

    Set up a development Metabase

    Set up a Metabase instance to check your work before pushing changes to production. This Metabase should connect to the same data warehouse(s) your production Metabase connects to. A config file will come in handy here.

  • -

    Create an API key and assign it to the Admin group. The skills export and import all content and read database metadata, so they need Admin-level access. If you’re using the Serialization API workflow, you’ll also need to create an API key in your production Metabase so you can import your files into it.

    +

    Create an API key in this development Metabase and assign it to the Admin group, so the agent can create content and work with Remote Sync.

  • We also recommend turning off the sample content and usage analytics, so they don’t pollute the data model. If you’re using a docker compose file, add these environment variables:

    @@ -6273,67 +6384,47 @@

    Set up a development Metabase

    Set up a repository to version your YAML files

    -
      -
    1. Initialize a new repo.
    2. -
    3. Add a .gitignore file and add .metabase/ and .env.
    4. -
    5. Add the following to your .env:
    6. -
    - -
       METABASE_URL={your-metabase-url}
    -   METABASE_API_KEY={your-api-key}
    -
    - -

    Add agent skills to your repository

    +

    Create a new git repository for your Metabase content. You’ll point Remote Sync at this repo when you configure it, and clone the repo locally to review changes and open pull requests.

    -

    You should add the following skills to your agent so it has context it needs. If you commit the skills into .claude/skills/ in your repo, for example, Claude loads them automatically whenever you run it from that directory.

    +

    Install and authenticate the Metabase CLI

    - - -

    Download the database metadata

    +

    Install the Metabase CLI globally:

    -

    Invoke the metabase-database-metadata skill and ask your agent to fetch the database metadata. The agent will:

    - -
      -
    • Check that .env exists. If it doesn’t, the agent will prompt you to create it.
    • -
    • Verify that .env and .metabase/ are in .gitignore, asking before adding them.
    • -
    • Fetch /api/database/metadata into .metabase/metadata.json (raw API response; can be several GB on large warehouses).
    • -
    • Extract a diff-friendly YAML tree to .metabase/databases/<database>/schemas/<schema>/tables/<table>.yaml by running npx @metabase/database-metadata extract-metadata.
    • -
    +
    npm install -g @metabase/cli
    +
    -

    The agent can use the YAML extracted to your .metabase directory while creating and editing new questions and dashboards in YAML. That way your agent can refer to real column names, field types, and foreign-key relationships without making live API calls (which would be much slower).

    +

    Then authenticate it against your development Metabase:

    -

    To refresh this database metadata, just ask your agent to re-fetch it.

    +
    mb auth login --url your-metabase-url-here
    +
    -

    Example workflows

    +

    Authenticate with the API key you created in your Metabase instance.

    -

    The workflows below both assume you’ve completed the Initial setup.

    +

    Add the agent skill

    -

    Example prompts

    +

    Add the /metabase-cli skill to your agent so it knows how to use the CLI to create content directly in your Metabase.

    -

    Once your repo has the agent skills and a baseline of content, prompt the agent with a structured request:

    +

    Example prompts

    -
    Use the metabase-representation-format and metabase-database-metadata skills to create new YAML files in this directory:
    +

    These examples assume you’ve completed the Initial setup. Run the /metabase-cli skill and give the agent a structured request. The agent will run CLI commands to create the content directly in your development Metabase:

    -1. Create a new dashboard called "Support overview" in collections/main/. -2. Add questions showing total ticket volume, open tickets, and average satisfaction rating. +
    /metabase-cli Create a new dashboard called "Support overview". Add questions showing total ticket volume, open tickets, and average satisfaction rating.
     

    Or, depending on how capable your model is, try a more open-ended request:

    -
    Use the metabase-representation-format and metabase-database-metadata skills to analyze our support data. Look at the tickets, customers, and interactions tables, and create a dashboard that gives an overview of our team's support workload.
    +
    /metabase-cli Analyze our support data. Look at the tickets, customers, and interactions tables, and build a dashboard that gives an overview of our team's support workload.
     
    -

    The agent will read the representation format spec, check existing files for local conventions, consult .metabase/databases/ for real column names, and write new YAML.

    +

    The agent writes the CLI commands and creates the questions and dashboard for you—just describe what you want.

    -

    Example workflow with Remote Sync

    +

    Example workflow

    -

    1. Configure Remote Sync on both instances

    +

    1. Configure Remote Sync on both Metabase instances

    -

    In your development Metabase, configure Remote Sync in Read-write mode pointed at your repo. In production, configure a second Metabase in Read-only mode pointed at the same repo.

    +

    In your development Metabase, configure Remote Sync in Read-write mode pointed at your repo.

    + +

    Set up Remote Sync in your production Metabase in Read-only mode pointed at the same repo.

    2. Create a branch from the Metabase UI

    @@ -6341,207 +6432,43 @@

    2. Create a branch from the Meta

    In your development Metabase, click the branch dropdown at the top and create a new branch for your work, like feature/support-dashboard.

    -

    3. Push existing content to seed the repo

    - -

    Click the up arrow (push) icon to commit and push your existing synced collections to the branch.

    - -

    4. Clone the repo locally and check out the branch

    - -
    git clone your-metabase-repo
    -cd your-metabase-repo
    -git checkout feature/support-dashboard
    -
    - -

    5. Ask the agent to edit or create content

    - -

    See Example prompts above for prompt patterns to use here.

    - -

    6. Validate the YAML files

    - -

    Run the schema check after every batch of edits, and optionally run the semantic check at the end of the session. See Validating YAML files below.

    - -

    If anything fails, the agent should be able to fix the issue if you give it the error.

    - -

    7. Commit and open a pull request

    - -
    git add -A
    -git commit -m "Add support-overview dashboard"
    -git push origin feature/support-dashboard
    -
    - -

    Open a pull request so your team can review the YAML diff.

    - -

    8. Pull the branch into your development Metabase

    - -

    Click the pull (down arrow) icon in your development Metabase to load the agent’s changes. Verify the dashboard renders correctly and the questions return expected results.

    - -

    9. Merge the PR so production picks up the changes

    - -

    If you’ve enabled auto-sync, your production Metabase (in Read-only mode) will pull the new main branch automatically on its next interval. Otherwise, trigger a pull from production manually.

    - -

    Example workflow with import and export endpoints

    - -

    1. Clone the empty repo and create a branch

    - -
    git clone https://github.com/your-org/your-repo.git
    -cd your-repo
    -git checkout -b feature/support-dashboard
    -
    - -

    2. Export existing content to seed the repo

    - -

    The agent does better work when the repo already holds your current Metabase content, so it can see real examples of the Representation Format and your collection conventions. Run the serialization export from inside the clone:

    - -
    curl \
    -  -H 'X-API-Key: YOUR_API_KEY' \
    -  -X POST 'https://your-metabase-url/api/ee/serialization/export?data_model=false' \
    -  -o metabase_data.tgz
    -tar -xzf metabase_data.tgz
    -
    - -

    Set data_model=false to keep the export small. The agent should get its metadata from the metabase-database-metadata skill instead. For more on export options, see Serialization.

    +

    3. Ask the agent to create content

    -

    Commit the extracted YAML so you have a baseline to revert to if the agent goes off the rails.

    +

    Run the /metabase-cli skill and prompt the agent to build your questions and dashboards. The agent creates the content directly in your development Metabase.

    -

    3. Ask the agent to edit or create content

    +

    4. Verify the content in your development Metabase

    -

    See Example prompts above for prompt patterns to use here.

    +

    Open your development Metabase and confirm the dashboard renders correctly and the questions return expected results. Make any changes you want, either in the UI or via the agent.

    -

    4. Validate the YAML files

    +

    5. If you make any changes in your Metabase, push the new content to the branch

    -

    Run the schema check after every batch of edits, and optionally run the semantic check at the end of the session. See Validating YAML files below.

    +

    To commit the work, push the change from your Metabase. If you don’t push your changes from your Metabase to your repo, you could lose work the next time you pull changes into that Metabase.

    -

    5. Commit and open a pull request

    +

    6. Open a pull request

    -
    git add -A
    -git commit -m "Add support-overview dashboard"
    -git push origin feature/support-dashboard
    -
    - -

    Then open open a pull request so your team can review the YAML diff.

    - -

    6. Import the YAML into your development Metabase

    - -

    Re-bundle the YAML and import it:

    - -
    tar -czf metabase_data.tgz metabase_data
    -curl -X POST \
    -  -H 'X-API-Key: YOUR_API_KEY' \
    -  -F 'file=@metabase_data.tgz' \
    -  'https://your-metabase-url/api/ee/serialization/import' \
    -  -o -
    -
    - -

    The -o - flag writes the import response to stdout, so you can see whether the import succeeded and check any warnings. You can ask the agent to generate export.sh and import.sh wrappers so you’re running a single command each time.

    - -

    Verify the dashboard renders correctly and the questions return expected results.

    +

    Open a pull request so your team can review the YAML diff. They can also use Remote Sync to pull the branch into a development Metabase and see the changes live.

    -

    7. Repeat the import against production

    +

    7. Merge the PR so production picks up the changes

    -

    Once you’re confident in the changes, run the same tar + curl import against your production Metabase, using its API key.

    +

    If you’ve enabled auto-sync, your production Metabase (in Read-only mode) will pull the new main branch automatically on its next interval.

    Undoing the agent’s changes

    -

    If you want to undo the agent’s changes, use git to revert your YAML files to the last known-good commit before pushing or re-importing.

    - -

    If you’re using Remote Sync, don’t try to fix things by re-pushing from Metabase: Metabase’s push only reflects its current state and won’t delete any new files the agent created locally.

    - -

    Validating YAML files

    - -

    Run both checks locally before pushing. The same checks belong in CI — see CI example below.

    - -

    Schema check

    - -

    You can run a quick schema check:

    - -
    npx --yes @metabase/representations validate-schema
    -
    - -

    The check validates the shape of every YAML file against the Representation Format spec. The metabase-representation-format skill should run this check for you automatically after the agent makes any edits.

    - -

    Semantic checker for deeper validation

    - -
    -

    The semantic checker is only available in the Pro/Enterprise plans.

    -
    - -

    The semantic checker catches things like references to tables that don’t exist or columns the agent invented.

    - -

    What it validates beyond schema:

    +

    Since the agent uses the CLI to create content directly in Metabase, to undo changes, you could either:

      -
    • Cross-entity references: collection_id, dashboard_id, parent_id, snippet names, transform tags, card embeddings.
    • -
    • MBQL query compilation: source-table, field references, joins, segments, measures, expressions.
    • -
    • Native-query references: tables, columns, and snippets named in SQL.
    • +
    • Revert to a commit and pull changes: Revert to a previous commit, and pull that commit into your Metabase. Pulling that commit would overwrite any changes you or the agent had made.
    • +
    • Update Metabase and push changes: Edit or archive the content in your Metabase (either manually or via an agent with the CLI), and push the changes to your repo. You may want to pick this approach if you want to keep some, but not all of the changes made by the AI, or if you’ve made additional changes via Metabase’s handy UI that you want to keep.
    -

    If you’ve installed the metabase-semantic-checker skill, just ask the agent to run the semantic checker; the skill picks the right image, passes the right flags, and summarizes the findings.

    - -

    You can manually run the semantic checker via Docker like so:

    - -
    docker pull metabase/metabase-enterprise:latest
    -
    -docker run --rm \
    -  -v "$PWD:/workspace" \
    -  --entrypoint "" \
    -  -w /app \
    -  metabase/metabase-enterprise:latest \
    -  java -jar metabase.jar \
    -    --mode checker \
    -    --export /workspace \
    -    --schema-dir /workspace/.metabase/metadata.json \
    -    --schema-format concise
    -
    - -

    Match the image tag (:latest) to your Metabase build.

    - -

    CI example

    - -

    You can hook the schema check into GitHub Actions so your team catches problems on the PR, before anyone pulls the changes into Metabase:

    - -
    # .github/workflows/schema-check.yml
    -name: Schema Check
    -
    -on:
    -  push:
    -    branches: [main]
    -  pull_request:
    -
    -jobs:
    -  schema-check:
    -    runs-on: ubuntu-latest
    -    steps:
    -      - uses: actions/checkout@v4
    -
    -      - uses: actions/setup-node@v4
    -        with:
    -          node-version: "20"
    -
    -      - name: Validate representation YAML files
    -        run: npx --yes @metabase/representations validate-schema
    -
    - -

    For the semantic check, add a second workflow that fetches .metabase/metadata.json from your Metabase and then runs the Docker command above against the checkout. If you run the semantic check in more than one workflow (for example, a semantic check and per-PR preview environments), you should probably factor the database metadata fetch to run and cache once a day so you don’t hit the API on every push.

    - -

    Deleting content

    - -

    Since imports and exports don’t delete content, you’ll need to delete content in the Metabase application itself, then update the YAML files as well.

    - -
      -
    1. Delete the content in your production Metabase (in the app’s UI).
    2. -
    3. Push (with Remote Sync) or re-export (without) so the change is reflected in the repo.
    4. -
    5. Commit the deletion. That way Metabase won’t recreate the deleted items the next time it pulls.
    6. -
    -

    Further reading

    diff --git a/_site/docs/latest/ai/mcp.html b/_site/docs/latest/ai/mcp.html index a4a20bb17f..00ba1125e6 100644 --- a/_site/docs/latest/ai/mcp.html +++ b/_site/docs/latest/ai/mcp.html @@ -218,6 +218,12 @@ + + + + + + @@ -1022,9 +1028,47 @@
    Learn
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - v0.61 + v0.62 @@ -6087,16 +6196,16 @@
    Other resources
      + +
    • - - v0.62 + + v0.61
    • - -
    • v0.60 @@ -6283,17 +6392,30 @@

      Available tools

      Some clients (like Claude Desktop) will ask you to approve each tool the first time it’s used. The MCP server builds on Metabase’s Agent API, and exposes the following tools. If you’re building a custom integration and need full control, use the Agent API directly instead.

      +

      Discovery and reading

      +
        -
      • search: Find tables and metrics using keyword or natural language search.
      • -
      • get_table: Get details about a table, including its fields, related tables, and metrics.
      • -
      • get_table_field_values: Get sample values and statistics for a field in a table.
      • -
      • get_metric: Get details about a metric, including its queryable dimensions.
      • -
      • get_metric_field_values: Get sample values and statistics for a field in a metric.
      • -
      • construct_query: Construct a query against a table or metric. Returns an opaque query string that can be executed with execute_query.
      • -
      • execute_query: Execute a previously constructed query and return the results with column metadata, row count, and execution time.
      • +
      • search: Find tables, metrics, cards, dashboards, and collections using keyword or natural language search.
      • +
      • read_resource: Read one or more Metabase entities by metabase:// URI. Covers database / schema / table / collection / card / dashboard / metric / transform navigation in a single tool. Up to 5 URIs per call.
      • +
      + +

      Query construction and execution

      + +
        +
      • construct_query: Construct a query against a table or metric. Returns an opaque query handle that can be passed to execute_query.
      • query: Query a table or metric and return results.
      • -
      • create_question: Create questions.
      • -
      • create_dashboard: Create dashboards.
      • +
      • execute_query: Execute a previously constructed query and return the results with column metadata, row count, and execution time.
      • +
      • execute_sql: Execute a raw SQL query against a database. Requires native-query permission on the target database. An admin can disable this tool instance-wide via the mcp-execute-sql-enabled setting.
      • +
      + +

      Writing

      + +
        +
      • create_question: Save a query as a named question (card).
      • +
      • update_question: Update a saved question. Setting collection_id moves the card to another collection.
      • +
      • create_dashboard: Create a new dashboard, optionally populated with saved questions.
      • +
      • update_dashboard: Update a dashboard’s metadata (name, description, collection, archived).
      • +
      • create_collection: Create a new collection, optionally nested under a parent collection.

      Use the MCP server with file-based development

      diff --git a/_site/docs/latest/ai/metabot-slack.html b/_site/docs/latest/ai/metabot-slack.html index b61e7953bf..47da32b8c1 100644 --- a/_site/docs/latest/ai/metabot-slack.html +++ b/_site/docs/latest/ai/metabot-slack.html @@ -218,6 +218,12 @@ + + + + + + @@ -1022,9 +1028,47 @@
      Learn
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - v0.61 + v0.62 @@ -6087,16 +6196,16 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - v0.61 + v0.62 diff --git a/_site/docs/latest/cloud/change-region.html b/_site/docs/latest/cloud/change-region.html index 3d03d4fbce..470546cb20 100644 --- a/_site/docs/latest/cloud/change-region.html +++ b/_site/docs/latest/cloud/change-region.html @@ -218,6 +218,12 @@ + + + + + + @@ -1022,9 +1028,47 @@
    Learn
    -
    @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - v0.61 + v0.62 diff --git a/_site/docs/latest/cloud/cloud-vs-self-hosting.html b/_site/docs/latest/cloud/cloud-vs-self-hosting.html index 380ef0c620..4170ee4121 100644 --- a/_site/docs/latest/cloud/cloud-vs-self-hosting.html +++ b/_site/docs/latest/cloud/cloud-vs-self-hosting.html @@ -218,6 +218,12 @@ + + + + + + @@ -1022,9 +1028,47 @@
    Learn
    -
    @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - v0.61 + v0.62 diff --git a/_site/docs/latest/cloud/custom-domain.html b/_site/docs/latest/cloud/custom-domain.html index e713a6a52e..16eaa37606 100644 --- a/_site/docs/latest/cloud/custom-domain.html +++ b/_site/docs/latest/cloud/custom-domain.html @@ -218,6 +218,12 @@ + + + + + + @@ -1022,9 +1028,47 @@
    Learn
    -
    @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - v0.61 + v0.62 diff --git a/_site/docs/latest/cloud/google-sheets.html b/_site/docs/latest/cloud/google-sheets.html index e875433d4b..c9735ccf41 100644 --- a/_site/docs/latest/cloud/google-sheets.html +++ b/_site/docs/latest/cloud/google-sheets.html @@ -218,6 +218,12 @@ + + + + + + @@ -1022,9 +1028,47 @@
    Learn
    -
    @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - v0.61 + v0.62 diff --git a/_site/docs/latest/cloud/how-billing-works.html b/_site/docs/latest/cloud/how-billing-works.html index fa30a9224c..f904da8381 100644 --- a/_site/docs/latest/cloud/how-billing-works.html +++ b/_site/docs/latest/cloud/how-billing-works.html @@ -218,6 +218,12 @@ + + + + + + @@ -1022,9 +1028,47 @@
    Learn
    -
    @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - v0.61 + v0.62 diff --git a/_site/docs/latest/cloud/ip-addresses-to-whitelist.html b/_site/docs/latest/cloud/ip-addresses-to-whitelist.html index dcff574520..3b4e3ea06d 100644 --- a/_site/docs/latest/cloud/ip-addresses-to-whitelist.html +++ b/_site/docs/latest/cloud/ip-addresses-to-whitelist.html @@ -218,6 +218,12 @@ + + + + + + @@ -1022,9 +1028,47 @@
    Learn
    -
    @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - v0.61 + v0.62 diff --git a/_site/docs/latest/cloud/limitations.html b/_site/docs/latest/cloud/limitations.html index 0f5e044d1f..56fa2c8a89 100644 --- a/_site/docs/latest/cloud/limitations.html +++ b/_site/docs/latest/cloud/limitations.html @@ -218,6 +218,12 @@ + + + + + + @@ -1022,9 +1028,47 @@
    Learn
    -
    @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - v0.61 + v0.62 diff --git a/_site/docs/latest/cloud/migrate/cloud-to-self-hosted.html b/_site/docs/latest/cloud/migrate/cloud-to-self-hosted.html index 86bee53923..fce3cf7ee7 100644 --- a/_site/docs/latest/cloud/migrate/cloud-to-self-hosted.html +++ b/_site/docs/latest/cloud/migrate/cloud-to-self-hosted.html @@ -218,6 +218,12 @@ + + + + + + @@ -1022,9 +1028,47 @@
    Learn
    -
    @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - v0.61 + v0.62 diff --git a/_site/docs/latest/cloud/migrate/guide-pre-50.html b/_site/docs/latest/cloud/migrate/guide-pre-50.html index 54a5e749db..d63668eba6 100644 --- a/_site/docs/latest/cloud/migrate/guide-pre-50.html +++ b/_site/docs/latest/cloud/migrate/guide-pre-50.html @@ -218,6 +218,12 @@ + + + + + + @@ -1022,9 +1028,47 @@
    Learn
    -
    @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - v0.61 + v0.62 diff --git a/_site/docs/latest/cloud/migrate/guide.html b/_site/docs/latest/cloud/migrate/guide.html index 2e0a7ccff5..5b42b5c2f1 100644 --- a/_site/docs/latest/cloud/migrate/guide.html +++ b/_site/docs/latest/cloud/migrate/guide.html @@ -218,6 +218,12 @@ + + + + + + @@ -1022,9 +1028,47 @@
    Learn
    -
    @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - v0.61 + v0.62 diff --git a/_site/docs/latest/cloud/migrate/heroku.html b/_site/docs/latest/cloud/migrate/heroku.html index d9f35cc7e2..9c92bb684c 100644 --- a/_site/docs/latest/cloud/migrate/heroku.html +++ b/_site/docs/latest/cloud/migrate/heroku.html @@ -218,6 +218,12 @@ + + + + + + @@ -1022,9 +1028,47 @@
    Learn
    -
    @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - v0.61 + v0.62 diff --git a/_site/docs/latest/cloud/start.html b/_site/docs/latest/cloud/start.html index a6bed44af1..a7edfb407f 100644 --- a/_site/docs/latest/cloud/start.html +++ b/_site/docs/latest/cloud/start.html @@ -218,6 +218,12 @@ + + + + + + @@ -1022,9 +1028,47 @@
    Learn
    -
    @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - v0.61 + v0.62 diff --git a/_site/docs/latest/cloud/storage.html b/_site/docs/latest/cloud/storage.html index 49b5f89f3f..60f7782868 100644 --- a/_site/docs/latest/cloud/storage.html +++ b/_site/docs/latest/cloud/storage.html @@ -218,6 +218,12 @@ + + + + + + @@ -1022,9 +1028,47 @@
    Learn
    -
    @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - v0.61 + v0.62 diff --git a/_site/docs/latest/configuring-metabase/appearance.html b/_site/docs/latest/configuring-metabase/appearance.html index e1d4e1b9f0..21a4e37b1d 100644 --- a/_site/docs/latest/configuring-metabase/appearance.html +++ b/_site/docs/latest/configuring-metabase/appearance.html @@ -218,6 +218,12 @@ + + + + + + @@ -1022,9 +1028,47 @@
    Learn
    -
    @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - v0.61 + v0.62 @@ -6087,16 +6196,16 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - v0.61 + v0.62 @@ -6087,16 +6196,16 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - v0.61 + v0.62 @@ -6087,16 +6196,16 @@
    Other resources
      + +
    • - - v0.62 + + v0.61
    • - -
    • v0.60 @@ -6267,6 +6376,28 @@

      MB_AI_USAGE_MAX_RETENTION_DAYS

      + +
      + +

      Number of days to retain rows in the ai_usage_log, metabot_conversation, and metabot_message tables. Minimum value is 30; set to 0 to retain data indefinitely.

      + +

      Sets the maximum number of days Metabase preserves rows for the following application database tables:

      + +
        +
      • ai_usage_log
      • +
      • metabot_conversation
      • +
      • metabot_message
      • +
      + +

      Once a day, Metabase deletes rows older than this threshold. The minimum value is 30 days (Metabase will treat entered values of 1 to 29 the same as 30). +If set to 0, Metabase will keep all rows.

      +

      MB_ALLOWED_IFRAME_HOSTS

        @@ -6299,8 +6430,34 @@

        MB_CSP_IMG_ENABLED

        + + + +

        When on, the browser Content Security Policy restricts img-src so images can only load from this Metabase instance and the domains listed in MB_CSP_IMG_ALLOWED_HOSTS. Must be turned on to enable Custom Visualizations.

        + +

        MB_CSP_IMG_ALLOWED_HOSTS

        + + + +

        Comma-separated list of domains that images can load from in dashboard text cards, entity descriptions, and custom visualizations when MB_CSP_IMG_ENABLED is on. Empty by default, which restricts images to those hosted by your Metabase instance. See Allowed domains for images.

        +

        MB_ANALYTICS_PII_RETENTION_ENABLED

        +
        +

        Only available on Metabase Pro and Enterprise plans.

        +
        +
        • Type: boolean
        • Default: false
        • @@ -6308,7 +6465,7 @@

          Configuration file name: analytics-pii-retention-enabled

        -

        Enable logging of embed path, query parameters, user agent, and IP address of who views your internal data and embeds. This information will be shown in your usage analytics.

        +

        Enable logging of embed path, query parameters, user agent, IP address, and Metabot conversation metadata for users of your internal data and embeds. This information will be shown in your usage analytics.

        MB_ANON_TRACKING_ENABLED

        @@ -6636,6 +6793,21 @@

        MB_CUSTOM_VIZ_ENABLED

        + +
        +

        Only available on Metabase Pro and Enterprise plans.

        +
        + + + +

        Should custom visualizations be enabled for this instance?

        +

        MB_DASHBOARDS_SAVE_LAST_USED_PARAMETERS

          @@ -6687,6 +6859,15 @@

          MB_DISABLE_AUTO_SYNC

          + +
            +
          • Type: boolean
          • +
          • Default: false
          • +
          + +

          When true, suppresses automatically-triggered syncs: the scheduled sync-and-analyze and update-field-values jobs do not run (and new triggers are not registered), and adding a new database does not kick off an initial sync. Syncs originating from an explicit request — the Sync-now REST endpoints, or a transform finalizing its output table — are unaffected. For deployments that load database metadata from disk at startup and should not have Metabase re-discover it.

          +

          MB_DISABLE_CORS_ON_LOCALHOST

          -

          Enter a URL of the landing page to show the user. This overrides the custom homepage setting above.

          +

          Enter a relative URL like /dashboard/1 or /collection/2.

          MB_LANDING_PAGE_ILLUSTRATION

          @@ -8907,6 +9088,22 @@

          MB_TRANSFORM_RUN_JOB_SQL_CONCURRENCY

          + +
          +

          Only available on Metabase Pro and Enterprise plans.

          +
          + +
            +
          • Type: integer
          • +
          • Default: 3
          • +
          + +

          Maximum number of SQL-backed transforms a single transform-job run may execute in parallel.

          + +

          This setting is only configurable on instances with the transforms add-on; OSS + deployments without the add-on always use the default.

          +

          MB_TRANSFORM_TIMEOUT

          @@ -8922,7 +9119,9 @@

          Controls the timeout for transform runs, including the queries they execute. This takes precedence over MB_DB_QUERY_TIMEOUT_MINUTES for queries executed inside a transform, so transforms can run longer than regular - Metabase queries.

          + Metabase queries. Enforced per-statement via Statement.setQueryTimeout; transforms also use a separate JDBC + connection pool whose c3p0 leak-detector tolerates this longer runtime, so non-transform connections continue to + use the shorter MB_DB_QUERY_TIMEOUT_MINUTES leak-detector.

          MB_TRANSFORMS_ENABLED

          @@ -9040,6 +9239,26 @@

          MAX_

          Also see the Changing session expiration documentation page.

          +

          MB_APPLICATION_DB_IDLE_CONNECTION_TEST_PERIOD_SECONDS

          + +

          Type: integer
          +Default: 60
          +Since: v62.0

          + +

          How often, in seconds, to test idle connections in the application database pool. Set to 0 to disable idle connection testing.

          + +

          MB_APPLICATION_DB_MAX_CONNECTION_AGE_SECONDS

          + +

          Type: integer
          +Default: 3600
          +Since: v62.0

          + +

          Maximum lifetime, in seconds, of a connection in the application database pool. After this duration the connection is closed and a new one is opened. Set to 0 to keep connections until the database closes them.

          + +

          The default of one hour is set primarily to limit memory growth (especially on PostgreSQL).

          + +

          If you are connecting with a short-lived credential (e.g. an AWS RDS IAM auth token) baked into the URL or password at startup, setting this to 0 is a partial workaround — eventual reconnects from the database or the network will still fail. Prefer MB_DB_AWS_IAM (AWS RDS / Aurora) or MB_DB_AZURE_MANAGED_IDENTITY_CLIENT_ID (Azure).

          +

          MB_APPLICATION_DB_MAX_CONNECTION_POOL_SIZE

          Type: integer
          @@ -9054,6 +9273,30 @@

          MB_JDBC_DATA_WAREHOUSE_MAX_CONNECTION_POOL_SIZE for setting maximum connections to the databases connected to Metabase.

          +

          MB_APPLICATION_DB_MAX_IDLE_TIME_EXCESS_CONNECTIONS_SECONDS

          + +

          Type: integer
          +Default: 600
          +Since: v62.0

          + +

          How long, in seconds, an idle connection beyond the minimum pool size may stay open before being culled. Set to 0 to never cull excess idle connections.

          + +

          MB_APPLICATION_DB_TEST_CONNECTION_ON_CHECKOUT

          + +

          Type: boolean
          +Default: false
          +Since: v62.0

          + +

          When true, each connection is validated when checked out of the pool. Adds latency to every checkout. Useful when credentials may invalidate connections behind the pool’s back.

          + +

          MB_APPLICATION_DB_UNRETURNED_CONNECTION_TIMEOUT_SECONDS

          + +

          Type: integer
          +Default: 3600
          +Since: v62.0

          + +

          How long, in seconds, before a checked-out but unreturned connection is forcibly reclaimed. The legacy name MB_APPLICATION_DB_UNRETURNED_CONNECTION_TIMEOUT continues to work; the suffixed form is preferred.

          +

          MB_ASYNC_QUERY_THREAD_POOL_SIZE

          Type: integer
          @@ -9083,6 +9326,28 @@

          MB

          When set to false, Metabase will print migrations needed to be done in the application database and exit. Those migrations need to be applied manually. When true, Metabase will automatically make changes to the application database. This is not related to migrating away from H2.

          +

          MB_DB_AWS_IAM

          + +

          Type: boolean
          +Default: false
          +Since: v0.58.0

          + +

          When true, authenticate to the application database (PostgreSQL or MySQL/MariaDB on AWS RDS or Aurora) using AWS IAM instead of a password. Omit MB_DB_PASS. Auth tokens are refreshed automatically.

          + +

          Requires that AWS credentials are available via the standard credential chain (e.g. EKS IRSA, EC2 instance profile, ECS task role, or AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY), that the credentials hold the rds-db:connect permission for your database user, and that the DB user is set up for IAM authentication.

          + +

          For MySQL/MariaDB, also set MB_DB_SSL_CERT, or pass the SSL parameters in MB_DB_CONNECTION_URI.

          + +

          MB_DB_AZURE_MANAGED_IDENTITY_CLIENT_ID

          + +

          Type: string
          +Default: null
          +Since: v0.51.0

          + +

          Authenticate to a PostgreSQL or MySQL application database using an Azure Managed Identity instead of a password. Set this to the client ID of a user-assigned Managed Identity attached to your compute resource. Omit MB_DB_PASS. Access tokens are refreshed automatically.

          + +

          Requires the Database authentication providers Pro/Enterprise feature.

          +

          MB_DB_CONNECTION_URI

          Type: string
          @@ -9145,6 +9410,19 @@

          MB_DB_POR

          The port for MB_DB_HOST.

          +

          MB_DB_SSL_CERT

          + +

          Type: string
          +Default: null
          +Since: v0.58.0

          + +

          SSL configuration for the application database. Used with MB_DB_AWS_IAM on MySQL/MariaDB, where SSL is required.

          + +
            +
          • "trust" — trust the server certificate without validation.
          • +
          • A filesystem path to a PEM file — validate against the supplied CA certificate.
          • +
          +

          MB_DB_TYPE

          Type: string ("h2", "postgres", "mysql")
          @@ -9405,7 +9683,7 @@

          MB_NS_TR

          MB_PASSWORD_COMPLEXITY

          -

          Type: string ("weak", "normal", "strong")
          +

          Type: string ("weak", "normal", "strong", "strong-enough")
          Default: "normal"

          Enforce a password complexity rule to increase security for regular logins. This only applies to new users or users that are changing their password. Related MB_PASSWORD_LENGTH

          @@ -9414,6 +9692,7 @@

          weak no character constraints
        • normal at least 1 digit
        • strong minimum 8 characters w/ 2 lowercase, 2 uppercase, 1 digit, and 1 special character
        • +
        • strong-enough minimum 15 characters

        MB_PASSWORD_LENGTH

        @@ -9432,6 +9711,15 @@

        MB_PL

        The location is where custom third-party drivers should be added. Then Metabase will load the driver on startup, which can be verified in the log.

        +

        MB_PROMETHEUS_SERVER_PORT

        + +

        Type: integer
        +Default: null

        + +

        Port to serve Prometheus metrics from. If set, Prometheus collectors are registered and served from localhost:<port>/metrics.

        + +

        See Observability with Prometheus.

        +

        MB_QP_CACHE_BACKEND

        Type: string
        diff --git a/_site/docs/latest/configuring-metabase/fonts.html b/_site/docs/latest/configuring-metabase/fonts.html index b756795d0e..ae780614b1 100644 --- a/_site/docs/latest/configuring-metabase/fonts.html +++ b/_site/docs/latest/configuring-metabase/fonts.html @@ -218,6 +218,12 @@ + + + + + + @@ -1022,9 +1028,47 @@

        Learn

    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - v0.61 + v0.62 @@ -6087,16 +6196,16 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - v0.61 + v0.62 @@ -6087,16 +6196,16 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - v0.61 + v0.62 @@ -6087,16 +6196,16 @@
    Other resources
      + +
    • - - v0.62 + + v0.61
    • - -
    • v0.60 @@ -6321,7 +6430,17 @@

      Location filters

      ID filter

      -

      The ID filter provides a simple input box where you can type the ID of a user, order, and so on.

      +

      The ID filter lets people filter on the ID of a user, order, and so on.

      + +

      You can select how people should filter on this column:

      + +
        +
      • Dropdown list
      • +
      • Search box
      • +
      • Input box
      • +
      + +

      See Set filter input type. To control which values appear in the dropdown or search box, see Change a filter’s selectable values.

      You can give people the option to pick one value or multiple values.

      @@ -6466,7 +6585,7 @@

      Change filter or parameter type

      1. When viewing a dashboard, click the pencil icon to Edit the dashboard.
      2. Click on the filter or parameter you want to edit. A widget editing sidebar should pop up on the right side.
      3. -
      4. In the sidebar, change the type of filter or parameter. Changing the widget type disconnects the widget from all cards. You’ll need to reconnect to the relevant columns on each card for the new type. If you’ve changed the widget type by mistake and want to restore the widget and its connections to cards, you can exit dashboard edit mode without saving your changes.
      5. +
      6. In the sidebar, change the type of filter or parameter. Changing the widget type disconnects the widget from all cards. You’ll need to reconnect the widget to the relevant columns on each card for the new type. If you’ve changed the widget type by mistake and want to restore the widget and its connections to cards, you can exit dashboard edit mode without saving your changes.

      Change filter operator

      @@ -6546,17 +6665,15 @@

      Change a filter’s selectable value

      Click Edit (to the right of “Dropdown list”) to specify where the values should come from:

        -
      • From connected fields
      • -
      • From another model or question
      • -
      • -

        Custom list

        - -

        Selectable values

        -
      • +
      • From connected fields: Use the values from the field the filter is connected to.
      • +
      • From another model or question: Pick a model or question (built with either the query builder or SQL), then set the Column to supply the values that the filter should pass along. You can also set a Column to supply the labels to show friendly labels in the dropdown while still filtering on the underlying values. For example, you could filter on product ID while showing the product’s title so people can search for products by name or ID.
      • +
      • Custom list: Enter each value on its own line.

    • +

      Selectable values

      +

      Set a default filter value

      You might want to set a default filter value, like “Active,” so that when people load your dashboard, they only see data for “Active” records (not “Inactive,” “Canceled,” and so on).

      diff --git a/_site/docs/latest/dashboards/images/selectable-values.png b/_site/docs/latest/dashboards/images/selectable-values.png index ea42a7b321..67bafddaf5 100644 Binary files a/_site/docs/latest/dashboards/images/selectable-values.png and b/_site/docs/latest/dashboards/images/selectable-values.png differ diff --git a/_site/docs/latest/dashboards/interactive.html b/_site/docs/latest/dashboards/interactive.html index 6ec5b0a3ef..398ffcef44 100644 --- a/_site/docs/latest/dashboards/interactive.html +++ b/_site/docs/latest/dashboards/interactive.html @@ -218,6 +218,12 @@ + + + + + + @@ -1022,9 +1028,47 @@
      Learn
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1814,9 +1858,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1830,6 +1913,17 @@
    Embedded Analytics
    + + +
    @@ -3656,6 +3750,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6086,7 +6195,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - v0.61 + v0.62 @@ -6087,16 +6196,16 @@
    Other resources
  • + + + + + + + + + + + + + + + + + + + + +
    FieldDescription
    nameUnique identifier for the plugin. Metabase registers your visualization under this name and uses it to match replacement bundles.
    iconPath to the visualization icon (SVG recommended). Metabase serves the icon automatically. It’s the only file Metabase serves alongside your bundle. See Bundling assets.
    metabase.versionSemver range of Metabase versions the plugin supports (for example, ">=1.62.0", "^1.62", ">=1.62 <1.64").
    + +

    Defining a visualization

    + +

    src/index.tsx exports a factory function. Metabase calls the function with two helpers: defineSetting (for declaring settings) and the current locale. The factory function should return the result of defineConfig, which wraps your VisualizationComponent.

    + +
    import {
    +  defineConfig,
    +  type CreateCustomVisualization,
    +  type CustomVisualizationProps,
    +} from "@metabase/custom-viz";
    +
    +type Settings = {
    +  threshold?: number;
    +};
    +
    +const createVisualization: CreateCustomVisualization<Settings> = ({
    +  defineSetting,
    +  locale,
    +}) => {
    +  const VisualizationComponent = ({
    +    series,
    +    settings,
    +    width,
    +    height,
    +  }: CustomVisualizationProps<Settings>) => {
    +    // Render your visualization with React
    +    return <div>{/* ... */}</div>;
    +  };
    +
    +  return defineConfig<Settings>({
    +    id: "my-viz",
    +    getName: () => "My visualization",
    +    minSize: { width: 2, height: 2 },
    +    defaultSize: { width: 6, height: 4 },
    +    checkRenderable(series, settings) {
    +      // Throw if the visualization can't render with this data or these settings
    +      if (series.length === 0) {
    +        throw new Error("No data");
    +      }
    +    },
    +    settings: {
    +      threshold: defineSetting({
    +        id: "threshold",
    +        title: "Threshold",
    +        widget: "number",
    +      }),
    +    },
    +    VisualizationComponent,
    +  });
    +};
    +
    +export default createVisualization;
    +
    + +

    Visualization definition properties

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PropertyTypeDescription
    idstringIdentifier for the visualization definition.
    getName()() => stringDisplay name for the visualization.
    minSize{ width, height }Minimum size on a dashboard grid.
    defaultSize{ width, height }Default size on a dashboard grid.
    noHeaderbooleanWhen true, hides the default card title and description header.
    canSavePngbooleanSet to true to enable PNG export of the live, interactive chart. Disabled by default.
    checkRenderable(series, settings) => voidLet people know the chart doesn’t work with the current data or settings.
    settingsRecord<string, SettingDefinition>Map of setting definitions created with defineSetting().
    VisualizationComponentReact.ComponentTypeThe interactive React component that renders the visualization in questions and dashboards.
    + +

    Props passed to your component

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PropTypeDescription
    seriesSeriesQuery results — an array of series; each has data.rows and data.cols.
    settingsCustomVisualizationSettings<TSettings>The resolved visualization settings.
    widthnumber \| nullContainer width in pixels. null until the first measure — render null to avoid a flash.
    heightnumber \| nullContainer height in pixels. null until the first measure.
    colorScheme"light" \| "dark"Metabase’s current color scheme.
    onClick(clickObject) => voidCall to trigger drill-through actions on a data point.
    onHover(hoverObject?) => voidCall to show a tooltip on a data point.
    + +

    Handling query results

    + +

    series is an array of result sets, with one entry per series on the chart. A single question produces one entry; a dashboard card with multiple series produces several entries. Each entry has a data object:

    + +
      +
    • data.rows: an array of rows; each row is an array of cell values in column order. Row order is preserved, so when you map rows to chart points one-to-one, a point’s index maps straight back to data.rows[i]. Useful for grabbing the whole row, not just the clicked cell.
    • +
    • data.cols: an array of column objects describing each value. The fields you’ll reach for most: name (database column name), display_name (label shown in the UI), base_type (Metabase type, for example "type/Integer"), and semantic_type (for example "type/Currency" or "type/Latitude").
    • +
    + +
    const [{ data }] = series;
    +const total = data.rows.reduce((sum, [value]) => sum + Number(value), 0);
    +
    + +

    To classify a column without matching type strings by hand, use the column-type predicates the SDK exports: isNumeric, isDate, isString, isBoolean, isCurrency, isLatitude, isCoordinate, isFK, isPK, isCategory, isURL. These predicates take a Column and resolve type metadata from the host, so they only work inside a running Metabase. See Formatting and theming.

    + +
    import { isNumeric } from "@metabase/custom-viz";
    +
    +const numericColumns = data.cols.filter(isNumeric);
    +
    + +

    Clicks and tooltips

    + +

    Your component receives onClick and onHover. Call them with an object that identifies the data point being interacted with. Metabase positions popovers from it, and for clicks it offers the matching drill-through actions (filter by this value, view these rows, and so on).

    + +
    <rect
    +  onClick={(event) =>
    +    onClick({
    +      value: row[1],
    +      column: cols[1],
    +      dimensions: [{ value: row[0], column: cols[0] }],
    +      event: event.nativeEvent,
    +      element: event.currentTarget,
    +    })
    +  }
    +  onMouseMove={(event) =>
    +    onHover({
    +      element: event.currentTarget,
    +      data: cols.map((col, i) => ({
    +        col,
    +        value: row[i],
    +        key: col.display_name,
    +      })),
    +    })
    +  }
    +  onMouseLeave={() => onHover(null)}
    +/>
    +
    + +

    Pass null to onHover to dismiss the tooltip. onClick also takes an origin: { row, cols } when a drill-through needs the whole row, not just the clicked cell. It can take a data array of { col, value } pairs (one per column) when an action needs every column’s value. You can include settings (the current resolved settings) in the click object too, so dashboard click behaviors configured against your visualization have what they need.

    + +

    The hover object accepts more than element and data. Optional fields like index and seriesIndex (to highlight a series in the legend) and value, column, dimensions, and event (for a simpler single-point tooltip) are available when you need them.

    + +

    Settings and widgets

    + +

    Define settings with the defineSetting() helper. Each setting shows up in the visualization settings sidebar.

    + +
    settings: {
    +  threshold: defineSetting({
    +    id: "threshold",
    +    title: "Threshold",
    +    getSection: () => "Display",
    +    widget: "number",
    +    getDefault: () => 0,
    +    getProps: () => ({
    +      placeholder: "Enter threshold",
    +      options: { isNonNegative: true },
    +    }),
    +  }),
    +},
    +
    + +

    Setting definition properties

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PropertyDescription
    idUnique key — has to match the key in your Settings type.
    titleLabel shown in the sidebar.
    getSection()Function returning the section the setting appears under (for example, "Data" or "Display").
    groupSub-heading within a section for grouping related settings.
    indexDisplay order within a group.
    inlineWhen true, renders the widget on the same line as title (handy for "toggle").
    widgetA built-in widget name, or a custom React component.
    getDefault(series, settings)Computes the default value when none is stored.
    getValue(series, settings)Always-computed value — overrides the stored value on every render.
    getProps(series, settings)Returns widget-specific props.
    isValid(series, settings)Return false to discard a stored value and fall back to getDefault.
    readDependenciesSetting IDs that have to resolve before this one.
    writeDependenciesSetting IDs whose current values are persisted when this setting changes.
    eraseDependenciesSetting IDs reset to null when this setting changes.
    persistDefaultWhen true, writes the value from getDefault to stored settings on first render.
    + +

    Built-in widgets

    + +

    Widgets for the settings UI.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    WidgetgetProps() return typeDescription
    "input"{ placeholder? }Text input
    "number"{ placeholder?, options?: { isInteger?, isNonNegative? } }Numeric input
    "toggle"(none — omit getProps)Boolean toggle
    "radio"{ options: { name, value }[] }Radio button group
    "select"{ options: { name, value }[], placeholder?, placeholderNoOptions? }Dropdown
    "segmentedControl"{ options: { name, value }[] }Segmented button control
    "color"{ title? }Color picker
    "multiselect"{ options: { label, value }[], placeholder?, placeholderNoOptions? }Multi-select dropdown
    "field"{ columns, options: { name, value }[], showColumnSetting? }Single column picker
    "fields"{ columns, options: { name, value }[], addAnother?, showColumnSetting? }Multi-column picker
    + +

    Custom widgets

    + +

    When the built-in widgets don’t fit, set widget to your own React component instead of a built-in name. Metabase renders the component in the settings sidebar, inside the same sandbox as your visualization. A widget that reaches for a blocked API is removed, so keep widgets to plain inputs and display.

    + +

    Metabase injects these props into your widget component (import the type with BaseWidgetProps<TValue, TSettings>):

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PropTypeDescription
    idstringThe setting’s id.
    valueTValue \| undefinedThe setting’s current value.
    onChange(value?) => voidUpdate this setting’s value.
    onChangeSettings(settings) => voidUpdate other settings at the same time.
    + +

    Add any extra props your component needs with getProps(). Its return type is your component’s own props, minus the base props Metabase injects.

    + +
    import { defineConfig, type BaseWidgetProps } from "@metabase/custom-viz";
    +
    +type Settings = { label?: string };
    +
    +function LabelWidget({ value, onChange }: BaseWidgetProps<string, Settings>) {
    +  return (
    +    <input value={value ?? ""} onChange={(e) => onChange(e.target.value)} />
    +  );
    +}
    +
    +// ...in your visualization's settings:
    +settings: {
    +  label: defineSetting({
    +    id: "label",
    +    title: "Label",
    +    widget: LabelWidget,
    +  }),
    +},
    +
    + +

    Formatting and theming

    + +

    Render numbers, dates, and currencies the way the rest of Metabase does with formatValue. Pass the cell’s column to pick up that column’s formatting settings, or override with options like currency, decimals, compact, or date_style:

    + +
    import { formatValue } from "@metabase/custom-viz";
    +
    +formatValue(row[1], { column: cols[1] });
    +formatValue(0.084, { number_style: "percent", decimals: 1 }); // "8.4%"
    +
    + +

    formatValue and the column-type predicates (like isNumeric and isDate) read formatting and type metadata from Metabase. If you call them outside of Metabase, like in a unit test, they’ll throw Metabase Viz API not initialized.

    + +

    For layout math (like fitting labels or sizing axes), measureText(text, { size, family, weight }) returns { width, height } in pixels. There’s also measureTextWidth and measureTextHeight if you only need one dimension.

    + +

    To match Metabase’s look (and follow dark mode), you have two paths. For anything you render as DOM or SVG, you can style with Metabase’s CSS variables: var(--mb-color-brand) and the other --mb-color-* variables, and the theme follows automatically.

    + +

    Canvas-based charting libraries (like ECharts and Chart.js) can’t read CSS variables, so in those cases you branch on the colorScheme prop ("light" or "dark") and pass explicit colors. See the calendar-heatmap example for one built with ECharts.

    + +

    Bundling assets

    + +

    The build produces a single JavaScript bundle (dist/index.js), and the icon is the only file Metabase serves alongside it. Metabase doesn’t serve arbitrary static files, so bundling images into your plugin is the most reliable approach. The sandbox blocks scripted network access like fetch and XMLHttpRequest, but it doesn’t stop the browser from loading an <img> or CSS url(): an external image still loads as long as its domain is allowed by the image-domains Content Security Policy (see below).

    + +

    Bundled images always render, including when an admin has turned on Restrict image domains. That Content Security Policy setting limits which external hosts images can load from, but inline and data: images ship inside your bundle, so they’re never blocked.

    + +

    Your npm dependencies are bundled in too. You can pull in a charting library (the calendar-heatmap example bundles ECharts), but everything ships in that single dist/index.js, so your code and its dependencies all count toward the packaged plugin’s size limits.

    + +

    So anything your visualization renders has to live inside that bundle. For images, you have a few options:

    + +
      +
    • Inline SVG or emoji. What the starter visualization does (it renders 👍 / 👎). Drop the SVG markup straight into your JSX.
    • +
    • Import the image. Import an image from src/ and the bundler inlines small files as a base64 data URL. Vite inlines assets below its assetsInlineLimit (4 KB by default); larger files are emitted as separate assets that won’t ship in the single bundle, so keep imported images small or raise the limit.
    • +
    • Embed a data URL directly. Paste a data:image/png;base64,... string into your component’s src.
    • +
    + +
    import logo from "./logo.svg"; // inlined as a data URL at build time
    +
    +const VisualizationComponent = () => <img src={logo} alt="" />;
    +
    + +

    The visualization icon

    + +

    The icon shows up in the chart type picker and elsewhere in the Metabase UI.

    + +
      +
    • Declare it with "icon" in metabase-plugin.json. The default location is public/assets/icon.svg.
    • +
    • Use currentColor for fills and strokes so the icon adapts to light and dark themes, as well as to hover and active states (like when it’s highlighted in a menu):
    • +
    + +
    <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
    +  <path d="..." stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
    +</svg>
    +
    + +
      +
    • For more control, you can use Metabase’s CSS variables inside an inline SVG, like fill="var(--mb-color-brand)".
    • +
    • Keep the icon simple and monochromatic. Skip gradients and multiple colors.
    • +
    + +

    Build and package the plugin

    + +

    Run:

    + +
    npm run build
    +
    + +

    This compiles src/ to dist/ and packages the result into <name>-<version>.tgz at the project root. The archive contains metabase-plugin.json, dist/index.js, and the whitelisted icon under dist/assets/, and has to come in under 5 MiB. The packaging step also rejects an archive whose uncompressed contents exceed 25 MiB. You don’t need to commit dist/.

    + +

    For uploading and managing plugins, see Custom visualizations.

    + +

    Versioning and compatibility

    + +

    The Custom Visualizations SDK works with Metabase 1.62 and newer. Declare the versions your plugin supports with metabase.version in metabase-plugin.json, using npm semver range syntax — ">=1.62.0", "^1.62", ">=1.62 <1.64". Write the range against the full version number (">=1.62.0"), not a bare major version (">=62"), which won’t match.

    + +

    If you upload a bundle to a Metabase outside the plugin’s declared range, Metabase rejects the upload.

    + +

    Sandbox restrictions

    + +

    Metabase runs plugin code in an isolated sandbox, so a visualization works only from the series and settings it’s given. The sandbox blocks:

    + +
      +
    • Network access: fetch, XMLHttpRequest, WebSocket, EventSource, Worker, SharedWorker, RTCPeerConnection, WebTransport, BroadcastChannel, navigator.sendBeacon, and FontFace.load. You can’t call Metabase’s APIs or any other service.
    • +
    • Browser storage and cookies: localStorage, sessionStorage, indexedDB, the Cache API, document.cookie, and the CookieStore API.
    • +
    • Device and credential APIs: clipboard, geolocation, camera and microphone, service workers, the Credentials and Permissions APIs, USB, Bluetooth, HID, serial, WebXR, and Web Share.
    • +
    • Browser UI: window.open, dialogs (alert, confirm, prompt, print), notifications, modal dialogs, fullscreen, and payment requests.
    • +
    • Navigation and the rest of the app: history changes, the host page’s URL and referrer, and any DOM outside the plugin’s own container.
    • +
    • Unsafe DOM and timing APIs: document.write, execCommand, constructable stylesheets, raw HTML parsers (DOMParser, setHTMLUnsafe, XSLTProcessor), and resource-timing APIs that expose other requests the page has made.
    • +
    + +

    Custom visualizations only render in the live app

    + +

    Custom visualizations only render in the live, interactive app. Static renders, like dashboard subscriptions sent by email, Slack, or webhook, fall back to a table for any card that uses a custom visualization. The same goes for embedded questions and dashboards: a card that uses a custom visualization falls back to a table.

    + +

    Example plugins

    + +
      +
    • Calendar heatmap. Read through src/ for an example of checkRenderable, settings, and rendering against series data.
    • +
    • Thumbs. Thumbs up or down depending on a threshold.
    • +
    + +

    Further reading

    + + + + +
    +
    + +

    + Read docs for other versions of Metabase. +

    + +
    + + +
    + +
    +
    +
    Was this helpful?
    + + +
    + +
    +

    + +
    + + + +
    +
    + +
    +
    Thanks for your feedback!
    +
    + + + + Want to improve these docs? Propose a change. + + +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/_site/docs/latest/developers-guide/dev-branch-docker.html b/_site/docs/latest/developers-guide/dev-branch-docker.html index 1e3c811010..7e822d7fbe 100644 --- a/_site/docs/latest/developers-guide/dev-branch-docker.html +++ b/_site/docs/latest/developers-guide/dev-branch-docker.html @@ -218,6 +218,12 @@ + + + + + + @@ -1022,9 +1028,47 @@
    Learn
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - v0.61 + v0.62 @@ -6087,16 +6196,16 @@
    Other resources
  • - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
  • - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
  • - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - v0.61 + v0.62 @@ -6087,16 +6196,16 @@
    Other resources
    +

    Customizing Metabase

    + + +

    Metabase documentation

      diff --git a/_site/docs/latest/developers-guide/versioning.html b/_site/docs/latest/developers-guide/versioning.html index 3ddc0e4ecd..36877fa6dd 100644 --- a/_site/docs/latest/developers-guide/versioning.html +++ b/_site/docs/latest/developers-guide/versioning.html @@ -218,6 +218,12 @@ + + + + + + @@ -1022,9 +1028,47 @@
      Learn
  • - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1818,9 +1862,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1834,6 +1917,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - v0.61 + v0.62 @@ -6087,16 +6196,16 @@
    Other resources
      + +
    • - - v0.62 + + v0.61
    • - -
    • v0.60 @@ -6258,6 +6367,11 @@

      Attributes

      object Default values for dashboard filters, e.g. { 'productId': '42' }.

      Optional
      Available in Pro/Enterprise and Guest embed. + +
      parameters + object + Controlled dashboard filters values, e.g. { 'productId': '42' }. Setting this attribute supersedes initial-parameters as the seed and stays in sync with subsequent mutations. Pair with the parameters-change DOM event to track edits.

      Optional
      Available in Pro/Enterprise and Guest embed. + token string @@ -6364,6 +6478,11 @@

      Attributes

      string | number The ID of the question to embed. Can be a regular ID or an entity ID. Use "new" to embed the query builder, or "new-native" to embed the SQL editor. Only for SSO embeds — guest embeds use token. + + sql-parameters + object + Controlled SQL parameter values, e.g. { "productId": "42" }. Setting this attribute supersedes initial-sql-parameters as the seed and stays in sync with subsequent mutations. Pair with the sql-parameters-change DOM event to track edits.

      Optional
      Available in Pro/Enterprise and Guest embed. + target-collection string | number diff --git a/_site/docs/latest/embedding/eajs/snippets/MetabaseBrowserAttributes.html b/_site/docs/latest/embedding/eajs/snippets/MetabaseBrowserAttributes.html index 6fe5d56bd6..6e321d36ba 100644 --- a/_site/docs/latest/embedding/eajs/snippets/MetabaseBrowserAttributes.html +++ b/_site/docs/latest/embedding/eajs/snippets/MetabaseBrowserAttributes.html @@ -218,6 +218,12 @@ + + + + + + @@ -1022,9 +1028,47 @@
      Learn
  • - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - v0.61 + v0.62 @@ -6087,16 +6196,16 @@
    Other resources
  • - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - v0.61 + v0.62 @@ -6087,16 +6196,16 @@
    Other resources
      + +
    • - - v0.62 + + v0.61
    • - -
    • v0.60 @@ -6245,6 +6354,11 @@

      Properties

      string | number The ID of the question to embed. Can be a regular ID or an
      entity ID. Use "new" to embed the query builder, or "new-native" to embed the SQL editor. Only for SSO embeds — guest embeds use token. + + sql-parameters + object + Controlled SQL parameter values, e.g. { "productId": "42" }. Setting this attribute supersedes initial-sql-parameters as the seed and stays in sync with subsequent mutations. Pair with the sql-parameters-change DOM event to track edits.

      Optional
      Available in Pro/Enterprise and Guest embed. + target-collection string | number diff --git a/_site/docs/latest/embedding/eajs/snippets/index.html b/_site/docs/latest/embedding/eajs/snippets/index.html index 778a2be987..d605d92d86 100644 --- a/_site/docs/latest/embedding/eajs/snippets/index.html +++ b/_site/docs/latest/embedding/eajs/snippets/index.html @@ -218,6 +218,12 @@ + + + + + + @@ -1022,9 +1028,47 @@
      Learn
  • - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    +

    See Modular embedding parameters for controlled parameters documentation.

    +

    Locked parameters

    Locked parameters let you filter data without exposing the filter to the end-user. Locking parameters is useful for restricting data based on who’s viewing the embed (for example, showing each customer only their own data).

    diff --git a/_site/docs/latest/embedding/introduction.html b/_site/docs/latest/embedding/introduction.html index 583f55f3cc..8c67d29d5a 100644 --- a/_site/docs/latest/embedding/introduction.html +++ b/_site/docs/latest/embedding/introduction.html @@ -218,6 +218,12 @@ + + + + + + @@ -1022,9 +1028,47 @@
    Learn
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - v0.61 + v0.62 @@ -6087,16 +6196,16 @@
    Other resources
    +

    Pass parameter values to embedded components

    + +

    See Modular embedding parameters.

    +

    Page-level config

    To define the configuration that applies to every embed on the page, use the defineMetabaseConfig() function. Its parameters include:

    diff --git a/_site/docs/latest/embedding/parameters.html b/_site/docs/latest/embedding/parameters.html new file mode 100644 index 0000000000..8f4370cc96 --- /dev/null +++ b/_site/docs/latest/embedding/parameters.html @@ -0,0 +1,6985 @@ + + + + + + + + + + + + + + + + + + + + + + + + +Modular embedding parameters | Metabase Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + + + +
    + + + + +
    +
    + + + +
    +
    +
    + +
    + + + + + + + + + +
    + + + +
    + + +
    + +
    + +
    + + + +
    + + + v0.62 + + + + + + + + +
    + + + + + What’s new + + + + + +
    + + + + +
    +
    + + +
    + + +
    + +
    + + +

    Modular embedding parameters

    + +

    This page covers how to pass parameter values to embedded dashboards and SQL questions.

    + +

    Modular embedding SDK (React)

    + +

    Pass parameter values to a dashboard

    + +

    You can set initial values for embeds (uncontrolled), and optionally keep your app in sync with values as people change them (controlled). You can pick either initialParameters and parameters, but don’t combine them.

    + +

    initialParameters (uncontrolled)

    + +

    Set the filter values once on load. Your app won’t know when people change filters in the dashboard. Pick this when you don’t need to track those changes.

    + +
    <InteractiveDashboard
    +  dashboardId={dashboardId}
    +  initialParameters={{ state: "NY" }}
    +/>
    +
    + +

    See How parameter values are resolved for null / missing-slug semantics.

    + +

    parameters + onParametersChange (controlled)

    + +

    Push values from your app, and observe every applied change via onParametersChange. This works like a controlled <input value onChange>. Your app holds the source of truth, the dashboard re-renders when the prop changes, and you receive a callback whenever applied values change.

    + +
    const [parameters, setParameters] = useState<ParameterValues>({
    +  state: "NY",
    +});
    +
    +const handleParametersChange = (payload: ParameterChangePayload) => {
    +  // Sync your local state on every applied change. `payload.source` is one of:
    +  //   "initial-state" — post-load snapshot, fired once per dashboard load
    +  //   "manual-change" — user edited a parameter widget
    +  //   "auto-change"   — your push was normalized; re-sync from `payload.parameters`
    +  setParameters(payload.parameters);
    +};
    +
    +return (
    +  <InteractiveDashboard
    +    dashboardId={dashboardId}
    +    parameters={parameters}
    +    onParametersChange={handleParametersChange}
    +  />
    +);
    +
    + +

    onParametersChange receives the dashboard parameter change payload.

    + +
    +

    Don’t combine initialParameters and parameters - pick one. For controlled behavior, only use parameters.

    +
    + +

    Pass parameters to SQL questions

    + +

    You can pass parameter values to SQL questions in the format {parameter_name: parameter_value}. You can set initial values for embeds (uncontrolled), and optionally keep your app in sync with values as people change them (controlled).

    + +

    These props only work with SQL questions, not query-builder questions.

    + +

    initialSqlParameters (uncontrolled)

    + +

    Set the parameter values once on load. Your app won’t know when people change parameters in the question. Pick this when you don’t need to track those changes.

    + +
    <StaticQuestion
    +  questionId={questionId}
    +  initialSqlParameters={{ product_id: 50 }}
    +/>
    +
    + +

    See How parameter values are resolved for null / missing-slug semantics.

    + +

    sqlParameters + onSqlParametersChange (controlled)

    + +

    Push values from your app, and observe every applied change via onSqlParametersChange. This works like a controlled <input value onChange> - your app holds the source of truth, the question re-renders when the prop changes, and you receive a callback whenever applied values change.

    + +
    const [sqlParameters, setSqlParameters] = useState<SqlParameterValues>({
    +  state: "NY",
    +});
    +
    +const handleSqlParametersChange = (payload: SqlParameterChangePayload) => {
    +  // Sync your local state on every applied change. `payload.source` is one of:
    +  //   "initial-state" — post-load snapshot, fired once per question load
    +  //   "manual-change" — user edited a parameter widget
    +  //   "auto-change"   — your push was normalized; re-sync from `payload.parameters`
    +  setSqlParameters(payload.parameters);
    +};
    +
    +return (
    +  <InteractiveQuestion
    +    questionId={questionId}
    +    sqlParameters={sqlParameters}
    +    onSqlParametersChange={handleSqlParametersChange}
    +  />
    +);
    +
    + +

    onSqlParametersChange receives the SQL question parameter change payload.

    + +

    Modular embedding (web components)

    + +

    Pass parameter values to embedded components

    + +

    You can set dashboard filters and SQL parameters from your page, push new values at runtime, and listen for applied changes.

    + +

    Seed values once with initial-parameters / initial-sql-parameters

    + +

    Set values on mount via attributes. The component reads them once on load and ignores any subsequent changes to the attribute. User widget edits are not reflected back to your page.

    + +
    <metabase-dashboard
    +  dashboard-id="1"
    +  initial-parameters='{"state": "NY"}'
    +></metabase-dashboard>
    +
    +<metabase-question
    +  question-id="42"
    +  initial-sql-parameters='{"product_id": 50}'
    +></metabase-question>
    +
    + +

    Attributes carry JSON. Pass an object whose keys are parameter slugs (dashboards) or SQL variable names (questions). See How parameter values are resolved for null / missing-slug semantics.

    + +

    Push values at runtime with parameters / sqlParameters

    + +

    For controlled behavior, set the JS property on the element instead of the attribute. The component re-renders to apply the new values.

    + +
    <metabase-dashboard id="my-dashboard" dashboard-id="1"></metabase-dashboard>
    +
    +<script>
    +  const el = document.getElementById("my-dashboard");
    +  el.parameters = { state: "NY" };
    +</script>
    +
    + +

    The same pattern works for metabase-question via the sqlParameters property.

    + +

    To switch a component back to uncontrolled mode (leaving the last applied values in place), set the property to undefined.

    + +

    Clearing parameters

    + +

    To clear a single parameter, set its value to null. This strictly clears the parameter and ignores its default value.

    + +
    <script>
    +  const el = document.getElementById("my-dashboard");
    +  // `null` strictly clears the parameter (ignores its default).
    +  el.parameters = { ...el.parameters, state: null };
    +</script>
    +
    + +

    To clear every parameter, assign an empty object {}.

    + +
    <script>
    +  const el = document.getElementById("my-dashboard");
    +  el.parameters = {};
    +</script>
    +
    + +

    Observe applied changes with parameters-change / sql-parameters-change

    + +

    Listen for events to keep your page in sync with what’s actually applied:

    + +
    <metabase-dashboard id="my-dashboard" dashboard-id="1"></metabase-dashboard>
    +
    +<script>
    +  const el = document.getElementById("my-dashboard");
    +
    +  el.addEventListener("parameters-change", (event) => {
    +    const { source, parameters, defaultParameters, lastUsedParameters } =
    +      event.detail;
    +    console.log(source, parameters);
    +  });
    +</script>
    +
    + +

    The event.detail carries the dashboard parameter change payload.

    + +

    For SQL questions, listen for sql-parameters-change on <metabase-question>. Its event.detail carries the SQL question parameter change payload.

    + +

    How parameter values are resolved

    + +

    These rules apply to all four props — initialParameters / parameters (dashboards) and initialSqlParameters / sqlParameters (SQL questions) — and to the matching web component attributes (initial-parameters, parameters, etc.). For each parameter slug:

    + +
      +
    • Set a value: Pass a string for a single-option filter, and an array of strings for multi-option filters.
    • +
    • Clear a value: Set to null: the parameter is cleared and its default is not used.
    • +
    • Reset to the default value: Omit a value (or set to undefined) and the embed will fall back to the parameter’s default (or null if it has no default).
    • +
    + +

    Dashboard parameter change payload

    + +

    Delivered to onParametersChange (SDK) and as event.detail for the parameters-change event (web components).

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PropertyType
    defaultParametersParameterValues
    lastUsedParametersParameterValues
    parametersParameterValues
    sourceParameterChangeSource
    + +

    source indicates why the callback fired:

    + +
    +

    version: v0.62 +has_magic_breadcrumbs: true +show_category_breadcrumb: true +show_title_breadcrumb: true +category: Embedding +title: ParameterChangeSource +source_url: >- + https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/ParameterChangeSource.md +layout: new-docs +latest: true +—

    + +
    type ParameterChangeSource = "initial-state" | "manual-change" | "auto-change";
    +
    + +

    Source of a parameter-change event:

    + +
      +
    • initial-state - first applied snapshot, fired once per dashboard load.
    • +
    • manual-change - user edited parameters in UI.
    • +
    • auto-change - in the case of auto-updates, e.g. to pass normalized values back to parent.
    • +
    + +

    SQL question parameter change payload

    + +

    Delivered to onSqlParametersChange (SDK) and as event.detail for the sql-parameters-change event (web components).

    + + + + + + + + + + + + + + + + + + + + + + +
    PropertyType
    defaultParametersParameterValues
    parametersParameterValues
    sourceSqlParameterChangeSource
    + +

    source indicates why the callback fired:

    + +
    +

    version: v0.62 +has_magic_breadcrumbs: true +show_category_breadcrumb: true +show_title_breadcrumb: true +category: Embedding +title: SqlParameterChangeSource +source_url: >- + https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/SqlParameterChangeSource.md +layout: new-docs +latest: true +—

    + +
    type SqlParameterChangeSource =
    +  | "initial-state"
    +  | "manual-change"
    +  | "auto-change";
    +
    + +

    Source of a sql-parameter-change event:

    + +
      +
    • initial-state - first applied state, fired once per question load.
    • +
    • manual-change - user edited parameters in UI.
    • +
    • auto-change - in the case of auto-updates, e.g. to pass normalized values back to parent.
    • +
    + + +
    +
    + +

    + Read docs for other versions of Metabase. +

    + +
    +
    + +
    + +
    +
    +
    Was this helpful?
    + + +
    + +
    +

    + +
    + + + +
    +
    + +
    +
    Thanks for your feedback!
    +
    + + + + Want to improve these docs? Propose a change. + + +
    + + + +
    +
    +
    +
    + + + + + + + + + + + + + + + +
    + + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/_site/docs/latest/embedding/public-links.html b/_site/docs/latest/embedding/public-links.html index 4a980b73bc..c1b5f7a684 100644 --- a/_site/docs/latest/embedding/public-links.html +++ b/_site/docs/latest/embedding/public-links.html @@ -218,6 +218,12 @@ + + + + + + @@ -1022,9 +1028,47 @@
    Learn
  • - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
  • Optionalheight?: Height<string | number>
  • OptionalhiddenParameters?: string[]
  • OptionalinitialCollection?: SdkCollectionId

    The collection to preselect in the save modal's collection picker. Unlike targetCollection, the picker remains visible and the user can choose a different collection. Ignored when targetCollection is set.

    -
  • OptionalinitialSqlParameters?: SqlParameterValues

    Initial values for the SQL parameters.

    +
  • OptionalinitialSqlParameters?: SqlParameterValues

    Initial values for SQL parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host. +
    +For each parameter: +

    +
      +
    • set to a value: that value is applied. +
    • +
    • set to null: strictly cleared, ignoring the parameter's default. +
    • +
    • omitted (or set to undefined): falls back to the parameter's default (or null if it has no default).
    • +
  • OptionalisSaveEnabled?: boolean

    Whether to show the save button.

  • OptionalonBeforeSave?: (
        question: MetabaseQuestion | undefined,
        context: { isNewQuestion: boolean },
    ) => Promise<void>

    A callback function that triggers before saving. Only relevant when isSaveEnabled = true

  • OptionalonNavigateBack?: () => void

    A callback function that triggers when a user clicks the back button.

  • OptionalonRun?: (question: MetabaseQuestion | undefined) => void

    A callback function that triggers when a question is updated, including when a user clicks the Visualize button in the question editor

  • OptionalonSave?: (
        question: MetabaseQuestion,
        context: { dashboardTabId?: number; isNewQuestion: boolean },
    ) => void

    A callback function that triggers when a user saves the question. Only relevant when isSaveEnabled = true

    +
  • OptionalonSqlParametersChange?: (payload: SqlParameterChangePayload) => void

    Fires on SQL parameters change. The payload's source distinguishes the initial state on load ('initial-state'), user edits in the UI ('manual-change'), and auto-updates ('auto-change').

  • OptionalonVisualizationChange?: (
        display:
            | "object"
            | "table"
            | "bar"
            | "line"
            | "pie"
            | "scalar"
            | "row"
            | "area"
            | "combo"
            | "pivot"
            | "smartscalar"
            | "gauge"
            | "progress"
            | "funnel"
            | "map"
            | "scatter"
            | "boxplot"
            | "waterfall"
            | "sankey"
            | "list",
    ) => void

    A callback function that triggers when the visualization type changes.

    -
  • Optionalplugins?: MetabasePluginsConfig
  • Optionalstyle?: CSSProperties

    A custom style object to be added to the root element.

    +
  • Optionalplugins?: MetabasePluginsConfig
  • OptionalsqlParameters?: SqlParameterValues

    Controlled SQL parameter values, slug-keyed. On every render, this object replaces the question's parameter values: +

    +
      +
    • a parameter set to a value uses that value. +
    • +
    • a parameter set to null is cleared, even if it has a default. +
    • +
    • a parameter omitted from the object (or set to undefined) uses its default (or null if it has no default). +
      +
      +Pair with onSqlParametersChange to stay in sync with user edits.
    • +
    +
  • Optionalstyle?: CSSProperties

    A custom style object to be added to the root element.

  • OptionaltargetCollection?: SdkCollectionId

    The collection to save the question to. This will hide the collection picker from the save modal. Only applicable to interactive questions.

  • Optionaltitle?: SdkQuestionTitleProps

    Determines whether the question title is displayed, and allows a custom title to be displayed instead of the default question title. Shown by default.

  • Optionalwidth?: Width<string | number>

    A number or string specifying a CSS size value that specifies the width of the component

  • OptionalwithAlerts?: boolean

    Enables the ability to set up alerts on the question.

  • OptionalwithChartTypeSelector?: boolean

    Determines whether the chart type selector and corresponding settings button are shown. Only relevant when using the default layout.

  • OptionalwithDownloads?: boolean

    Enables the ability to download results in the question.

    +
  • OptionalwithEditorButton?: boolean

    Determines whether the editor button is shown. Only relevant when using the default layout.

  • undefined
  • Returns Element

    Use <InteractiveQuestion questionId="new" /> instead.

    diff --git a/_site/docs/latest/embedding/sdk/api/CreateQuestionProps.html b/_site/docs/latest/embedding/sdk/api/CreateQuestionProps.html index ada1c01668..c70a4168e3 100644 --- a/_site/docs/latest/embedding/sdk/api/CreateQuestionProps.html +++ b/_site/docs/latest/embedding/sdk/api/CreateQuestionProps.html @@ -21,7 +21,7 @@ -

    Interface CreateQuestionProps

    interface CreateQuestionProps {
        className?: string;
        dataPicker?: EmbeddingDataPicker;
        entityTypes?: EmbeddingEntityType[];
        height?: Height<string | number>;
        hiddenParameters?: string[];
        initialCollection?: SdkCollectionId;
        initialSqlParameters?: SqlParameterValues;
        isSaveEnabled?: boolean;
        onBeforeSave?: (
            question: MetabaseQuestion | undefined,
            context: { isNewQuestion: boolean },
        ) => Promise<void>;
        onNavigateBack?: () => void;
        onRun?: (question: MetabaseQuestion | undefined) => void;
        onSave?: (
            question: MetabaseQuestion,
            context: { dashboardTabId?: number; isNewQuestion: boolean },
        ) => void;
        onVisualizationChange?: (
            display:
                | "object"
                | "table"
                | "bar"
                | "line"
                | "pie"
                | "scalar"
                | "row"
                | "area"
                | "combo"
                | "pivot"
                | "smartscalar"
                | "gauge"
                | "progress"
                | "funnel"
                | "map"
                | "scatter"
                | "boxplot"
                | "waterfall"
                | "sankey"
                | "list",
        ) => void;
        plugins?: MetabasePluginsConfig;
        style?: CSSProperties;
        targetCollection?: SdkCollectionId;
        title?: SdkQuestionTitleProps;
        width?: Width<string | number>;
        withAlerts?: boolean;
        withChartTypeSelector?: boolean;
        withDownloads?: boolean;
    }
    Index

    Properties

    className? +

    Interface CreateQuestionProps

    interface CreateQuestionProps {
        className?: string;
        dataPicker?: EmbeddingDataPicker;
        entityTypes?: EmbeddingEntityType[];
        height?: Height<string | number>;
        hiddenParameters?: string[];
        initialCollection?: SdkCollectionId;
        initialSqlParameters?: SqlParameterValues;
        isSaveEnabled?: boolean;
        onBeforeSave?: (
            question: MetabaseQuestion | undefined,
            context: { isNewQuestion: boolean },
        ) => Promise<void>;
        onNavigateBack?: () => void;
        onRun?: (question: MetabaseQuestion | undefined) => void;
        onSave?: (
            question: MetabaseQuestion,
            context: { dashboardTabId?: number; isNewQuestion: boolean },
        ) => void;
        onSqlParametersChange?: (payload: SqlParameterChangePayload) => void;
        onVisualizationChange?: (
            display:
                | "object"
                | "table"
                | "bar"
                | "line"
                | "pie"
                | "scalar"
                | "row"
                | "area"
                | "combo"
                | "pivot"
                | "smartscalar"
                | "gauge"
                | "progress"
                | "funnel"
                | "map"
                | "scatter"
                | "boxplot"
                | "waterfall"
                | "sankey"
                | "list",
        ) => void;
        plugins?: MetabasePluginsConfig;
        sqlParameters?: SqlParameterValues;
        style?: CSSProperties;
        targetCollection?: SdkCollectionId;
        title?: SdkQuestionTitleProps;
        width?: Width<string | number>;
        withAlerts?: boolean;
        withChartTypeSelector?: boolean;
        withDownloads?: boolean;
        withEditorButton?: boolean;
    }
    Index

    Properties

    className?: string

    A custom class name to be added to the root element.

    dataPicker?: EmbeddingDataPicker

    Controls the menu for selecting data sources in questions. You can opt for the full data picker by setting dataPicker = "staged".

    entityTypes?: EmbeddingEntityType[]

    An array that specifies which entity types are available in the data picker

    height?: Height<string | number>

    A number or string specifying a CSS size value that specifies the height of the component

    hiddenParameters?: string[]

    A list of parameters to hide.

    initialCollection?: SdkCollectionId

    The collection to preselect in the save modal's collection picker. Unlike targetCollection, the picker remains visible and the user can choose a different collection. Ignored when targetCollection is set.

    -
    initialSqlParameters?: SqlParameterValues

    Initial values for the SQL parameters.

    +
    initialSqlParameters?: SqlParameterValues

    Initial values for SQL parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host. +
    +For each parameter: +

    +
      +
    • set to a value: that value is applied. +
    • +
    • set to null: strictly cleared, ignoring the parameter's default. +
    • +
    • omitted (or set to undefined): falls back to the parameter's default (or null if it has no default).
    • +
    isSaveEnabled?: boolean

    Whether to show the save button.

    onBeforeSave?: (
        question: MetabaseQuestion | undefined,
        context: { isNewQuestion: boolean },
    ) => Promise<void>

    A callback function that triggers before saving. Only relevant when isSaveEnabled = true

    onNavigateBack?: () => void

    A callback function that triggers when a user clicks the back button.

    onRun?: (question: MetabaseQuestion | undefined) => void

    A callback function that triggers when a question is updated, including when a user clicks the Visualize button in the question editor

    onSave?: (
        question: MetabaseQuestion,
        context: { dashboardTabId?: number; isNewQuestion: boolean },
    ) => void

    A callback function that triggers when a user saves the question. Only relevant when isSaveEnabled = true

    +
    onSqlParametersChange?: (payload: SqlParameterChangePayload) => void

    Fires on SQL parameters change. The payload's source distinguishes the initial state on load ('initial-state'), user edits in the UI ('manual-change'), and auto-updates ('auto-change').

    onVisualizationChange?: (
        display:
            | "object"
            | "table"
            | "bar"
            | "line"
            | "pie"
            | "scalar"
            | "row"
            | "area"
            | "combo"
            | "pivot"
            | "smartscalar"
            | "gauge"
            | "progress"
            | "funnel"
            | "map"
            | "scatter"
            | "boxplot"
            | "waterfall"
            | "sankey"
            | "list",
    ) => void

    A callback function that triggers when the visualization type changes.

    Type Declaration

      • (
            display:
                | "object"
                | "table"
                | "bar"
                | "line"
                | "pie"
                | "scalar"
                | "row"
                | "area"
                | "combo"
                | "pivot"
                | "smartscalar"
                | "gauge"
                | "progress"
                | "funnel"
                | "map"
                | "scatter"
                | "boxplot"
                | "waterfall"
                | "sankey"
                | "list",
        ): void
      • Parameters

        • display:
              | "object"
              | "table"
              | "bar"
              | "line"
              | "pie"
              | "scalar"
              | "row"
              | "area"
              | "combo"
              | "pivot"
              | "smartscalar"
              | "gauge"
              | "progress"
              | "funnel"
              | "map"
              | "scatter"
              | "boxplot"
              | "waterfall"
              | "sankey"
              | "list"

          the new display type

          -

        Returns void

    A custom style object to be added to the root element.

    +

    Returns void

    sqlParameters?: SqlParameterValues

    Controlled SQL parameter values, slug-keyed. On every render, this object replaces the question's parameter values: +

    +
      +
    • a parameter set to a value uses that value. +
    • +
    • a parameter set to null is cleared, even if it has a default. +
    • +
    • a parameter omitted from the object (or set to undefined) uses its default (or null if it has no default). +
      +
      +Pair with onSqlParametersChange to stay in sync with user edits.
    • +
    +

    A custom style object to be added to the root element.

    targetCollection?: SdkCollectionId

    The collection to save the question to. This will hide the collection picker from the save modal. Only applicable to interactive questions.

    Determines whether the question title is displayed, and allows a custom title to be displayed instead of the default question title. Shown by default.

    width?: Width<string | number>

    A number or string specifying a CSS size value that specifies the width of the component

    withAlerts?: boolean

    Enables the ability to set up alerts on the question.

    withChartTypeSelector?: boolean

    Determines whether the chart type selector and corresponding settings button are shown. Only relevant when using the default layout.

    withDownloads?: boolean

    Enables the ability to download results in the question.

    -

    +
    withEditorButton?: boolean

    Determines whether the editor button is shown. Only relevant when using the default layout.

    +

    \ No newline at end of file diff --git a/_site/docs/latest/embedding/sdk/api/DrillThroughQuestionProps.html b/_site/docs/latest/embedding/sdk/api/DrillThroughQuestionProps.html index 8192d80555..7aaece0676 100644 --- a/_site/docs/latest/embedding/sdk/api/DrillThroughQuestionProps.html +++ b/_site/docs/latest/embedding/sdk/api/DrillThroughQuestionProps.html @@ -22,7 +22,7 @@

    Interface DrillThroughQuestionProps

    Props for the drill-through question

    -
    interface DrillThroughQuestionProps {
        children?: ReactNode;
        className?: string;
        dataPicker?: EmbeddingDataPicker;
        entityTypes?: EmbeddingEntityType[];
        height?: Height<string | number>;
        initialCollection?: SdkCollectionId;
        initialSqlParameters?: SqlParameterValues;
        isSaveEnabled?: boolean;
        onBeforeSave?: (
            question: MetabaseQuestion | undefined,
            context: { isNewQuestion: boolean },
        ) => Promise<void>;
        onRun?: (question: MetabaseQuestion | undefined) => void;
        onSave?: (
            question: MetabaseQuestion,
            context: { dashboardTabId?: number; isNewQuestion: boolean },
        ) => void;
        plugins?: MetabasePluginsConfig;
        style?: CSSProperties;
        targetCollection?: SdkCollectionId;
        title?: SdkQuestionTitleProps;
        width?: Width<string | number>;
        withAlerts?: boolean;
        withChartTypeSelector?: boolean;
        withDownloads?: boolean;
    }
    Index

    Properties

    interface DrillThroughQuestionProps {
        children?: ReactNode;
        className?: string;
        dataPicker?: EmbeddingDataPicker;
        entityTypes?: EmbeddingEntityType[];
        height?: Height<string | number>;
        initialCollection?: SdkCollectionId;
        initialSqlParameters?: SqlParameterValues;
        isSaveEnabled?: boolean;
        onBeforeSave?: (
            question: MetabaseQuestion | undefined,
            context: { isNewQuestion: boolean },
        ) => Promise<void>;
        onRun?: (question: MetabaseQuestion | undefined) => void;
        onSave?: (
            question: MetabaseQuestion,
            context: { dashboardTabId?: number; isNewQuestion: boolean },
        ) => void;
        plugins?: MetabasePluginsConfig;
        style?: CSSProperties;
        targetCollection?: SdkCollectionId;
        title?: SdkQuestionTitleProps;
        width?: Width<string | number>;
        withAlerts?: boolean;
        withChartTypeSelector?: boolean;
        withDownloads?: boolean;
        withEditorButton?: boolean;
    }
    Index

    Properties

    children?: ReactNode

    The children of the component

    className?: string

    A custom class name to be added to the root element.

    dataPicker?: EmbeddingDataPicker

    Controls the menu for selecting data sources in questions. You can opt for the full data picker by setting dataPicker = "staged".

    entityTypes?: EmbeddingEntityType[]

    An array that specifies which entity types are available in the data picker

    height?: Height<string | number>

    A number or string specifying a CSS size value that specifies the height of the component

    initialCollection?: SdkCollectionId

    The collection to preselect in the save modal's collection picker. Unlike targetCollection, the picker remains visible and the user can choose a different collection. Ignored when targetCollection is set.

    -
    initialSqlParameters?: SqlParameterValues

    Initial values for the SQL parameters.

    +
    initialSqlParameters?: SqlParameterValues

    Initial values for SQL parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host. +
    +For each parameter: +

    +
      +
    • set to a value: that value is applied. +
    • +
    • set to null: strictly cleared, ignoring the parameter's default. +
    • +
    • omitted (or set to undefined): falls back to the parameter's default (or null if it has no default).
    • +
    isSaveEnabled?: boolean

    Whether to show the save button.

    onBeforeSave?: (
        question: MetabaseQuestion | undefined,
        context: { isNewQuestion: boolean },
    ) => Promise<void>

    A callback function that triggers before saving. Only relevant when isSaveEnabled = true

    onRun?: (question: MetabaseQuestion | undefined) => void

    A callback function that triggers when a question is updated, including when a user clicks the Visualize button in the question editor

    @@ -59,6 +70,7 @@
    withAlerts?: boolean

    Enables the ability to set up alerts on the question.

    withChartTypeSelector?: boolean

    Determines whether the chart type selector and corresponding settings button are shown. Only relevant when using the default layout.

    withDownloads?: boolean

    Enables the ability to download results in the question.

    -

    +
    withEditorButton?: boolean

    Determines whether the editor button is shown. Only relevant when using the default layout.

    +

    \ No newline at end of file diff --git a/_site/docs/latest/embedding/sdk/api/EditableDashboard.html b/_site/docs/latest/embedding/sdk/api/EditableDashboard.html index 4342b75da8..e4b06156aa 100644 --- a/_site/docs/latest/embedding/sdk/api/EditableDashboard.html +++ b/_site/docs/latest/embedding/sdk/api/EditableDashboard.html @@ -45,17 +45,43 @@
  • Combining initialParameters and hiddenParameters to declutter the user interface is fine.
  • -
  • OptionalinitialParameters?: ParameterValues

    Query parameters for the dashboard. For a single option, use a string value, and use a list of strings for multiple options. +

  • OptionalinitialParameters?: ParameterValues

    Initial values for query parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host. +
    +For each parameter:

      +
    • set to a value (string for a single option, array of strings for multiple): that value is applied. +
    • +
    • set to null: strictly cleared, ignoring the parameter's default. +
    • +
    • omitted (or set to undefined): falls back to the parameter's default (or null if it has no default). +
      +
    • Combining initialParameters and hiddenParameters to filter data on the frontend is a security risk.
    • Combining initialParameters and hiddenParameters to declutter the user interface is fine.
  • OptionalonLoad?: (dashboard: MetabaseDashboard | null) => void

    Callback that is called when the dashboard is loaded.

  • OptionalonLoadWithoutCards?: (dashboard: MetabaseDashboard | null) => void

    Callback that is called when the dashboard is loaded without cards.

    +
  • OptionalonParametersChange?: (payload: ParameterChangePayload) => void

    Fires on parameters change. The payload's source distinguishes the initial state on load ('initial-state'), user edits in the UI ('manual-change'), and auto-updates ('auto-change').

  • OptionalonVisualizationChange?: (
        visualization:
            | "object"
            | "table"
            | "bar"
            | "line"
            | "pie"
            | "scalar"
            | "row"
            | "area"
            | "combo"
            | "pivot"
            | "smartscalar"
            | "gauge"
            | "progress"
            | "funnel"
            | "map"
            | "scatter"
            | "boxplot"
            | "waterfall"
            | "sankey"
            | "list",
    ) => void

    A callback function that triggers when a question is opened from a dashboard card or when the user changes the visualization type of a question.

    +
  • Optionalparameters?: ParameterValues

    Controlled parameter values, slug-keyed. On every render, this object replaces the dashboard's parameter values: +

    +
      +
    • a parameter set to a value uses that value. +
    • +
    • a parameter set to null is cleared, even if it has a default. +
    • +
    • a parameter omitted from the object (or set to undefined) uses its default (or null if it has no default). +
      +
      +Pair with onParametersChange to stay in sync with user edits. +
    • +
    • Combining parameters and hiddenParameters to filter data on the frontend is a security risk. +
    • +
    • Combining parameters and hiddenParameters to declutter the user interface is fine.
    • +
  • Optionalplugins?: MetabasePluginsConfig

    Additional mapper function to override or add drill-down menu. See the implementing custom actions section for more details.

  • OptionalrenderDrillThroughQuestion?: () => ReactNode

    A custom React component to render the question layout. Use namespaced InteractiveQuestion components to build the layout.

    diff --git a/_site/docs/latest/embedding/sdk/api/EditableDashboardProps.html b/_site/docs/latest/embedding/sdk/api/EditableDashboardProps.html index 95576a1cb1..c092da98cf 100644 --- a/_site/docs/latest/embedding/sdk/api/EditableDashboardProps.html +++ b/_site/docs/latest/embedding/sdk/api/EditableDashboardProps.html @@ -21,7 +21,7 @@ -

    Interface EditableDashboardProps

    interface EditableDashboardProps {
        autoRefreshInterval?: number;
        className?: string;
        dashboardId: string | number;
        dataPickerProps?: Pick<SdkQuestionProps, "entityTypes">;
        drillThroughQuestionHeight?: Height<string | number>;
        drillThroughQuestionProps?: DrillThroughQuestionProps;
        enableEntityNavigation?: boolean;
        hiddenParameters?: string[];
        initialParameters?: ParameterValues;
        onLoad?: (dashboard: MetabaseDashboard | null) => void;
        onLoadWithoutCards?: (dashboard: MetabaseDashboard | null) => void;
        onVisualizationChange?: (
            visualization:
                | "object"
                | "table"
                | "bar"
                | "line"
                | "pie"
                | "scalar"
                | "row"
                | "area"
                | "combo"
                | "pivot"
                | "smartscalar"
                | "gauge"
                | "progress"
                | "funnel"
                | "map"
                | "scatter"
                | "boxplot"
                | "waterfall"
                | "sankey"
                | "list",
        ) => void;
        plugins?: MetabasePluginsConfig;
        renderDrillThroughQuestion?: () => ReactNode;
        style?: CSSProperties;
        token?: string | null;
        withCardTitle?: boolean;
        withDownloads?: boolean;
        withSubscriptions?: boolean;
        withTitle?: boolean;
    }
    Index

    Properties

    autoRefreshInterval? +

    Interface EditableDashboardProps

    interface EditableDashboardProps {
        autoRefreshInterval?: number;
        className?: string;
        dashboardId: string | number;
        dataPickerProps?: Pick<SdkQuestionProps, "entityTypes">;
        drillThroughQuestionHeight?: Height<string | number>;
        drillThroughQuestionProps?: DrillThroughQuestionProps;
        enableEntityNavigation?: boolean;
        hiddenParameters?: string[];
        initialParameters?: ParameterValues;
        onLoad?: (dashboard: MetabaseDashboard | null) => void;
        onLoadWithoutCards?: (dashboard: MetabaseDashboard | null) => void;
        onParametersChange?: (payload: ParameterChangePayload) => void;
        onVisualizationChange?: (
            visualization:
                | "object"
                | "table"
                | "bar"
                | "line"
                | "pie"
                | "scalar"
                | "row"
                | "area"
                | "combo"
                | "pivot"
                | "smartscalar"
                | "gauge"
                | "progress"
                | "funnel"
                | "map"
                | "scatter"
                | "boxplot"
                | "waterfall"
                | "sankey"
                | "list",
        ) => void;
        parameters?: ParameterValues;
        plugins?: MetabasePluginsConfig;
        renderDrillThroughQuestion?: () => ReactNode;
        style?: CSSProperties;
        token?: string | null;
        withCardTitle?: boolean;
        withDownloads?: boolean;
        withSubscriptions?: boolean;
        withTitle?: boolean;
    }
    Index
  • OptionalentityTypes?: EmbeddingEntityType[]

    An array that specifies which entity types are available in the data picker

  • Optionalheight?: Height<string | number>

    A number or string specifying a CSS size value that specifies the height of the component

  • OptionalinitialCollection?: SdkCollectionId

    The collection to preselect in the save modal's collection picker. Unlike targetCollection, the picker remains visible and the user can choose a different collection. Ignored when targetCollection is set.

    -
  • OptionalinitialSqlParameters?: SqlParameterValues

    Initial values for the SQL parameters.

    +
  • OptionalinitialSqlParameters?: SqlParameterValues

    Initial values for SQL parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host. +
    +For each parameter: +

    +
      +
    • set to a value: that value is applied. +
    • +
    • set to null: strictly cleared, ignoring the parameter's default. +
    • +
    • omitted (or set to undefined): falls back to the parameter's default (or null if it has no default).
    • +
  • OptionalisSaveEnabled?: boolean

    Whether to show the save button.

  • OptionalonBeforeSave?: (
        question: MetabaseQuestion | undefined,
        context: { isNewQuestion: boolean },
    ) => Promise<void>

    A callback function that triggers before saving. Only relevant when isSaveEnabled = true

  • OptionalonRun?: (question: MetabaseQuestion | undefined) => void

    A callback function that triggers when a question is updated, including when a user clicks the Visualize button in the question editor

    @@ -74,6 +86,7 @@
  • OptionalwithAlerts?: boolean

    Enables the ability to set up alerts on the question.

  • OptionalwithChartTypeSelector?: boolean

    Determines whether the chart type selector and corresponding settings button are shown. Only relevant when using the default layout.

  • OptionalwithDownloads?: boolean

    Enables the ability to download results in the question.

    +
  • OptionalwithEditorButton?: boolean

    Determines whether the editor button is shown. Only relevant when using the default layout.

  • enableEntityNavigation?: boolean

    When true, internal click behaviors (links to dashboards/questions) are preserved. When false (default for SDK), these click behaviors are filtered out.

    hiddenParameters?: string[]

    A list of parameters to hide. @@ -83,19 +96,45 @@

  • Combining initialParameters and hiddenParameters to declutter the user interface is fine.
  • -
    initialParameters?: ParameterValues

    Query parameters for the dashboard. For a single option, use a string value, and use a list of strings for multiple options. +

    initialParameters?: ParameterValues

    Initial values for query parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host. +
    +For each parameter:

      +
    • set to a value (string for a single option, array of strings for multiple): that value is applied. +
    • +
    • set to null: strictly cleared, ignoring the parameter's default. +
    • +
    • omitted (or set to undefined): falls back to the parameter's default (or null if it has no default). +
      +
    • Combining initialParameters and hiddenParameters to filter data on the frontend is a security risk.
    • Combining initialParameters and hiddenParameters to declutter the user interface is fine.
    onLoad?: (dashboard: MetabaseDashboard | null) => void

    Callback that is called when the dashboard is loaded.

    onLoadWithoutCards?: (dashboard: MetabaseDashboard | null) => void

    Callback that is called when the dashboard is loaded without cards.

    +
    onParametersChange?: (payload: ParameterChangePayload) => void

    Fires on parameters change. The payload's source distinguishes the initial state on load ('initial-state'), user edits in the UI ('manual-change'), and auto-updates ('auto-change').

    onVisualizationChange?: (
        visualization:
            | "object"
            | "table"
            | "bar"
            | "line"
            | "pie"
            | "scalar"
            | "row"
            | "area"
            | "combo"
            | "pivot"
            | "smartscalar"
            | "gauge"
            | "progress"
            | "funnel"
            | "map"
            | "scatter"
            | "boxplot"
            | "waterfall"
            | "sankey"
            | "list",
    ) => void

    A callback function that triggers when a question is opened from a dashboard card or when the user changes the visualization type of a question.

    Type Declaration

      • (
            visualization:
                | "object"
                | "table"
                | "bar"
                | "line"
                | "pie"
                | "scalar"
                | "row"
                | "area"
                | "combo"
                | "pivot"
                | "smartscalar"
                | "gauge"
                | "progress"
                | "funnel"
                | "map"
                | "scatter"
                | "boxplot"
                | "waterfall"
                | "sankey"
                | "list",
        ): void
      • Parameters

        • visualization:
              | "object"
              | "table"
              | "bar"
              | "line"
              | "pie"
              | "scalar"
              | "row"
              | "area"
              | "combo"
              | "pivot"
              | "smartscalar"
              | "gauge"
              | "progress"
              | "funnel"
              | "map"
              | "scatter"
              | "boxplot"
              | "waterfall"
              | "sankey"
              | "list"

          the new visualization type

          -

        Returns void

    Additional mapper function to override or add drill-down menu. See the implementing custom actions section for more details.

    +

    Returns void

    parameters?: ParameterValues

    Controlled parameter values, slug-keyed. On every render, this object replaces the dashboard's parameter values: +

    +
      +
    • a parameter set to a value uses that value. +
    • +
    • a parameter set to null is cleared, even if it has a default. +
    • +
    • a parameter omitted from the object (or set to undefined) uses its default (or null if it has no default). +
      +
      +Pair with onParametersChange to stay in sync with user edits. +
    • +
    • Combining parameters and hiddenParameters to filter data on the frontend is a security risk. +
    • +
    • Combining parameters and hiddenParameters to declutter the user interface is fine.
    • +
    +

    Additional mapper function to override or add drill-down menu. See the implementing custom actions section for more details.

    renderDrillThroughQuestion?: () => ReactNode

    A custom React component to render the question layout. Use namespaced InteractiveQuestion components to build the layout.

    A custom style object to be added to the root element.

    @@ -103,6 +142,6 @@
    withDownloads?: boolean

    Whether to hide the download button.

    withSubscriptions?: boolean

    Whether to show the subscriptions button.

    withTitle?: boolean

    Whether the dashboard should display a title.

    -

    +

    \ No newline at end of file diff --git a/_site/docs/latest/embedding/sdk/api/IconName.html b/_site/docs/latest/embedding/sdk/api/IconName.html index df8dc9cdbb..5dbffe1e44 100644 --- a/_site/docs/latest/embedding/sdk/api/IconName.html +++ b/_site/docs/latest/embedding/sdk/api/IconName.html @@ -21,6 +21,6 @@ -

    Type Alias IconName

    IconName:
        | "string"
        | "number"
        | "function"
        | "collection"
        | "dashboard"
        | "question"
        | "model"
        | "archive"
        | "table"
        | "bar"
        | "line"
        | "pie"
        | "scalar"
        | "area"
        | "smartscalar"
        | "gauge"
        | "progress"
        | "funnel"
        | "boxplot"
        | "waterfall"
        | "sankey"
        | "list"
        | "revert"
        | "add"
        | "add_collection"
        | "add_column"
        | "add_data"
        | "add_folder"
        | "add_list"
        | "add_row"
        | "add_to_dash"
        | "add_comment"
        | "ai"
        | "alert"
        | "alert_filled"
        | "alert_confirm"
        | "attachment"
        | "arrow_up"
        | "arrow_down"
        | "arrow_left"
        | "arrow_left_to_line"
        | "arrow_right"
        | "arrow_split"
        | "audit"
        | "badge"
        | "ban"
        | "bell"
        | "birthday"
        | "book_open"
        | "bookmark"
        | "bookmark_filled"
        | "bolt"
        | "bolt_filled"
        | "breakout"
        | "bubble"
        | "broken_link"
        | "burger"
        | "calendar"
        | "camera"
        | "chart_layout_default"
        | "chart_layout_stack"
        | "check"
        | "check_filled"
        | "code_block"
        | "chevrondown"
        | "chevronleft"
        | "chevronright"
        | "chevronup"
        | "click"
        | "clipboard"
        | "clock"
        | "clone"
        | "close"
        | "cloud"
        | "cloud_filled"
        | "collection2"
        | "compare"
        | "combine"
        | "company"
        | "comment"
        | "currency"
        | "connections"
        | "contract"
        | "copy"
        | "corner_up_right"
        | "curved"
        | "database"
        | "database_routing"
        | "dependencies"
        | "data_studio"
        | "dash"
        | "curve"
        | "document"
        | "download"
        | "dyno"
        | "edit_document"
        | "edit_document_outlined"
        | "ellipsis"
        | "embed"
        | "embed_interactive"
        | "embed_modular"
        | "embed_static"
        | "empty"
        | "enter_or_return"
        | "exit"
        | "expand"
        | "expand_arrow"
        | "extract"
        | "eye"
        | "eye_crossed_out"
        | "eye_outline"
        | "factory"
        | "field"
        | "fields"
        | "filter"
        | "filter_plus"
        | "find_replace"
        | "bug"
        | "format_code"
        | "formula"
        | "funnel_outline"
        | "folder"
        | "folder_database"
        | "folder_filled"
        | "gear"
        | "gear_settings_filled"
        | "gem"
        | "ghost"
        | "globe"
        | "glossary"
        | "git_branch"
        | "grabber"
        | "grid"
        | "grid_2x2"
        | "grid_bordered"
        | "group"
        | "google"
        | "google_drive"
        | "google_sheet"
        | "history"
        | "home"
        | "horizontal_bar"
        | "hourglass"
        | "info"
        | "info_outline"
        | "insight"
        | "int"
        | "io"
        | "join_full_outer"
        | "join_inner"
        | "join_left_outer"
        | "join_right_outer"
        | "index"
        | "key"
        | "label"
        | "layout_grid"
        | "ldap"
        | "learn"
        | "lightbulb"
        | "link"
        | "lines"
        | "lineandbar"
        | "line_style_dashed"
        | "line_style_dotted"
        | "line_style_solid"
        | "location"
        | "lock"
        | "lock_filled"
        | "mail"
        | "mail_filled"
        | "mcp"
        | "medallion"
        | "message_circle"
        | "metabot"
        | "metabot_sad"
        | "metric"
        | "mode"
        | "model_with_badge"
        | "moon"
        | "move"
        | "move_card"
        | "network"
        | "new_folder"
        | "notebook"
        | "octagon_alert"
        | "package"
        | "palette"
        | "pause"
        | "pencil"
        | "pencil_lines"
        | "permissions_limited"
        | "person"
        | "pie_slice"
        | "pin"
        | "pinmap"
        | "pivot_table"
        | "play"
        | "play_outlined"
        | "popover"
        | "popular"
        | "publish"
        | "published"
        | "pulse"
        | "receipt"
        | "recents"
        | "share"
        | "send"
        | "settings"
        | "smile"
        | "split"
        | "sql"
        | "subscription"
        | "straight"
        | "stepped"
        | "sticky_note"
        | "sort"
        | "sort_arrows"
        | "sum"
        | "sync"
        | "synced_collection"
        | "transform"
        | "quote"
        | "redo"
        | "return"
        | "reference"
        | "refresh"
        | "refresh_downstream"
        | "rename"
        | "repository"
        | "rocket"
        | "ruler"
        | "schema"
        | "search"
        | "search_check"
        | "section"
        | "segment"
        | "shield"
        | "shield_outline"
        | "shield_stroke"
        | "sidebar_closed"
        | "sidebar_open"
        | "slack"
        | "slack_colorized"
        | "snail"
        | "snippet"
        | "sparkles"
        | "star_filled"
        | "star"
        | "stop"
        | "store"
        | "sun"
        | "t-shirt"
        | "tab"
        | "table2"
        | "text_bold"
        | "text_italic"
        | "text_strike"
        | "thumbs_down"
        | "thumbs_up"
        | "time_history"
        | "trash"
        | "trash_filled"
        | "triangle_left"
        | "triangle_right"
        | "unarchive"
        | "undo"
        | "unknown"
        | "unpin"
        | "unpublish"
        | "unreferenced"
        | "unsubscribe"
        | "upload"
        | "variable"
        | "verified"
        | "official_collection"
        | "open_folder"
        | "ordered_list"
        | "verified_filled"
        | "verified_round"
        | "view_archive"
        | "warning"
        | "warning_round_filled"
        | "warning_triangle_filled"
        | "webhook"
        | "10k"
        | "1m"
        | "zap"
        | "zoom_in"
        | "zoom_out"
        | "cake"
        | "external"
        | "beaker"
        | "test_tube"
        | "eye_filled"

    +

    Type Alias IconName

    IconName:
        | "string"
        | "number"
        | "function"
        | "collection"
        | "dashboard"
        | "question"
        | "model"
        | "archive"
        | "table"
        | "bar"
        | "line"
        | "pie"
        | "scalar"
        | "area"
        | "smartscalar"
        | "gauge"
        | "progress"
        | "funnel"
        | "boxplot"
        | "waterfall"
        | "sankey"
        | "list"
        | "revert"
        | "add"
        | "add_collection"
        | "add_column"
        | "add_data"
        | "add_folder"
        | "add_list"
        | "add_row"
        | "add_to_dash"
        | "add_comment"
        | "ai"
        | "alert"
        | "alert_filled"
        | "alert_confirm"
        | "attachment"
        | "arrow_up"
        | "arrow_down"
        | "arrow_left"
        | "arrow_left_to_line"
        | "arrow_right"
        | "arrow_split"
        | "audit"
        | "badge"
        | "ban"
        | "bell"
        | "birthday"
        | "book_open"
        | "bookmark"
        | "bookmark_filled"
        | "bolt"
        | "bolt_filled"
        | "breakout"
        | "bubble"
        | "broken_link"
        | "burger"
        | "calendar"
        | "camera"
        | "chart_layout_default"
        | "chart_layout_stack"
        | "check"
        | "check_filled"
        | "code_block"
        | "chevrondown"
        | "chevronleft"
        | "chevronright"
        | "chevronup"
        | "click"
        | "clipboard"
        | "clock"
        | "clone"
        | "close"
        | "cloud"
        | "cloud_filled"
        | "collection2"
        | "compare"
        | "combine"
        | "company"
        | "comment"
        | "currency"
        | "connections"
        | "contract"
        | "copy"
        | "corner_up_right"
        | "curved"
        | "database"
        | "database_routing"
        | "dependencies"
        | "dependent"
        | "data_studio"
        | "dash"
        | "curve"
        | "document"
        | "download"
        | "dyno"
        | "edit_document"
        | "edit_document_outlined"
        | "ellipsis"
        | "embed"
        | "embed_interactive"
        | "embed_modular"
        | "embed_static"
        | "empty"
        | "enter_or_return"
        | "exit"
        | "expand"
        | "expand_arrow"
        | "extract"
        | "eye"
        | "eye_crossed_out"
        | "eye_outline"
        | "factory"
        | "field"
        | "fields"
        | "filter"
        | "filter_plus"
        | "find_replace"
        | "bug"
        | "format_code"
        | "formula"
        | "funnel_outline"
        | "folder"
        | "folder_database"
        | "folder_filled"
        | "gear"
        | "gear_settings_filled"
        | "gem"
        | "ghost"
        | "globe"
        | "glossary"
        | "git_branch"
        | "grabber"
        | "grid"
        | "grid_2x2"
        | "grid_bordered"
        | "group"
        | "google"
        | "google_drive"
        | "google_sheet"
        | "history"
        | "home"
        | "horizontal_bar"
        | "hourglass"
        | "info"
        | "info_outline"
        | "insight"
        | "int"
        | "io"
        | "join_full_outer"
        | "join_inner"
        | "join_left_outer"
        | "join_right_outer"
        | "index"
        | "key"
        | "label"
        | "layout_grid"
        | "ldap"
        | "learn"
        | "lightbulb"
        | "link"
        | "lines"
        | "lineandbar"
        | "line_style_dashed"
        | "line_style_dotted"
        | "line_style_solid"
        | "location"
        | "lock"
        | "lock_filled"
        | "mail"
        | "mail_filled"
        | "mcp"
        | "medallion"
        | "message_circle"
        | "metabot"
        | "metabot_sad"
        | "metric"
        | "mode"
        | "model_with_badge"
        | "moon"
        | "move"
        | "move_card"
        | "network"
        | "new_folder"
        | "notebook"
        | "octagon_alert"
        | "package"
        | "palette"
        | "pause"
        | "pencil"
        | "pencil_lines"
        | "permissions_limited"
        | "person"
        | "pie_slice"
        | "pin"
        | "pinmap"
        | "pivot_table"
        | "play"
        | "play_outlined"
        | "popover"
        | "popular"
        | "publish"
        | "published"
        | "pulse"
        | "receipt"
        | "recents"
        | "share"
        | "send"
        | "settings"
        | "smile"
        | "split"
        | "sql"
        | "subscription"
        | "straight"
        | "stepped"
        | "sticky_note"
        | "sort"
        | "sort_arrows"
        | "sum"
        | "sync"
        | "synced_collection"
        | "transform"
        | "quote"
        | "redo"
        | "return"
        | "reference"
        | "refresh"
        | "refresh_downstream"
        | "rename"
        | "repository"
        | "rocket"
        | "ruler"
        | "schema"
        | "search"
        | "search_check"
        | "section"
        | "segment"
        | "shield"
        | "shield_outline"
        | "shield_stroke"
        | "sidebar_closed"
        | "sidebar_open"
        | "slack"
        | "slack_colorized"
        | "snail"
        | "snippet"
        | "sparkles"
        | "star_filled"
        | "star"
        | "stop"
        | "store"
        | "sun"
        | "t-shirt"
        | "tab"
        | "table2"
        | "text_bold"
        | "text_italic"
        | "text_strike"
        | "thumbs_down"
        | "thumbs_up"
        | "time_history"
        | "trash"
        | "trash_filled"
        | "triangle_left"
        | "triangle_right"
        | "unarchive"
        | "undo"
        | "unknown"
        | "unpin"
        | "unpublish"
        | "unreferenced"
        | "unsubscribe"
        | "upload"
        | "variable"
        | "verified"
        | "official_collection"
        | "open_folder"
        | "ordered_list"
        | "verified_filled"
        | "verified_round"
        | "view_archive"
        | "warning"
        | "warning_round"
        | "warning_round_filled"
        | "warning_triangle_filled"
        | "webhook"
        | "10k"
        | "1m"
        | "zap"
        | "zoom_in"
        | "zoom_out"
        | "cake"
        | "external"
        | "beaker"
        | "test_tube"
        | "eye_filled"

    \ No newline at end of file diff --git a/_site/docs/latest/embedding/sdk/api/InteractiveDashboard.html b/_site/docs/latest/embedding/sdk/api/InteractiveDashboard.html index e5cf6c9a91..d23250be82 100644 --- a/_site/docs/latest/embedding/sdk/api/InteractiveDashboard.html +++ b/_site/docs/latest/embedding/sdk/api/InteractiveDashboard.html @@ -21,8 +21,8 @@ -

    Function InteractiveDashboard

    • A dashboard component with drill downs, click behaviors, and the ability to view and click into questions.

      -

      Parameters

      • props: {
            autoRefreshInterval?: number;
            dashboardId: SdkDashboardId;
            drillThroughQuestionHeight?: Height<string | number>;
            drillThroughQuestionProps?: DrillThroughQuestionProps;
            initialParameters?: ParameterValues;
            plugins?: MetabasePluginsConfig;
            renderDrillThroughQuestion?: () => ReactNode;
        } & { dashboardId?: SdkDashboardId
        | null; token?: string | null } & {
            enableEntityNavigation?: boolean;
            hiddenParameters?: string[];
            initialParameters?: ParameterValues;
            withCardTitle?: boolean;
            withDownloads?: boolean;
            withSubscriptions?: boolean;
            withTitle?: boolean;
        } & { className?: string; style?: CSSProperties } & {
            onLoad?: (dashboard: MetabaseDashboard | null) => void;
            onLoadWithoutCards?: (dashboard: MetabaseDashboard | null) => void;
            onVisualizationChange?: (
                visualization:
                    | "object"
                    | "table"
                    | "bar"
                    | "line"
                    | "pie"
                    | "scalar"
                    | "row"
                    | "area"
                    | "combo"
                    | "pivot"
                    | "smartscalar"
                    | "gauge"
                    | "progress"
                    | "funnel"
                    | "map"
                    | "scatter"
                    | "boxplot"
                    | "waterfall"
                    | "sankey"
                    | "list",
            ) => void;
        } & { dataPickerProps?: Pick<SdkQuestionProps, "entityTypes"> } & {}
        • OptionalautoRefreshInterval?: number

          The interval between auto refreshes on the dashboard, in seconds.

          +

          Function InteractiveDashboard

          • A dashboard component with drill downs, click behaviors, and the ability to view and click into questions.

            +

            Parameters

            • props: {
                  autoRefreshInterval?: number;
                  dashboardId: SdkDashboardId;
                  drillThroughQuestionHeight?: Height<string | number>;
                  drillThroughQuestionProps?: DrillThroughQuestionProps;
                  initialParameters?: ParameterValues;
                  onParametersChange?: (payload: ParameterChangePayload) => void;
                  parameters?: ParameterValues;
                  plugins?: MetabasePluginsConfig;
                  renderDrillThroughQuestion?: () => ReactNode;
              } & { dashboardId?: SdkDashboardId
              | null; token?: string | null } & {
                  enableEntityNavigation?: boolean;
                  hiddenParameters?: string[];
                  initialParameters?: ParameterValues;
                  withCardTitle?: boolean;
                  withDownloads?: boolean;
                  withSubscriptions?: boolean;
                  withTitle?: boolean;
              } & { className?: string; style?: CSSProperties } & {
                  onLoad?: (dashboard: MetabaseDashboard | null) => void;
                  onLoadWithoutCards?: (dashboard: MetabaseDashboard | null) => void;
                  onVisualizationChange?: (
                      visualization:
                          | "object"
                          | "table"
                          | "bar"
                          | "line"
                          | "pie"
                          | "scalar"
                          | "row"
                          | "area"
                          | "combo"
                          | "pivot"
                          | "smartscalar"
                          | "gauge"
                          | "progress"
                          | "funnel"
                          | "map"
                          | "scatter"
                          | "boxplot"
                          | "waterfall"
                          | "sankey"
                          | "list",
                  ) => void;
              } & { dataPickerProps?: Pick<SdkQuestionProps, "entityTypes"> } & {}
              • OptionalautoRefreshInterval?: number

                The interval between auto refreshes on the dashboard, in seconds.

              • dashboardId: SdkDashboardId

                The ID of the dashboard.
                This is either: @@ -34,13 +34,39 @@

          • OptionaldrillThroughQuestionHeight?: Height<string | number>

            Height of a question component when drilled from the dashboard to a question level.

          • OptionaldrillThroughQuestionProps?: DrillThroughQuestionProps

            Props of a question component when drilled from the dashboard to a question level.

            -
          • OptionalinitialParameters?: ParameterValues

            Query parameters for the dashboard. For a single option, use a string value, and use a list of strings for multiple options. +

          • OptionalinitialParameters?: ParameterValues

            Initial values for query parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host. +
            +For each parameter:

              +
            • set to a value (string for a single option, array of strings for multiple): that value is applied. +
            • +
            • set to null: strictly cleared, ignoring the parameter's default. +
            • +
            • omitted (or set to undefined): falls back to the parameter's default (or null if it has no default). +
              +
            • Combining initialParameters and hiddenParameters to filter data on the frontend is a security risk.
            • Combining initialParameters and hiddenParameters to declutter the user interface is fine.
            +
          • OptionalonParametersChange?: (payload: ParameterChangePayload) => void

            Fires on parameters change. The payload's source distinguishes the initial state on load ('initial-state'), user edits in the UI ('manual-change'), and auto-updates ('auto-change').

            +
          • Optionalparameters?: ParameterValues

            Controlled parameter values, slug-keyed. On every render, this object replaces the dashboard's parameter values: +

            +
              +
            • a parameter set to a value uses that value. +
            • +
            • a parameter set to null is cleared, even if it has a default. +
            • +
            • a parameter omitted from the object (or set to undefined) uses its default (or null if it has no default). +
              +
              +Pair with onParametersChange to stay in sync with user edits. +
            • +
            • Combining parameters and hiddenParameters to filter data on the frontend is a security risk. +
            • +
            • Combining parameters and hiddenParameters to declutter the user interface is fine.
            • +
          • Optionalplugins?: MetabasePluginsConfig

            Additional mapper function to override or add drill-down menu. See the implementing custom actions section for more details.

          • OptionalrenderDrillThroughQuestion?: () => ReactNode

            A custom React component to render the question layout. Use namespaced InteractiveQuestion components to build the layout.

            diff --git a/_site/docs/latest/embedding/sdk/api/InteractiveDashboardProps.html b/_site/docs/latest/embedding/sdk/api/InteractiveDashboardProps.html index b64c25ddd2..3410d47055 100644 --- a/_site/docs/latest/embedding/sdk/api/InteractiveDashboardProps.html +++ b/_site/docs/latest/embedding/sdk/api/InteractiveDashboardProps.html @@ -21,7 +21,7 @@ -

            Interface InteractiveDashboardProps

            interface InteractiveDashboardProps {
                autoRefreshInterval?: number;
                className?: string;
                dashboardId: string | number;
                dataPickerProps?: Pick<SdkQuestionProps, "entityTypes">;
                drillThroughQuestionHeight?: Height<string | number>;
                drillThroughQuestionProps?: DrillThroughQuestionProps;
                enableEntityNavigation?: boolean;
                hiddenParameters?: string[];
                initialParameters?: ParameterValues;
                onLoad?: (dashboard: MetabaseDashboard | null) => void;
                onLoadWithoutCards?: (dashboard: MetabaseDashboard | null) => void;
                onVisualizationChange?: (
                    visualization:
                        | "object"
                        | "table"
                        | "bar"
                        | "line"
                        | "pie"
                        | "scalar"
                        | "row"
                        | "area"
                        | "combo"
                        | "pivot"
                        | "smartscalar"
                        | "gauge"
                        | "progress"
                        | "funnel"
                        | "map"
                        | "scatter"
                        | "boxplot"
                        | "waterfall"
                        | "sankey"
                        | "list",
                ) => void;
                plugins?: MetabasePluginsConfig;
                renderDrillThroughQuestion?: () => ReactNode;
                style?: CSSProperties;
                token?: string | null;
                withCardTitle?: boolean;
                withDownloads?: boolean;
                withSubscriptions?: boolean;
                withTitle?: boolean;
            }
            Index

            Properties

            autoRefreshInterval? +

            Interface InteractiveDashboardProps

            interface InteractiveDashboardProps {
                autoRefreshInterval?: number;
                className?: string;
                dashboardId: string | number;
                dataPickerProps?: Pick<SdkQuestionProps, "entityTypes">;
                drillThroughQuestionHeight?: Height<string | number>;
                drillThroughQuestionProps?: DrillThroughQuestionProps;
                enableEntityNavigation?: boolean;
                hiddenParameters?: string[];
                initialParameters?: ParameterValues;
                onLoad?: (dashboard: MetabaseDashboard | null) => void;
                onLoadWithoutCards?: (dashboard: MetabaseDashboard | null) => void;
                onParametersChange?: (payload: ParameterChangePayload) => void;
                onVisualizationChange?: (
                    visualization:
                        | "object"
                        | "table"
                        | "bar"
                        | "line"
                        | "pie"
                        | "scalar"
                        | "row"
                        | "area"
                        | "combo"
                        | "pivot"
                        | "smartscalar"
                        | "gauge"
                        | "progress"
                        | "funnel"
                        | "map"
                        | "scatter"
                        | "boxplot"
                        | "waterfall"
                        | "sankey"
                        | "list",
                ) => void;
                parameters?: ParameterValues;
                plugins?: MetabasePluginsConfig;
                renderDrillThroughQuestion?: () => ReactNode;
                style?: CSSProperties;
                token?: string | null;
                withCardTitle?: boolean;
                withDownloads?: boolean;
                withSubscriptions?: boolean;
                withTitle?: boolean;
            }
            Index
          • OptionalentityTypes?: EmbeddingEntityType[]

            An array that specifies which entity types are available in the data picker

          • Optionalheight?: Height<string | number>

            A number or string specifying a CSS size value that specifies the height of the component

          • OptionalinitialCollection?: SdkCollectionId

            The collection to preselect in the save modal's collection picker. Unlike targetCollection, the picker remains visible and the user can choose a different collection. Ignored when targetCollection is set.

            -
          • OptionalinitialSqlParameters?: SqlParameterValues

            Initial values for the SQL parameters.

            +
          • OptionalinitialSqlParameters?: SqlParameterValues

            Initial values for SQL parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host. +
            +For each parameter: +

            +
              +
            • set to a value: that value is applied. +
            • +
            • set to null: strictly cleared, ignoring the parameter's default. +
            • +
            • omitted (or set to undefined): falls back to the parameter's default (or null if it has no default).
            • +
          • OptionalisSaveEnabled?: boolean

            Whether to show the save button.

          • OptionalonBeforeSave?: (
                question: MetabaseQuestion | undefined,
                context: { isNewQuestion: boolean },
            ) => Promise<void>

            A callback function that triggers before saving. Only relevant when isSaveEnabled = true

          • OptionalonRun?: (question: MetabaseQuestion | undefined) => void

            A callback function that triggers when a question is updated, including when a user clicks the Visualize button in the question editor

            @@ -74,6 +86,7 @@
          • OptionalwithAlerts?: boolean

            Enables the ability to set up alerts on the question.

          • OptionalwithChartTypeSelector?: boolean

            Determines whether the chart type selector and corresponding settings button are shown. Only relevant when using the default layout.

          • OptionalwithDownloads?: boolean

            Enables the ability to download results in the question.

            +
          • OptionalwithEditorButton?: boolean

            Determines whether the editor button is shown. Only relevant when using the default layout.

    enableEntityNavigation?: boolean

    When true, internal click behaviors (links to dashboards/questions) are preserved. When false (default for SDK), these click behaviors are filtered out.

    hiddenParameters?: string[]

    A list of parameters to hide. @@ -83,19 +96,45 @@

  • Combining initialParameters and hiddenParameters to declutter the user interface is fine.
  • -
    initialParameters?: ParameterValues

    Query parameters for the dashboard. For a single option, use a string value, and use a list of strings for multiple options. +

    initialParameters?: ParameterValues

    Initial values for query parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host. +
    +For each parameter:

      +
    • set to a value (string for a single option, array of strings for multiple): that value is applied. +
    • +
    • set to null: strictly cleared, ignoring the parameter's default. +
    • +
    • omitted (or set to undefined): falls back to the parameter's default (or null if it has no default). +
      +
    • Combining initialParameters and hiddenParameters to filter data on the frontend is a security risk.
    • Combining initialParameters and hiddenParameters to declutter the user interface is fine.
    onLoad?: (dashboard: MetabaseDashboard | null) => void

    Callback that is called when the dashboard is loaded.

    onLoadWithoutCards?: (dashboard: MetabaseDashboard | null) => void

    Callback that is called when the dashboard is loaded without cards.

    +
    onParametersChange?: (payload: ParameterChangePayload) => void

    Fires on parameters change. The payload's source distinguishes the initial state on load ('initial-state'), user edits in the UI ('manual-change'), and auto-updates ('auto-change').

    onVisualizationChange?: (
        visualization:
            | "object"
            | "table"
            | "bar"
            | "line"
            | "pie"
            | "scalar"
            | "row"
            | "area"
            | "combo"
            | "pivot"
            | "smartscalar"
            | "gauge"
            | "progress"
            | "funnel"
            | "map"
            | "scatter"
            | "boxplot"
            | "waterfall"
            | "sankey"
            | "list",
    ) => void

    A callback function that triggers when a question is opened from a dashboard card or when the user changes the visualization type of a question.

    Type Declaration

      • (
            visualization:
                | "object"
                | "table"
                | "bar"
                | "line"
                | "pie"
                | "scalar"
                | "row"
                | "area"
                | "combo"
                | "pivot"
                | "smartscalar"
                | "gauge"
                | "progress"
                | "funnel"
                | "map"
                | "scatter"
                | "boxplot"
                | "waterfall"
                | "sankey"
                | "list",
        ): void
      • Parameters

        • visualization:
              | "object"
              | "table"
              | "bar"
              | "line"
              | "pie"
              | "scalar"
              | "row"
              | "area"
              | "combo"
              | "pivot"
              | "smartscalar"
              | "gauge"
              | "progress"
              | "funnel"
              | "map"
              | "scatter"
              | "boxplot"
              | "waterfall"
              | "sankey"
              | "list"

          the new visualization type

          -

        Returns void

    Additional mapper function to override or add drill-down menu. See the implementing custom actions section for more details.

    +

    Returns void

    parameters?: ParameterValues

    Controlled parameter values, slug-keyed. On every render, this object replaces the dashboard's parameter values: +

    +
      +
    • a parameter set to a value uses that value. +
    • +
    • a parameter set to null is cleared, even if it has a default. +
    • +
    • a parameter omitted from the object (or set to undefined) uses its default (or null if it has no default). +
      +
      +Pair with onParametersChange to stay in sync with user edits. +
    • +
    • Combining parameters and hiddenParameters to filter data on the frontend is a security risk. +
    • +
    • Combining parameters and hiddenParameters to declutter the user interface is fine.
    • +
    +

    Additional mapper function to override or add drill-down menu. See the implementing custom actions section for more details.

    renderDrillThroughQuestion?: () => ReactNode

    A custom React component to render the question layout. Use namespaced InteractiveQuestion components to build the layout.

    A custom style object to be added to the root element.

    @@ -103,6 +142,6 @@
    withDownloads?: boolean

    Whether to hide the download button.

    withSubscriptions?: boolean

    Whether to show the subscriptions button.

    withTitle?: boolean

    Whether the dashboard should display a title.

    -

    +

    \ No newline at end of file diff --git a/_site/docs/latest/embedding/sdk/api/InteractiveQuestion.html b/_site/docs/latest/embedding/sdk/api/InteractiveQuestion.html index 3878d95b55..c72b278689 100644 --- a/_site/docs/latest/embedding/sdk/api/InteractiveQuestion.html +++ b/_site/docs/latest/embedding/sdk/api/InteractiveQuestion.html @@ -28,12 +28,23 @@
  • Optionalheight?: Height<string | number>

    A number or string specifying a CSS size value that specifies the height of the component

  • OptionalhiddenParameters?: string[]

    A list of parameters to hide.

  • OptionalinitialCollection?: SdkCollectionId

    The collection to preselect in the save modal's collection picker. Unlike targetCollection, the picker remains visible and the user can choose a different collection. Ignored when targetCollection is set.

    -
  • OptionalinitialSqlParameters?: SqlParameterValues

    Initial values for the SQL parameters.

    +
  • OptionalinitialSqlParameters?: SqlParameterValues

    Initial values for SQL parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host. +
    +For each parameter: +

    +
      +
    • set to a value: that value is applied. +
    • +
    • set to null: strictly cleared, ignoring the parameter's default. +
    • +
    • omitted (or set to undefined): falls back to the parameter's default (or null if it has no default).
    • +
  • OptionalisSaveEnabled?: boolean

    Whether to show the save button.

  • OptionalonBeforeSave?: (
        question: MetabaseQuestion | undefined,
        context: { isNewQuestion: boolean },
    ) => Promise<void>

    A callback function that triggers before saving. Only relevant when isSaveEnabled = true

  • OptionalonNavigateBack?: () => void

    A callback function that triggers when a user clicks the back button.

  • OptionalonRun?: (question: MetabaseQuestion | undefined) => void

    A callback function that triggers when a question is updated, including when a user clicks the Visualize button in the question editor

  • OptionalonSave?: (
        question: MetabaseQuestion,
        context: { dashboardTabId?: number; isNewQuestion: boolean },
    ) => void

    A callback function that triggers when a user saves the question. Only relevant when isSaveEnabled = true

    +
  • OptionalonSqlParametersChange?: (payload: SqlParameterChangePayload) => void

    Fires on SQL parameters change. The payload's source distinguishes the initial state on load ('initial-state'), user edits in the UI ('manual-change'), and auto-updates ('auto-change').

  • OptionalonVisualizationChange?: (
        display:
            | "object"
            | "table"
            | "bar"
            | "line"
            | "pie"
            | "scalar"
            | "row"
            | "area"
            | "combo"
            | "pivot"
            | "smartscalar"
            | "gauge"
            | "progress"
            | "funnel"
            | "map"
            | "scatter"
            | "boxplot"
            | "waterfall"
            | "sankey"
            | "list",
    ) => void

    A callback function that triggers when the visualization type changes.

  • Optionalplugins?: MetabasePluginsConfig
  • Optionalquery?: undefined
  • OptionalquestionId?: SdkQuestionId | null

    The ID of the question.
    @@ -48,6 +59,18 @@

  • new-native to show the SQL editor for creating new native questions
  • +
  • OptionalsqlParameters?: SqlParameterValues

    Controlled SQL parameter values, slug-keyed. On every render, this object replaces the question's parameter values: +

    +
      +
    • a parameter set to a value uses that value. +
    • +
    • a parameter set to null is cleared, even if it has a default. +
    • +
    • a parameter omitted from the object (or set to undefined) uses its default (or null if it has no default). +
      +
      +Pair with onSqlParametersChange to stay in sync with user edits.
    • +
  • Optionalstyle?: CSSProperties

    A custom style object to be added to the root element.

  • OptionaltargetCollection?: SdkCollectionId

    The collection to save the question to. This will hide the collection picker from the save modal. Only applicable to interactive questions.

  • Optionaltitle?: SdkQuestionTitleProps

    Determines whether the question title is displayed, and allows a custom title to be displayed instead of the default question title. Shown by default.

    @@ -56,6 +79,7 @@
  • OptionalwithAlerts?: boolean

    Enables the ability to set up alerts on the question.

  • OptionalwithChartTypeSelector?: boolean

    Determines whether the chart type selector and corresponding settings button are shown. Only relevant when using the default layout.

  • OptionalwithDownloads?: boolean

    Enables the ability to download results in the question.

    +
  • OptionalwithEditorButton?: boolean

    Determines whether the editor button is shown. Only relevant when using the default layout.

  • Returns Element

    Index

    InteractiveQuestion

    BackButton Breakout BreakoutDropdown diff --git a/_site/docs/latest/embedding/sdk/api/InteractiveQuestionProps.html b/_site/docs/latest/embedding/sdk/api/InteractiveQuestionProps.html index 86b4051c42..1e1f7a807e 100644 --- a/_site/docs/latest/embedding/sdk/api/InteractiveQuestionProps.html +++ b/_site/docs/latest/embedding/sdk/api/InteractiveQuestionProps.html @@ -21,7 +21,7 @@ -

    Interface InteractiveQuestionProps

    interface InteractiveQuestionProps {
        className?: string;
        dataPicker?: EmbeddingDataPicker;
        entityTypes?: EmbeddingEntityType[];
        height?: Height<string | number>;
        hiddenParameters?: string[];
        initialCollection?: SdkCollectionId;
        initialSqlParameters?: SqlParameterValues;
        isSaveEnabled?: boolean;
        onBeforeSave?: (
            question: MetabaseQuestion | undefined,
            context: { isNewQuestion: boolean },
        ) => Promise<void>;
        onNavigateBack?: () => void;
        onRun?: (question: MetabaseQuestion | undefined) => void;
        onSave?: (
            question: MetabaseQuestion,
            context: { dashboardTabId?: number; isNewQuestion: boolean },
        ) => void;
        onVisualizationChange?: (
            display:
                | "object"
                | "table"
                | "bar"
                | "line"
                | "pie"
                | "scalar"
                | "row"
                | "area"
                | "combo"
                | "pivot"
                | "smartscalar"
                | "gauge"
                | "progress"
                | "funnel"
                | "map"
                | "scatter"
                | "boxplot"
                | "waterfall"
                | "sankey"
                | "list",
        ) => void;
        plugins?: MetabasePluginsConfig;
        query?: undefined;
        questionId?: SdkQuestionId
        | null;
        style?: CSSProperties;
        targetCollection?: SdkCollectionId;
        title?: SdkQuestionTitleProps;
        token?: string | null;
        width?: Width<string | number>;
        withAlerts?: boolean;
        withChartTypeSelector?: boolean;
        withDownloads?: boolean;
    }
    Index

    Properties

    className? +

    Interface InteractiveQuestionProps

    interface InteractiveQuestionProps {
        className?: string;
        dataPicker?: EmbeddingDataPicker;
        entityTypes?: EmbeddingEntityType[];
        height?: Height<string | number>;
        hiddenParameters?: string[];
        initialCollection?: SdkCollectionId;
        initialSqlParameters?: SqlParameterValues;
        isSaveEnabled?: boolean;
        onBeforeSave?: (
            question: MetabaseQuestion | undefined,
            context: { isNewQuestion: boolean },
        ) => Promise<void>;
        onNavigateBack?: () => void;
        onRun?: (question: MetabaseQuestion | undefined) => void;
        onSave?: (
            question: MetabaseQuestion,
            context: { dashboardTabId?: number; isNewQuestion: boolean },
        ) => void;
        onSqlParametersChange?: (payload: SqlParameterChangePayload) => void;
        onVisualizationChange?: (
            display:
                | "object"
                | "table"
                | "bar"
                | "line"
                | "pie"
                | "scalar"
                | "row"
                | "area"
                | "combo"
                | "pivot"
                | "smartscalar"
                | "gauge"
                | "progress"
                | "funnel"
                | "map"
                | "scatter"
                | "boxplot"
                | "waterfall"
                | "sankey"
                | "list",
        ) => void;
        plugins?: MetabasePluginsConfig;
        query?: undefined;
        questionId?: SdkQuestionId
        | null;
        sqlParameters?: SqlParameterValues;
        style?: CSSProperties;
        targetCollection?: SdkCollectionId;
        title?: SdkQuestionTitleProps;
        token?: string | null;
        width?: Width<string | number>;
        withAlerts?: boolean;
        withChartTypeSelector?: boolean;
        withDownloads?: boolean;
        withEditorButton?: boolean;
    }
    Index

    Properties

    className?: string

    A custom class name to be added to the root element.

    dataPicker?: EmbeddingDataPicker

    Controls the menu for selecting data sources in questions. You can opt for the full data picker by setting dataPicker = "staged".

    entityTypes?: EmbeddingEntityType[]

    An array that specifies which entity types are available in the data picker

    height?: Height<string | number>

    A number or string specifying a CSS size value that specifies the height of the component

    hiddenParameters?: string[]

    A list of parameters to hide.

    initialCollection?: SdkCollectionId

    The collection to preselect in the save modal's collection picker. Unlike targetCollection, the picker remains visible and the user can choose a different collection. Ignored when targetCollection is set.

    -
    initialSqlParameters?: SqlParameterValues

    Initial values for the SQL parameters.

    +
    initialSqlParameters?: SqlParameterValues

    Initial values for SQL parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host. +
    +For each parameter: +

    +
      +
    • set to a value: that value is applied. +
    • +
    • set to null: strictly cleared, ignoring the parameter's default. +
    • +
    • omitted (or set to undefined): falls back to the parameter's default (or null if it has no default).
    • +
    isSaveEnabled?: boolean

    Whether to show the save button.

    onBeforeSave?: (
        question: MetabaseQuestion | undefined,
        context: { isNewQuestion: boolean },
    ) => Promise<void>

    A callback function that triggers before saving. Only relevant when isSaveEnabled = true

    onNavigateBack?: () => void

    A callback function that triggers when a user clicks the back button.

    onRun?: (question: MetabaseQuestion | undefined) => void

    A callback function that triggers when a question is updated, including when a user clicks the Visualize button in the question editor

    onSave?: (
        question: MetabaseQuestion,
        context: { dashboardTabId?: number; isNewQuestion: boolean },
    ) => void

    A callback function that triggers when a user saves the question. Only relevant when isSaveEnabled = true

    +
    onSqlParametersChange?: (payload: SqlParameterChangePayload) => void

    Fires on SQL parameters change. The payload's source distinguishes the initial state on load ('initial-state'), user edits in the UI ('manual-change'), and auto-updates ('auto-change').

    onVisualizationChange?: (
        display:
            | "object"
            | "table"
            | "bar"
            | "line"
            | "pie"
            | "scalar"
            | "row"
            | "area"
            | "combo"
            | "pivot"
            | "smartscalar"
            | "gauge"
            | "progress"
            | "funnel"
            | "map"
            | "scatter"
            | "boxplot"
            | "waterfall"
            | "sankey"
            | "list",
    ) => void

    A callback function that triggers when the visualization type changes.

    Type Declaration

      • (
            display:
                | "object"
                | "table"
                | "bar"
                | "line"
                | "pie"
                | "scalar"
                | "row"
                | "area"
                | "combo"
                | "pivot"
                | "smartscalar"
                | "gauge"
                | "progress"
                | "funnel"
                | "map"
                | "scatter"
                | "boxplot"
                | "waterfall"
                | "sankey"
                | "list",
        ): void
      • Parameters

        • display:
              | "object"
              | "table"
              | "bar"
              | "line"
              | "pie"
              | "scalar"
              | "row"
              | "area"
              | "combo"
              | "pivot"
              | "smartscalar"
              | "gauge"
              | "progress"
              | "funnel"
              | "map"
              | "scatter"
              | "boxplot"
              | "waterfall"
              | "sankey"
              | "list"

          the new display type

        Returns void

    query?: undefined
    questionId?: SdkQuestionId | null

    The ID of the question. @@ -72,6 +86,18 @@

  • new-native to show the SQL editor for creating new native questions
  • +
    sqlParameters?: SqlParameterValues

    Controlled SQL parameter values, slug-keyed. On every render, this object replaces the question's parameter values: +

    +
      +
    • a parameter set to a value uses that value. +
    • +
    • a parameter set to null is cleared, even if it has a default. +
    • +
    • a parameter omitted from the object (or set to undefined) uses its default (or null if it has no default). +
      +
      +Pair with onSqlParametersChange to stay in sync with user edits.
    • +

    A custom style object to be added to the root element.

    targetCollection?: SdkCollectionId

    The collection to save the question to. This will hide the collection picker from the save modal. Only applicable to interactive questions.

    Determines whether the question title is displayed, and allows a custom title to be displayed instead of the default question title. Shown by default.

    @@ -80,6 +106,7 @@
    withAlerts?: boolean

    Enables the ability to set up alerts on the question.

    withChartTypeSelector?: boolean

    Determines whether the chart type selector and corresponding settings button are shown. Only relevant when using the default layout.

    withDownloads?: boolean

    Enables the ability to download results in the question.

    -

    +
    withEditorButton?: boolean

    Determines whether the editor button is shown. Only relevant when using the default layout.

    +

    \ No newline at end of file diff --git a/_site/docs/latest/embedding/sdk/api/MetabaseFontFamily.html b/_site/docs/latest/embedding/sdk/api/MetabaseFontFamily.html index abc8c6f7b4..4c5397a658 100644 --- a/_site/docs/latest/embedding/sdk/api/MetabaseFontFamily.html +++ b/_site/docs/latest/embedding/sdk/api/MetabaseFontFamily.html @@ -21,6 +21,6 @@ -

    Type Alias MetabaseFontFamily

    MetabaseFontFamily:
        | "Roboto"
        | "Merriweather"
        | "Open Sans"
        | "Lato"
        | "Noto Sans"
        | "Roboto Slab"
        | "Source Sans Pro"
        | "Raleway"
        | "Slabo 27px"
        | "PT Sans"
        | "Poppins"
        | "PT Serif"
        | "Roboto Mono"
        | "Roboto Condensed"
        | "Playfair Display"
        | "Oswald"
        | "Ubuntu"
        | "Montserrat"
        | "Lora"
        | "Custom"

    +

    Type Alias MetabaseFontFamily

    MetabaseFontFamily:
        | "Roboto"
        | "Merriweather"
        | "Open Sans"
        | "Lato"
        | "Inter"
        | "Noto Sans"
        | "Roboto Slab"
        | "Source Sans Pro"
        | "Raleway"
        | "Slabo 27px"
        | "PT Sans"
        | "Poppins"
        | "PT Serif"
        | "Roboto Mono"
        | "Roboto Condensed"
        | "Playfair Display"
        | "Oswald"
        | "Ubuntu"
        | "Montserrat"
        | "Lora"
        | "Custom"

    \ No newline at end of file diff --git a/_site/docs/latest/embedding/sdk/api/ParameterChangePayload.html b/_site/docs/latest/embedding/sdk/api/ParameterChangePayload.html new file mode 100644 index 0000000000..ff929b9053 --- /dev/null +++ b/_site/docs/latest/embedding/sdk/api/ParameterChangePayload.html @@ -0,0 +1,31 @@ +ParameterChangePayload | Embedded analytics SDK API + + + + + + + + + + + + + + + + + + + + + + +

    Type Alias ParameterChangePayload

    Payload passed to onParametersChange callback

    +
    Index

    Properties

    defaultParameters: ParameterValues
    lastUsedParameters: ParameterValues
    parameters: ParameterValues

    + + \ No newline at end of file diff --git a/_site/docs/latest/embedding/sdk/api/ParameterChangeSource.html b/_site/docs/latest/embedding/sdk/api/ParameterChangeSource.html new file mode 100644 index 0000000000..92ec0417d8 --- /dev/null +++ b/_site/docs/latest/embedding/sdk/api/ParameterChangeSource.html @@ -0,0 +1,32 @@ +ParameterChangeSource | Embedded analytics SDK API + + + + + + + + + + + + + + + + + + + + + + +

    Type Alias ParameterChangeSource

    ParameterChangeSource: "initial-state" | "manual-change" | "auto-change"

    Source of a parameter-change event:

    +
      +
    • initial-state - first applied snapshot, fired once per dashboard load.
    • +
    • manual-change - user edited parameters in UI.
    • +
    • auto-change - in the case of auto-updates, e.g. to pass normalized values back to parent.
    • +
    +

    + + \ No newline at end of file diff --git a/_site/docs/latest/embedding/sdk/api/SdkQuestionProps.html b/_site/docs/latest/embedding/sdk/api/SdkQuestionProps.html index dbd528a988..c2d113fc6f 100644 --- a/_site/docs/latest/embedding/sdk/api/SdkQuestionProps.html +++ b/_site/docs/latest/embedding/sdk/api/SdkQuestionProps.html @@ -21,7 +21,7 @@ -

    Interface SdkQuestionProps

    interface SdkQuestionProps {
        className?: string;
        dataPicker?: EmbeddingDataPicker;
        entityTypes?: EmbeddingEntityType[];
        height?: Height<string | number>;
        hiddenParameters?: string[];
        initialCollection?: SdkCollectionId;
        initialSqlParameters?: SqlParameterValues;
        isSaveEnabled?: boolean;
        onBeforeSave?: (
            question: MetabaseQuestion | undefined,
            context: { isNewQuestion: boolean },
        ) => Promise<void>;
        onNavigateBack?: () => void;
        onRun?: (question: MetabaseQuestion | undefined) => void;
        onSave?: (
            question: MetabaseQuestion,
            context: { dashboardTabId?: number; isNewQuestion: boolean },
        ) => void;
        onVisualizationChange?: (
            display:
                | "object"
                | "table"
                | "bar"
                | "line"
                | "pie"
                | "scalar"
                | "row"
                | "area"
                | "combo"
                | "pivot"
                | "smartscalar"
                | "gauge"
                | "progress"
                | "funnel"
                | "map"
                | "scatter"
                | "boxplot"
                | "waterfall"
                | "sankey"
                | "list",
        ) => void;
        plugins?: MetabasePluginsConfig;
        questionId?: SdkQuestionId
        | null;
        style?: CSSProperties;
        targetCollection?: SdkCollectionId;
        title?: SdkQuestionTitleProps;
        token?: string | null;
        width?: Width<string | number>;
        withAlerts?: boolean;
        withChartTypeSelector?: boolean;
        withDownloads?: boolean;
    }
    Index

    Properties

    className? +

    Interface SdkQuestionProps

    interface SdkQuestionProps {
        className?: string;
        dataPicker?: EmbeddingDataPicker;
        entityTypes?: EmbeddingEntityType[];
        height?: Height<string | number>;
        hiddenParameters?: string[];
        initialCollection?: SdkCollectionId;
        initialSqlParameters?: SqlParameterValues;
        isSaveEnabled?: boolean;
        onBeforeSave?: (
            question: MetabaseQuestion | undefined,
            context: { isNewQuestion: boolean },
        ) => Promise<void>;
        onNavigateBack?: () => void;
        onRun?: (question: MetabaseQuestion | undefined) => void;
        onSave?: (
            question: MetabaseQuestion,
            context: { dashboardTabId?: number; isNewQuestion: boolean },
        ) => void;
        onSqlParametersChange?: (payload: SqlParameterChangePayload) => void;
        onVisualizationChange?: (
            display:
                | "object"
                | "table"
                | "bar"
                | "line"
                | "pie"
                | "scalar"
                | "row"
                | "area"
                | "combo"
                | "pivot"
                | "smartscalar"
                | "gauge"
                | "progress"
                | "funnel"
                | "map"
                | "scatter"
                | "boxplot"
                | "waterfall"
                | "sankey"
                | "list",
        ) => void;
        plugins?: MetabasePluginsConfig;
        questionId?: SdkQuestionId
        | null;
        sqlParameters?: SqlParameterValues;
        style?: CSSProperties;
        targetCollection?: SdkCollectionId;
        title?: SdkQuestionTitleProps;
        token?: string | null;
        width?: Width<string | number>;
        withAlerts?: boolean;
        withChartTypeSelector?: boolean;
        withDownloads?: boolean;
        withEditorButton?: boolean;
    }
    Index

    Properties

    className?: string

    A custom class name to be added to the root element.

    dataPicker?: EmbeddingDataPicker

    Controls the menu for selecting data sources in questions. You can opt for the full data picker by setting dataPicker = "staged".

    entityTypes?: EmbeddingEntityType[]

    An array that specifies which entity types are available in the data picker

    height?: Height<string | number>

    A number or string specifying a CSS size value that specifies the height of the component

    hiddenParameters?: string[]

    A list of parameters to hide.

    initialCollection?: SdkCollectionId

    The collection to preselect in the save modal's collection picker. Unlike targetCollection, the picker remains visible and the user can choose a different collection. Ignored when targetCollection is set.

    -
    initialSqlParameters?: SqlParameterValues

    Initial values for the SQL parameters.

    +
    initialSqlParameters?: SqlParameterValues

    Initial values for SQL parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host. +
    +For each parameter: +

    +
      +
    • set to a value: that value is applied. +
    • +
    • set to null: strictly cleared, ignoring the parameter's default. +
    • +
    • omitted (or set to undefined): falls back to the parameter's default (or null if it has no default).
    • +
    isSaveEnabled?: boolean

    Whether to show the save button.

    onBeforeSave?: (
        question: MetabaseQuestion | undefined,
        context: { isNewQuestion: boolean },
    ) => Promise<void>

    A callback function that triggers before saving. Only relevant when isSaveEnabled = true

    onNavigateBack?: () => void

    A callback function that triggers when a user clicks the back button.

    onRun?: (question: MetabaseQuestion | undefined) => void

    A callback function that triggers when a question is updated, including when a user clicks the Visualize button in the question editor

    onSave?: (
        question: MetabaseQuestion,
        context: { dashboardTabId?: number; isNewQuestion: boolean },
    ) => void

    A callback function that triggers when a user saves the question. Only relevant when isSaveEnabled = true

    +
    onSqlParametersChange?: (payload: SqlParameterChangePayload) => void

    Fires on SQL parameters change. The payload's source distinguishes the initial state on load ('initial-state'), user edits in the UI ('manual-change'), and auto-updates ('auto-change').

    onVisualizationChange?: (
        display:
            | "object"
            | "table"
            | "bar"
            | "line"
            | "pie"
            | "scalar"
            | "row"
            | "area"
            | "combo"
            | "pivot"
            | "smartscalar"
            | "gauge"
            | "progress"
            | "funnel"
            | "map"
            | "scatter"
            | "boxplot"
            | "waterfall"
            | "sankey"
            | "list",
    ) => void

    A callback function that triggers when the visualization type changes.

    Type Declaration

      • (
            display:
                | "object"
                | "table"
                | "bar"
                | "line"
                | "pie"
                | "scalar"
                | "row"
                | "area"
                | "combo"
                | "pivot"
                | "smartscalar"
                | "gauge"
                | "progress"
                | "funnel"
                | "map"
                | "scatter"
                | "boxplot"
                | "waterfall"
                | "sankey"
                | "list",
        ): void
      • Parameters

        • display:
              | "object"
              | "table"
              | "bar"
              | "line"
              | "pie"
              | "scalar"
              | "row"
              | "area"
              | "combo"
              | "pivot"
              | "smartscalar"
              | "gauge"
              | "progress"
              | "funnel"
              | "map"
              | "scatter"
              | "boxplot"
              | "waterfall"
              | "sankey"
              | "list"

          the new display type

          -

        Returns void

    questionId?: SdkQuestionId | null

    A custom style object to be added to the root element.

    +

    Returns void

    questionId?: SdkQuestionId | null
    sqlParameters?: SqlParameterValues

    Controlled SQL parameter values, slug-keyed. On every render, this object replaces the question's parameter values: +

    +
      +
    • a parameter set to a value uses that value. +
    • +
    • a parameter set to null is cleared, even if it has a default. +
    • +
    • a parameter omitted from the object (or set to undefined) uses its default (or null if it has no default). +
      +
      +Pair with onSqlParametersChange to stay in sync with user edits.
    • +
    +

    A custom style object to be added to the root element.

    targetCollection?: SdkCollectionId

    The collection to save the question to. This will hide the collection picker from the save modal. Only applicable to interactive questions.

    Determines whether the question title is displayed, and allows a custom title to be displayed instead of the default question title. Shown by default.

    token?: string | null
    width?: Width<string | number>

    A number or string specifying a CSS size value that specifies the width of the component

    withAlerts?: boolean

    Enables the ability to set up alerts on the question.

    withChartTypeSelector?: boolean

    Determines whether the chart type selector and corresponding settings button are shown. Only relevant when using the default layout.

    withDownloads?: boolean

    Enables the ability to download results in the question.

    -

    +
    withEditorButton?: boolean

    Determines whether the editor button is shown. Only relevant when using the default layout.

    +

    \ No newline at end of file diff --git a/_site/docs/latest/embedding/sdk/api/SqlParameterChangePayload.html b/_site/docs/latest/embedding/sdk/api/SqlParameterChangePayload.html new file mode 100644 index 0000000000..745d058d17 --- /dev/null +++ b/_site/docs/latest/embedding/sdk/api/SqlParameterChangePayload.html @@ -0,0 +1,30 @@ +SqlParameterChangePayload | Embedded analytics SDK API + + + + + + + + + + + + + + + + + + + + + + +

    Type Alias SqlParameterChangePayload

    Payload passed to onSqlParametersChange callback

    +
    type SqlParameterChangePayload = {
        defaultParameters: ParameterValues;
        parameters: ParameterValues;
        source: SqlParameterChangeSource;
    }
    Index

    Properties

    defaultParameters: ParameterValues
    parameters: ParameterValues

    + + \ No newline at end of file diff --git a/_site/docs/latest/embedding/sdk/api/SqlParameterChangeSource.html b/_site/docs/latest/embedding/sdk/api/SqlParameterChangeSource.html new file mode 100644 index 0000000000..721339be17 --- /dev/null +++ b/_site/docs/latest/embedding/sdk/api/SqlParameterChangeSource.html @@ -0,0 +1,32 @@ +SqlParameterChangeSource | Embedded analytics SDK API + + + + + + + + + + + + + + + + + + + + + + +

    Type Alias SqlParameterChangeSource

    SqlParameterChangeSource: "initial-state" | "manual-change" | "auto-change"

    Source of a sql-parameter-change event:

    +
      +
    • initial-state - first applied state, fired once per question load.
    • +
    • manual-change - user edited parameters in UI.
    • +
    • auto-change - in the case of auto-updates, e.g. to pass normalized values back to parent.
    • +
    +

    + + \ No newline at end of file diff --git a/_site/docs/latest/embedding/sdk/api/StaticDashboard.html b/_site/docs/latest/embedding/sdk/api/StaticDashboard.html index ef2068efd3..76372643f0 100644 --- a/_site/docs/latest/embedding/sdk/api/StaticDashboard.html +++ b/_site/docs/latest/embedding/sdk/api/StaticDashboard.html @@ -41,17 +41,43 @@
  • Combining initialParameters and hiddenParameters to declutter the user interface is fine.
  • -
  • OptionalinitialParameters?: ParameterValues

    Query parameters for the dashboard. For a single option, use a string value, and use a list of strings for multiple options. +

  • OptionalinitialParameters?: ParameterValues

    Initial values for query parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host. +
    +For each parameter:

      +
    • set to a value (string for a single option, array of strings for multiple): that value is applied. +
    • +
    • set to null: strictly cleared, ignoring the parameter's default. +
    • +
    • omitted (or set to undefined): falls back to the parameter's default (or null if it has no default). +
      +
    • Combining initialParameters and hiddenParameters to filter data on the frontend is a security risk.
    • Combining initialParameters and hiddenParameters to declutter the user interface is fine.
  • OptionalonLoad?: (dashboard: MetabaseDashboard | null) => void

    Callback that is called when the dashboard is loaded.

  • OptionalonLoadWithoutCards?: (dashboard: MetabaseDashboard | null) => void

    Callback that is called when the dashboard is loaded without cards.

    +
  • OptionalonParametersChange?: (payload: ParameterChangePayload) => void

    Fires on parameters change. The payload's source distinguishes the initial state on load ('initial-state'), user edits in the UI ('manual-change'), and auto-updates ('auto-change').

  • OptionalonVisualizationChange?: (
        visualization:
            | "object"
            | "table"
            | "bar"
            | "line"
            | "pie"
            | "scalar"
            | "row"
            | "area"
            | "combo"
            | "pivot"
            | "smartscalar"
            | "gauge"
            | "progress"
            | "funnel"
            | "map"
            | "scatter"
            | "boxplot"
            | "waterfall"
            | "sankey"
            | "list",
    ) => void

    A callback function that triggers when a question is opened from a dashboard card or when the user changes the visualization type of a question.

    +
  • Optionalparameters?: ParameterValues

    Controlled parameter values, slug-keyed. On every render, this object replaces the dashboard's parameter values: +

    +
      +
    • a parameter set to a value uses that value. +
    • +
    • a parameter set to null is cleared, even if it has a default. +
    • +
    • a parameter omitted from the object (or set to undefined) uses its default (or null if it has no default). +
      +
      +Pair with onParametersChange to stay in sync with user edits. +
    • +
    • Combining parameters and hiddenParameters to filter data on the frontend is a security risk. +
    • +
    • Combining parameters and hiddenParameters to declutter the user interface is fine.
    • +
  • Optionalplugins?: MetabasePluginsConfig

    Additional mapper function to override or add drill-down menu. See the implementing custom actions section for more details.

  • Optionalstyle?: CSSProperties

    A custom style object to be added to the root element.

  • Optionaltoken?: string | null

    A valid JWT token for the guest embed.

    diff --git a/_site/docs/latest/embedding/sdk/api/StaticDashboardProps.html b/_site/docs/latest/embedding/sdk/api/StaticDashboardProps.html index 9d7a643fa4..ed6d23512a 100644 --- a/_site/docs/latest/embedding/sdk/api/StaticDashboardProps.html +++ b/_site/docs/latest/embedding/sdk/api/StaticDashboardProps.html @@ -21,7 +21,7 @@ -

    Interface StaticDashboardProps

    interface StaticDashboardProps {
        autoRefreshInterval?: number;
        className?: string;
        dashboardId?: SdkDashboardId | null;
        dataPickerProps?: Pick<SdkQuestionProps, "entityTypes">;
        hiddenParameters?: string[];
        initialParameters?: ParameterValues;
        onLoad?: (dashboard: MetabaseDashboard | null) => void;
        onLoadWithoutCards?: (dashboard: MetabaseDashboard | null) => void;
        onVisualizationChange?: (
            visualization:
                | "object"
                | "table"
                | "bar"
                | "line"
                | "pie"
                | "scalar"
                | "row"
                | "area"
                | "combo"
                | "pivot"
                | "smartscalar"
                | "gauge"
                | "progress"
                | "funnel"
                | "map"
                | "scatter"
                | "boxplot"
                | "waterfall"
                | "sankey"
                | "list",
        ) => void;
        plugins?: MetabasePluginsConfig;
        style?: CSSProperties;
        token?: string
        | null;
        withCardTitle?: boolean;
        withDownloads?: boolean;
        withSubscriptions?: boolean;
        withTitle?: boolean;
    }
    Index

    Properties

    autoRefreshInterval? +

    Interface StaticDashboardProps

    interface StaticDashboardProps {
        autoRefreshInterval?: number;
        className?: string;
        dashboardId?: SdkDashboardId | null;
        dataPickerProps?: Pick<SdkQuestionProps, "entityTypes">;
        hiddenParameters?: string[];
        initialParameters?: ParameterValues;
        onLoad?: (dashboard: MetabaseDashboard | null) => void;
        onLoadWithoutCards?: (dashboard: MetabaseDashboard | null) => void;
        onParametersChange?: (payload: ParameterChangePayload) => void;
        onVisualizationChange?: (
            visualization:
                | "object"
                | "table"
                | "bar"
                | "line"
                | "pie"
                | "scalar"
                | "row"
                | "area"
                | "combo"
                | "pivot"
                | "smartscalar"
                | "gauge"
                | "progress"
                | "funnel"
                | "map"
                | "scatter"
                | "boxplot"
                | "waterfall"
                | "sankey"
                | "list",
        ) => void;
        parameters?: ParameterValues;
        plugins?: MetabasePluginsConfig;
        style?: CSSProperties;
        token?: string
        | null;
        withCardTitle?: boolean;
        withDownloads?: boolean;
        withSubscriptions?: boolean;
        withTitle?: boolean;
    }
    Index
  • Combining initialParameters and hiddenParameters to declutter the user interface is fine.
  • -
    initialParameters?: ParameterValues

    Query parameters for the dashboard. For a single option, use a string value, and use a list of strings for multiple options. +

    initialParameters?: ParameterValues

    Initial values for query parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host. +
    +For each parameter:

      +
    • set to a value (string for a single option, array of strings for multiple): that value is applied. +
    • +
    • set to null: strictly cleared, ignoring the parameter's default. +
    • +
    • omitted (or set to undefined): falls back to the parameter's default (or null if it has no default). +
      +
    • Combining initialParameters and hiddenParameters to filter data on the frontend is a security risk.
    • Combining initialParameters and hiddenParameters to declutter the user interface is fine.
    onLoad?: (dashboard: MetabaseDashboard | null) => void

    Callback that is called when the dashboard is loaded.

    onLoadWithoutCards?: (dashboard: MetabaseDashboard | null) => void

    Callback that is called when the dashboard is loaded without cards.

    +
    onParametersChange?: (payload: ParameterChangePayload) => void

    Fires on parameters change. The payload's source distinguishes the initial state on load ('initial-state'), user edits in the UI ('manual-change'), and auto-updates ('auto-change').

    onVisualizationChange?: (
        visualization:
            | "object"
            | "table"
            | "bar"
            | "line"
            | "pie"
            | "scalar"
            | "row"
            | "area"
            | "combo"
            | "pivot"
            | "smartscalar"
            | "gauge"
            | "progress"
            | "funnel"
            | "map"
            | "scatter"
            | "boxplot"
            | "waterfall"
            | "sankey"
            | "list",
    ) => void

    A callback function that triggers when a question is opened from a dashboard card or when the user changes the visualization type of a question.

    Type Declaration

      • (
            visualization:
                | "object"
                | "table"
                | "bar"
                | "line"
                | "pie"
                | "scalar"
                | "row"
                | "area"
                | "combo"
                | "pivot"
                | "smartscalar"
                | "gauge"
                | "progress"
                | "funnel"
                | "map"
                | "scatter"
                | "boxplot"
                | "waterfall"
                | "sankey"
                | "list",
        ): void
      • Parameters

        • visualization:
              | "object"
              | "table"
              | "bar"
              | "line"
              | "pie"
              | "scalar"
              | "row"
              | "area"
              | "combo"
              | "pivot"
              | "smartscalar"
              | "gauge"
              | "progress"
              | "funnel"
              | "map"
              | "scatter"
              | "boxplot"
              | "waterfall"
              | "sankey"
              | "list"

          the new visualization type

          -

        Returns void

    Additional mapper function to override or add drill-down menu. See the implementing custom actions section for more details.

    +

    Returns void

    parameters?: ParameterValues

    Controlled parameter values, slug-keyed. On every render, this object replaces the dashboard's parameter values: +

    +
      +
    • a parameter set to a value uses that value. +
    • +
    • a parameter set to null is cleared, even if it has a default. +
    • +
    • a parameter omitted from the object (or set to undefined) uses its default (or null if it has no default). +
      +
      +Pair with onParametersChange to stay in sync with user edits. +
    • +
    • Combining parameters and hiddenParameters to filter data on the frontend is a security risk. +
    • +
    • Combining parameters and hiddenParameters to declutter the user interface is fine.
    • +
    +

    Additional mapper function to override or add drill-down menu. See the implementing custom actions section for more details.

    A custom style object to be added to the root element.

    token?: string | null

    A valid JWT token for the guest embed.

    withCardTitle?: boolean

    Whether the dashboard cards should display a title.

    withDownloads?: boolean

    Whether to hide the download button.

    withSubscriptions?: boolean

    Whether to show the subscriptions button.

    withTitle?: boolean

    Whether the dashboard should display a title.

    -

    +

    \ No newline at end of file diff --git a/_site/docs/latest/embedding/sdk/api/StaticQuestion.html b/_site/docs/latest/embedding/sdk/api/StaticQuestion.html index 501fb50245..87b6e4afc8 100644 --- a/_site/docs/latest/embedding/sdk/api/StaticQuestion.html +++ b/_site/docs/latest/embedding/sdk/api/StaticQuestion.html @@ -25,7 +25,18 @@

    Parameters

    • props: StaticQuestionProps
      • OptionalclassName?: string

        A custom class name to be added to the root element.

      • Optionalheight?: Height<string | number>

        A number or string specifying a CSS size value that specifies the height of the component

      • OptionalhiddenParameters?: string[]

        A list of parameters to hide.

        -
      • OptionalinitialSqlParameters?: SqlParameterValues

        Initial values for the SQL parameters.

        +
      • OptionalinitialSqlParameters?: SqlParameterValues

        Initial values for SQL parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host. +
        +For each parameter: +

        +
          +
        • set to a value: that value is applied. +
        • +
        • set to null: strictly cleared, ignoring the parameter's default. +
        • +
        • omitted (or set to undefined): falls back to the parameter's default (or null if it has no default).
        • +
        +
      • OptionalonSqlParametersChange?: (payload: SqlParameterChangePayload) => void

        Fires on SQL parameters change. The payload's source distinguishes the initial state on load ('initial-state'), user edits in the UI ('manual-change'), and auto-updates ('auto-change').

      • Optionalquery?: undefined
      • OptionalquestionId?: SdkQuestionId | null

        The ID of the question.
        This is either: @@ -39,6 +50,18 @@

      • new-native to show the SQL editor for creating new native questions
      +
  • OptionalsqlParameters?: SqlParameterValues

    Controlled SQL parameter values, slug-keyed. On every render, this object replaces the question's parameter values: +

    +
      +
    • a parameter set to a value uses that value. +
    • +
    • a parameter set to null is cleared, even if it has a default. +
    • +
    • a parameter omitted from the object (or set to undefined) uses its default (or null if it has no default). +
      +
      +Pair with onSqlParametersChange to stay in sync with user edits.
    • +
  • Optionalstyle?: CSSProperties

    A custom style object to be added to the root element.

  • Optionaltitle?: SdkQuestionTitleProps

    Determines whether the question title is displayed, and allows a custom title to be displayed instead of the default question title. Shown by default.

  • Optionaltoken?: string | null

    A valid JWT token for the guest embed.

    diff --git a/_site/docs/latest/embedding/sdk/api/StaticQuestionProps.html b/_site/docs/latest/embedding/sdk/api/StaticQuestionProps.html index c2d303b825..61f7352e6a 100644 --- a/_site/docs/latest/embedding/sdk/api/StaticQuestionProps.html +++ b/_site/docs/latest/embedding/sdk/api/StaticQuestionProps.html @@ -21,12 +21,14 @@ -

    Interface StaticQuestionProps

    interface StaticQuestionProps {
        className?: string;
        height?: Height<string | number>;
        hiddenParameters?: string[];
        initialSqlParameters?: SqlParameterValues;
        query?: undefined;
        questionId?: SdkQuestionId | null;
        style?: CSSProperties;
        title?: SdkQuestionTitleProps;
        token?: string | null;
        width?: Width<string | number>;
        withAlerts?: boolean;
        withChartTypeSelector?: boolean;
        withDownloads?: boolean;
    }
    Index

    Properties

    className? +

    Interface StaticQuestionProps

    interface StaticQuestionProps {
        className?: string;
        height?: Height<string | number>;
        hiddenParameters?: string[];
        initialSqlParameters?: SqlParameterValues;
        onSqlParametersChange?: (payload: SqlParameterChangePayload) => void;
        query?: undefined;
        questionId?: SdkQuestionId | null;
        sqlParameters?: SqlParameterValues;
        style?: CSSProperties;
        title?: SdkQuestionTitleProps;
        token?: string | null;
        width?: Width<string | number>;
        withAlerts?: boolean;
        withChartTypeSelector?: boolean;
        withDownloads?: boolean;
    }
    Index

    Properties

    className?: string

    A custom class name to be added to the root element.

    height?: Height<string | number>

    A number or string specifying a CSS size value that specifies the height of the component

    hiddenParameters?: string[]

    A list of parameters to hide.

    -
    initialSqlParameters?: SqlParameterValues

    Initial values for the SQL parameters.

    +
    initialSqlParameters?: SqlParameterValues

    Initial values for SQL parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host. +
    +For each parameter: +

    +
      +
    • set to a value: that value is applied. +
    • +
    • set to null: strictly cleared, ignoring the parameter's default. +
    • +
    • omitted (or set to undefined): falls back to the parameter's default (or null if it has no default).
    • +
    +
    onSqlParametersChange?: (payload: SqlParameterChangePayload) => void

    Fires on SQL parameters change. The payload's source distinguishes the initial state on load ('initial-state'), user edits in the UI ('manual-change'), and auto-updates ('auto-change').

    query?: undefined
    questionId?: SdkQuestionId | null

    The ID of the question.
    This is either: @@ -51,6 +64,18 @@

  • new-native to show the SQL editor for creating new native questions
  • +
    sqlParameters?: SqlParameterValues

    Controlled SQL parameter values, slug-keyed. On every render, this object replaces the question's parameter values: +

    +
      +
    • a parameter set to a value uses that value. +
    • +
    • a parameter set to null is cleared, even if it has a default. +
    • +
    • a parameter omitted from the object (or set to undefined) uses its default (or null if it has no default). +
      +
      +Pair with onSqlParametersChange to stay in sync with user edits.
    • +

    A custom style object to be added to the root element.

    Determines whether the question title is displayed, and allows a custom title to be displayed instead of the default question title. Shown by default.

    token?: string | null

    A valid JWT token for the guest embed.

    @@ -58,6 +83,6 @@
    withAlerts?: boolean

    Enables the ability to set up alerts on the question.

    withChartTypeSelector?: boolean

    Determines whether the chart type selector and corresponding settings button are shown. Only relevant when using the default layout.

    withDownloads?: boolean

    Enables the ability to download results in the question.

    -

    +

    \ No newline at end of file diff --git a/_site/docs/latest/embedding/sdk/api/assets/navigation.js b/_site/docs/latest/embedding/sdk/api/assets/navigation.js index d6af4cbcb8..2755dbda4a 100644 --- a/_site/docs/latest/embedding/sdk/api/assets/navigation.js +++ b/_site/docs/latest/embedding/sdk/api/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "eJylWtty2zYQ/Rc+ezqtp0mnflN8Se3YrWrJzkMmDxC5EVGBgAIurTid/HuHupAgsLiQfbIH5+AcLAAuF6A+/ZshfMPsIrtUQkCOXMl3Wu1q0NlZlpdcFBpkdvEpyNsyLCnopxIrkZ1lGy6L7OLtrz/O/DJzrbZ1QGuPDwXP37z98dnU1MAQrlhdrhTTxYMqmPBFQVNP5gQaioWg2+H4KCkR/d1A3c5EMBaDNPA8tdvjP8tyweo6u8gK2GrIGUKRea3JcAZgOJAuck8M1wVHthJg8o5eDhRYiVuJoFmO/IVSotCA2AIZ8pzQsYCAhDN2ax5p3J3KcISWqJcS0rVisiQpNLzgxiAi25dmurH4NrK5yzQXYllq1axLz871UhIn/dTnsmQal69buNJqW6id7ZPcZaRvu2OUftcgOqGlsCe5pfpMcYhrT1E9/V0AIpfrOn2Rgj0njuKZ1w0T/DtLC9jfbaT/I9SAqVvFJo/0WrD+/xulq7gh2WOk65KjgLhVTwumwGLj2ZU2MnKU71i+SV0Gi2s5/fz7b7+8OY+4aWAb1WD6nid7THDuEtwC2totJXHQXSZ4X6mdFIoVH3mxhhGxB/r971GMdZ/qesMFgk6PmeBPdk11m+pi5+PxGXyqc5ufUp9aizvFrakqpvn3EfUE3YX2NkuzB0C2YnWbEF944T3oFfCFSziRZw2Wl0p+4et+TD5GoEIjvI9iNjJCxJoqEg6l7FCMsejcxXV7fORYzrb8A7yGdHvWNIe7Hcbk73Y4TXvBKhETbzmp6rf1+3YThybcoSRubIWR84bLMp17ILYBeya1/yw0fFg6HK8i43ZIg7NZwqiHRPKEN2LMyxIqLtehSWY1XFcrKAou1y0dns/ddbYZoQd1Xy1cKqG0qWS2pm7APZ18IE9IqtJw/LH44ptYYelNyVQBpaqtkiAxUmd1tJREuJ8DIqMe2lMUPE+XgaSoeKaUmkniMiM0RT5GSJUsBka89ft9Su3daG/7QvSe123PppKha1ODFXVoalRVd8lz2d5TgmxuESrDwE+K6Q86HXRc/QBplH7byaPaQqO1DkO5FlCBxIDwgJfiQk+zjcSUuixzxZDNeb4xSysCTNa7lsjxtT2hEXo9GNXrmIfjwAd4Na9BCTRaQ+dK/snM9HBqiVffHHl3sdJmgmaQPF00pniv1twRMhqT30qC55tZTidOA5ygNxfNmsvaV235mCPep8e8Q741jth4teFTQePpqscs73mtDPFUVeL7gAON1oqsFs1Ld0E2V1ziX6t/ICcODRZhdCV0KqGC5V5PStW/AczLR/javrSXagPyhthsBClZX0m8YRUXRFXYY6lq74VaMRFZSIKUqh9RnqS53/hz3d4Ee6quA5iq91RTJ/wn58uwR0HhbA0S9zXSA9Q1W9tPLcEYoxwUnaC3hG9hTYOQqNtOVkjWwmOqc6ZZBQj6mYkGjLeVBUR1tELIEQr3IOVAMa1FsTESuvmddQgk6HSJ8VBRzJuV4Ll7me+njfGwhmq0j1G5V6y4fhkUlSScoHmIxhrWqTG5/z5rEhL79hQVrZXu3qVDoQE0WstdSAJPUW3n8w8mCwHaSaA0nqDafQsNbj0va4SDtcJ98wgN6ssZCSdotjnIGtOhKdr3q/AmJBeLqbWe7eczkMXdDh+h3ipZGxmTxuM3Mk0Ns+1W8Hx/IjieOajrGZJ4NHcx56bO9nxhXLQ/DmlrjzpgafMMxwEUM7R+ozTbcr8pye2NXTj951P2RiDh8N1kO4JGa5D45P8hm0Myht+3xybNvAvvToAeO5Lbu7pwkrnCiKNC10ZhYEGOjH1VRd9t91BiGbNP1L4axgQT9XxSiSpP3TQ8Qt0IHCSJAeJLD5//AyT7V6k=" \ No newline at end of file +window.navigationData = "eJylWsly3DYQ/ReeVanEFTsV3WQtjrdkopHsg8sHDNkeIgMCY7ApWU7531OYjSDQ2JiTVHgP72FtNMD59G+F8A2r8+pSCQE1ciVfavXYg67OqrrlotEgq/NPUd6WYUtBP7XYieqs2nDZVOcvfv1xFpZZaLXtI1o7fCr47PmLH59tTQ0M4Yr17Uox3bxXDROhXtDUozmBxvpC0N3uhCg5Pfp7gN6MRLQvFmnieSx3239W1YL1fXVeNbDVUDOEpgpak92ZgPGOnHoe6MN1w5GtBNi8g5cHRWbitUTQrEb+QClRaERsiQx5Teg4QETCa7szjjTuD2W8h45okBLTdfrkSFJoTG3BNOsAQV+2TK5hwZ6EYtYI0rij+PPvv/3y/FlYdakGXUNQdA/Tmp/pEU1sNJrpj3poy9n7QXMh7lqthnUb2GNBSubyONa5bJnGu6ctXGm1bdSj65NdpdDXrG2lXw6IXtdy2LPccn3mOKS156ge/y4Bkct1nz9J0ZozW/GB9wMT/DvL63C4WqH/LfSAuUvFJRd6Ldn4/43SXdqQrFHoesdRQNpqpEWDdbMJrEoXKWzlS1ZvcqfB4aaCN6WggW3UgPlrnqwxw/kU4JZgssycwEFXmeF9pR6lOe0+8mYNBX2P1PvfrSh1n+t6wwWCzu8zwZ/tmus218WNx+URfK6ziU+5u9bhznEbuo5p/r0gn6CrpLyXX0UqjwxSyrXdbDLESCeU7wHZivUmjD/wJniRbuALl3AkXwzYXir5ha/HJoQYkbyS8D6IuUiBiDPBJBw7aGJ9TPXOnzq/xkeO7cWWv4WnmO7Imufw5hFT8m8ecZ72knUiJW44ueqv+1dm68UG3KNkLmyFiVuSz7KdRyC1AEcmtf4cNP76sL++JtrtkSZ334xWT4nkDbqgzXctdFyuY4PMerjuVtA0XK4NHT488+fZZcQ26i7HuVRCaVvJLs1dgDs6uSGPSK7StP2p/qUXscI2GJKptE91WyVBYiI7PNFyAuFuDIiIui/PUQjsLgvJUQkMKTWSxGNRbIhCjJgqmcIU5CrjOqXWbrK2++D8jvem5tDJ2LO0xUo6DD2q7vSIdmnegUEOrxE6yyBMSulPKu11fP0IqUjfVAqoGqhYa9+UawEdSIwIT3g5LvQwu0hK6RRlrhiyBa83dmpFgNl61xI5Ppl7JaE3gkm9E3N/iXkLT/YzM4EmM/9ayT+ZHR6OJek7A0d+eg4ykWCYBE8fTSm+U2vuCVmF2aeS4PXmoqYDpwXO0FuIYc1lH8q2QsyC8/QQd8hT44CVq013BY3nqx6ifOBYmeK5qsT3Fw8q1krMFs3Ld0G2UFziX6t/oCYuDQ6hOBM6plDRdG8k5erfANbtLXw1h/ad2oC8IRYbQcrWVxJvWMcFkRWOWK7aK6FWTCQmkiDl6ieUZ2nuFv5Cm/frQNa1B3P17nvqhn/vfXkPKCi8WIPEXY70Hvqerd1dSzBKlKOiM/Tu4Ftc0yJk6prBisk6ePYnyg9MDGCdVg6Q1NEKoUZo/IuUByXfupqNFdDt17MpkKFzCoz7jGIxrASv/U8QYVqJh9NUq7xE5Z1izfXDJKkk4QzNfW+cZh0Ls+vvoiYhsSvPUdFa6dNZOhWaQMVa/kQSeI6qGc8/mGwEaC+A0niG6ukLbnTpBVkFDs4Mj8UFGtT3PhLO0DQxyGnTvqjkldsNSD6WUjOe5qMfyObNI95Cv1WytyImjadfZIYeLrZbwevdjeBw56CeZ0jiwdzHvJc61/OBcWF+fGNyjz5i6fIsxwmUMnR+A3ax5WFTkjsa+3D+z9PchUDC8bdJ04JBa5B4H/6hoEeymj+WpwbNfgs/3QADdiR3dPXhLHOFCUeFvo3CyIQcGLusin7bHqHMNGYXqEM5jA1m6oWkMlXuT8NwC/0gcBIkJkgoPHz+D9w00Bk=" \ No newline at end of file diff --git a/_site/docs/latest/embedding/sdk/api/assets/search.js b/_site/docs/latest/embedding/sdk/api/assets/search.js index c2337b3e87..8e145947b8 100644 --- a/_site/docs/latest/embedding/sdk/api/assets/search.js +++ b/_site/docs/latest/embedding/sdk/api/assets/search.js @@ -1 +1 @@ -window.searchData = "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"; \ No newline at end of file +window.searchData = "eJy9nVuT47iR779L9WttH+Gmy7yN2+Nd79rrOZ5Z70OHY4IlsaroVpGySFW77fB3PwFQoIDEH2RSks/T9JSAzCSZxCV/ieQ/Ho7N1/bhu8//ePhS1buH75b68aEu3sqH7x4+Nft9ue2qpv6VbVQeHx4fTsc9+uXja/e2f3h82O6Lti3bh+8eHv75iEQey6Irf120r09Ncdz9vtkV+4tU8OM8wf/3VLbWKiLS/5krbFc+V3X5+7Irnoq2/P7UvX5q6ufqZRCba8BV8MOu6oqn/eVaB8nJL1yRv6278lhsu+odSEU/XiE4ub3gt1GxYiEvgr/fl8eu/dWp6xgSPxSu9ZNvHYh/fDgUx7LuMrZmtP+q2H7h6n4qtl/uqPlYFl+aU8fQe2l5N62/PjaHXfOVc9XnHrtLj5ut+PRaHLufvx1Kvhlb26X7dij/JXb8VNqBrDnOsKO9dLnZjl83X+t9U+z+t9q9lAyP2J3bf/Xt72wB/7HEltzz2dghkPNASt/uThq5o0Gv937jwW+qfVcyrvfZt7uTRv6z7jXf8xn/d/FevRRuATFjHK6HXvcdkf+76cqnpvnCsODS8m5a2Vd/bn+/6/a//1R2XVW/tNM2/PX8f+2lx92t4PslteaeHup//1PVnop99feCtfAZTHon3W62549lW3ZcVznaxvfzk5+K95Krui3ey/tq9m1+0xzfePr9Q3jue9xuxV/3PxbH4q3symP7u6plTNTtX/eHocu+73K7Hae3t+JY/b1k6A+a3k8v/9Uc9N/znfy56vaMa+/OzW7WF7373BcgevNvehOCTZjfav54bN6rXbBaoD9wd3WuX9MlOzryd664n7qiq7bpxpP8fZ64xLj4zzfuNIEw3iaTGMfd5SF9kxu8ebqS13NM5+SLydOd39Eh5fzN3EztyT5uVPvkFo6nPbN7Q6qZG7dr9LJu/MztGs8OsnNBeic2LXP0sK6TuVXh6c2uj5Fm9tL4Ot2sq5+9IJ5nC14LjxnCWwbzrEArYKSbs/jlacyv+5Be/pKPqT1Z7UGtkwu9mdpYjsZf3vG0xys7pHF8UZfVEiwqTm35/eGwr7bOGf/b/tErTH/irlRsz/ei2tuY/W+aumsjmdEvM0QSEvL9oQrFpr/OEX062nv2PyHOif88Q1hIQOwjOEWXn/46V3TTJfKablSINMs8v/rx2BwuFuKf+atK1yJyoxGJH1zrum+NfThjbk770Pq3O54Bw2/V7k42/PB26L59auqurLtPzduhqa0UjjGl7bnte26Dnvewqqk/7avtF5YdTb09t72H5kPxUv4UDthjqm3jdmzcnqe77b7teYp9y3tofa/a6mlffmr2p7ea9Wp9OHfZDl3uaMcPdVd13+x+YJYtpevWnbtdaU808gCSTQafXAv++FPVVVcV+09wIBgV/+HclTckZK8lZ1f7h0NJEXzelLbpW99Ju337m7bkqrcDQN/8fvpdlxkG+PZ3sqArji9ld3ELriV9v23Y73qLRt6GPxX7U5l9E/pfZ8zCDPcPZDKnQWhxxoJd2W6P1WHsVocGxM3voL+OliB5xeOLjwmN6fP0i200rkW/3bSiyojjLKeAlbknWHTFj9X2S5jhlFNs2x5825s1l2jCyqlmTVN83a9l9fLaTasd2t2usdrtyvqypWbodj0OYY+brUjmzWkzkvnyjnZEQQa2KVGw4S7WtJa1/VDb7SodSJEZrQVt5dD8Zv1N/avyuTmW1opp9U395Fq3fes7aD9nJJQ2H4Gj/5yLUD4VY9uHORb88cTwxKY+nu7ifU3NvdP3u8eRq396LeoXngGhr299tzvYE8Uz+fZEQc372XPYn16qmjEEXBrerLOdN/jcfdQhu9as3vEtK1/fxNoYqJ65KuZZEUU786pHQ54z9H2tdt3rtD7f7A76uteeuXKUdq+Fb3sXzXkmOGoEHw7OtMfTOubN2AXN76IfZjeOmsDKcBy3Itwv/PpY7fc/vx6b08sr3jVkW8zYO7xW+90xiDuMy/wQtMfXl7eavXuZMmFyDzPbBrCTmTCCsZ+ZbQXa1UyYwdnbzLaD7HAmTJjY58zWnt9nTBjC321caxPec/DM4q0B5lsG9x9TJrF2IbNtgXuRCVNYO5IrLAl3BZMmjO0NrtA97/rve+V0NTyhfmpNPFt/vDKd0D6+Pp2tO7tKnTCDvVadb1G0Yp0yY3TdOlt3vHqd0D2+hr1Cd7KSnTRgcj17lRX5VS3DIP7a9irb0hUuw6bpde5VtsDVLsMc1pqXY1G48k1Oc8bLXvwzf81bnLrmj+XzsWxfXSbxe3CYdkT2B9vv2PerLv3wJWcugb0GHrNjegE8T/vOt/rtyIHaaO17/tsICpprgV9/s590sAI/nPvcxRLgqv8Rr4dHjbLdu767T+abWCDfbt+MewbMu+fd65eUfTrB5away7S+a7+fqcOu97ArS1DGLGJDlHm2nPcDM40597q7NU39u6bgvfaNm3fuqvd/q+61OXWfiuOOdxuacza267Y9d7uPPdkQ+7g97BD7XHvGouzjJs0JtM+z6jDPae/urXR3M6p8YmszT/OxrHc2lz4dfVnG9N3R8Hsn++J915gp45uueVq75kvJuwG+5T20unV9cdzF2c9j2t1ivjjuxrdY861IV/BTVkwv3+db8dPpaciN4VvSkl73smbeU7nxiYS7BlStJV4aZVvcZ+8wLn7W9iF/LewdxIQ105uI2TagfcSEFZytxBV24N3EpC28DcV8e6b3FFOmzd9W3MXKefdv9uZito0T+4sJA2duMWZbl91lTNjF3mjMtii/15gwib/dmG0T2XFMGDKx6bhSO9x3sCxhbT2usCq7+5i0ir0BucKqsT3IpGFztiGzbQM7kQmD/hW+TPcjUyZMbElm62fsSiZMumJjMtvKeG8yYdD49mS27niHMqF7fJMyWzfep0zYwNuqXGVLulth2DK9YbnKFrxnYdjD27ZcZdPs53T7M8rsX/xbnFSJyC7Ixnvw9ze78rk47Tt7FKmEkzRD0YezkMYLmbw/E9ebnZ+smflpiWNqU1sr+bPTlZbedDv/Bfdxyu/82dJxXxta8f2LW72UyL66jmlwJRmLeJX0qD3XVdJjWMOocprYckW9U74lnOJVOYuuqWI1bdmsaqjUtJvqos6wjVMhNWvbNbVSp23jV02lhl1fP3WuVdc80ttrqk5bOV1dlVo1v84q14r5o9W1tVenLZquwkptmV+PlWvFNb5zfY3WaavmVmultt1at5VhIaOCa2LVFbVc+ZZccZeuru86bZVvyan0Su26pebrfMuu8f171IHlW8quCJsz8+rasNM2MqvEUsuurBc7bQ+vciw157oasjxrfOuparLIpmvryjIsm1NhNjHtllqzDNs4VWcTm66pPzvDlmuGiZtq0k7bNlmdltozu07ttA0zK9ZSi26sXQvtm9ihhyvByaBQ0pi/XydVadjCpwrUsC4pG/eJK1XxjZqqWzXTKtYzYj6dmc/ltWi90zJmCqriw2vReqe9YsoILyz7jGxlwG+zjGrq4tznRksmnsvkE5n5LEZzL646wJg1mn9+cdwExvHFuTag04vjRnAO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"; \ No newline at end of file diff --git a/_site/docs/latest/embedding/sdk/api/index.html b/_site/docs/latest/embedding/sdk/api/index.html index 2748648e2d..5d43666af8 100644 --- a/_site/docs/latest/embedding/sdk/api/index.html +++ b/_site/docs/latest/embedding/sdk/api/index.html @@ -21,6 +21,6 @@ -

    Embedded analytics SDK API

    CollectionBrowser

    CollectionBrowser
    CollectionBrowserProps

    CreateDashboardModal

    CreateDashboardModal
    CreateDashboardModalProps

    CreateQuestion

    CreateQuestion
    CreateQuestionProps

    Dashboard

    EditableDashboard
    InteractiveDashboard
    StaticDashboard
    EditableDashboardProps
    InteractiveDashboardProps
    StaticDashboardProps

    InteractiveQuestion

    InteractiveQuestion
    DrillThroughQuestionProps
    InteractiveQuestionChartTypeDropdownProps
    InteractiveQuestionEditorButtonProps
    InteractiveQuestionEditorProps
    InteractiveQuestionProps
    InteractiveQuestionQuestionSettingsDropdownProps
    InteractiveQuestionQuestionVisualizationProps
    InteractiveQuestionResetButtonProps
    InteractiveQuestionSaveQuestionFormProps
    InteractiveQuestionTitleProps
    SdkQuestionProps
    InteractiveQuestionBackButtonProps
    InteractiveQuestionBreakoutDropdownProps
    InteractiveQuestionChartTypeSelectorProps
    InteractiveQuestionDownloadWidgetDropdownProps
    InteractiveQuestionDownloadWidgetProps
    InteractiveQuestionFilterDropdownProps
    InteractiveQuestionFilterProps
    InteractiveQuestionQuestionSettingsProps
    InteractiveQuestionSaveButtonProps
    InteractiveQuestionSummarizeDropdownProps

    MetabaseProvider

    defineMetabaseAuthConfig
    MetabaseProvider
    MetabaseProviderProps
    MetabaseAuthConfig
    MetabaseAuthConfigWithApiKey
    MetabaseAuthConfigWithJwt
    MetabaseAuthConfigWithSaml
    MetabaseIsGuestAuthConfig

    MetabotQuestion

    MetabotQuestion
    MetabotQuestionProps

    StaticQuestion

    StaticQuestion
    StaticQuestionProps

    Theming

    MetabaseEmbeddingThemeV2
    ChartColorV2
    MetabaseColorKey
    MetabaseEmbeddingTheme

    other

    InteractiveQuestionComponents
    MetabaseColors
    MetabaseQuestion
    MetabaseTheme
    StaticQuestionComponents
    ButtonProps
    ChartColor
    CollectionBrowserListColumns
    CustomDashboardCardMenuItem
    DashboardCardCustomMenuItem
    DashboardCardMenu
    DashboardCardMenuCustomElement
    DashCardMenuItem
    EmbeddingDataPicker
    EmbeddingEntityType
    EntityTypeFilterKeys
    IconName
    InitializationStatus
    LoginStatus
    MetabaseClickAction
    MetabaseClickActionPluginsConfig
    MetabaseCollection
    MetabaseCollectionItem
    MetabaseComponentTheme
    MetabaseDashboard
    MetabaseDashboardPluginsConfig
    MetabaseDataPointObject
    MetabaseEmbeddingColorKeyV2
    MetabaseFetchRequestTokenFn
    MetabaseFontFamily
    MetabaseGlobalPluginsConfig
    MetabasePluginsConfig
    MetabaseThemePreset
    MetabaseUser
    MetabotAgentChartMessage
    MetabotAgentMessage
    MetabotAgentTextMessage
    MetabotUserTextMessage
    ParameterValues
    ProtectedColorKey
    SdkCollectionId
    SdkDashboardEntityPublicProps
    SdkDashboardId
    SdkDashboardLoadEvent
    SdkEntityId
    SdkEntityToken
    SdkErrorComponent
    SdkErrorComponentProps
    SdkEventHandlersConfig
    SdkQuestionEntityPublicProps
    SdkQuestionId
    SdkQuestionTitleProps
    SdkUserId
    SqlParameterValues
    UserBackendJwtResponse

    useApplicationName

    useApplicationName

    useAvailableFonts

    useAvailableFonts

    useCreateDashboardApi

    useCreateDashboardApi
    CreateDashboardValues

    useCurrentUser

    useCurrentUser

    useMetabaseAuthStatus

    useMetabaseAuthStatus

    useMetabot

    useMetabot
    MetabotChartProps
    MetabotErrorMessage
    MetabotMessage
    UseMetabotResult

    +

    Embedded analytics SDK API

    CollectionBrowser

    CollectionBrowser
    CollectionBrowserProps

    CreateDashboardModal

    CreateDashboardModal
    CreateDashboardModalProps

    CreateQuestion

    CreateQuestion
    CreateQuestionProps

    Dashboard

    EditableDashboard
    InteractiveDashboard
    StaticDashboard
    EditableDashboardProps
    InteractiveDashboardProps
    StaticDashboardProps
    ParameterChangePayload
    ParameterChangeSource

    InteractiveQuestion

    InteractiveQuestion
    DrillThroughQuestionProps
    InteractiveQuestionChartTypeDropdownProps
    InteractiveQuestionEditorButtonProps
    InteractiveQuestionEditorProps
    InteractiveQuestionProps
    InteractiveQuestionQuestionSettingsDropdownProps
    InteractiveQuestionQuestionVisualizationProps
    InteractiveQuestionResetButtonProps
    InteractiveQuestionSaveQuestionFormProps
    InteractiveQuestionTitleProps
    SdkQuestionProps
    InteractiveQuestionBackButtonProps
    InteractiveQuestionBreakoutDropdownProps
    InteractiveQuestionChartTypeSelectorProps
    InteractiveQuestionDownloadWidgetDropdownProps
    InteractiveQuestionDownloadWidgetProps
    InteractiveQuestionFilterDropdownProps
    InteractiveQuestionFilterProps
    InteractiveQuestionQuestionSettingsProps
    InteractiveQuestionSaveButtonProps
    InteractiveQuestionSummarizeDropdownProps
    SqlParameterChangePayload
    SqlParameterChangeSource

    MetabaseProvider

    defineMetabaseAuthConfig
    MetabaseProvider
    MetabaseProviderProps
    MetabaseAuthConfig
    MetabaseAuthConfigWithApiKey
    MetabaseAuthConfigWithJwt
    MetabaseAuthConfigWithSaml
    MetabaseIsGuestAuthConfig

    MetabotQuestion

    MetabotQuestion
    MetabotQuestionProps

    StaticQuestion

    StaticQuestion
    StaticQuestionProps

    Theming

    MetabaseEmbeddingThemeV2
    ChartColorV2
    MetabaseColorKey
    MetabaseEmbeddingTheme

    other

    InteractiveQuestionComponents
    MetabaseColors
    MetabaseQuestion
    MetabaseTheme
    StaticQuestionComponents
    ButtonProps
    ChartColor
    CollectionBrowserListColumns
    CustomDashboardCardMenuItem
    DashboardCardCustomMenuItem
    DashboardCardMenu
    DashboardCardMenuCustomElement
    DashCardMenuItem
    EmbeddingDataPicker
    EmbeddingEntityType
    EntityTypeFilterKeys
    IconName
    InitializationStatus
    LoginStatus
    MetabaseClickAction
    MetabaseClickActionPluginsConfig
    MetabaseCollection
    MetabaseCollectionItem
    MetabaseComponentTheme
    MetabaseDashboard
    MetabaseDashboardPluginsConfig
    MetabaseDataPointObject
    MetabaseEmbeddingColorKeyV2
    MetabaseFetchRequestTokenFn
    MetabaseFontFamily
    MetabaseGlobalPluginsConfig
    MetabasePluginsConfig
    MetabaseThemePreset
    MetabaseUser
    MetabotAgentChartMessage
    MetabotAgentMessage
    MetabotAgentTextMessage
    MetabotUserTextMessage
    ParameterValues
    ProtectedColorKey
    SdkCollectionId
    SdkDashboardEntityPublicProps
    SdkDashboardId
    SdkDashboardLoadEvent
    SdkEntityId
    SdkEntityToken
    SdkErrorComponent
    SdkErrorComponentProps
    SdkEventHandlersConfig
    SdkQuestionEntityPublicProps
    SdkQuestionId
    SdkQuestionTitleProps
    SdkUserId
    SqlParameterValues
    UserBackendJwtResponse

    useApplicationName

    useApplicationName

    useAvailableFonts

    useAvailableFonts

    useCreateDashboardApi

    useCreateDashboardApi
    CreateDashboardValues

    useCurrentUser

    useCurrentUser

    useMetabaseAuthStatus

    useMetabaseAuthStatus

    useMetabot

    useMetabot
    MetabotChartProps
    MetabotErrorMessage
    MetabotMessage
    UseMetabotResult

    \ No newline at end of file diff --git a/_site/docs/latest/embedding/sdk/collections.html b/_site/docs/latest/embedding/sdk/collections.html index af3bddd66d..5399a1c811 100644 --- a/_site/docs/latest/embedding/sdk/collections.html +++ b/_site/docs/latest/embedding/sdk/collections.html @@ -218,6 +218,12 @@ + + + + + + @@ -1022,9 +1028,47 @@
    Learn
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - v0.61 + v0.62 @@ -6087,16 +6196,16 @@
    Other resources
      + +
    • - - v0.62 + + v0.61
    • - -
    • v0.60 @@ -6272,7 +6381,7 @@

      Props

      initialParameters? ParameterValues - Query parameters for the dashboard. For a single option, use a string value, and use a list of strings for multiple options.
      - Combining initialParameters and hiddenParameters to filter data on the frontend is a security risk.
      - Combining initialParameters and hiddenParameters to declutter the user interface is fine. + Initial values for query parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host.
      For each parameter:
      - set to a value (string for a single option, array of strings for multiple): that value is applied.
      - set to null: strictly cleared, ignoring the parameter’s default.
      - omitted (or set to undefined): falls back to the parameter’s default (or null if it has no default).

      - Combining initialParameters and hiddenParameters to filter data on the frontend is a security risk.
      - Combining initialParameters and hiddenParameters to declutter the user interface is fine. onLoad? @@ -6284,11 +6393,21 @@

      Props

      (dashboard: MetabaseDashboard | null) => void Callback that is called when the dashboard is loaded without cards. + + onParametersChange? + (payload: ParameterChangePayload) => void + Fires on parameters change. The payload’s source distinguishes the initial state on load ('initial-state'), user edits in the UI ('manual-change'), and auto-updates ('auto-change'). + onVisualizationChange? (visualization: | "object" | "table" | "bar" | "line" | "pie" | "scalar" | "row" | "area" | "combo" | "pivot" | "smartscalar" | "gauge" | "progress" | "funnel" | "map" | "scatter" | "boxplot" | "waterfall" | "sankey" | "list") => void A callback function that triggers when a question is opened from a dashboard card or when the user changes the visualization type of a question. + + parameters? + ParameterValues + Controlled parameter values, slug-keyed. On every render, this object replaces the dashboard’s parameter values:
      - a parameter set to a value uses that value.
      - a parameter set to null is cleared, even if it has a default.
      - a parameter omitted from the object (or set to undefined) uses its default (or null if it has no default).

      Pair with onParametersChange to stay in sync with user edits.
      - Combining parameters and hiddenParameters to filter data on the frontend is a security risk.
      - Combining parameters and hiddenParameters to declutter the user interface is fine. + plugins? MetabasePluginsConfig @@ -6392,7 +6511,7 @@

      Props

      initialParameters? ParameterValues - Query parameters for the dashboard. For a single option, use a string value, and use a list of strings for multiple options.
      - Combining initialParameters and hiddenParameters to filter data on the frontend is a security risk.
      - Combining initialParameters and hiddenParameters to declutter the user interface is fine. + Initial values for query parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host.
      For each parameter:
      - set to a value (string for a single option, array of strings for multiple): that value is applied.
      - set to null: strictly cleared, ignoring the parameter’s default.
      - omitted (or set to undefined): falls back to the parameter’s default (or null if it has no default).

      - Combining initialParameters and hiddenParameters to filter data on the frontend is a security risk.
      - Combining initialParameters and hiddenParameters to declutter the user interface is fine. onLoad? @@ -6404,11 +6523,21 @@

      Props

      (dashboard: MetabaseDashboard | null) => void Callback that is called when the dashboard is loaded without cards. + + onParametersChange? + (payload: ParameterChangePayload) => void + Fires on parameters change. The payload’s source distinguishes the initial state on load ('initial-state'), user edits in the UI ('manual-change'), and auto-updates ('auto-change'). + onVisualizationChange? (visualization: | "object" | "table" | "bar" | "line" | "pie" | "scalar" | "row" | "area" | "combo" | "pivot" | "smartscalar" | "gauge" | "progress" | "funnel" | "map" | "scatter" | "boxplot" | "waterfall" | "sankey" | "list") => void A callback function that triggers when a question is opened from a dashboard card or when the user changes the visualization type of a question. + + parameters? + ParameterValues + Controlled parameter values, slug-keyed. On every render, this object replaces the dashboard’s parameter values:
      - a parameter set to a value uses that value.
      - a parameter set to null is cleared, even if it has a default.
      - a parameter omitted from the object (or set to undefined) uses its default (or null if it has no default).

      Pair with onParametersChange to stay in sync with user edits.
      - Combining parameters and hiddenParameters to filter data on the frontend is a security risk.
      - Combining parameters and hiddenParameters to declutter the user interface is fine. + plugins? MetabasePluginsConfig @@ -6517,7 +6646,7 @@

      Props

      initialParameters? ParameterValues - Query parameters for the dashboard. For a single option, use a string value, and use a list of strings for multiple options.
      - Combining initialParameters and hiddenParameters to filter data on the frontend is a security risk.
      - Combining initialParameters and hiddenParameters to declutter the user interface is fine. + Initial values for query parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host.
      For each parameter:
      - set to a value (string for a single option, array of strings for multiple): that value is applied.
      - set to null: strictly cleared, ignoring the parameter’s default.
      - omitted (or set to undefined): falls back to the parameter’s default (or null if it has no default).

      - Combining initialParameters and hiddenParameters to filter data on the frontend is a security risk.
      - Combining initialParameters and hiddenParameters to declutter the user interface is fine. onLoad? @@ -6529,11 +6658,21 @@

      Props

      (dashboard: MetabaseDashboard | null) => void Callback that is called when the dashboard is loaded without cards. + + onParametersChange? + (payload: ParameterChangePayload) => void + Fires on parameters change. The payload’s source distinguishes the initial state on load ('initial-state'), user edits in the UI ('manual-change'), and auto-updates ('auto-change'). + onVisualizationChange? (visualization: | "object" | "table" | "bar" | "line" | "pie" | "scalar" | "row" | "area" | "combo" | "pivot" | "smartscalar" | "gauge" | "progress" | "funnel" | "map" | "scatter" | "boxplot" | "waterfall" | "sankey" | "list") => void A callback function that triggers when a question is opened from a dashboard card or when the user changes the visualization type of a question. + + parameters? + ParameterValues + Controlled parameter values, slug-keyed. On every render, this object replaces the dashboard’s parameter values:
      - a parameter set to a value uses that value.
      - a parameter set to null is cleared, even if it has a default.
      - a parameter omitted from the object (or set to undefined) uses its default (or null if it has no default).

      Pair with onParametersChange to stay in sync with user edits.
      - Combining parameters and hiddenParameters to filter data on the frontend is a security risk.
      - Combining parameters and hiddenParameters to declutter the user interface is fine. + plugins? MetabasePluginsConfig @@ -6611,6 +6750,10 @@

      Example }

  • +

    Pass parameter values to a dashboard

    + +

    See Modular embedding parameters.

    +

    Customizing dashboard height

    By default, dashboard components take full page height (100vh). You can override this with custom styles passed via style or className props.

    diff --git a/_site/docs/latest/embedding/sdk/introduction.html b/_site/docs/latest/embedding/sdk/introduction.html index fe24d77666..cdeb57fc3c 100644 --- a/_site/docs/latest/embedding/sdk/introduction.html +++ b/_site/docs/latest/embedding/sdk/introduction.html @@ -218,6 +218,12 @@ + + + + + + @@ -1022,9 +1028,47 @@
    Learn
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - v0.61 + v0.62 @@ -6087,16 +6196,16 @@
    Other resources
      + +
    • - - v0.62 + + v0.61
    • - -
    • v0.60 @@ -6293,7 +6402,12 @@

      Props

      initialSqlParameters? SqlParameterValues - Initial values for the SQL parameters. + Initial values for SQL parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host.
      For each parameter:
      - set to a value: that value is applied.
      - set to null: strictly cleared, ignoring the parameter’s default.
      - omitted (or set to undefined): falls back to the parameter’s default (or null if it has no default). + + + onSqlParametersChange? + (payload: SqlParameterChangePayload) => void + Fires on SQL parameters change. The payload’s source distinguishes the initial state on load ('initial-state'), user edits in the UI ('manual-change'), and auto-updates ('auto-change'). query? @@ -6305,6 +6419,11 @@

      Props

      SdkQuestionId | null The ID of the question.
      This is either:
      - the numerical ID when accessing a question link, i.e. http://localhost:3000/question/1-my-question where the ID is 1
      - the string ID found in the entity_id key of the question object when using the API directly or using the SDK Collection Browser to return data
      - new to show the notebook editor for creating new questions
      - new-native to show the SQL editor for creating new native questions + + sqlParameters? + SqlParameterValues + Controlled SQL parameter values, slug-keyed. On every render, this object replaces the question’s parameter values:
      - a parameter set to a value uses that value.
      - a parameter set to null is cleared, even if it has a default.
      - a parameter omitted from the object (or set to undefined) uses its default (or null if it has no default).

      Pair with onSqlParametersChange to stay in sync with user edits. + style? CSSProperties @@ -6424,7 +6543,7 @@

      Props

      initialSqlParameters? SqlParameterValues - Initial values for the SQL parameters. + Initial values for SQL parameters, slug-keyed. Applied once on mount; user widget edits afterwards are not reflected back to the host.
      For each parameter:
      - set to a value: that value is applied.
      - set to null: strictly cleared, ignoring the parameter’s default.
      - omitted (or set to undefined): falls back to the parameter’s default (or null if it has no default). isSaveEnabled? @@ -6451,6 +6570,11 @@

      Props

      (question: MetabaseQuestion, context: { dashboardTabId?: number; isNewQuestion: boolean; }) => void A callback function that triggers when a user saves the question. Only relevant when isSaveEnabled = true + + onSqlParametersChange? + (payload: SqlParameterChangePayload) => void + Fires on SQL parameters change. The payload’s source distinguishes the initial state on load ('initial-state'), user edits in the UI ('manual-change'), and auto-updates ('auto-change'). + onVisualizationChange? (display: | "object" | "table" | "bar" | "line" | "pie" | "scalar" | "row" | "area" | "combo" | "pivot" | "smartscalar" | "gauge" | "progress" | "funnel" | "map" | "scatter" | "boxplot" | "waterfall" | "sankey" | "list") => void @@ -6471,6 +6595,11 @@

      Props

      SdkQuestionId | null The ID of the question.
      This is either:
      - the numerical ID when accessing a question link, i.e. http://localhost:3000/question/1-my-question where the ID is 1
      - the string ID found in the entity_id key of the question object when using the API directly or using the SDK Collection Browser to return data
      - new to show the notebook editor for creating new questions
      - new-native to show the SQL editor for creating new native questions + + sqlParameters? + SqlParameterValues + Controlled SQL parameter values, slug-keyed. On every render, this object replaces the question’s parameter values:
      - a parameter set to a value uses that value.
      - a parameter set to null is cleared, even if it has a default.
      - a parameter omitted from the object (or set to undefined) uses its default (or null if it has no default).

      Pair with onSqlParametersChange to stay in sync with user edits. + style? CSSProperties @@ -6511,20 +6640,17 @@

      Props

      boolean Enables the ability to download results in the question. + + withEditorButton? + boolean + Determines whether the editor button is shown. Only relevant when using the default layout. + -

      Pass SQL parameters to SQL questions with initialSqlParameters

      - -

      You can pass parameter values to questions defined with SQL via the initialSqlParameters prop, in the format of {parameter_name: parameter_value}. Learn more about SQL parameters.

      - -
      <StaticQuestion
      -  questionId={questionId}
      -  initialSqlParameters={{ product_id: 50 }}
      -/>
      -
      +

      Pass parameters to SQL questions

      -

      initialSqlParameters can’t be used with questions built using the query builder.

      +

      See Modular embedding parameters.

      Enable alerts on embedded questions

      diff --git a/_site/docs/latest/embedding/sdk/quickstart-cli.html b/_site/docs/latest/embedding/sdk/quickstart-cli.html index b63cad04c0..80221ba68f 100644 --- a/_site/docs/latest/embedding/sdk/quickstart-cli.html +++ b/_site/docs/latest/embedding/sdk/quickstart-cli.html @@ -218,6 +218,12 @@ + + + + + + @@ -1022,9 +1028,47 @@
      Learn
  • - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    -

    This guide sets up the modular embedding SDK with a sample React app, but you can follow along with your own application.

    +

    This guide sets up the modular embedding SDK with a sample React app, but you can follow along with your own application.

    @@ -6245,17 +6354,17 @@

    Prerequisites

    Clone the sample app repo

      -
    1. Clone the sample React app.
    2. +
    3. Clone the sample React app.
    git clone git@github.com:metabase/metabase-nodejs-react-sdk-embedding-sample.git
     
      -
    1. Check out the branch in the metabase-nodejs-react-sdk-embedding-sample repo that corresponds to your Metabase version.
    2. +
    3. Check out the branch in the metabase-nodejs-react-sdk-embedding-sample repo that corresponds to your Metabase version.
    -
    git checkout 61-stable
    +
    git checkout 62-stable
     

    E.g., if you’re running Metabase 1.57 make sure the sample app repo is on the 57-stable branch. You can find your Metabase version in the Metabase UI by clicking the grid icon in the upper right, selecting Help, then choosing About Metabase.

    diff --git a/_site/docs/latest/embedding/sdk/quickstart.html b/_site/docs/latest/embedding/sdk/quickstart.html index c8782dd0ef..88f83a57ce 100644 --- a/_site/docs/latest/embedding/sdk/quickstart.html +++ b/_site/docs/latest/embedding/sdk/quickstart.html @@ -218,6 +218,12 @@ + + + + + + @@ -1022,9 +1028,47 @@
    Learn
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - v0.61 + v0.62 @@ -6087,16 +6196,16 @@
    Other resources
  • - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - v0.61 + v0.62 @@ -6087,16 +6196,16 @@
    Other resources
  • - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - v0.61 + v0.62 @@ -6087,16 +6196,16 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
  • - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6046,7 +6155,7 @@
    Other resources
    - v0.61 + v0.62 @@ -6057,16 +6166,16 @@
    Other resources
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
  • - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - v0.61 + v0.62 @@ -6087,16 +6196,16 @@
    Other resources
      + +
    • - - v0.62 + + v0.61
    • - -
    • v0.60 @@ -6243,7 +6352,7 @@

      Back up your application database.

    • -
    • Download the Enterprise Edition version that corresponds with your current Metabase version. So if you’re running the Docker image for v0.61.3, you should switch to the Docker image for v1.61.3. To see a list of available versions for both the Open Source and Enterprise Editions, check out Metabase releases.
    • +
    • Download the Enterprise Edition version that corresponds with your current Metabase version. So if you’re running the Docker image for v0.62.1, you should switch to the Docker image for v1.62.1. To see a list of available versions for both the Open Source and Enterprise Editions, check out Metabase releases.
    • Stop your current Metabase Open Source edition.
    • Swap in the Enterprise Edition Docker image or jar that you downloaded.
    • Start your Metabase like you normally would using the new Enterprise Edition image or jar. You don’t need to do anything with your application database (which you’ve backed up in step one, right?).
    • diff --git a/_site/docs/latest/installation-and-operation/backing-up-metabase-application-data.html b/_site/docs/latest/installation-and-operation/backing-up-metabase-application-data.html index ea4116b955..06523b8df6 100644 --- a/_site/docs/latest/installation-and-operation/backing-up-metabase-application-data.html +++ b/_site/docs/latest/installation-and-operation/backing-up-metabase-application-data.html @@ -218,6 +218,12 @@ + + + + + + @@ -1022,9 +1028,47 @@
      Learn
  • - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    -

    Metabase CLI

    +

    Metabase JAR commands

    + +
    +

    Looking for the mb command-line client that drives a Metabase instance over its API, on its own or through an AI agent? Check out the Metabase CLI.

    +
    -

    Metabase ships with some handy CLI commands for administration, maintenance, and automation tasks. These commands let you manage your Metabase instance, migrate databases, handle serialization, and generate documentation.

    +

    Metabase ships with some handy commands for administration, maintenance, and automation tasks. These commands run on the server, built into the Metabase JAR, and let you manage your Metabase instance, migrate databases, handle serialization, and generate documentation.

    To view a list of commands, run the Metabase jar followed by help.

    @@ -6383,7 +6496,7 @@
    Thanks for your feedback!
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
  • - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - v0.61 + v0.62 @@ -6087,16 +6196,16 @@
    Other resources
  • - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - v0.61 + v0.62 @@ -6087,16 +6196,16 @@
    Other resources
      + +
    • - - v0.62 + + v0.61
    • - -
    • v0.60 @@ -6222,6 +6331,10 @@

      Serialization

      Export your questions, dashboards, and more as YAML files that you can check into version control.

      +

      Metabase CLI

      + +

      A command-line client that drives a Metabase instance over its API, on its own or through an AI agent.

      +

      Monitoring your Metabase

      Monitor your Metabase with JMX.

      @@ -6242,9 +6355,9 @@

      Accessibility

      Notes on Metabase’s accessibility.

      -

      Command line commands

      +

      Metabase JAR commands

      -

      Metabase’s CLI.

      +

      Administrative commands built into the Metabase JAR.


      diff --git a/_site/docs/latest/installation-and-operation/supported-browsers.html b/_site/docs/latest/installation-and-operation/supported-browsers.html index 8bddffc928..61f9bc143f 100644 --- a/_site/docs/latest/installation-and-operation/supported-browsers.html +++ b/_site/docs/latest/installation-and-operation/supported-browsers.html @@ -218,6 +218,12 @@ + + + + + + @@ -1022,9 +1028,47 @@
      Learn
  • - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - v0.61 + v0.62 @@ -6087,16 +6196,16 @@
    Other resources
      + +
    • - - v0.62 + + v0.61
    • - -
    • v0.60 diff --git a/_site/docs/latest/llms-embedding-full.txt b/_site/docs/latest/llms-embedding-full.txt index 4b0db03170..60343c5a9c 100644 --- a/_site/docs/latest/llms-embedding-full.txt +++ b/_site/docs/latest/llms-embedding-full.txt @@ -1,6 +1,6 @@ # Metabase Embedding - Complete Reference for AI agents -> **This documentation is for Metabase 61 (latest).** +> **This documentation is for Metabase 62 (latest).** > > Table of contents: https://metabase.com/docs/latest/llms.txt @@ -956,19 +956,20 @@ or `token` (for guest embeds), plus optional display configuration. -| Property | Type | Description | -| :--------------------------------------------------------------- | :------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `auto-refresh-interval` | `number` | Auto-refresh interval in seconds. For example, `60` refreshes the dashboard every 60 seconds.
      ---
      Optional
      Available in Pro/Enterprise and Guest embed. | -| `custom-context` | `string` | Optional custom context string passed through to the guest token endpoint.
      ---
      Optional
      Available in Guest embed. | -| `dashboard-id` | `string` \| `number` | The ID of the dashboard to embed. Can be a regular ID or an [entity ID](/docs/latest/installation-and-operation/serialization#entity-ids-work-with-embedding). Only for SSO embeds — guest embeds set the ID with `token`. | -| `drills` | `boolean` | Whether to enable drill-through on the dashboard.
      ---
      Optional
      Default: `true`
      Available in Pro/Enterprise. | -| `enable-entity-navigation` | `boolean` | Whether to enable internal entity navigation (links to dashboards/questions). Requires `drills` to be `true`
      ---
      Optional
      Default: `false`
      Available in Pro/Enterprise. | -| `hidden-parameters` | `string`[] | List of filter names to hide from the dashboard, e.g. `['productId']`.
      ---
      Optional
      Available in Pro/Enterprise. | -| `initial-parameters` | `object` | Default values for dashboard filters, e.g. `{ 'productId': '42' }`.
      ---
      Optional
      Available in Pro/Enterprise and Guest embed. | -| `token` | `string` | The token for guest embeds. Set automatically by the guest embed flow.
      ---
      Optional
      Available in Guest embed. | -| `with-downloads` | `boolean` | Whether to show the button to download the dashboard as PDF and download question results.
      ---
      Optional
      Default: `true` on OSS/Starter, `false` on Pro/Enterprise
      Available in Guest embed. | -| `with-subscriptions` | `boolean` | Whether to let people set up [dashboard subscriptions](/docs/latest/dashboards/subscriptions). Subscriptions sent from embedded dashboards exclude links to Metabase items.
      ---
      Optional
      Available in Pro/Enterprise. | -| `with-title` | `boolean` | Whether to show the dashboard title in the embed.
      ---
      Optional
      Default: `true`
      Available in Guest embed. | +| Property | Type | Description | +| :--------------------------------------------------------------- | :------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `auto-refresh-interval` | `number` | Auto-refresh interval in seconds. For example, `60` refreshes the dashboard every 60 seconds.
      ---
      Optional
      Available in Pro/Enterprise and Guest embed. | +| `custom-context` | `string` | Optional custom context string passed through to the guest token endpoint.
      ---
      Optional
      Available in Guest embed. | +| `dashboard-id` | `string` \| `number` | The ID of the dashboard to embed. Can be a regular ID or an [entity ID](/docs/latest/installation-and-operation/serialization#entity-ids-work-with-embedding). Only for SSO embeds — guest embeds set the ID with `token`. | +| `drills` | `boolean` | Whether to enable drill-through on the dashboard.
      ---
      Optional
      Default: `true`
      Available in Pro/Enterprise. | +| `enable-entity-navigation` | `boolean` | Whether to enable internal entity navigation (links to dashboards/questions). Requires `drills` to be `true`
      ---
      Optional
      Default: `false`
      Available in Pro/Enterprise. | +| `hidden-parameters` | `string`[] | List of filter names to hide from the dashboard, e.g. `['productId']`.
      ---
      Optional
      Available in Pro/Enterprise. | +| `initial-parameters` | `object` | Default values for dashboard filters, e.g. `{ 'productId': '42' }`.
      ---
      Optional
      Available in Pro/Enterprise and Guest embed. | +| `parameters` | `object` | Controlled dashboard filters values, e.g. `{ 'productId': '42' }`. Setting this attribute supersedes `initial-parameters` as the seed and stays in sync with subsequent mutations. Pair with the `parameters-change` DOM event to track edits.
      ---
      Optional
      Available in Pro/Enterprise and Guest embed. | +| `token` | `string` | The token for guest embeds. Set automatically by the guest embed flow.
      ---
      Optional
      Available in Guest embed. | +| `with-downloads` | `boolean` | Whether to show the button to download the dashboard as PDF and download question results.
      ---
      Optional
      Default: `true` on OSS/Starter, `false` on Pro/Enterprise
      Available in Guest embed. | +| `with-subscriptions` | `boolean` | Whether to let people set up [dashboard subscriptions](/docs/latest/dashboards/subscriptions). Subscriptions sent from embedded dashboards exclude links to Metabase items.
      ---
      Optional
      Available in Pro/Enterprise. | +| `with-title` | `boolean` | Whether to show the dashboard title in the embed.
      ---
      Optional
      Default: `true`
      Available in Guest embed. | @@ -1020,6 +1021,7 @@ Use `question-id="new-native"` to embed the SQL editor interface. | `initial-sql-parameters` | `object` | Default values for SQL parameters, only applicable to native SQL questions, e.g. `{ "productId": "42" }`.
      ---
      Optional
      Available in Pro/Enterprise and Guest embed. | | `is-save-enabled` | `boolean` | Whether the save button is enabled.
      ---
      Optional
      Default: `false`
      Available in Pro/Enterprise. | | `question-id` | `string` \| `number` | The ID of the question to embed. Can be a regular ID or an [entity ID](/docs/latest/installation-and-operation/serialization#entity-ids-work-with-embedding). Use `"new"` to embed the query builder, or `"new-native"` to embed the SQL editor. Only for SSO embeds — guest embeds use `token`. | +| `sql-parameters` | `object` | Controlled SQL parameter values, e.g. `{ "productId": "42" }`. Setting this attribute supersedes `initial-sql-parameters` as the seed and stays in sync with subsequent mutations. Pair with the `sql-parameters-change` DOM event to track edits.
      ---
      Optional
      Available in Pro/Enterprise and Guest embed. | | `target-collection` | `string` \| `number` | The collection to save a question to. Values: regular ID, entity ID, `"personal"`, `"root"`.
      ---
      Optional
      Available in Pro/Enterprise. | | `token` | `string` | The token for guest embeds. Set automatically by the guest embed flow.
      ---
      Optional
      Available in Guest embed. | | `with-alerts` | `boolean` | Whether to show the alerts button.
      ---
      Optional
      Default: `false`
      Available in Pro/Enterprise. | @@ -1850,7 +1852,8 @@ You can set different attributes to enable/disable UI. Here are some example att | `token` | Required. The signed JWT token from your server. | | `with-title` | Show or hide the title. Values: `"true"` or `"false"`. | | `with-downloads`\* | Enable or disable downloads. Values: `"true"` or `"false"`. | -| `initial-parameters` | JSON string of parameter values. Example: `'{"category":["Gizmo"]}'`. | +| `initial-parameters` | JSON string of initial parameter values (uncontrolled). Example: `'{"category":["Gizmo"]}'`. See [Modular embedding parameters](./parameters#pass-parameter-values-to-embedded-components). | +| `parameters` | JSON string of parameter values (controlled). Example: `'{"category":["Gizmo"]}'`. See [Modular embedding parameters](./parameters#pass-parameter-values-to-embedded-components). | | `auto-refresh-interval` | Dashboards only. Auto-refresh interval in seconds. | | `custom-context` | Forwarded to your [`guestEmbedProviderUri`](#refreshing-or-initializing-the-jwt-from-your-server) endpoint as `customContext`. Either a string (e.g., `"gadgets-tab"`), or a JSON-stringified object like `initial-parameters` (e.g., `'{"tab":"gadgets","region":"us-east"}'`). | @@ -1934,6 +1937,8 @@ Fetch the JWT token from your backend and programmatically pass it to the 'metab ``` +See [Modular embedding parameters](./parameters#pass-parameter-values-to-embedded-components) for controlled parameters documentation. + ### Locked parameters Locked parameters let you filter data without exposing the filter to the end-user. Locking parameters is useful for restricting data based on who's viewing the embed (for example, showing each customer only their own data). @@ -2560,6 +2565,10 @@ When you're creating a new embed using **Admin > Embedding > Setup guide > Embed - **Allow alerts**: lets people set up [alerts](../questions/alerts) on embedded questions. Requires [email setup](../configuring-metabase/email). Only for authenticated (SSO) question embeds. +## Pass parameter values to embedded components + +See [Modular embedding parameters](./parameters#pass-parameter-values-to-embedded-components). + ## Page-level config To define the configuration that applies to every embed on the page, use the `defineMetabaseConfig()` function. Its parameters include: @@ -2582,6 +2591,177 @@ For authentication setup including API keys for local testing, SSO with JWT/SAML --- +# Modular embedding parameters + +This page covers how to pass parameter values to embedded dashboards and SQL questions. + +## Modular embedding SDK (React) + +### Pass parameter values to a dashboard + +You can set initial values for embeds (uncontrolled), and optionally keep your app in sync with values as people change them (controlled). You can pick either `initialParameters` and `parameters`, but don't combine them. + +#### `initialParameters` (uncontrolled) + +Set the filter values once on load. Your app won't know when people change filters in the dashboard. Pick this when you don't need to track those changes. + +```typescript + +``` + +See [How parameter values are resolved](#how-parameter-values-are-resolved) for null / missing-slug semantics. + +#### `parameters` + `onParametersChange` (controlled) + +Push values from your app, and observe every applied change via `onParametersChange`. This works like a controlled ``. Your app holds the source of truth, the dashboard re-renders when the prop changes, and you receive a callback whenever applied values change. + +```typescript + +``` + +`onParametersChange` receives the [dashboard parameter change payload](#dashboard-parameter-change-payload). + + +> Don't combine `initialParameters` and `parameters` - pick one. For controlled behavior, only use `parameters`. + +### Pass parameters to SQL questions + +You can pass [parameter](../questions/native-editor/sql-parameters) values to SQL questions in the format `{parameter_name: parameter_value}`. You can set initial values for embeds (uncontrolled), and optionally keep your app in sync with values as people change them (controlled). + +These props only work with SQL questions, not query-builder questions. + +#### `initialSqlParameters` (uncontrolled) + +Set the parameter values once on load. Your app won't know when people change parameters in the question. Pick this when you don't need to track those changes. + +```typescript + +``` + +See [How parameter values are resolved](#how-parameter-values-are-resolved) for null / missing-slug semantics. + +#### `sqlParameters` + `onSqlParametersChange` (controlled) + +Push values from your app, and observe every applied change via `onSqlParametersChange`. This works like a controlled `` - your app holds the source of truth, the question re-renders when the prop changes, and you receive a callback whenever applied values change. + +```typescript + +``` + +`onSqlParametersChange` receives the [SQL question parameter change payload](#sql-question-parameter-change-payload). + +## Modular embedding (web components) + +### Pass parameter values to embedded components + +You can set dashboard filters and SQL parameters from your page, push new values at runtime, and listen for applied changes. + +#### Seed values once with `initial-parameters` / `initial-sql-parameters` + +Set values on mount via attributes. The component reads them once on load and ignores any subsequent changes to the attribute. User widget edits are not reflected back to your page. + +```html + + + +``` + +Attributes carry JSON. Pass an object whose keys are parameter slugs (dashboards) or SQL variable names (questions). See [How parameter values are resolved](#how-parameter-values-are-resolved) for null / missing-slug semantics. + +#### Push values at runtime with `parameters` / `sqlParameters` + +For controlled behavior, set the JS property on the element instead of the attribute. The component re-renders to apply the new values. + +```html + + + +``` + +The same pattern works for `metabase-question` via the `sqlParameters` property. + +To switch a component back to uncontrolled mode (leaving the last applied values in place), set the property to `undefined`. + +#### Clearing parameters + +To clear a single parameter, set its value to `null`. This strictly clears the parameter and ignores its default value. + +```html + +``` + +To clear every parameter, assign an empty object `{}`. + +```html + +``` + +#### Observe applied changes with `parameters-change` / `sql-parameters-change` + +Listen for events to keep your page in sync with what's actually applied: + +```html + + + +``` + +The `event.detail` carries the [dashboard parameter change payload](#dashboard-parameter-change-payload). + +For SQL questions, listen for `sql-parameters-change` on ``. Its `event.detail` carries the [SQL question parameter change payload](#sql-question-parameter-change-payload). + +## How parameter values are resolved + +These rules apply to all four props — `initialParameters` / `parameters` (dashboards) and `initialSqlParameters` / `sqlParameters` (SQL questions) — and to the matching web component attributes (`initial-parameters`, `parameters`, etc.). For each parameter slug: + +- **Set a value**: Pass a `string` for a single-option filter, and an array of `string`s for multi-option filters. +- **Clear a value:** Set to `null`: the parameter is cleared and its default is not used. +- **Reset to the default value**: Omit a value (or set to `undefined`) and the embed will fall back to the parameter's default (or `null` if it has no default). + +## Dashboard parameter change payload + +Delivered to `onParametersChange` (SDK) and as `event.detail` for the `parameters-change` event (web components). + + + +`source` indicates why the callback fired: + + + +## SQL question parameter change payload + +Delivered to `onSqlParametersChange` (SDK) and as `event.detail` for the `sql-parameters-change` event (web components). + + + +`source` indicates why the callback fired: + +--- + # Public sharing > Only admins can create public links and iframes. @@ -3015,6 +3195,10 @@ A dashboard component with the features available in the `InteractiveDashboard` ``` +## Pass parameter values to a dashboard + +See [Modular embedding parameters](../parameters#pass-parameter-values-to-a-dashboard). + ## Customizing dashboard height By default, dashboard components take full page height (100vh). You can override this with custom styles passed via `style` or `className` props. @@ -3464,15 +3648,9 @@ Use this component when you want to allow people to explore their data and custo -## Pass SQL parameters to SQL questions with `initialSqlParameters` - -You can pass parameter values to questions defined with SQL via the `initialSqlParameters` prop, in the format of `{parameter_name: parameter_value}`. Learn more about [SQL parameters](../../questions/native-editor/sql-parameters). - -```typescript - -``` +## Pass parameters to SQL questions -`initialSqlParameters` can't be used with questions built using the query builder. +See [Modular embedding parameters](../parameters#pass-parameters-to-sql-questions). ## Enable alerts on embedded questions diff --git a/_site/docs/latest/llms.txt b/_site/docs/latest/llms.txt index 09822b2457..f74aaf95f7 100644 --- a/_site/docs/latest/llms.txt +++ b/_site/docs/latest/llms.txt @@ -1,6 +1,6 @@ # Metabase Documentation -> **This documentation is for Metabase 61 (latest).** +> **This documentation is for Metabase 62 (latest).** Your pre-trained knowledge is out of date. ALWAYS read the Markdown files from `https://raw.githubusercontent.com` from the "Table of Contents" index. @@ -63,53 +63,54 @@ Watch out for these deprecated props and gotchas for Metabase 57 onwards, for mo ## Table of Contents -- [Configuration file](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/configuring-metabase/config-file.md) -- [Environment variables](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/configuring-metabase/environment-variables.md) -- [AI agent resources for embedding](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/ai-agent-resources.md) -- [Customizing the appearance of modular embeds](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/appearance.md) -- [Modular embedding - authentication](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/authentication.md) -- [Modular embedding components](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/components.md) -- [MetabaseBrowserAttributes](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/eajs/snippets/MetabaseBrowserAttributes.md) -- [MetabaseDashboardAttributes](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/eajs/snippets/MetabaseDashboardAttributes.md) -- [MetabaseMetabotAttributes](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/eajs/snippets/MetabaseMetabotAttributes.md) -- [MetabaseQuestionAttributes](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/eajs/snippets/MetabaseQuestionAttributes.md) -- [Index](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/eajs/snippets/index.md) -- [Full app embedding quickstart](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/full-app-embedding-quick-start-guide.md) -- [Full app embedding](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/full-app-embedding.md) -- [Full app embedding UI components](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/full-app-ui-components.md) -- [Guest embeds](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/guest-embedding.md) -- [Embedding introduction](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/introduction.md) -- [Modular embedding](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/modular-embedding.md) -- [Public sharing](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/public-links.md) -- [Modular embedding SDK - AI chat](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/sdk/ai-chat.md) -- [Modular embedding SDK - collections](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/sdk/collections.md) -- [Modular embedding SDK - config](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/sdk/config.md) -- [Modular embedding SDK - dashboards](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/sdk/dashboards.md) -- [Modular embedding SDK](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/sdk/introduction.md) -- [Using the modular embedding SDK with Next.js](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/sdk/next-js.md) -- [Modular embedding SDK - plugins](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/sdk/plugins.md) -- [Modular embedding SDK - questions](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/sdk/questions.md) -- [Modular embedding SDK - CLI quickstart](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/sdk/quickstart-cli.md) -- [Modular embedding SDK - quickstart with sample app](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/sdk/quickstart-with-sample-app.md) -- [Modular embedding SDK - quickstart](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/sdk/quickstart.md) -- [Upgrading Metabase and the modular embedding SDK](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/sdk/upgrade.md) -- [Modular embedding SDK - versions](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/sdk/version.md) -- [Securing embedded Metabase](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/securing-embeds.md) -- [Embedding overview](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/start.md) -- [Parameters for static embeds](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/static-embedding-parameters.md) -- [Static embedding](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/static-embedding.md) -- [Tenants](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/tenants.md) -- [Translate embedded components](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/translations.md) -- [API keys](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/people-and-groups/api-keys.md) -- [JWT-based authentication](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/people-and-groups/authenticating-with-jwt.md) -- [SAML-based authentication](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/people-and-groups/authenticating-with-saml.md) -- [Google Sign-In](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/people-and-groups/google-sign-in.md) -- [LDAP](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/people-and-groups/ldap.md) -- [SAML with Auth0](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/people-and-groups/saml-auth0.md) -- [SAML with Microsoft Entra ID](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/people-and-groups/saml-azure.md) -- [SAML with Google](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/people-and-groups/saml-google.md) -- [SAML with Keycloak](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/people-and-groups/saml-keycloak.md) -- [SAML with Okta](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/people-and-groups/saml-okta.md) +- [Configuration file](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/configuring-metabase/config-file.md) +- [Environment variables](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/configuring-metabase/environment-variables.md) +- [AI agent resources for embedding](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/ai-agent-resources.md) +- [Customizing the appearance of modular embeds](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/appearance.md) +- [Modular embedding - authentication](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/authentication.md) +- [Modular embedding components](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/components.md) +- [MetabaseBrowserAttributes](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/eajs/snippets/MetabaseBrowserAttributes.md) +- [MetabaseDashboardAttributes](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/eajs/snippets/MetabaseDashboardAttributes.md) +- [MetabaseMetabotAttributes](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/eajs/snippets/MetabaseMetabotAttributes.md) +- [MetabaseQuestionAttributes](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/eajs/snippets/MetabaseQuestionAttributes.md) +- [Index](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/eajs/snippets/index.md) +- [Full app embedding quickstart](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/full-app-embedding-quick-start-guide.md) +- [Full app embedding](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/full-app-embedding.md) +- [Full app embedding UI components](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/full-app-ui-components.md) +- [Guest embeds](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/guest-embedding.md) +- [Embedding introduction](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/introduction.md) +- [Modular embedding](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/modular-embedding.md) +- [Modular embedding parameters](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/parameters.md) +- [Public sharing](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/public-links.md) +- [Modular embedding SDK - AI chat](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/sdk/ai-chat.md) +- [Modular embedding SDK - collections](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/sdk/collections.md) +- [Modular embedding SDK - config](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/sdk/config.md) +- [Modular embedding SDK - dashboards](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/sdk/dashboards.md) +- [Modular embedding SDK](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/sdk/introduction.md) +- [Using the modular embedding SDK with Next.js](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/sdk/next-js.md) +- [Modular embedding SDK - plugins](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/sdk/plugins.md) +- [Modular embedding SDK - questions](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/sdk/questions.md) +- [Modular embedding SDK - CLI quickstart](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/sdk/quickstart-cli.md) +- [Modular embedding SDK - quickstart with sample app](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/sdk/quickstart-with-sample-app.md) +- [Modular embedding SDK - quickstart](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/sdk/quickstart.md) +- [Upgrading Metabase and the modular embedding SDK](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/sdk/upgrade.md) +- [Modular embedding SDK - versions](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/sdk/version.md) +- [Securing embedded Metabase](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/securing-embeds.md) +- [Embedding overview](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/start.md) +- [Parameters for static embeds](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/static-embedding-parameters.md) +- [Static embedding](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/static-embedding.md) +- [Tenants](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/tenants.md) +- [Translate embedded components](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/translations.md) +- [API keys](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/people-and-groups/api-keys.md) +- [JWT-based authentication](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/people-and-groups/authenticating-with-jwt.md) +- [SAML-based authentication](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/people-and-groups/authenticating-with-saml.md) +- [Google Sign-In](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/people-and-groups/google-sign-in.md) +- [LDAP](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/people-and-groups/ldap.md) +- [SAML with Auth0](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/people-and-groups/saml-auth0.md) +- [SAML with Microsoft Entra ID](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/people-and-groups/saml-azure.md) +- [SAML with Google](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/people-and-groups/saml-google.md) +- [SAML with Keycloak](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/people-and-groups/saml-keycloak.md) +- [SAML with Okta](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/people-and-groups/saml-okta.md) ## Complete References diff --git a/_site/docs/latest/people-and-groups/account-settings.html b/_site/docs/latest/people-and-groups/account-settings.html index ee4a2b1220..2950b2ea40 100644 --- a/_site/docs/latest/people-and-groups/account-settings.html +++ b/_site/docs/latest/people-and-groups/account-settings.html @@ -218,6 +218,12 @@ + + + + + + @@ -1022,9 +1028,47 @@
      Learn
  • - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
  • - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
  • - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - v0.61 + v0.62 @@ -6087,16 +6196,16 @@
    Other resources
      + +
    • - - v0.62 + + v0.61
    • - -
    • v0.60 @@ -6206,6 +6315,8 @@

      How to cr

      Date fields will either have a simple date filter (for date variables) or a dynamic date picker (for field filters mapped to a date field).

      +

      ID parameters also support all three widget types (input box, search box, and dropdown list), so you can power an ID filter with a dropdown or search box instead of a plain input box.

      +

      If you want to change the default filter widget for a particular field, you’ll need to ask an admin to update that field in the Table Metadata and set the desired “Filtering on this field” option.

      For dropdown lists and search boxes, you can also customize values available in the list. See below.

      @@ -6256,12 +6367,12 @@

      Customizing valu
    • Metabase will pop up a modal where you can select Where the values should come from.
    • -

      You can choose:

      +

      You can choose between:

        -
      • From connected fields. If you selected the Field filter variable type, you’ll also have the option to use the connected field.
      • -
      • From another model or question. If you select this option, you’ll need to pick a model or question, then a field from that model or question that Metabase will use to supply the values for that dropdown or search box. For example, if you want the dropdown to list the different plans an account could be on, you could select an “Account” model you created, and select the field “Plan” to power that dropdown. The dropdown would then list all of the distinct plan options that appear in the “Plan” column in the Accounts model.
      • -
      • Custom list. Enter each item on a line. You can enter any string values you like.
      • +
      • From connected fields: If you selected the Field filter variable type, you’ll also have the option to use the connected field.
      • +
      • From another model or question: Pick a model or question (built with either the query builder or SQL), then set the Column to supply the values that Metabase should filter on. You can also set a Column to supply the labels to display friendly labels in the dropdown while still filtering on the underlying values. For example, if you want the dropdown to list the different plans an account could be on, you could select an “Account” model you created and set the Column to supply the values to “Plan”. Or, to filter on product IDs while showing product names, set the Column to supply the values to “ID” and the Column to supply the labels to “Title”, so people see product names in the dropdown but the filter passes along the matching ID.
      • +
      • Custom list: Enter each item on a line. You can enter any string values you like.

      You can also change a dashboard filter’s selectable values.

      diff --git a/_site/docs/latest/questions/native-editor/optional-variables.html b/_site/docs/latest/questions/native-editor/optional-variables.html index 9d17184323..fde77a618c 100644 --- a/_site/docs/latest/questions/native-editor/optional-variables.html +++ b/_site/docs/latest/questions/native-editor/optional-variables.html @@ -218,6 +218,12 @@ + + + + + + @@ -1022,9 +1028,47 @@

      Learn
  • - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - v0.61 + v0.62 @@ -6087,16 +6196,16 @@
    Other resources
  • - @@ -1818,9 +1862,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1834,6 +1917,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
    - v0.61 + v0.62 @@ -6087,16 +6196,16 @@
    Other resources
  • - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1826,9 +1870,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1842,6 +1925,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -3646,6 +3740,21 @@
    Embedding
    +
  • + + Filters and parameters + + + + +
  • + + + + + + +
  • Appearance @@ -6076,7 +6185,7 @@
    Other resources
  • comment-delete
  • comment-update
  • create-permission-failure
  • +
  • custom-viz-plugin-create
  • +
  • custom-viz-plugin-delete
  • +
  • custom-viz-plugin-update
  • dashboard-add-cards
  • dashboard-create
  • dashboard-delete
  • @@ -6875,7 +6989,9 @@

    Activity log topics

  • transform-delete
  • transform-inspect-discover
  • transform-inspect-lens
  • +
  • transform-run-canceled
  • transform-run-start
  • +
  • transform-run-timeout
  • update-permission-failure
  • update-transform
  • upload-append
  • diff --git a/_site/docs/latest/usage-and-performance-tools/usage-analytics.html b/_site/docs/latest/usage-and-performance-tools/usage-analytics.html index 152681c982..74affc1078 100644 --- a/_site/docs/latest/usage-and-performance-tools/usage-analytics.html +++ b/_site/docs/latest/usage-and-performance-tools/usage-analytics.html @@ -218,6 +218,12 @@ + + + + + + @@ -1022,9 +1028,47 @@
    Learn
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -1887,7 +1981,7 @@
    Analytics
  • - + Queries and charts @@ -1910,7 +2004,7 @@
    Analytics
  • - + Introduction @@ -1946,7 +2040,7 @@
    Analytics
  • - + Editor @@ -1960,7 +2054,7 @@
    Analytics
  • - + Filtering @@ -1974,7 +2068,7 @@
    Analytics
  • - + Summarizing and grouping @@ -1988,7 +2082,7 @@
    Analytics
  • - + Joining data @@ -2002,7 +2096,7 @@
    Analytics
  • - + Custom expressions @@ -2016,7 +2110,7 @@
    Analytics
  • - + List of expressions @@ -2056,7 +2150,7 @@
    Analytics
  • - + SQL editor @@ -2070,7 +2164,7 @@
    Analytics
  • - + SQL parameters @@ -2084,7 +2178,7 @@
    Analytics
  • - + Field filters @@ -2098,7 +2192,7 @@
    Analytics
  • - + Basic SQL parameters @@ -2112,7 +2206,7 @@
    Analytics
  • - + Time grouping parameters @@ -2126,7 +2220,7 @@
    Analytics
  • - + Table variables @@ -2140,7 +2234,7 @@
    Analytics
  • - + Optional variables @@ -2154,7 +2248,7 @@
    Analytics
  • - + Filter widgets @@ -2168,7 +2262,7 @@
    Analytics
  • - + Referencing models and questions @@ -2182,7 +2276,7 @@
    Analytics
  • - + Snippets @@ -2196,7 +2290,7 @@
    Analytics
  • - + Snippet folder permissions @@ -2236,7 +2330,7 @@
    Analytics
  • - + Overview @@ -2250,7 +2344,7 @@
    Analytics
  • - + Box plot @@ -2264,7 +2358,7 @@
    Analytics
  • - + Combo chart @@ -2278,7 +2372,7 @@
    Analytics
  • - + Details chart @@ -2292,7 +2386,7 @@
    Analytics
  • - + Funnel chart @@ -2306,7 +2400,7 @@
    Analytics
  • - + Gauge chart @@ -2320,7 +2414,7 @@
    Analytics
  • - + Line, bar, and area charts @@ -2334,7 +2428,7 @@
    Analytics
  • - + Maps @@ -2348,7 +2442,7 @@
    Analytics
  • - + Number chart @@ -2362,7 +2456,7 @@
    Analytics
  • - + Pie and sunburst charts @@ -2376,7 +2470,7 @@
    Analytics
  • - + Pivot tables @@ -2390,7 +2484,7 @@
    Analytics
  • - + Progress bar @@ -2404,7 +2498,7 @@
    Analytics
  • - + Sankey chart @@ -2418,7 +2512,7 @@
    Analytics
  • - + Scatterplot @@ -2432,7 +2526,7 @@
    Analytics
  • - + Table @@ -2446,7 +2540,7 @@
    Analytics
  • - + Trend chart @@ -2460,7 +2554,7 @@
    Analytics
  • - + Waterfall chart @@ -2474,7 +2568,7 @@
    Analytics
  • - + Tooltips @@ -2493,7 +2587,7 @@
    Analytics
  • - + Metrics explorer @@ -2508,7 +2602,7 @@
    Analytics
  • - + Alerts @@ -2523,7 +2617,7 @@
    Analytics
  • - + Exporting data @@ -2544,7 +2638,7 @@
    Analytics
  • - + Dashboards @@ -2567,7 +2661,7 @@
    Analytics
  • - + Overview @@ -2582,7 +2676,7 @@
    Analytics
  • - + Dashboard filters @@ -2597,7 +2691,7 @@
    Analytics
  • - + Linked filters @@ -2612,7 +2706,7 @@
    Analytics
  • - + Dashboard interactivity @@ -2627,7 +2721,7 @@
    Analytics
  • - + Charts with multiple series @@ -2642,7 +2736,7 @@
    Analytics
  • - + Dashboard subscriptions @@ -2657,7 +2751,7 @@
    Analytics
  • - + Actions on dashboards @@ -2678,7 +2772,7 @@
    Analytics
  • - + Documents @@ -2701,7 +2795,7 @@
    Analytics
  • - + Overview @@ -2722,7 +2816,7 @@
    Analytics
  • - + AI @@ -2745,7 +2839,7 @@
    Analytics
  • - + Overview @@ -2760,7 +2854,7 @@
    Analytics
  • - + Metabot @@ -2775,7 +2869,7 @@
    Analytics
  • - + Metabot in Slack @@ -2790,7 +2884,7 @@
    Analytics
  • - + Settings @@ -2805,7 +2899,7 @@
    Analytics
  • - + MCP server @@ -2820,7 +2914,7 @@
    Analytics
  • - + Agent API @@ -2835,7 +2929,7 @@
    Analytics
  • - + Agent-driven development @@ -2850,7 +2944,7 @@
    Analytics
  • - + Customization @@ -2865,7 +2959,7 @@
    Analytics
  • - + System prompts @@ -2880,7 +2974,7 @@
    Analytics
  • - + Usage auditing @@ -2895,7 +2989,7 @@
    Analytics
  • - + Usage controls @@ -2910,7 +3004,7 @@
    Analytics
  • - + AI privacy @@ -2931,7 +3025,7 @@
    Analytics
  • - + Data modeling @@ -2954,7 +3048,7 @@
    Analytics
  • - + Models @@ -2969,7 +3063,7 @@
    Analytics
  • - + Model persistence @@ -2984,7 +3078,7 @@
    Analytics
  • - + Metrics @@ -2999,7 +3093,7 @@
    Analytics
  • - + Table metadata settings @@ -3014,7 +3108,7 @@
    Analytics
  • - + Data and semantic types @@ -3029,7 +3123,7 @@
    Analytics
  • - + Editable tables @@ -3044,7 +3138,7 @@
    Analytics
  • - + Formatting defaults @@ -3059,7 +3153,7 @@
    Analytics
  • - + Working with JSON @@ -3074,7 +3168,7 @@
    Analytics
  • - + Segments @@ -3110,7 +3204,7 @@
    Analytics
  • - + Overview @@ -3124,7 +3218,7 @@
    Analytics
  • - + Basic actions @@ -3138,7 +3232,7 @@
    Analytics
  • - + Custom actions @@ -3163,7 +3257,7 @@
    Analytics
  • - + Data Studio @@ -3186,7 +3280,7 @@
    Analytics
  • - + Overview @@ -3201,7 +3295,7 @@
    Analytics
  • - + Library @@ -3216,7 +3310,7 @@
    Analytics
  • - + Data structure @@ -3231,7 +3325,7 @@
    Analytics
  • - + Glossary @@ -3246,7 +3340,7 @@
    Analytics
  • - + Dependency graph @@ -3261,7 +3355,7 @@
    Analytics
  • - + Dependency diagnostics @@ -3297,7 +3391,7 @@
    Analytics
  • - + Overview @@ -3311,7 +3405,7 @@
    Analytics
  • - + Query transforms @@ -3325,7 +3419,7 @@
    Analytics
  • - + Python transforms @@ -3339,7 +3433,7 @@
    Analytics
  • - + Python runner @@ -3353,7 +3447,7 @@
    Analytics
  • - + Jobs and runs @@ -3367,7 +3461,7 @@
    Analytics
  • - + Transform inspector @@ -3381,7 +3475,7 @@
    Analytics
  • - + Add-ons @@ -3406,7 +3500,7 @@
    Analytics
  • - + Organization @@ -3429,7 +3523,7 @@
    Analytics
  • - + Basic exploration @@ -3444,7 +3538,7 @@
    Analytics
  • - + Keyboard shortcuts @@ -3459,7 +3553,7 @@
    Analytics
  • - + Collections @@ -3474,7 +3568,7 @@
    Analytics
  • - + Data reference @@ -3489,7 +3583,7 @@
    Analytics
  • - + Events and timelines @@ -3504,7 +3598,7 @@
    Analytics
  • - + X-rays @@ -3519,7 +3613,7 @@
    Analytics
  • - + Content verification @@ -3534,7 +3628,7 @@
    Analytics
  • - + History @@ -3549,7 +3643,7 @@
    Analytics
  • - + Delete and restore @@ -3576,7 +3670,7 @@
    Embedding
  • - + Overview @@ -3617,7 +3711,7 @@
    Embedding
  • - + Overview @@ -3632,7 +3726,7 @@
    Embedding
  • - + Components @@ -3647,7 +3741,22 @@
    Embedding
  • - + + Filters and parameters + + + + +
  • + + + + + + + +
  • + Appearance @@ -3662,7 +3771,7 @@
    Embedding
  • - + Authentication @@ -3677,7 +3786,7 @@
    Embedding
  • - + Tenants @@ -3713,7 +3822,7 @@
    Embedding
  • - + Overview @@ -3727,7 +3836,7 @@
    Embedding
  • - + Quickstarts @@ -3758,35 +3867,35 @@
    Embedding
  • - + Questions
  • - + Dashboards
  • - + AI chat
  • - + Collections
  • - + Plugins
  • @@ -3818,21 +3927,21 @@
    Embedding
  • - + Provider config
  • - + Working with Next.js
  • - + Versioning
  • @@ -3847,7 +3956,7 @@
    Embedding
  • - + Upgrading @@ -3861,7 +3970,7 @@
    Embedding
  • - + API @@ -3880,7 +3989,7 @@
    Embedding
  • - + Guest embedding @@ -3895,7 +4004,7 @@
    Embedding
  • - + Translate embeds @@ -3939,7 +4048,7 @@
    Embedding
  • - + Overview @@ -3954,7 +4063,7 @@
    Embedding
  • - + Quickstart @@ -3969,7 +4078,7 @@
    Embedding
  • - + Full app UI components @@ -3990,7 +4099,7 @@
    Embedding
  • - + Public links and embeds @@ -4008,7 +4117,7 @@
    Embedding
  • - + Securing embeds @@ -4026,7 +4135,7 @@
    Embedding
  • - + AI agent resources @@ -4050,7 +4159,7 @@
    Administration
  • - + Installation @@ -4094,7 +4203,7 @@
    Administration
  • - + Installation overview @@ -4122,7 +4231,7 @@
    Administration
  • - + Running the JAR file @@ -4136,7 +4245,7 @@
    Administration
  • - + Running in Docker @@ -4150,7 +4259,7 @@
    Administration
  • - + Other installation options @@ -4169,7 +4278,7 @@
    Administration
  • - + Upgrading Metabase @@ -4184,7 +4293,7 @@
    Administration
  • - + Configuring the Metabase application database @@ -4199,7 +4308,7 @@
    Administration
  • - + Activating Enterprise features @@ -4214,7 +4323,7 @@
    Administration
  • - + Migrating to a production application database @@ -4235,7 +4344,7 @@
    Administration
  • - + Data sources @@ -4258,7 +4367,7 @@
    Administration
  • - + Adding and managing databases @@ -4294,7 +4403,7 @@
    Administration
  • - + Athena @@ -4308,7 +4417,7 @@
    Administration
  • - + Amazon RDS @@ -4322,7 +4431,7 @@
    Administration
  • - + BigQuery @@ -4336,7 +4445,7 @@
    Administration
  • - + ClickHouse @@ -4350,7 +4459,7 @@
    Administration
  • - + Databricks @@ -4364,7 +4473,7 @@
    Administration
  • - + Druid @@ -4378,7 +4487,7 @@
    Administration
  • - + MariaDB @@ -4392,7 +4501,7 @@
    Administration
  • - + MongoDB @@ -4406,7 +4515,7 @@
    Administration
  • - + MySQL @@ -4420,7 +4529,7 @@
    Administration
  • - + Oracle @@ -4434,7 +4543,7 @@
    Administration
  • - + PostgreSQL @@ -4448,7 +4557,7 @@
    Administration
  • - + Presto @@ -4462,7 +4571,7 @@
    Administration
  • - + Redshift @@ -4476,7 +4585,7 @@
    Administration
  • - + Snowflake @@ -4490,7 +4599,7 @@
    Administration
  • - + SQL Server @@ -4504,7 +4613,7 @@
    Administration
  • - + SQLite @@ -4518,7 +4627,7 @@
    Administration
  • - + Spark SQL @@ -4532,7 +4641,7 @@
    Administration
  • - + Starburst @@ -4546,7 +4655,7 @@
    Administration
  • - + Vertica @@ -4560,7 +4669,7 @@
    Administration
  • - + Community drivers @@ -4579,7 +4688,7 @@
    Administration
  • - + Database users, roles, and privileges @@ -4594,7 +4703,7 @@
    Administration
  • - + Writeable connection @@ -4609,7 +4718,7 @@
    Administration
  • - + Syncing and scanning databases @@ -4624,7 +4733,7 @@
    Administration
  • - + Encrypting your database connection @@ -4639,7 +4748,7 @@
    Administration
  • - + SSH tunneling @@ -4654,7 +4763,7 @@
    Administration
  • - + SSL certificate @@ -4669,7 +4778,7 @@
    Administration
  • - + Setting up data uploads @@ -4684,7 +4793,7 @@
    Administration
  • - + Uploading data @@ -4735,7 +4844,7 @@
    Administration
  • - + Configuration @@ -4758,7 +4867,7 @@
    Administration
  • - + Setting up Metabase @@ -4773,7 +4882,7 @@
    Administration
  • - + General settings @@ -4788,7 +4897,7 @@
    Administration
  • - + Set up email @@ -4803,7 +4912,7 @@
    Administration
  • - + Set up Slack @@ -4818,7 +4927,7 @@
    Administration
  • - + Webhooks @@ -4833,7 +4942,7 @@
    Administration
  • - + Environment variables @@ -4848,7 +4957,7 @@
    Administration
  • - + Configuration file @@ -4863,7 +4972,7 @@
    Administration
  • - + Config file template @@ -4878,7 +4987,7 @@
    Administration
  • - + Metabase log configuration @@ -4893,7 +5002,7 @@
    Administration
  • - + Timezones @@ -4908,7 +5017,7 @@
    Administration
  • - + Languages and localization @@ -4923,7 +5032,7 @@
    Administration
  • - + Appearance @@ -4938,7 +5047,7 @@
    Administration
  • - + Fonts @@ -4953,7 +5062,7 @@
    Administration
  • - + Caching query results @@ -4968,7 +5077,7 @@
    Administration
  • - + Custom maps @@ -4983,7 +5092,7 @@
    Administration
  • - + Customizing the Metabase Jetty webserver @@ -5004,7 +5113,7 @@
    Administration
  • - + Operations and monitoring @@ -5027,7 +5136,7 @@
    Administration
  • - + Backing up Metabase @@ -5042,7 +5151,7 @@
    Administration
  • - + Development instances @@ -5057,7 +5166,7 @@
    Administration
  • - + Monitoring your Metabase @@ -5072,7 +5181,7 @@
    Administration
  • - + Observability with Prometheus @@ -5087,7 +5196,7 @@
    Administration
  • - + Serialization @@ -5102,7 +5211,7 @@
    Administration
  • - + Remote Sync @@ -5117,7 +5226,7 @@
    Administration
  • - + Commands @@ -5132,7 +5241,7 @@
    Administration
  • - + Usage analytics @@ -5147,7 +5256,7 @@
    Administration
  • - + Security center @@ -5162,7 +5271,7 @@
    Administration
  • - + Admin tools @@ -5183,7 +5292,7 @@
    Administration
  • - + Authentication @@ -5206,7 +5315,7 @@
    Administration
  • - + Account settings @@ -5221,7 +5330,7 @@
    Administration
  • - + Password complexity @@ -5236,7 +5345,7 @@
    Administration
  • - + Session expiration @@ -5251,7 +5360,7 @@
    Administration
  • - + Google Sign-In @@ -5266,7 +5375,7 @@
    Administration
  • - + LDAP @@ -5281,7 +5390,7 @@
    Administration
  • - + User provisioning @@ -5296,7 +5405,7 @@
    Administration
  • - + API keys @@ -5311,7 +5420,7 @@
    Administration
  • - + Paid SSO options @@ -5332,7 +5441,7 @@
    Administration
  • - + JWT-based authentication @@ -5346,7 +5455,7 @@
    Administration
  • - + SAML-based authentication @@ -5360,7 +5469,7 @@
    Administration
  • - + SAML with Auth0 @@ -5374,7 +5483,7 @@
    Administration
  • - + SAML with Microsoft Entra ID @@ -5388,7 +5497,7 @@
    Administration
  • - + SAML with Google @@ -5402,7 +5511,7 @@
    Administration
  • - + SAML with Keycloak @@ -5416,7 +5525,7 @@
    Administration
  • - + SAML with Okta @@ -5430,7 +5539,7 @@
    Administration
  • - + OIDC-based authentication @@ -5444,7 +5553,7 @@
    Administration
  • - + OIDC with Keycloak @@ -5469,7 +5578,7 @@
    Administration
  • - + Permissions @@ -5492,7 +5601,7 @@
    Administration
  • - + Permissions introduction @@ -5507,7 +5616,7 @@
    Administration
  • - + Managing people and groups @@ -5522,7 +5631,7 @@
    Administration
  • - + Data permissions @@ -5537,7 +5646,7 @@
    Administration
  • - + Collection permissions @@ -5552,7 +5661,7 @@
    Administration
  • - + Application permissions @@ -5567,7 +5676,7 @@
    Administration
  • - + Row and column security @@ -5582,7 +5691,7 @@
    Administration
  • - + Row and column security examples @@ -5597,7 +5706,7 @@
    Administration
  • - + Database routing @@ -5612,7 +5721,7 @@
    Administration
  • - + Impersonation @@ -5627,7 +5736,7 @@
    Administration
  • - + Snippets folder permissions @@ -5642,7 +5751,7 @@
    Administration
  • - + Notification permissions @@ -5657,7 +5766,7 @@
    Administration
  • - + Configuring permissions for embedding @@ -5684,7 +5793,7 @@
    Other resources
  • - + API @@ -5910,7 +6019,7 @@
    Other resources
  • - + Troubleshooting @@ -5928,7 +6037,7 @@
    Other resources
  • - + Developer guide @@ -5964,7 +6073,7 @@
    Other resources
  • - + Accessibility @@ -5982,7 +6091,7 @@
    Other resources
  • - + Supported browsers @@ -6000,7 +6109,7 @@
    Other resources
  • - + Privacy @@ -6018,7 +6127,7 @@
    Other resources
  • - + About the anonymous usage data we collect diff --git a/_site/docs/latest/util/resources/introduction.html b/_site/docs/latest/util/resources/introduction.html index 0eff338b23..a6235d13ef 100644 --- a/_site/docs/latest/util/resources/introduction.html +++ b/_site/docs/latest/util/resources/introduction.html @@ -218,6 +218,12 @@ + + + + + + @@ -1022,9 +1028,47 @@
    Learn
  • - @@ -1804,9 +1848,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1820,6 +1903,17 @@
    Embedded Analytics
    + + +
    @@ -1887,7 +1981,7 @@
    Analytics
  • - + Queries and charts @@ -1910,7 +2004,7 @@
    Analytics
  • - + Introduction @@ -1946,7 +2040,7 @@
    Analytics
  • - + Editor @@ -1960,7 +2054,7 @@
    Analytics
  • - + Filtering @@ -1974,7 +2068,7 @@
    Analytics
  • - + Summarizing and grouping @@ -1988,7 +2082,7 @@
    Analytics
  • - + Joining data @@ -2002,7 +2096,7 @@
    Analytics
  • - + Custom expressions @@ -2016,7 +2110,7 @@
    Analytics
  • - + List of expressions @@ -2056,7 +2150,7 @@
    Analytics
  • - + SQL editor @@ -2070,7 +2164,7 @@
    Analytics
  • - + SQL parameters @@ -2084,7 +2178,7 @@
    Analytics
  • - + Field filters @@ -2098,7 +2192,7 @@
    Analytics
  • - + Basic SQL parameters @@ -2112,7 +2206,7 @@
    Analytics
  • - + Time grouping parameters @@ -2126,7 +2220,7 @@
    Analytics
  • - + Table variables @@ -2140,7 +2234,7 @@
    Analytics
  • - + Optional variables @@ -2154,7 +2248,7 @@
    Analytics
  • - + Filter widgets @@ -2168,7 +2262,7 @@
    Analytics
  • - + Referencing models and questions @@ -2182,7 +2276,7 @@
    Analytics
  • - + Snippets @@ -2196,7 +2290,7 @@
    Analytics
  • - + Snippet folder permissions @@ -2236,7 +2330,7 @@
    Analytics
  • - + Overview @@ -2250,7 +2344,7 @@
    Analytics
  • - + Box plot @@ -2264,7 +2358,7 @@
    Analytics
  • - + Combo chart @@ -2278,7 +2372,7 @@
    Analytics
  • - + Details chart @@ -2292,7 +2386,7 @@
    Analytics
  • - + Funnel chart @@ -2306,7 +2400,7 @@
    Analytics
  • - + Gauge chart @@ -2320,7 +2414,7 @@
    Analytics
  • - + Line, bar, and area charts @@ -2334,7 +2428,7 @@
    Analytics
  • - + Maps @@ -2348,7 +2442,7 @@
    Analytics
  • - + Number chart @@ -2362,7 +2456,7 @@
    Analytics
  • - + Pie and sunburst charts @@ -2376,7 +2470,7 @@
    Analytics
  • - + Pivot tables @@ -2390,7 +2484,7 @@
    Analytics
  • - + Progress bar @@ -2404,7 +2498,7 @@
    Analytics
  • - + Sankey chart @@ -2418,7 +2512,7 @@
    Analytics
  • - + Scatterplot @@ -2432,7 +2526,7 @@
    Analytics
  • - + Table @@ -2446,7 +2540,7 @@
    Analytics
  • - + Trend chart @@ -2460,7 +2554,7 @@
    Analytics
  • - + Waterfall chart @@ -2474,7 +2568,7 @@
    Analytics
  • - + Tooltips @@ -2493,7 +2587,7 @@
    Analytics
  • - + Metrics explorer @@ -2508,7 +2602,7 @@
    Analytics
  • - + Alerts @@ -2523,7 +2617,7 @@
    Analytics
  • - + Exporting data @@ -2544,7 +2638,7 @@
    Analytics
  • - + Dashboards @@ -2567,7 +2661,7 @@
    Analytics
  • - + Overview @@ -2582,7 +2676,7 @@
    Analytics
  • - + Dashboard filters @@ -2597,7 +2691,7 @@
    Analytics
  • - + Linked filters @@ -2612,7 +2706,7 @@
    Analytics
  • - + Dashboard interactivity @@ -2627,7 +2721,7 @@
    Analytics
  • - + Charts with multiple series @@ -2642,7 +2736,7 @@
    Analytics
  • - + Dashboard subscriptions @@ -2657,7 +2751,7 @@
    Analytics
  • - + Actions on dashboards @@ -2678,7 +2772,7 @@
    Analytics
  • - + Documents @@ -2701,7 +2795,7 @@
    Analytics
  • - + Overview @@ -2722,7 +2816,7 @@
    Analytics
  • - + AI @@ -2745,7 +2839,7 @@
    Analytics
  • - + Overview @@ -2760,7 +2854,7 @@
    Analytics
  • - + Metabot @@ -2775,7 +2869,7 @@
    Analytics
  • - + Metabot in Slack @@ -2790,7 +2884,7 @@
    Analytics
  • - + Settings @@ -2805,7 +2899,7 @@
    Analytics
  • - + MCP server @@ -2820,7 +2914,7 @@
    Analytics
  • - + Agent API @@ -2835,7 +2929,7 @@
    Analytics
  • - + Agent-driven development @@ -2850,7 +2944,7 @@
    Analytics
  • - + Customization @@ -2865,7 +2959,7 @@
    Analytics
  • - + System prompts @@ -2880,7 +2974,7 @@
    Analytics
  • - + Usage auditing @@ -2895,7 +2989,7 @@
    Analytics
  • - + Usage controls @@ -2910,7 +3004,7 @@
    Analytics
  • - + AI privacy @@ -2931,7 +3025,7 @@
    Analytics
  • - + Data modeling @@ -2954,7 +3048,7 @@
    Analytics
  • - + Models @@ -2969,7 +3063,7 @@
    Analytics
  • - + Model persistence @@ -2984,7 +3078,7 @@
    Analytics
  • - + Metrics @@ -2999,7 +3093,7 @@
    Analytics
  • - + Table metadata settings @@ -3014,7 +3108,7 @@
    Analytics
  • - + Data and semantic types @@ -3029,7 +3123,7 @@
    Analytics
  • - + Editable tables @@ -3044,7 +3138,7 @@
    Analytics
  • - + Formatting defaults @@ -3059,7 +3153,7 @@
    Analytics
  • - + Working with JSON @@ -3074,7 +3168,7 @@
    Analytics
  • - + Segments @@ -3110,7 +3204,7 @@
    Analytics
  • - + Overview @@ -3124,7 +3218,7 @@
    Analytics
  • - + Basic actions @@ -3138,7 +3232,7 @@
    Analytics
  • - + Custom actions @@ -3163,7 +3257,7 @@
    Analytics
  • - + Data Studio @@ -3186,7 +3280,7 @@
    Analytics
  • - + Overview @@ -3201,7 +3295,7 @@
    Analytics
  • - + Library @@ -3216,7 +3310,7 @@
    Analytics
  • - + Data structure @@ -3231,7 +3325,7 @@
    Analytics
  • - + Glossary @@ -3246,7 +3340,7 @@
    Analytics
  • - + Dependency graph @@ -3261,7 +3355,7 @@
    Analytics
  • - + Dependency diagnostics @@ -3297,7 +3391,7 @@
    Analytics
  • - + Overview @@ -3311,7 +3405,7 @@
    Analytics
  • - + Query transforms @@ -3325,7 +3419,7 @@
    Analytics
  • - + Python transforms @@ -3339,7 +3433,7 @@
    Analytics
  • - + Python runner @@ -3353,7 +3447,7 @@
    Analytics
  • - + Jobs and runs @@ -3367,7 +3461,7 @@
    Analytics
  • - + Transform inspector @@ -3381,7 +3475,7 @@
    Analytics
  • - + Add-ons @@ -3406,7 +3500,7 @@
    Analytics
  • - + Organization @@ -3429,7 +3523,7 @@
    Analytics
  • - + Basic exploration @@ -3444,7 +3538,7 @@
    Analytics
  • - + Keyboard shortcuts @@ -3459,7 +3553,7 @@
    Analytics
  • - + Collections @@ -3474,7 +3568,7 @@
    Analytics
  • - + Data reference @@ -3489,7 +3583,7 @@
    Analytics
  • - + Events and timelines @@ -3504,7 +3598,7 @@
    Analytics
  • - + X-rays @@ -3519,7 +3613,7 @@
    Analytics
  • - + Content verification @@ -3534,7 +3628,7 @@
    Analytics
  • - + History @@ -3549,7 +3643,7 @@
    Analytics
  • - + Delete and restore @@ -3576,7 +3670,7 @@
    Embedding
  • - + Overview @@ -3617,7 +3711,7 @@
    Embedding
  • - + Overview @@ -3632,7 +3726,7 @@
    Embedding
  • - + Components @@ -3647,7 +3741,22 @@
    Embedding
  • - + + Filters and parameters + + + + +
  • + + + + + + + +
  • + Appearance @@ -3662,7 +3771,7 @@
    Embedding
  • - + Authentication @@ -3677,7 +3786,7 @@
    Embedding
  • - + Tenants @@ -3713,7 +3822,7 @@
    Embedding
  • - + Overview @@ -3727,7 +3836,7 @@
    Embedding
  • - + Quickstarts @@ -3758,35 +3867,35 @@
    Embedding
  • - + Questions
  • - + Dashboards
  • - + AI chat
  • - + Collections
  • - + Plugins
  • @@ -3818,21 +3927,21 @@
    Embedding
  • - + Provider config
  • - + Working with Next.js
  • - + Versioning
  • @@ -3847,7 +3956,7 @@
    Embedding
  • - + Upgrading @@ -3861,7 +3970,7 @@
    Embedding
  • - + API @@ -3880,7 +3989,7 @@
    Embedding
  • - + Guest embedding @@ -3895,7 +4004,7 @@
    Embedding
  • - + Translate embeds @@ -3939,7 +4048,7 @@
    Embedding
  • - + Overview @@ -3954,7 +4063,7 @@
    Embedding
  • - + Quickstart @@ -3969,7 +4078,7 @@
    Embedding
  • - + Full app UI components @@ -3990,7 +4099,7 @@
    Embedding
  • - + Public links and embeds @@ -4008,7 +4117,7 @@
    Embedding
  • - + Securing embeds @@ -4026,7 +4135,7 @@
    Embedding
  • - + AI agent resources @@ -4050,7 +4159,7 @@
    Administration
  • - + Installation @@ -4094,7 +4203,7 @@
    Administration
  • - + Installation overview @@ -4122,7 +4231,7 @@
    Administration
  • - + Running the JAR file @@ -4136,7 +4245,7 @@
    Administration
  • - + Running in Docker @@ -4150,7 +4259,7 @@
    Administration
  • - + Other installation options @@ -4169,7 +4278,7 @@
    Administration
  • - + Upgrading Metabase @@ -4184,7 +4293,7 @@
    Administration
  • - + Configuring the Metabase application database @@ -4199,7 +4308,7 @@
    Administration
  • - + Activating Enterprise features @@ -4214,7 +4323,7 @@
    Administration
  • - + Migrating to a production application database @@ -4235,7 +4344,7 @@
    Administration
  • - + Data sources @@ -4258,7 +4367,7 @@
    Administration
  • - + Adding and managing databases @@ -4294,7 +4403,7 @@
    Administration
  • - + Athena @@ -4308,7 +4417,7 @@
    Administration
  • - + Amazon RDS @@ -4322,7 +4431,7 @@
    Administration
  • - + BigQuery @@ -4336,7 +4445,7 @@
    Administration
  • - + ClickHouse @@ -4350,7 +4459,7 @@
    Administration
  • - + Databricks @@ -4364,7 +4473,7 @@
    Administration
  • - + Druid @@ -4378,7 +4487,7 @@
    Administration
  • - + MariaDB @@ -4392,7 +4501,7 @@
    Administration
  • - + MongoDB @@ -4406,7 +4515,7 @@
    Administration
  • - + MySQL @@ -4420,7 +4529,7 @@
    Administration
  • - + Oracle @@ -4434,7 +4543,7 @@
    Administration
  • - + PostgreSQL @@ -4448,7 +4557,7 @@
    Administration
  • - + Presto @@ -4462,7 +4571,7 @@
    Administration
  • - + Redshift @@ -4476,7 +4585,7 @@
    Administration
  • - + Snowflake @@ -4490,7 +4599,7 @@
    Administration
  • - + SQL Server @@ -4504,7 +4613,7 @@
    Administration
  • - + SQLite @@ -4518,7 +4627,7 @@
    Administration
  • - + Spark SQL @@ -4532,7 +4641,7 @@
    Administration
  • - + Starburst @@ -4546,7 +4655,7 @@
    Administration
  • - + Vertica @@ -4560,7 +4669,7 @@
    Administration
  • - + Community drivers @@ -4579,7 +4688,7 @@
    Administration
  • - + Database users, roles, and privileges @@ -4594,7 +4703,7 @@
    Administration
  • - + Writeable connection @@ -4609,7 +4718,7 @@
    Administration
  • - + Syncing and scanning databases @@ -4624,7 +4733,7 @@
    Administration
  • - + Encrypting your database connection @@ -4639,7 +4748,7 @@
    Administration
  • - + SSH tunneling @@ -4654,7 +4763,7 @@
    Administration
  • - + SSL certificate @@ -4669,7 +4778,7 @@
    Administration
  • - + Setting up data uploads @@ -4684,7 +4793,7 @@
    Administration
  • - + Uploading data @@ -4735,7 +4844,7 @@
    Administration
  • - + Configuration @@ -4758,7 +4867,7 @@
    Administration
  • - + Setting up Metabase @@ -4773,7 +4882,7 @@
    Administration
  • - + General settings @@ -4788,7 +4897,7 @@
    Administration
  • - + Set up email @@ -4803,7 +4912,7 @@
    Administration
  • - + Set up Slack @@ -4818,7 +4927,7 @@
    Administration
  • - + Webhooks @@ -4833,7 +4942,7 @@
    Administration
  • - + Environment variables @@ -4848,7 +4957,7 @@
    Administration
  • - + Configuration file @@ -4863,7 +4972,7 @@
    Administration
  • - + Config file template @@ -4878,7 +4987,7 @@
    Administration
  • - + Metabase log configuration @@ -4893,7 +5002,7 @@
    Administration
  • - + Timezones @@ -4908,7 +5017,7 @@
    Administration
  • - + Languages and localization @@ -4923,7 +5032,7 @@
    Administration
  • - + Appearance @@ -4938,7 +5047,7 @@
    Administration
  • - + Fonts @@ -4953,7 +5062,7 @@
    Administration
  • - + Caching query results @@ -4968,7 +5077,7 @@
    Administration
  • - + Custom maps @@ -4983,7 +5092,7 @@
    Administration
  • - + Customizing the Metabase Jetty webserver @@ -5004,7 +5113,7 @@
    Administration
  • - + Operations and monitoring @@ -5027,7 +5136,7 @@
    Administration
  • - + Backing up Metabase @@ -5042,7 +5151,7 @@
    Administration
  • - + Development instances @@ -5057,7 +5166,7 @@
    Administration
  • - + Monitoring your Metabase @@ -5072,7 +5181,7 @@
    Administration
  • - + Observability with Prometheus @@ -5087,7 +5196,7 @@
    Administration
  • - + Serialization @@ -5102,7 +5211,7 @@
    Administration
  • - + Remote Sync @@ -5117,7 +5226,7 @@
    Administration
  • - + Commands @@ -5132,7 +5241,7 @@
    Administration
  • - + Usage analytics @@ -5147,7 +5256,7 @@
    Administration
  • - + Security center @@ -5162,7 +5271,7 @@
    Administration
  • - + Admin tools @@ -5183,7 +5292,7 @@
    Administration
  • - + Authentication @@ -5206,7 +5315,7 @@
    Administration
  • - + Account settings @@ -5221,7 +5330,7 @@
    Administration
  • - + Password complexity @@ -5236,7 +5345,7 @@
    Administration
  • - + Session expiration @@ -5251,7 +5360,7 @@
    Administration
  • - + Google Sign-In @@ -5266,7 +5375,7 @@
    Administration
  • - + LDAP @@ -5281,7 +5390,7 @@
    Administration
  • - + User provisioning @@ -5296,7 +5405,7 @@
    Administration
  • - + API keys @@ -5311,7 +5420,7 @@
    Administration
  • - + Paid SSO options @@ -5332,7 +5441,7 @@
    Administration
  • - + JWT-based authentication @@ -5346,7 +5455,7 @@
    Administration
  • - + SAML-based authentication @@ -5360,7 +5469,7 @@
    Administration
  • - + SAML with Auth0 @@ -5374,7 +5483,7 @@
    Administration
  • - + SAML with Microsoft Entra ID @@ -5388,7 +5497,7 @@
    Administration
  • - + SAML with Google @@ -5402,7 +5511,7 @@
    Administration
  • - + SAML with Keycloak @@ -5416,7 +5525,7 @@
    Administration
  • - + SAML with Okta @@ -5430,7 +5539,7 @@
    Administration
  • - + OIDC-based authentication @@ -5444,7 +5553,7 @@
    Administration
  • - + OIDC with Keycloak @@ -5469,7 +5578,7 @@
    Administration
  • - + Permissions @@ -5492,7 +5601,7 @@
    Administration
  • - + Permissions introduction @@ -5507,7 +5616,7 @@
    Administration
  • - + Managing people and groups @@ -5522,7 +5631,7 @@
    Administration
  • - + Data permissions @@ -5537,7 +5646,7 @@
    Administration
  • - + Collection permissions @@ -5552,7 +5661,7 @@
    Administration
  • - + Application permissions @@ -5567,7 +5676,7 @@
    Administration
  • - + Row and column security @@ -5582,7 +5691,7 @@
    Administration
  • - + Row and column security examples @@ -5597,7 +5706,7 @@
    Administration
  • - + Database routing @@ -5612,7 +5721,7 @@
    Administration
  • - + Impersonation @@ -5627,7 +5736,7 @@
    Administration
  • - + Snippets folder permissions @@ -5642,7 +5751,7 @@
    Administration
  • - + Notification permissions @@ -5657,7 +5766,7 @@
    Administration
  • - + Configuring permissions for embedding @@ -5684,7 +5793,7 @@
    Other resources
  • - + API @@ -5910,7 +6019,7 @@
    Other resources
  • - + Troubleshooting @@ -5928,7 +6037,7 @@
    Other resources
  • - + Developer guide @@ -5964,7 +6073,7 @@
    Other resources
  • - + Accessibility @@ -5982,7 +6091,7 @@
    Other resources
  • - + Supported browsers @@ -6000,7 +6109,7 @@
    Other resources
  • - + Privacy @@ -6018,7 +6127,7 @@
    Other resources
  • - + About the anonymous usage data we collect diff --git a/_site/docs/llms-embedding-full.txt b/_site/docs/llms-embedding-full.txt index 4b0db03170..60343c5a9c 100644 --- a/_site/docs/llms-embedding-full.txt +++ b/_site/docs/llms-embedding-full.txt @@ -1,6 +1,6 @@ # Metabase Embedding - Complete Reference for AI agents -> **This documentation is for Metabase 61 (latest).** +> **This documentation is for Metabase 62 (latest).** > > Table of contents: https://metabase.com/docs/latest/llms.txt @@ -956,19 +956,20 @@ or `token` (for guest embeds), plus optional display configuration. -| Property | Type | Description | -| :--------------------------------------------------------------- | :------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `auto-refresh-interval` | `number` | Auto-refresh interval in seconds. For example, `60` refreshes the dashboard every 60 seconds.
    ---
    Optional
    Available in Pro/Enterprise and Guest embed. | -| `custom-context` | `string` | Optional custom context string passed through to the guest token endpoint.
    ---
    Optional
    Available in Guest embed. | -| `dashboard-id` | `string` \| `number` | The ID of the dashboard to embed. Can be a regular ID or an [entity ID](/docs/latest/installation-and-operation/serialization#entity-ids-work-with-embedding). Only for SSO embeds — guest embeds set the ID with `token`. | -| `drills` | `boolean` | Whether to enable drill-through on the dashboard.
    ---
    Optional
    Default: `true`
    Available in Pro/Enterprise. | -| `enable-entity-navigation` | `boolean` | Whether to enable internal entity navigation (links to dashboards/questions). Requires `drills` to be `true`
    ---
    Optional
    Default: `false`
    Available in Pro/Enterprise. | -| `hidden-parameters` | `string`[] | List of filter names to hide from the dashboard, e.g. `['productId']`.
    ---
    Optional
    Available in Pro/Enterprise. | -| `initial-parameters` | `object` | Default values for dashboard filters, e.g. `{ 'productId': '42' }`.
    ---
    Optional
    Available in Pro/Enterprise and Guest embed. | -| `token` | `string` | The token for guest embeds. Set automatically by the guest embed flow.
    ---
    Optional
    Available in Guest embed. | -| `with-downloads` | `boolean` | Whether to show the button to download the dashboard as PDF and download question results.
    ---
    Optional
    Default: `true` on OSS/Starter, `false` on Pro/Enterprise
    Available in Guest embed. | -| `with-subscriptions` | `boolean` | Whether to let people set up [dashboard subscriptions](/docs/latest/dashboards/subscriptions). Subscriptions sent from embedded dashboards exclude links to Metabase items.
    ---
    Optional
    Available in Pro/Enterprise. | -| `with-title` | `boolean` | Whether to show the dashboard title in the embed.
    ---
    Optional
    Default: `true`
    Available in Guest embed. | +| Property | Type | Description | +| :--------------------------------------------------------------- | :------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `auto-refresh-interval` | `number` | Auto-refresh interval in seconds. For example, `60` refreshes the dashboard every 60 seconds.
    ---
    Optional
    Available in Pro/Enterprise and Guest embed. | +| `custom-context` | `string` | Optional custom context string passed through to the guest token endpoint.
    ---
    Optional
    Available in Guest embed. | +| `dashboard-id` | `string` \| `number` | The ID of the dashboard to embed. Can be a regular ID or an [entity ID](/docs/latest/installation-and-operation/serialization#entity-ids-work-with-embedding). Only for SSO embeds — guest embeds set the ID with `token`. | +| `drills` | `boolean` | Whether to enable drill-through on the dashboard.
    ---
    Optional
    Default: `true`
    Available in Pro/Enterprise. | +| `enable-entity-navigation` | `boolean` | Whether to enable internal entity navigation (links to dashboards/questions). Requires `drills` to be `true`
    ---
    Optional
    Default: `false`
    Available in Pro/Enterprise. | +| `hidden-parameters` | `string`[] | List of filter names to hide from the dashboard, e.g. `['productId']`.
    ---
    Optional
    Available in Pro/Enterprise. | +| `initial-parameters` | `object` | Default values for dashboard filters, e.g. `{ 'productId': '42' }`.
    ---
    Optional
    Available in Pro/Enterprise and Guest embed. | +| `parameters` | `object` | Controlled dashboard filters values, e.g. `{ 'productId': '42' }`. Setting this attribute supersedes `initial-parameters` as the seed and stays in sync with subsequent mutations. Pair with the `parameters-change` DOM event to track edits.
    ---
    Optional
    Available in Pro/Enterprise and Guest embed. | +| `token` | `string` | The token for guest embeds. Set automatically by the guest embed flow.
    ---
    Optional
    Available in Guest embed. | +| `with-downloads` | `boolean` | Whether to show the button to download the dashboard as PDF and download question results.
    ---
    Optional
    Default: `true` on OSS/Starter, `false` on Pro/Enterprise
    Available in Guest embed. | +| `with-subscriptions` | `boolean` | Whether to let people set up [dashboard subscriptions](/docs/latest/dashboards/subscriptions). Subscriptions sent from embedded dashboards exclude links to Metabase items.
    ---
    Optional
    Available in Pro/Enterprise. | +| `with-title` | `boolean` | Whether to show the dashboard title in the embed.
    ---
    Optional
    Default: `true`
    Available in Guest embed. | @@ -1020,6 +1021,7 @@ Use `question-id="new-native"` to embed the SQL editor interface. | `initial-sql-parameters` | `object` | Default values for SQL parameters, only applicable to native SQL questions, e.g. `{ "productId": "42" }`.
    ---
    Optional
    Available in Pro/Enterprise and Guest embed. | | `is-save-enabled` | `boolean` | Whether the save button is enabled.
    ---
    Optional
    Default: `false`
    Available in Pro/Enterprise. | | `question-id` | `string` \| `number` | The ID of the question to embed. Can be a regular ID or an [entity ID](/docs/latest/installation-and-operation/serialization#entity-ids-work-with-embedding). Use `"new"` to embed the query builder, or `"new-native"` to embed the SQL editor. Only for SSO embeds — guest embeds use `token`. | +| `sql-parameters` | `object` | Controlled SQL parameter values, e.g. `{ "productId": "42" }`. Setting this attribute supersedes `initial-sql-parameters` as the seed and stays in sync with subsequent mutations. Pair with the `sql-parameters-change` DOM event to track edits.
    ---
    Optional
    Available in Pro/Enterprise and Guest embed. | | `target-collection` | `string` \| `number` | The collection to save a question to. Values: regular ID, entity ID, `"personal"`, `"root"`.
    ---
    Optional
    Available in Pro/Enterprise. | | `token` | `string` | The token for guest embeds. Set automatically by the guest embed flow.
    ---
    Optional
    Available in Guest embed. | | `with-alerts` | `boolean` | Whether to show the alerts button.
    ---
    Optional
    Default: `false`
    Available in Pro/Enterprise. | @@ -1850,7 +1852,8 @@ You can set different attributes to enable/disable UI. Here are some example att | `token` | Required. The signed JWT token from your server. | | `with-title` | Show or hide the title. Values: `"true"` or `"false"`. | | `with-downloads`\* | Enable or disable downloads. Values: `"true"` or `"false"`. | -| `initial-parameters` | JSON string of parameter values. Example: `'{"category":["Gizmo"]}'`. | +| `initial-parameters` | JSON string of initial parameter values (uncontrolled). Example: `'{"category":["Gizmo"]}'`. See [Modular embedding parameters](./parameters#pass-parameter-values-to-embedded-components). | +| `parameters` | JSON string of parameter values (controlled). Example: `'{"category":["Gizmo"]}'`. See [Modular embedding parameters](./parameters#pass-parameter-values-to-embedded-components). | | `auto-refresh-interval` | Dashboards only. Auto-refresh interval in seconds. | | `custom-context` | Forwarded to your [`guestEmbedProviderUri`](#refreshing-or-initializing-the-jwt-from-your-server) endpoint as `customContext`. Either a string (e.g., `"gadgets-tab"`), or a JSON-stringified object like `initial-parameters` (e.g., `'{"tab":"gadgets","region":"us-east"}'`). | @@ -1934,6 +1937,8 @@ Fetch the JWT token from your backend and programmatically pass it to the 'metab ``` +See [Modular embedding parameters](./parameters#pass-parameter-values-to-embedded-components) for controlled parameters documentation. + ### Locked parameters Locked parameters let you filter data without exposing the filter to the end-user. Locking parameters is useful for restricting data based on who's viewing the embed (for example, showing each customer only their own data). @@ -2560,6 +2565,10 @@ When you're creating a new embed using **Admin > Embedding > Setup guide > Embed - **Allow alerts**: lets people set up [alerts](../questions/alerts) on embedded questions. Requires [email setup](../configuring-metabase/email). Only for authenticated (SSO) question embeds. +## Pass parameter values to embedded components + +See [Modular embedding parameters](./parameters#pass-parameter-values-to-embedded-components). + ## Page-level config To define the configuration that applies to every embed on the page, use the `defineMetabaseConfig()` function. Its parameters include: @@ -2582,6 +2591,177 @@ For authentication setup including API keys for local testing, SSO with JWT/SAML --- +# Modular embedding parameters + +This page covers how to pass parameter values to embedded dashboards and SQL questions. + +## Modular embedding SDK (React) + +### Pass parameter values to a dashboard + +You can set initial values for embeds (uncontrolled), and optionally keep your app in sync with values as people change them (controlled). You can pick either `initialParameters` and `parameters`, but don't combine them. + +#### `initialParameters` (uncontrolled) + +Set the filter values once on load. Your app won't know when people change filters in the dashboard. Pick this when you don't need to track those changes. + +```typescript + +``` + +See [How parameter values are resolved](#how-parameter-values-are-resolved) for null / missing-slug semantics. + +#### `parameters` + `onParametersChange` (controlled) + +Push values from your app, and observe every applied change via `onParametersChange`. This works like a controlled ``. Your app holds the source of truth, the dashboard re-renders when the prop changes, and you receive a callback whenever applied values change. + +```typescript + +``` + +`onParametersChange` receives the [dashboard parameter change payload](#dashboard-parameter-change-payload). + + +> Don't combine `initialParameters` and `parameters` - pick one. For controlled behavior, only use `parameters`. + +### Pass parameters to SQL questions + +You can pass [parameter](../questions/native-editor/sql-parameters) values to SQL questions in the format `{parameter_name: parameter_value}`. You can set initial values for embeds (uncontrolled), and optionally keep your app in sync with values as people change them (controlled). + +These props only work with SQL questions, not query-builder questions. + +#### `initialSqlParameters` (uncontrolled) + +Set the parameter values once on load. Your app won't know when people change parameters in the question. Pick this when you don't need to track those changes. + +```typescript + +``` + +See [How parameter values are resolved](#how-parameter-values-are-resolved) for null / missing-slug semantics. + +#### `sqlParameters` + `onSqlParametersChange` (controlled) + +Push values from your app, and observe every applied change via `onSqlParametersChange`. This works like a controlled `` - your app holds the source of truth, the question re-renders when the prop changes, and you receive a callback whenever applied values change. + +```typescript + +``` + +`onSqlParametersChange` receives the [SQL question parameter change payload](#sql-question-parameter-change-payload). + +## Modular embedding (web components) + +### Pass parameter values to embedded components + +You can set dashboard filters and SQL parameters from your page, push new values at runtime, and listen for applied changes. + +#### Seed values once with `initial-parameters` / `initial-sql-parameters` + +Set values on mount via attributes. The component reads them once on load and ignores any subsequent changes to the attribute. User widget edits are not reflected back to your page. + +```html + + + +``` + +Attributes carry JSON. Pass an object whose keys are parameter slugs (dashboards) or SQL variable names (questions). See [How parameter values are resolved](#how-parameter-values-are-resolved) for null / missing-slug semantics. + +#### Push values at runtime with `parameters` / `sqlParameters` + +For controlled behavior, set the JS property on the element instead of the attribute. The component re-renders to apply the new values. + +```html + + + +``` + +The same pattern works for `metabase-question` via the `sqlParameters` property. + +To switch a component back to uncontrolled mode (leaving the last applied values in place), set the property to `undefined`. + +#### Clearing parameters + +To clear a single parameter, set its value to `null`. This strictly clears the parameter and ignores its default value. + +```html + +``` + +To clear every parameter, assign an empty object `{}`. + +```html + +``` + +#### Observe applied changes with `parameters-change` / `sql-parameters-change` + +Listen for events to keep your page in sync with what's actually applied: + +```html + + + +``` + +The `event.detail` carries the [dashboard parameter change payload](#dashboard-parameter-change-payload). + +For SQL questions, listen for `sql-parameters-change` on ``. Its `event.detail` carries the [SQL question parameter change payload](#sql-question-parameter-change-payload). + +## How parameter values are resolved + +These rules apply to all four props — `initialParameters` / `parameters` (dashboards) and `initialSqlParameters` / `sqlParameters` (SQL questions) — and to the matching web component attributes (`initial-parameters`, `parameters`, etc.). For each parameter slug: + +- **Set a value**: Pass a `string` for a single-option filter, and an array of `string`s for multi-option filters. +- **Clear a value:** Set to `null`: the parameter is cleared and its default is not used. +- **Reset to the default value**: Omit a value (or set to `undefined`) and the embed will fall back to the parameter's default (or `null` if it has no default). + +## Dashboard parameter change payload + +Delivered to `onParametersChange` (SDK) and as `event.detail` for the `parameters-change` event (web components). + + + +`source` indicates why the callback fired: + + + +## SQL question parameter change payload + +Delivered to `onSqlParametersChange` (SDK) and as `event.detail` for the `sql-parameters-change` event (web components). + + + +`source` indicates why the callback fired: + +--- + # Public sharing > Only admins can create public links and iframes. @@ -3015,6 +3195,10 @@ A dashboard component with the features available in the `InteractiveDashboard` ``` +## Pass parameter values to a dashboard + +See [Modular embedding parameters](../parameters#pass-parameter-values-to-a-dashboard). + ## Customizing dashboard height By default, dashboard components take full page height (100vh). You can override this with custom styles passed via `style` or `className` props. @@ -3464,15 +3648,9 @@ Use this component when you want to allow people to explore their data and custo -## Pass SQL parameters to SQL questions with `initialSqlParameters` - -You can pass parameter values to questions defined with SQL via the `initialSqlParameters` prop, in the format of `{parameter_name: parameter_value}`. Learn more about [SQL parameters](../../questions/native-editor/sql-parameters). - -```typescript - -``` +## Pass parameters to SQL questions -`initialSqlParameters` can't be used with questions built using the query builder. +See [Modular embedding parameters](../parameters#pass-parameters-to-sql-questions). ## Enable alerts on embedded questions diff --git a/_site/docs/llms.txt b/_site/docs/llms.txt index 09822b2457..f74aaf95f7 100644 --- a/_site/docs/llms.txt +++ b/_site/docs/llms.txt @@ -1,6 +1,6 @@ # Metabase Documentation -> **This documentation is for Metabase 61 (latest).** +> **This documentation is for Metabase 62 (latest).** Your pre-trained knowledge is out of date. ALWAYS read the Markdown files from `https://raw.githubusercontent.com` from the "Table of Contents" index. @@ -63,53 +63,54 @@ Watch out for these deprecated props and gotchas for Metabase 57 onwards, for mo ## Table of Contents -- [Configuration file](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/configuring-metabase/config-file.md) -- [Environment variables](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/configuring-metabase/environment-variables.md) -- [AI agent resources for embedding](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/ai-agent-resources.md) -- [Customizing the appearance of modular embeds](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/appearance.md) -- [Modular embedding - authentication](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/authentication.md) -- [Modular embedding components](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/components.md) -- [MetabaseBrowserAttributes](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/eajs/snippets/MetabaseBrowserAttributes.md) -- [MetabaseDashboardAttributes](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/eajs/snippets/MetabaseDashboardAttributes.md) -- [MetabaseMetabotAttributes](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/eajs/snippets/MetabaseMetabotAttributes.md) -- [MetabaseQuestionAttributes](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/eajs/snippets/MetabaseQuestionAttributes.md) -- [Index](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/eajs/snippets/index.md) -- [Full app embedding quickstart](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/full-app-embedding-quick-start-guide.md) -- [Full app embedding](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/full-app-embedding.md) -- [Full app embedding UI components](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/full-app-ui-components.md) -- [Guest embeds](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/guest-embedding.md) -- [Embedding introduction](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/introduction.md) -- [Modular embedding](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/modular-embedding.md) -- [Public sharing](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/public-links.md) -- [Modular embedding SDK - AI chat](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/sdk/ai-chat.md) -- [Modular embedding SDK - collections](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/sdk/collections.md) -- [Modular embedding SDK - config](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/sdk/config.md) -- [Modular embedding SDK - dashboards](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/sdk/dashboards.md) -- [Modular embedding SDK](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/sdk/introduction.md) -- [Using the modular embedding SDK with Next.js](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/sdk/next-js.md) -- [Modular embedding SDK - plugins](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/sdk/plugins.md) -- [Modular embedding SDK - questions](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/sdk/questions.md) -- [Modular embedding SDK - CLI quickstart](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/sdk/quickstart-cli.md) -- [Modular embedding SDK - quickstart with sample app](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/sdk/quickstart-with-sample-app.md) -- [Modular embedding SDK - quickstart](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/sdk/quickstart.md) -- [Upgrading Metabase and the modular embedding SDK](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/sdk/upgrade.md) -- [Modular embedding SDK - versions](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/sdk/version.md) -- [Securing embedded Metabase](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/securing-embeds.md) -- [Embedding overview](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/start.md) -- [Parameters for static embeds](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/static-embedding-parameters.md) -- [Static embedding](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/static-embedding.md) -- [Tenants](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/tenants.md) -- [Translate embedded components](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/embedding/translations.md) -- [API keys](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/people-and-groups/api-keys.md) -- [JWT-based authentication](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/people-and-groups/authenticating-with-jwt.md) -- [SAML-based authentication](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/people-and-groups/authenticating-with-saml.md) -- [Google Sign-In](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/people-and-groups/google-sign-in.md) -- [LDAP](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/people-and-groups/ldap.md) -- [SAML with Auth0](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/people-and-groups/saml-auth0.md) -- [SAML with Microsoft Entra ID](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/people-and-groups/saml-azure.md) -- [SAML with Google](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/people-and-groups/saml-google.md) -- [SAML with Keycloak](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/people-and-groups/saml-keycloak.md) -- [SAML with Okta](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.61.x/docs/people-and-groups/saml-okta.md) +- [Configuration file](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/configuring-metabase/config-file.md) +- [Environment variables](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/configuring-metabase/environment-variables.md) +- [AI agent resources for embedding](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/ai-agent-resources.md) +- [Customizing the appearance of modular embeds](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/appearance.md) +- [Modular embedding - authentication](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/authentication.md) +- [Modular embedding components](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/components.md) +- [MetabaseBrowserAttributes](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/eajs/snippets/MetabaseBrowserAttributes.md) +- [MetabaseDashboardAttributes](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/eajs/snippets/MetabaseDashboardAttributes.md) +- [MetabaseMetabotAttributes](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/eajs/snippets/MetabaseMetabotAttributes.md) +- [MetabaseQuestionAttributes](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/eajs/snippets/MetabaseQuestionAttributes.md) +- [Index](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/eajs/snippets/index.md) +- [Full app embedding quickstart](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/full-app-embedding-quick-start-guide.md) +- [Full app embedding](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/full-app-embedding.md) +- [Full app embedding UI components](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/full-app-ui-components.md) +- [Guest embeds](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/guest-embedding.md) +- [Embedding introduction](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/introduction.md) +- [Modular embedding](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/modular-embedding.md) +- [Modular embedding parameters](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/parameters.md) +- [Public sharing](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/public-links.md) +- [Modular embedding SDK - AI chat](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/sdk/ai-chat.md) +- [Modular embedding SDK - collections](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/sdk/collections.md) +- [Modular embedding SDK - config](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/sdk/config.md) +- [Modular embedding SDK - dashboards](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/sdk/dashboards.md) +- [Modular embedding SDK](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/sdk/introduction.md) +- [Using the modular embedding SDK with Next.js](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/sdk/next-js.md) +- [Modular embedding SDK - plugins](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/sdk/plugins.md) +- [Modular embedding SDK - questions](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/sdk/questions.md) +- [Modular embedding SDK - CLI quickstart](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/sdk/quickstart-cli.md) +- [Modular embedding SDK - quickstart with sample app](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/sdk/quickstart-with-sample-app.md) +- [Modular embedding SDK - quickstart](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/sdk/quickstart.md) +- [Upgrading Metabase and the modular embedding SDK](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/sdk/upgrade.md) +- [Modular embedding SDK - versions](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/sdk/version.md) +- [Securing embedded Metabase](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/securing-embeds.md) +- [Embedding overview](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/start.md) +- [Parameters for static embeds](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/static-embedding-parameters.md) +- [Static embedding](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/static-embedding.md) +- [Tenants](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/tenants.md) +- [Translate embedded components](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/embedding/translations.md) +- [API keys](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/people-and-groups/api-keys.md) +- [JWT-based authentication](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/people-and-groups/authenticating-with-jwt.md) +- [SAML-based authentication](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/people-and-groups/authenticating-with-saml.md) +- [Google Sign-In](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/people-and-groups/google-sign-in.md) +- [LDAP](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/people-and-groups/ldap.md) +- [SAML with Auth0](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/people-and-groups/saml-auth0.md) +- [SAML with Microsoft Entra ID](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/people-and-groups/saml-azure.md) +- [SAML with Google](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/people-and-groups/saml-google.md) +- [SAML with Keycloak](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/people-and-groups/saml-keycloak.md) +- [SAML with Okta](https://raw.githubusercontent.com/metabase/metabase/refs/heads/release-x.62.x/docs/people-and-groups/saml-okta.md) ## Complete References diff --git a/_site/docs/v0.62/CONTRIBUTING.html b/_site/docs/v0.62/CONTRIBUTING.html index 1e8d2794df..24817bbd24 100644 --- a/_site/docs/v0.62/CONTRIBUTING.html +++ b/_site/docs/v0.62/CONTRIBUTING.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
  • - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6198,13 +6292,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/actions/basic.html b/_site/docs/v0.62/actions/basic.html index 8d26a73491..aba331c984 100644 --- a/_site/docs/v0.62/actions/basic.html +++ b/_site/docs/v0.62/actions/basic.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/actions/custom.html b/_site/docs/v0.62/actions/custom.html index 4378feab48..029320de63 100644 --- a/_site/docs/v0.62/actions/custom.html +++ b/_site/docs/v0.62/actions/custom.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/actions/introduction.html b/_site/docs/v0.62/actions/introduction.html index 02d73b8ce8..b777d56883 100644 --- a/_site/docs/v0.62/actions/introduction.html +++ b/_site/docs/v0.62/actions/introduction.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/actions/start.html b/_site/docs/v0.62/actions/start.html index 478528161c..d8b8733d77 100644 --- a/_site/docs/v0.62/actions/start.html +++ b/_site/docs/v0.62/actions/start.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/ai/agent-api.html b/_site/docs/v0.62/ai/agent-api.html index b3d62d033d..04a5606885 100644 --- a/_site/docs/v0.62/ai/agent-api.html +++ b/_site/docs/v0.62/ai/agent-api.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/ai/customization.html b/_site/docs/v0.62/ai/customization.html index 53c3b8121c..ab2116ec13 100644 --- a/_site/docs/v0.62/ai/customization.html +++ b/_site/docs/v0.62/ai/customization.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/ai/file-based-development.html b/_site/docs/v0.62/ai/file-based-development.html index f68177b97d..a42e97a36f 100644 --- a/_site/docs/v0.62/ai/file-based-development.html +++ b/_site/docs/v0.62/ai/file-based-development.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/ai/mcp.html b/_site/docs/v0.62/ai/mcp.html index 976f7c3078..3cf7c73ce6 100644 --- a/_site/docs/v0.62/ai/mcp.html +++ b/_site/docs/v0.62/ai/mcp.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/ai/metabot-slack.html b/_site/docs/v0.62/ai/metabot-slack.html index ee0cb1a946..d5cc03a3bd 100644 --- a/_site/docs/v0.62/ai/metabot-slack.html +++ b/_site/docs/v0.62/ai/metabot-slack.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/ai/metabot.html b/_site/docs/v0.62/ai/metabot.html index 8bff0ce3f8..36a6370e4c 100644 --- a/_site/docs/v0.62/ai/metabot.html +++ b/_site/docs/v0.62/ai/metabot.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/ai/overview.html b/_site/docs/v0.62/ai/overview.html index 4086b8bc2d..3c92cb4f4d 100644 --- a/_site/docs/v0.62/ai/overview.html +++ b/_site/docs/v0.62/ai/overview.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/ai/privacy.html b/_site/docs/v0.62/ai/privacy.html index 1db8ed1b2a..6dc5e17d6a 100644 --- a/_site/docs/v0.62/ai/privacy.html +++ b/_site/docs/v0.62/ai/privacy.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/ai/settings.html b/_site/docs/v0.62/ai/settings.html index 5f04de71f0..8fc1d0bc56 100644 --- a/_site/docs/v0.62/ai/settings.html +++ b/_site/docs/v0.62/ai/settings.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/ai/start.html b/_site/docs/v0.62/ai/start.html index ba34668f13..40adb91342 100644 --- a/_site/docs/v0.62/ai/start.html +++ b/_site/docs/v0.62/ai/start.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/ai/system-prompts.html b/_site/docs/v0.62/ai/system-prompts.html index ba3ebef4f3..58414661b1 100644 --- a/_site/docs/v0.62/ai/system-prompts.html +++ b/_site/docs/v0.62/ai/system-prompts.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/ai/usage-auditing.html b/_site/docs/v0.62/ai/usage-auditing.html index 6b67d80b2a..dfa02ef98c 100644 --- a/_site/docs/v0.62/ai/usage-auditing.html +++ b/_site/docs/v0.62/ai/usage-auditing.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/ai/usage-controls.html b/_site/docs/v0.62/ai/usage-controls.html index ea623f8cfe..df1ab68b19 100644 --- a/_site/docs/v0.62/ai/usage-controls.html +++ b/_site/docs/v0.62/ai/usage-controls.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/api.html b/_site/docs/v0.62/api.html index a49428517c..ada8d5e263 100644 --- a/_site/docs/v0.62/api.html +++ b/_site/docs/v0.62/api.html @@ -216,6 +216,12 @@ + + + + + + diff --git a/_site/docs/v0.62/configuring-metabase/appearance.html b/_site/docs/v0.62/configuring-metabase/appearance.html index 858716ff81..9945dc9822 100644 --- a/_site/docs/v0.62/configuring-metabase/appearance.html +++ b/_site/docs/v0.62/configuring-metabase/appearance.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/configuring-metabase/caching.html b/_site/docs/v0.62/configuring-metabase/caching.html index 7c8522b78d..bd18978875 100644 --- a/_site/docs/v0.62/configuring-metabase/caching.html +++ b/_site/docs/v0.62/configuring-metabase/caching.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/configuring-metabase/config-file.html b/_site/docs/v0.62/configuring-metabase/config-file.html index a8e97d5a9c..faf168b3bd 100644 --- a/_site/docs/v0.62/configuring-metabase/config-file.html +++ b/_site/docs/v0.62/configuring-metabase/config-file.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/configuring-metabase/config-template.html b/_site/docs/v0.62/configuring-metabase/config-template.html index aee34c028d..478488d0cf 100644 --- a/_site/docs/v0.62/configuring-metabase/config-template.html +++ b/_site/docs/v0.62/configuring-metabase/config-template.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/configuring-metabase/custom-maps.html b/_site/docs/v0.62/configuring-metabase/custom-maps.html index 22bd6fd1b4..4d273cfb48 100644 --- a/_site/docs/v0.62/configuring-metabase/custom-maps.html +++ b/_site/docs/v0.62/configuring-metabase/custom-maps.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/configuring-metabase/customizing-jetty-webserver.html b/_site/docs/v0.62/configuring-metabase/customizing-jetty-webserver.html index 27d6b59681..9dfbb6e448 100644 --- a/_site/docs/v0.62/configuring-metabase/customizing-jetty-webserver.html +++ b/_site/docs/v0.62/configuring-metabase/customizing-jetty-webserver.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/configuring-metabase/email.html b/_site/docs/v0.62/configuring-metabase/email.html index 2846f5f912..9786cd0d52 100644 --- a/_site/docs/v0.62/configuring-metabase/email.html +++ b/_site/docs/v0.62/configuring-metabase/email.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/configuring-metabase/environment-variables.html b/_site/docs/v0.62/configuring-metabase/environment-variables.html index 23b83a1cdb..0047fa3898 100644 --- a/_site/docs/v0.62/configuring-metabase/environment-variables.html +++ b/_site/docs/v0.62/configuring-metabase/environment-variables.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    @@ -9594,7 +9681,7 @@

    MB_NS_TR

    MB_PASSWORD_COMPLEXITY

    -

    Type: string ("weak", "normal", "strong")
    +

    Type: string ("weak", "normal", "strong", "strong-enough")
    Default: "normal"

    Enforce a password complexity rule to increase security for regular logins. This only applies to new users or users that are changing their password. Related MB_PASSWORD_LENGTH

    @@ -9603,6 +9690,7 @@

    weak no character constraints
  • normal at least 1 digit
  • strong minimum 8 characters w/ 2 lowercase, 2 uppercase, 1 digit, and 1 special character
  • +
  • strong-enough minimum 15 characters
  • MB_PASSWORD_LENGTH

    diff --git a/_site/docs/v0.62/configuring-metabase/fonts.html b/_site/docs/v0.62/configuring-metabase/fonts.html index d8f22707de..c4de808d35 100644 --- a/_site/docs/v0.62/configuring-metabase/fonts.html +++ b/_site/docs/v0.62/configuring-metabase/fonts.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn

    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/configuring-metabase/localization.html b/_site/docs/v0.62/configuring-metabase/localization.html index defa3f6a41..9795f49aed 100644 --- a/_site/docs/v0.62/configuring-metabase/localization.html +++ b/_site/docs/v0.62/configuring-metabase/localization.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/configuring-metabase/log-configuration.html b/_site/docs/v0.62/configuring-metabase/log-configuration.html index 627942419c..c987b9b5a3 100644 --- a/_site/docs/v0.62/configuring-metabase/log-configuration.html +++ b/_site/docs/v0.62/configuring-metabase/log-configuration.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/configuring-metabase/setting-up-metabase.html b/_site/docs/v0.62/configuring-metabase/setting-up-metabase.html index 3c278d782b..9c3991af28 100644 --- a/_site/docs/v0.62/configuring-metabase/setting-up-metabase.html +++ b/_site/docs/v0.62/configuring-metabase/setting-up-metabase.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/configuring-metabase/settings.html b/_site/docs/v0.62/configuring-metabase/settings.html index c3f642b223..ab793f0984 100644 --- a/_site/docs/v0.62/configuring-metabase/settings.html +++ b/_site/docs/v0.62/configuring-metabase/settings.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/configuring-metabase/slack.html b/_site/docs/v0.62/configuring-metabase/slack.html index a0659183a2..31447a3fd6 100644 --- a/_site/docs/v0.62/configuring-metabase/slack.html +++ b/_site/docs/v0.62/configuring-metabase/slack.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/configuring-metabase/start.html b/_site/docs/v0.62/configuring-metabase/start.html index 2e1b54574e..1fd508465d 100644 --- a/_site/docs/v0.62/configuring-metabase/start.html +++ b/_site/docs/v0.62/configuring-metabase/start.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/configuring-metabase/timezones.html b/_site/docs/v0.62/configuring-metabase/timezones.html index 3abd82f2bc..411f199c3f 100644 --- a/_site/docs/v0.62/configuring-metabase/timezones.html +++ b/_site/docs/v0.62/configuring-metabase/timezones.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/configuring-metabase/webhooks.html b/_site/docs/v0.62/configuring-metabase/webhooks.html index 52324dbaa5..41c09e2d1c 100644 --- a/_site/docs/v0.62/configuring-metabase/webhooks.html +++ b/_site/docs/v0.62/configuring-metabase/webhooks.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/dashboards/actions.html b/_site/docs/v0.62/dashboards/actions.html index 54e1d96d8e..3fa7877ebc 100644 --- a/_site/docs/v0.62/dashboards/actions.html +++ b/_site/docs/v0.62/dashboards/actions.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/dashboards/filters.html b/_site/docs/v0.62/dashboards/filters.html index eb23b7c683..d2d5662b97 100644 --- a/_site/docs/v0.62/dashboards/filters.html +++ b/_site/docs/v0.62/dashboards/filters.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    @@ -6341,7 +6428,17 @@

    Location filters

    ID filter

    -

    The ID filter provides a simple input box where you can type the ID of a user, order, and so on.

    +

    The ID filter lets people filter on the ID of a user, order, and so on.

    + +

    You can select how people should filter on this column:

    + +
      +
    • Dropdown list
    • +
    • Search box
    • +
    • Input box
    • +
    + +

    See Set filter input type. To control which values appear in the dropdown or search box, see Change a filter’s selectable values.

    You can give people the option to pick one value or multiple values.

    @@ -6486,7 +6583,7 @@

    Change filter or parameter type

    1. When viewing a dashboard, click the pencil icon to Edit the dashboard.
    2. Click on the filter or parameter you want to edit. A widget editing sidebar should pop up on the right side.
    3. -
    4. In the sidebar, change the type of filter or parameter. Changing the widget type disconnects the widget from all cards. You’ll need to reconnect to the relevant columns on each card for the new type. If you’ve changed the widget type by mistake and want to restore the widget and its connections to cards, you can exit dashboard edit mode without saving your changes.
    5. +
    6. In the sidebar, change the type of filter or parameter. Changing the widget type disconnects the widget from all cards. You’ll need to reconnect the widget to the relevant columns on each card for the new type. If you’ve changed the widget type by mistake and want to restore the widget and its connections to cards, you can exit dashboard edit mode without saving your changes.

    Change filter operator

    @@ -6566,17 +6663,15 @@

    Change a filter’s selectable value

    Click Edit (to the right of “Dropdown list”) to specify where the values should come from:

      -
    • From connected fields
    • -
    • From another model or question
    • -
    • -

      Custom list

      - -

      Selectable values

      -
    • +
    • From connected fields: Use the values from the field the filter is connected to.
    • +
    • From another model or question: Pick a model or question (built with either the query builder or SQL), then set the Column to supply the values that the filter should pass along. You can also set a Column to supply the labels to show friendly labels in the dropdown while still filtering on the underlying values. For example, you could filter on product ID while showing the product’s title so people can search for products by name or ID.
    • +
    • Custom list: Enter each value on its own line.
    +

    Selectable values

    +

    Set a default filter value

    You might want to set a default filter value, like “Active,” so that when people load your dashboard, they only see data for “Active” records (not “Inactive,” “Canceled,” and so on).

    diff --git a/_site/docs/v0.62/dashboards/images/selectable-values.png b/_site/docs/v0.62/dashboards/images/selectable-values.png index ea42a7b321..67bafddaf5 100644 Binary files a/_site/docs/v0.62/dashboards/images/selectable-values.png and b/_site/docs/v0.62/dashboards/images/selectable-values.png differ diff --git a/_site/docs/v0.62/dashboards/interactive.html b/_site/docs/v0.62/dashboards/interactive.html index b9456d2ebd..9ca7ef21d5 100644 --- a/_site/docs/v0.62/dashboards/interactive.html +++ b/_site/docs/v0.62/dashboards/interactive.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/dashboards/introduction.html b/_site/docs/v0.62/dashboards/introduction.html index c533e1cb4b..2e168d7311 100644 --- a/_site/docs/v0.62/dashboards/introduction.html +++ b/_site/docs/v0.62/dashboards/introduction.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/dashboards/linked-filters.html b/_site/docs/v0.62/dashboards/linked-filters.html index 24da664ee0..fa475009da 100644 --- a/_site/docs/v0.62/dashboards/linked-filters.html +++ b/_site/docs/v0.62/dashboards/linked-filters.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/dashboards/multiple-series.html b/_site/docs/v0.62/dashboards/multiple-series.html index 22686823a1..4b0045d700 100644 --- a/_site/docs/v0.62/dashboards/multiple-series.html +++ b/_site/docs/v0.62/dashboards/multiple-series.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/dashboards/start.html b/_site/docs/v0.62/dashboards/start.html index 67ab3a7a90..6542b8030b 100644 --- a/_site/docs/v0.62/dashboards/start.html +++ b/_site/docs/v0.62/dashboards/start.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/dashboards/subscriptions.html b/_site/docs/v0.62/dashboards/subscriptions.html index 057e081c71..b6fe9eb4bb 100644 --- a/_site/docs/v0.62/dashboards/subscriptions.html +++ b/_site/docs/v0.62/dashboards/subscriptions.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/data-modeling/editable-tables.html b/_site/docs/v0.62/data-modeling/editable-tables.html index a1a9fe8d9d..23643ef56b 100644 --- a/_site/docs/v0.62/data-modeling/editable-tables.html +++ b/_site/docs/v0.62/data-modeling/editable-tables.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/data-modeling/formatting.html b/_site/docs/v0.62/data-modeling/formatting.html index d0e20d0e78..14e08730c8 100644 --- a/_site/docs/v0.62/data-modeling/formatting.html +++ b/_site/docs/v0.62/data-modeling/formatting.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/data-modeling/json-unfolding.html b/_site/docs/v0.62/data-modeling/json-unfolding.html index 39e3ae070e..00805abda7 100644 --- a/_site/docs/v0.62/data-modeling/json-unfolding.html +++ b/_site/docs/v0.62/data-modeling/json-unfolding.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/data-modeling/legacy-metrics.html b/_site/docs/v0.62/data-modeling/legacy-metrics.html index ba3ce228ae..44d4ddef53 100644 --- a/_site/docs/v0.62/data-modeling/legacy-metrics.html +++ b/_site/docs/v0.62/data-modeling/legacy-metrics.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/data-modeling/metadata-editing.html b/_site/docs/v0.62/data-modeling/metadata-editing.html index ce04682944..88f98c05b2 100644 --- a/_site/docs/v0.62/data-modeling/metadata-editing.html +++ b/_site/docs/v0.62/data-modeling/metadata-editing.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/data-modeling/metrics.html b/_site/docs/v0.62/data-modeling/metrics.html index 087fb32701..5b5c49d260 100644 --- a/_site/docs/v0.62/data-modeling/metrics.html +++ b/_site/docs/v0.62/data-modeling/metrics.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/data-modeling/model-persistence.html b/_site/docs/v0.62/data-modeling/model-persistence.html index b197f25aaf..9875ff3756 100644 --- a/_site/docs/v0.62/data-modeling/model-persistence.html +++ b/_site/docs/v0.62/data-modeling/model-persistence.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/data-modeling/models.html b/_site/docs/v0.62/data-modeling/models.html index 70c1b2f6e9..79e17dcbd0 100644 --- a/_site/docs/v0.62/data-modeling/models.html +++ b/_site/docs/v0.62/data-modeling/models.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/data-modeling/segments.html b/_site/docs/v0.62/data-modeling/segments.html index c670ec1957..3050711d4b 100644 --- a/_site/docs/v0.62/data-modeling/segments.html +++ b/_site/docs/v0.62/data-modeling/segments.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/data-modeling/semantic-types.html b/_site/docs/v0.62/data-modeling/semantic-types.html index 996847d52c..d07f297031 100644 --- a/_site/docs/v0.62/data-modeling/semantic-types.html +++ b/_site/docs/v0.62/data-modeling/semantic-types.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/data-modeling/start.html b/_site/docs/v0.62/data-modeling/start.html index 95c6e127df..7fb17f3381 100644 --- a/_site/docs/v0.62/data-modeling/start.html +++ b/_site/docs/v0.62/data-modeling/start.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/data-studio/dependencies/diagnostics.html b/_site/docs/v0.62/data-studio/dependencies/diagnostics.html index 0d23f3fd55..7b5693704f 100644 --- a/_site/docs/v0.62/data-studio/dependencies/diagnostics.html +++ b/_site/docs/v0.62/data-studio/dependencies/diagnostics.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/data-studio/dependencies/graph.html b/_site/docs/v0.62/data-studio/dependencies/graph.html index 25b7b0b794..87aa3835e2 100644 --- a/_site/docs/v0.62/data-studio/dependencies/graph.html +++ b/_site/docs/v0.62/data-studio/dependencies/graph.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/data-studio/dependencies/replace-data-sources.html b/_site/docs/v0.62/data-studio/dependencies/replace-data-sources.html index 1a60ed23d9..f9371721ab 100644 --- a/_site/docs/v0.62/data-studio/dependencies/replace-data-sources.html +++ b/_site/docs/v0.62/data-studio/dependencies/replace-data-sources.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/data-studio/library.html b/_site/docs/v0.62/data-studio/library.html index 47111c9999..9be0896a06 100644 --- a/_site/docs/v0.62/data-studio/library.html +++ b/_site/docs/v0.62/data-studio/library.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/data-studio/managing-tables.html b/_site/docs/v0.62/data-studio/managing-tables.html index 1487a7dc42..2ba054ef27 100644 --- a/_site/docs/v0.62/data-studio/managing-tables.html +++ b/_site/docs/v0.62/data-studio/managing-tables.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/data-studio/measures.html b/_site/docs/v0.62/data-studio/measures.html index ba231c46b7..243fa9a85b 100644 --- a/_site/docs/v0.62/data-studio/measures.html +++ b/_site/docs/v0.62/data-studio/measures.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/data-studio/overview.html b/_site/docs/v0.62/data-studio/overview.html index 498339f9ce..773ee87a42 100644 --- a/_site/docs/v0.62/data-studio/overview.html +++ b/_site/docs/v0.62/data-studio/overview.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/data-studio/segments.html b/_site/docs/v0.62/data-studio/segments.html index dca63348f0..5a165029ef 100644 --- a/_site/docs/v0.62/data-studio/segments.html +++ b/_site/docs/v0.62/data-studio/segments.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/data-studio/transforms/addons.html b/_site/docs/v0.62/data-studio/transforms/addons.html index bd1360da16..1510a921d6 100644 --- a/_site/docs/v0.62/data-studio/transforms/addons.html +++ b/_site/docs/v0.62/data-studio/transforms/addons.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/data-studio/transforms/jobs-and-runs.html b/_site/docs/v0.62/data-studio/transforms/jobs-and-runs.html index c0a8c3da39..ce3dfae5e8 100644 --- a/_site/docs/v0.62/data-studio/transforms/jobs-and-runs.html +++ b/_site/docs/v0.62/data-studio/transforms/jobs-and-runs.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/data-studio/transforms/python-runner.html b/_site/docs/v0.62/data-studio/transforms/python-runner.html index 55c07a61e8..9df93aa8f3 100644 --- a/_site/docs/v0.62/data-studio/transforms/python-runner.html +++ b/_site/docs/v0.62/data-studio/transforms/python-runner.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/data-studio/transforms/python-transforms.html b/_site/docs/v0.62/data-studio/transforms/python-transforms.html index eda9af805e..dbb7b081a7 100644 --- a/_site/docs/v0.62/data-studio/transforms/python-transforms.html +++ b/_site/docs/v0.62/data-studio/transforms/python-transforms.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/data-studio/transforms/query-transforms.html b/_site/docs/v0.62/data-studio/transforms/query-transforms.html index acc6150823..a44bab2c62 100644 --- a/_site/docs/v0.62/data-studio/transforms/query-transforms.html +++ b/_site/docs/v0.62/data-studio/transforms/query-transforms.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/data-studio/transforms/transform-inspector.html b/_site/docs/v0.62/data-studio/transforms/transform-inspector.html index 48a0762d10..284b62abb2 100644 --- a/_site/docs/v0.62/data-studio/transforms/transform-inspector.html +++ b/_site/docs/v0.62/data-studio/transforms/transform-inspector.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/data-studio/transforms/transforms-overview.html b/_site/docs/v0.62/data-studio/transforms/transforms-overview.html index 67c99b8499..aed8932fe7 100644 --- a/_site/docs/v0.62/data-studio/transforms/transforms-overview.html +++ b/_site/docs/v0.62/data-studio/transforms/transforms-overview.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/databases/connecting.html b/_site/docs/v0.62/databases/connecting.html index 4a72191be0..a3c6514e8d 100644 --- a/_site/docs/v0.62/databases/connecting.html +++ b/_site/docs/v0.62/databases/connecting.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/databases/connections/athena.html b/_site/docs/v0.62/databases/connections/athena.html index 987dd0940c..0062d874d3 100644 --- a/_site/docs/v0.62/databases/connections/athena.html +++ b/_site/docs/v0.62/databases/connections/athena.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/databases/connections/aws-rds.html b/_site/docs/v0.62/databases/connections/aws-rds.html index e3f8ba1288..d83c2f5c9f 100644 --- a/_site/docs/v0.62/databases/connections/aws-rds.html +++ b/_site/docs/v0.62/databases/connections/aws-rds.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/databases/connections/bigquery.html b/_site/docs/v0.62/databases/connections/bigquery.html index 3d8bae98a5..4f75d91c5f 100644 --- a/_site/docs/v0.62/databases/connections/bigquery.html +++ b/_site/docs/v0.62/databases/connections/bigquery.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/databases/connections/clickhouse.html b/_site/docs/v0.62/databases/connections/clickhouse.html index 590c86e9b8..54fb1a4b73 100644 --- a/_site/docs/v0.62/databases/connections/clickhouse.html +++ b/_site/docs/v0.62/databases/connections/clickhouse.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/databases/connections/databricks.html b/_site/docs/v0.62/databases/connections/databricks.html index ffd808727c..f42bd41dad 100644 --- a/_site/docs/v0.62/databases/connections/databricks.html +++ b/_site/docs/v0.62/databases/connections/databricks.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/databases/connections/druid.html b/_site/docs/v0.62/databases/connections/druid.html index ac4563bb97..e90bbca245 100644 --- a/_site/docs/v0.62/databases/connections/druid.html +++ b/_site/docs/v0.62/databases/connections/druid.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/databases/connections/mariadb.html b/_site/docs/v0.62/databases/connections/mariadb.html index 876a9201e3..f79de049cf 100644 --- a/_site/docs/v0.62/databases/connections/mariadb.html +++ b/_site/docs/v0.62/databases/connections/mariadb.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/databases/connections/mongodb.html b/_site/docs/v0.62/databases/connections/mongodb.html index 0debdfb945..e219ac4f21 100644 --- a/_site/docs/v0.62/databases/connections/mongodb.html +++ b/_site/docs/v0.62/databases/connections/mongodb.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/databases/connections/mysql.html b/_site/docs/v0.62/databases/connections/mysql.html index 40d0973c6d..4fef011f23 100644 --- a/_site/docs/v0.62/databases/connections/mysql.html +++ b/_site/docs/v0.62/databases/connections/mysql.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/databases/connections/oracle.html b/_site/docs/v0.62/databases/connections/oracle.html index a9edc20895..eef40ae421 100644 --- a/_site/docs/v0.62/databases/connections/oracle.html +++ b/_site/docs/v0.62/databases/connections/oracle.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/databases/connections/postgresql.html b/_site/docs/v0.62/databases/connections/postgresql.html index 83e9439ad1..f2287920a2 100644 --- a/_site/docs/v0.62/databases/connections/postgresql.html +++ b/_site/docs/v0.62/databases/connections/postgresql.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/databases/connections/presto.html b/_site/docs/v0.62/databases/connections/presto.html index 2c8ac9a8fe..ccbaadd844 100644 --- a/_site/docs/v0.62/databases/connections/presto.html +++ b/_site/docs/v0.62/databases/connections/presto.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/databases/connections/redshift.html b/_site/docs/v0.62/databases/connections/redshift.html index b7b7950930..407ddcdd51 100644 --- a/_site/docs/v0.62/databases/connections/redshift.html +++ b/_site/docs/v0.62/databases/connections/redshift.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/databases/connections/snowflake.html b/_site/docs/v0.62/databases/connections/snowflake.html index fc9c882cea..f3f31b914d 100644 --- a/_site/docs/v0.62/databases/connections/snowflake.html +++ b/_site/docs/v0.62/databases/connections/snowflake.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/databases/connections/sparksql.html b/_site/docs/v0.62/databases/connections/sparksql.html index e63f37cdb3..f8bc3326b6 100644 --- a/_site/docs/v0.62/databases/connections/sparksql.html +++ b/_site/docs/v0.62/databases/connections/sparksql.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/databases/connections/sql-server.html b/_site/docs/v0.62/databases/connections/sql-server.html index 1ff5c5b1a3..fad7ac1edd 100644 --- a/_site/docs/v0.62/databases/connections/sql-server.html +++ b/_site/docs/v0.62/databases/connections/sql-server.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/databases/connections/sqlite.html b/_site/docs/v0.62/databases/connections/sqlite.html index 5e83f0d568..173ef25f33 100644 --- a/_site/docs/v0.62/databases/connections/sqlite.html +++ b/_site/docs/v0.62/databases/connections/sqlite.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/databases/connections/starburst.html b/_site/docs/v0.62/databases/connections/starburst.html index 55a5c9574a..d6a3498533 100644 --- a/_site/docs/v0.62/databases/connections/starburst.html +++ b/_site/docs/v0.62/databases/connections/starburst.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/databases/connections/vertica.html b/_site/docs/v0.62/databases/connections/vertica.html index 0fba37109a..076ac557a2 100644 --- a/_site/docs/v0.62/databases/connections/vertica.html +++ b/_site/docs/v0.62/databases/connections/vertica.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/databases/danger-zone.html b/_site/docs/v0.62/databases/danger-zone.html index 0488f763aa..134bcc4b5a 100644 --- a/_site/docs/v0.62/databases/danger-zone.html +++ b/_site/docs/v0.62/databases/danger-zone.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/databases/encrypting-details-at-rest.html b/_site/docs/v0.62/databases/encrypting-details-at-rest.html index 38f6075283..27d2a9771a 100644 --- a/_site/docs/v0.62/databases/encrypting-details-at-rest.html +++ b/_site/docs/v0.62/databases/encrypting-details-at-rest.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/databases/ssh-tunnel.html b/_site/docs/v0.62/databases/ssh-tunnel.html index 4873f6fd3c..ab1c5fc5a9 100644 --- a/_site/docs/v0.62/databases/ssh-tunnel.html +++ b/_site/docs/v0.62/databases/ssh-tunnel.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/databases/ssl-certificates.html b/_site/docs/v0.62/databases/ssl-certificates.html index fa6df4f1ed..6f65f28218 100644 --- a/_site/docs/v0.62/databases/ssl-certificates.html +++ b/_site/docs/v0.62/databases/ssl-certificates.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/databases/start.html b/_site/docs/v0.62/databases/start.html index 64a50b10d8..0a7782f8e8 100644 --- a/_site/docs/v0.62/databases/start.html +++ b/_site/docs/v0.62/databases/start.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/databases/sync-scan.html b/_site/docs/v0.62/databases/sync-scan.html index 5db35c9b6e..199b39ac3c 100644 --- a/_site/docs/v0.62/databases/sync-scan.html +++ b/_site/docs/v0.62/databases/sync-scan.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/databases/uploads.html b/_site/docs/v0.62/databases/uploads.html index de18f9e72c..ad1ed92fe6 100644 --- a/_site/docs/v0.62/databases/uploads.html +++ b/_site/docs/v0.62/databases/uploads.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/databases/users-roles-privileges.html b/_site/docs/v0.62/databases/users-roles-privileges.html index 4b07689b7e..e8b01c81f9 100644 --- a/_site/docs/v0.62/databases/users-roles-privileges.html +++ b/_site/docs/v0.62/databases/users-roles-privileges.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/databases/writable-connection.html b/_site/docs/v0.62/databases/writable-connection.html index 5dc45dfba9..337f5b76fb 100644 --- a/_site/docs/v0.62/databases/writable-connection.html +++ b/_site/docs/v0.62/databases/writable-connection.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/developers-guide/api-changelog.html b/_site/docs/v0.62/developers-guide/api-changelog.html index f1b4af6a31..9df75d4526 100644 --- a/_site/docs/v0.62/developers-guide/api-changelog.html +++ b/_site/docs/v0.62/developers-guide/api-changelog.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/developers-guide/build.html b/_site/docs/v0.62/developers-guide/build.html index 6c3f3c42e5..6dda1d4a67 100644 --- a/_site/docs/v0.62/developers-guide/build.html +++ b/_site/docs/v0.62/developers-guide/build.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/developers-guide/clojure.html b/_site/docs/v0.62/developers-guide/clojure.html index 764a36ddd6..714b78d575 100644 --- a/_site/docs/v0.62/developers-guide/clojure.html +++ b/_site/docs/v0.62/developers-guide/clojure.html @@ -226,6 +226,12 @@ + + + + + + @@ -1030,9 +1036,47 @@
    Learn
    - @@ -1812,9 +1856,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1828,6 +1911,17 @@
    Embedded Analytics
    + + +
    @@ -6210,13 +6304,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/developers-guide/code-reviews.html b/_site/docs/v0.62/developers-guide/code-reviews.html index 70c4ed03d0..0d8c3a2556 100644 --- a/_site/docs/v0.62/developers-guide/code-reviews.html +++ b/_site/docs/v0.62/developers-guide/code-reviews.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/developers-guide/community-drivers.html b/_site/docs/v0.62/developers-guide/community-drivers.html index a281aee292..7078e336ed 100644 --- a/_site/docs/v0.62/developers-guide/community-drivers.html +++ b/_site/docs/v0.62/developers-guide/community-drivers.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/developers-guide/custom-visualizations.html b/_site/docs/v0.62/developers-guide/custom-visualizations.html index efaf153fbc..beba18fc13 100644 --- a/_site/docs/v0.62/developers-guide/custom-visualizations.html +++ b/_site/docs/v0.62/developers-guide/custom-visualizations.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/developers-guide/dev-branch-docker.html b/_site/docs/v0.62/developers-guide/dev-branch-docker.html index bfb26b7335..b51abd31a8 100644 --- a/_site/docs/v0.62/developers-guide/dev-branch-docker.html +++ b/_site/docs/v0.62/developers-guide/dev-branch-docker.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/developers-guide/devenv.html b/_site/docs/v0.62/developers-guide/devenv.html index 07619e5e9f..82eb596dcd 100644 --- a/_site/docs/v0.62/developers-guide/devenv.html +++ b/_site/docs/v0.62/developers-guide/devenv.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/developers-guide/docs.html b/_site/docs/v0.62/developers-guide/docs.html index f645a3e4b8..55d139f445 100644 --- a/_site/docs/v0.62/developers-guide/docs.html +++ b/_site/docs/v0.62/developers-guide/docs.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/developers-guide/driver-changelog.html b/_site/docs/v0.62/developers-guide/driver-changelog.html index a21cac74aa..f159be0867 100644 --- a/_site/docs/v0.62/developers-guide/driver-changelog.html +++ b/_site/docs/v0.62/developers-guide/driver-changelog.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/developers-guide/drivers/basics.html b/_site/docs/v0.62/developers-guide/drivers/basics.html index 9569493161..96bc227554 100644 --- a/_site/docs/v0.62/developers-guide/drivers/basics.html +++ b/_site/docs/v0.62/developers-guide/drivers/basics.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/developers-guide/drivers/driver-tests.html b/_site/docs/v0.62/developers-guide/drivers/driver-tests.html index 297f02a222..c83f3582e6 100644 --- a/_site/docs/v0.62/developers-guide/drivers/driver-tests.html +++ b/_site/docs/v0.62/developers-guide/drivers/driver-tests.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/developers-guide/drivers/multimethods.html b/_site/docs/v0.62/developers-guide/drivers/multimethods.html index ee6e1f5459..46aa1c52d7 100644 --- a/_site/docs/v0.62/developers-guide/drivers/multimethods.html +++ b/_site/docs/v0.62/developers-guide/drivers/multimethods.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/developers-guide/drivers/plugins.html b/_site/docs/v0.62/developers-guide/drivers/plugins.html index 1962aa6a35..64e2c224c3 100644 --- a/_site/docs/v0.62/developers-guide/drivers/plugins.html +++ b/_site/docs/v0.62/developers-guide/drivers/plugins.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/developers-guide/drivers/start.html b/_site/docs/v0.62/developers-guide/drivers/start.html index 5847d2d843..e9c6a5450b 100644 --- a/_site/docs/v0.62/developers-guide/drivers/start.html +++ b/_site/docs/v0.62/developers-guide/drivers/start.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/developers-guide/e2e-tests.html b/_site/docs/v0.62/developers-guide/e2e-tests.html index 618bafe42e..9ce9273d64 100644 --- a/_site/docs/v0.62/developers-guide/e2e-tests.html +++ b/_site/docs/v0.62/developers-guide/e2e-tests.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/developers-guide/emacs.html b/_site/docs/v0.62/developers-guide/emacs.html index a8d00c1917..8d8604778b 100644 --- a/_site/docs/v0.62/developers-guide/emacs.html +++ b/_site/docs/v0.62/developers-guide/emacs.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/developers-guide/frontend.html b/_site/docs/v0.62/developers-guide/frontend.html index 4ac2471285..a6acc603a9 100644 --- a/_site/docs/v0.62/developers-guide/frontend.html +++ b/_site/docs/v0.62/developers-guide/frontend.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/developers-guide/internationalization.html b/_site/docs/v0.62/developers-guide/internationalization.html index 6bb9ffc12b..c0e12b7eb5 100644 --- a/_site/docs/v0.62/developers-guide/internationalization.html +++ b/_site/docs/v0.62/developers-guide/internationalization.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/developers-guide/mage.html b/_site/docs/v0.62/developers-guide/mage.html index 69d8510a94..b34c835dc9 100644 --- a/_site/docs/v0.62/developers-guide/mage.html +++ b/_site/docs/v0.62/developers-guide/mage.html @@ -6,10 +6,12 @@ - - + + + + + + +
    @@ -1885,7 +1981,7 @@
    Analytics
  • - + Queries and charts @@ -1908,7 +2004,7 @@
    Analytics
  • - + Introduction @@ -1944,7 +2040,7 @@
    Analytics
  • - + Editor @@ -1958,7 +2054,7 @@
    Analytics
  • - + Filtering @@ -1972,7 +2068,7 @@
    Analytics
  • - + Summarizing and grouping @@ -1986,7 +2082,7 @@
    Analytics
  • - + Joining data @@ -2000,7 +2096,7 @@
    Analytics
  • - + Custom expressions @@ -2014,7 +2110,7 @@
    Analytics
  • - + List of expressions @@ -2054,7 +2150,7 @@
    Analytics
  • - + SQL editor @@ -2068,7 +2164,7 @@
    Analytics
  • - + SQL parameters @@ -2082,7 +2178,7 @@
    Analytics
  • - + Field filters @@ -2096,7 +2192,7 @@
    Analytics
  • - + Basic SQL parameters @@ -2110,7 +2206,7 @@
    Analytics
  • - + Time grouping parameters @@ -2124,7 +2220,7 @@
    Analytics
  • - + Table variables @@ -2138,7 +2234,7 @@
    Analytics
  • - + Optional variables @@ -2152,7 +2248,7 @@
    Analytics
  • - + Filter widgets @@ -2166,7 +2262,7 @@
    Analytics
  • - + Referencing models and questions @@ -2180,7 +2276,7 @@
    Analytics
  • - + Snippets @@ -2194,7 +2290,7 @@
    Analytics
  • - + Snippet folder permissions @@ -2234,7 +2330,7 @@
    Analytics
  • - + Overview @@ -2248,7 +2344,7 @@
    Analytics
  • - + Box plot @@ -2262,7 +2358,7 @@
    Analytics
  • - + Combo chart @@ -2276,7 +2372,7 @@
    Analytics
  • - + Details chart @@ -2290,7 +2386,7 @@
    Analytics
  • - + Funnel chart @@ -2304,7 +2400,7 @@
    Analytics
  • - + Gauge chart @@ -2318,7 +2414,7 @@
    Analytics
  • - + Line, bar, and area charts @@ -2332,7 +2428,7 @@
    Analytics
  • - + Maps @@ -2346,7 +2442,7 @@
    Analytics
  • - + Number chart @@ -2360,7 +2456,7 @@
    Analytics
  • - + Pie and sunburst charts @@ -2374,7 +2470,7 @@
    Analytics
  • - + Pivot tables @@ -2388,7 +2484,7 @@
    Analytics
  • - + Progress bar @@ -2402,7 +2498,7 @@
    Analytics
  • - + Sankey chart @@ -2416,7 +2512,7 @@
    Analytics
  • - + Scatterplot @@ -2430,7 +2526,7 @@
    Analytics
  • - + Table @@ -2444,7 +2540,7 @@
    Analytics
  • - + Trend chart @@ -2458,7 +2554,7 @@
    Analytics
  • - + Waterfall chart @@ -2472,7 +2568,7 @@
    Analytics
  • - + Tooltips @@ -2491,7 +2587,7 @@
    Analytics
  • - + Metrics explorer @@ -2506,7 +2602,7 @@
    Analytics
  • - + Alerts @@ -2521,7 +2617,7 @@
    Analytics
  • - + Exporting data @@ -2542,7 +2638,7 @@
    Analytics
  • - + Dashboards @@ -2565,7 +2661,7 @@
    Analytics
  • - + Overview @@ -2580,7 +2676,7 @@
    Analytics
  • - + Dashboard filters @@ -2595,7 +2691,7 @@
    Analytics
  • - + Linked filters @@ -2610,7 +2706,7 @@
    Analytics
  • - + Dashboard interactivity @@ -2625,7 +2721,7 @@
    Analytics
  • - + Charts with multiple series @@ -2640,7 +2736,7 @@
    Analytics
  • - + Dashboard subscriptions @@ -2655,7 +2751,7 @@
    Analytics
  • - + Actions on dashboards @@ -2676,7 +2772,7 @@
    Analytics
  • - + Documents @@ -2699,7 +2795,7 @@
    Analytics
  • - + Overview @@ -2720,7 +2816,7 @@
    Analytics
  • - + AI @@ -2743,7 +2839,7 @@
    Analytics
  • - + Overview @@ -2758,7 +2854,7 @@
    Analytics
  • - + Metabot @@ -2773,7 +2869,7 @@
    Analytics
  • - + Metabot in Slack @@ -2788,7 +2884,7 @@
    Analytics
  • - + Settings @@ -2803,7 +2899,7 @@
    Analytics
  • - + MCP server @@ -2818,7 +2914,7 @@
    Analytics
  • - + Agent API @@ -2833,7 +2929,7 @@
    Analytics
  • - + Agent-driven development @@ -2848,7 +2944,7 @@
    Analytics
  • - + Customization @@ -2863,7 +2959,7 @@
    Analytics
  • - + System prompts @@ -2878,7 +2974,7 @@
    Analytics
  • - + Usage auditing @@ -2893,7 +2989,7 @@
    Analytics
  • - + Usage controls @@ -2908,7 +3004,7 @@
    Analytics
  • - + AI privacy @@ -2929,7 +3025,7 @@
    Analytics
  • - + Data modeling @@ -2952,7 +3048,7 @@
    Analytics
  • - + Models @@ -2967,7 +3063,7 @@
    Analytics
  • - + Model persistence @@ -2982,7 +3078,7 @@
    Analytics
  • - + Metrics @@ -2997,7 +3093,7 @@
    Analytics
  • - + Table metadata settings @@ -3012,7 +3108,7 @@
    Analytics
  • - + Data and semantic types @@ -3027,7 +3123,7 @@
    Analytics
  • - + Editable tables @@ -3042,7 +3138,7 @@
    Analytics
  • - + Formatting defaults @@ -3057,7 +3153,7 @@
    Analytics
  • - + Working with JSON @@ -3072,7 +3168,7 @@
    Analytics
  • - + Segments @@ -3108,7 +3204,7 @@
    Analytics
  • - + Overview @@ -3122,7 +3218,7 @@
    Analytics
  • - + Basic actions @@ -3136,7 +3232,7 @@
    Analytics
  • - + Custom actions @@ -3161,7 +3257,7 @@
    Analytics
  • - + Data Studio @@ -3184,7 +3280,7 @@
    Analytics
  • - + Overview @@ -3199,7 +3295,7 @@
    Analytics
  • - + Library @@ -3214,7 +3310,7 @@
    Analytics
  • - + Data structure @@ -3229,7 +3325,7 @@
    Analytics
  • - + Glossary @@ -3244,7 +3340,7 @@
    Analytics
  • - + Dependency graph @@ -3259,7 +3355,7 @@
    Analytics
  • - + Dependency diagnostics @@ -3295,7 +3391,7 @@
    Analytics
  • - + Overview @@ -3309,7 +3405,7 @@
    Analytics
  • - + Query transforms @@ -3323,7 +3419,7 @@
    Analytics
  • - + Python transforms @@ -3337,7 +3433,7 @@
    Analytics
  • - + Python runner @@ -3351,7 +3447,7 @@
    Analytics
  • - + Jobs and runs @@ -3365,7 +3461,7 @@
    Analytics
  • - + Transform inspector @@ -3379,7 +3475,7 @@
    Analytics
  • - + Add-ons @@ -3404,7 +3500,7 @@
    Analytics
  • - + Organization @@ -3427,7 +3523,7 @@
    Analytics
  • - + Basic exploration @@ -3442,7 +3538,7 @@
    Analytics
  • - + Keyboard shortcuts @@ -3457,7 +3553,7 @@
    Analytics
  • - + Collections @@ -3472,7 +3568,7 @@
    Analytics
  • - + Data reference @@ -3487,7 +3583,7 @@
    Analytics
  • - + Events and timelines @@ -3502,7 +3598,7 @@
    Analytics
  • - + X-rays @@ -3517,7 +3613,7 @@
    Analytics
  • - + Content verification @@ -3532,7 +3628,7 @@
    Analytics
  • - + History @@ -3547,7 +3643,7 @@
    Analytics
  • - + Delete and restore @@ -3574,7 +3670,7 @@
    Embedding
  • - + Overview @@ -3615,7 +3711,7 @@
    Embedding
  • - + Overview @@ -3630,7 +3726,7 @@
    Embedding
  • - + Components @@ -3645,7 +3741,7 @@
    Embedding
  • - + Filters and parameters @@ -3660,7 +3756,7 @@
    Embedding
  • - + Appearance @@ -3675,7 +3771,7 @@
    Embedding
  • - + Authentication @@ -3690,7 +3786,7 @@
    Embedding
  • - + Tenants @@ -3726,7 +3822,7 @@
    Embedding
  • - + Overview @@ -3740,7 +3836,7 @@
    Embedding
  • - + Quickstarts @@ -3771,35 +3867,35 @@
    Embedding
  • - + Questions
  • - + Dashboards
  • - + AI chat
  • - + Collections
  • - + Plugins
  • @@ -3831,21 +3927,21 @@
    Embedding
  • - + Provider config
  • - + Working with Next.js
  • - + Versioning
  • @@ -3860,7 +3956,7 @@
    Embedding
  • - + Upgrading @@ -3874,7 +3970,7 @@
    Embedding
  • - + API @@ -3893,7 +3989,7 @@
    Embedding
  • - + Guest embedding @@ -3908,7 +4004,7 @@
    Embedding
  • - + Translate embeds @@ -3952,7 +4048,7 @@
    Embedding
  • - + Overview @@ -3967,7 +4063,7 @@
    Embedding
  • - + Quickstart @@ -3982,7 +4078,7 @@
    Embedding
  • - + Full app UI components @@ -4003,7 +4099,7 @@
    Embedding
  • - + Public links and embeds @@ -4021,7 +4117,7 @@
    Embedding
  • - + Securing embeds @@ -4039,7 +4135,7 @@
    Embedding
  • - + AI agent resources @@ -4063,7 +4159,7 @@
    Administration
  • - + Installation @@ -4107,7 +4203,7 @@
    Administration
  • - + Installation overview @@ -4135,7 +4231,7 @@
    Administration
  • - + Running the JAR file @@ -4149,7 +4245,7 @@
    Administration
  • - + Running in Docker @@ -4163,7 +4259,7 @@
    Administration
  • - + Other installation options @@ -4182,7 +4278,7 @@
    Administration
  • - + Upgrading Metabase @@ -4197,7 +4293,7 @@
    Administration
  • - + Configuring the Metabase application database @@ -4212,7 +4308,7 @@
    Administration
  • - + Activating Enterprise features @@ -4227,7 +4323,7 @@
    Administration
  • - + Migrating to a production application database @@ -4248,7 +4344,7 @@
    Administration
  • - + Data sources @@ -4271,7 +4367,7 @@
    Administration
  • - + Adding and managing databases @@ -4307,7 +4403,7 @@
    Administration
  • - + Athena @@ -4321,7 +4417,7 @@
    Administration
  • - + Amazon RDS @@ -4335,7 +4431,7 @@
    Administration
  • - + BigQuery @@ -4349,7 +4445,7 @@
    Administration
  • - + ClickHouse @@ -4363,7 +4459,7 @@
    Administration
  • - + Databricks @@ -4377,7 +4473,7 @@
    Administration
  • - + Druid @@ -4391,7 +4487,7 @@
    Administration
  • - + MariaDB @@ -4405,7 +4501,7 @@
    Administration
  • - + MongoDB @@ -4419,7 +4515,7 @@
    Administration
  • - + MySQL @@ -4433,7 +4529,7 @@
    Administration
  • - + Oracle @@ -4447,7 +4543,7 @@
    Administration
  • - + PostgreSQL @@ -4461,7 +4557,7 @@
    Administration
  • - + Presto @@ -4475,7 +4571,7 @@
    Administration
  • - + Redshift @@ -4489,7 +4585,7 @@
    Administration
  • - + Snowflake @@ -4503,7 +4599,7 @@
    Administration
  • - + SQL Server @@ -4517,7 +4613,7 @@
    Administration
  • - + SQLite @@ -4531,7 +4627,7 @@
    Administration
  • - + Spark SQL @@ -4545,7 +4641,7 @@
    Administration
  • - + Starburst @@ -4559,7 +4655,7 @@
    Administration
  • - + Vertica @@ -4573,7 +4669,7 @@
    Administration
  • - + Community drivers @@ -4592,7 +4688,7 @@
    Administration
  • - + Database users, roles, and privileges @@ -4607,7 +4703,7 @@
    Administration
  • - + Writeable connection @@ -4622,7 +4718,7 @@
    Administration
  • - + Syncing and scanning databases @@ -4637,7 +4733,7 @@
    Administration
  • - + Encrypting your database connection @@ -4652,7 +4748,7 @@
    Administration
  • - + SSH tunneling @@ -4667,7 +4763,7 @@
    Administration
  • - + SSL certificate @@ -4682,7 +4778,7 @@
    Administration
  • - + Setting up data uploads @@ -4697,7 +4793,7 @@
    Administration
  • - + Uploading data @@ -4748,7 +4844,7 @@
    Administration
  • - + Configuration @@ -4771,7 +4867,7 @@
    Administration
  • - + Setting up Metabase @@ -4786,7 +4882,7 @@
    Administration
  • - + General settings @@ -4801,7 +4897,7 @@
    Administration
  • - + Set up email @@ -4816,7 +4912,7 @@
    Administration
  • - + Set up Slack @@ -4831,7 +4927,7 @@
    Administration
  • - + Webhooks @@ -4846,7 +4942,7 @@
    Administration
  • - + Environment variables @@ -4861,7 +4957,7 @@
    Administration
  • - + Configuration file @@ -4876,7 +4972,7 @@
    Administration
  • - + Config file template @@ -4891,7 +4987,7 @@
    Administration
  • - + Metabase log configuration @@ -4906,7 +5002,7 @@
    Administration
  • - + Timezones @@ -4921,7 +5017,7 @@
    Administration
  • - + Languages and localization @@ -4936,7 +5032,7 @@
    Administration
  • - + Appearance @@ -4951,7 +5047,7 @@
    Administration
  • - + Fonts @@ -4966,7 +5062,7 @@
    Administration
  • - + Caching query results @@ -4981,7 +5077,7 @@
    Administration
  • - + Custom maps @@ -4996,7 +5092,7 @@
    Administration
  • - + Customizing the Metabase Jetty webserver @@ -5017,7 +5113,7 @@
    Administration
  • - + Operations and monitoring @@ -5040,7 +5136,7 @@
    Administration
  • - + Backing up Metabase @@ -5055,7 +5151,7 @@
    Administration
  • - + Development instances @@ -5070,7 +5166,7 @@
    Administration
  • - + Monitoring your Metabase @@ -5085,7 +5181,7 @@
    Administration
  • - + Observability with Prometheus @@ -5100,7 +5196,7 @@
    Administration
  • - + Serialization @@ -5115,7 +5211,7 @@
    Administration
  • - + Remote Sync @@ -5130,7 +5226,7 @@
    Administration
  • - + Commands @@ -5145,7 +5241,7 @@
    Administration
  • - + Usage analytics @@ -5160,7 +5256,7 @@
    Administration
  • - + Security center @@ -5175,7 +5271,7 @@
    Administration
  • - + Admin tools @@ -5196,7 +5292,7 @@
    Administration
  • - + Authentication @@ -5219,7 +5315,7 @@
    Administration
  • - + Account settings @@ -5234,7 +5330,7 @@
    Administration
  • - + Password complexity @@ -5249,7 +5345,7 @@
    Administration
  • - + Session expiration @@ -5264,7 +5360,7 @@
    Administration
  • - + Google Sign-In @@ -5279,7 +5375,7 @@
    Administration
  • - + LDAP @@ -5294,7 +5390,7 @@
    Administration
  • - + User provisioning @@ -5309,7 +5405,7 @@
    Administration
  • - + API keys @@ -5324,7 +5420,7 @@
    Administration
  • - + Paid SSO options @@ -5345,7 +5441,7 @@
    Administration
  • - + JWT-based authentication @@ -5359,7 +5455,7 @@
    Administration
  • - + SAML-based authentication @@ -5373,7 +5469,7 @@
    Administration
  • - + SAML with Auth0 @@ -5387,7 +5483,7 @@
    Administration
  • - + SAML with Microsoft Entra ID @@ -5401,7 +5497,7 @@
    Administration
  • - + SAML with Google @@ -5415,7 +5511,7 @@
    Administration
  • - + SAML with Keycloak @@ -5429,7 +5525,7 @@
    Administration
  • - + SAML with Okta @@ -5443,7 +5539,7 @@
    Administration
  • - + OIDC-based authentication @@ -5457,7 +5553,7 @@
    Administration
  • - + OIDC with Keycloak @@ -5482,7 +5578,7 @@
    Administration
  • - + Permissions @@ -5505,7 +5601,7 @@
    Administration
  • - + Permissions introduction @@ -5520,7 +5616,7 @@
    Administration
  • - + Managing people and groups @@ -5535,7 +5631,7 @@
    Administration
  • - + Data permissions @@ -5550,7 +5646,7 @@
    Administration
  • - + Collection permissions @@ -5565,7 +5661,7 @@
    Administration
  • - + Application permissions @@ -5580,7 +5676,7 @@
    Administration
  • - + Row and column security @@ -5595,7 +5691,7 @@
    Administration
  • - + Row and column security examples @@ -5610,7 +5706,7 @@
    Administration
  • - + Database routing @@ -5625,7 +5721,7 @@
    Administration
  • - + Impersonation @@ -5640,7 +5736,7 @@
    Administration
  • - + Snippets folder permissions @@ -5655,7 +5751,7 @@
    Administration
  • - + Notification permissions @@ -5670,7 +5766,7 @@
    Administration
  • - + Configuring permissions for embedding @@ -5697,7 +5793,7 @@
    Other resources
  • - + API @@ -5923,7 +6019,7 @@
    Other resources
  • - + Troubleshooting @@ -5941,7 +6037,7 @@
    Other resources
  • - + Developer guide @@ -5977,7 +6073,7 @@
    Other resources
  • - + Accessibility @@ -5995,7 +6091,7 @@
    Other resources
  • - + Supported browsers @@ -6013,7 +6109,7 @@
    Other resources
  • - + Privacy @@ -6031,7 +6127,7 @@
    Other resources
  • - + About the anonymous usage data we collect @@ -6200,13 +6296,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/developers-guide/mbql-library-changelog.html b/_site/docs/v0.62/developers-guide/mbql-library-changelog.html index fe9a46b18d..fcee418f11 100644 --- a/_site/docs/v0.62/developers-guide/mbql-library-changelog.html +++ b/_site/docs/v0.62/developers-guide/mbql-library-changelog.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
  • - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/developers-guide/security-token-scanner.html b/_site/docs/v0.62/developers-guide/security-token-scanner.html index 54fe58652b..2db73b521d 100644 --- a/_site/docs/v0.62/developers-guide/security-token-scanner.html +++ b/_site/docs/v0.62/developers-guide/security-token-scanner.html @@ -6,10 +6,12 @@ - - + + + + + + +
    @@ -1885,7 +1981,7 @@
    Analytics
  • - + Queries and charts @@ -1908,7 +2004,7 @@
    Analytics
  • - + Introduction @@ -1944,7 +2040,7 @@
    Analytics
  • - + Editor @@ -1958,7 +2054,7 @@
    Analytics
  • - + Filtering @@ -1972,7 +2068,7 @@
    Analytics
  • - + Summarizing and grouping @@ -1986,7 +2082,7 @@
    Analytics
  • - + Joining data @@ -2000,7 +2096,7 @@
    Analytics
  • - + Custom expressions @@ -2014,7 +2110,7 @@
    Analytics
  • - + List of expressions @@ -2054,7 +2150,7 @@
    Analytics
  • - + SQL editor @@ -2068,7 +2164,7 @@
    Analytics
  • - + SQL parameters @@ -2082,7 +2178,7 @@
    Analytics
  • - + Field filters @@ -2096,7 +2192,7 @@
    Analytics
  • - + Basic SQL parameters @@ -2110,7 +2206,7 @@
    Analytics
  • - + Time grouping parameters @@ -2124,7 +2220,7 @@
    Analytics
  • - + Table variables @@ -2138,7 +2234,7 @@
    Analytics
  • - + Optional variables @@ -2152,7 +2248,7 @@
    Analytics
  • - + Filter widgets @@ -2166,7 +2262,7 @@
    Analytics
  • - + Referencing models and questions @@ -2180,7 +2276,7 @@
    Analytics
  • - + Snippets @@ -2194,7 +2290,7 @@
    Analytics
  • - + Snippet folder permissions @@ -2234,7 +2330,7 @@
    Analytics
  • - + Overview @@ -2248,7 +2344,7 @@
    Analytics
  • - + Box plot @@ -2262,7 +2358,7 @@
    Analytics
  • - + Combo chart @@ -2276,7 +2372,7 @@
    Analytics
  • - + Details chart @@ -2290,7 +2386,7 @@
    Analytics
  • - + Funnel chart @@ -2304,7 +2400,7 @@
    Analytics
  • - + Gauge chart @@ -2318,7 +2414,7 @@
    Analytics
  • - + Line, bar, and area charts @@ -2332,7 +2428,7 @@
    Analytics
  • - + Maps @@ -2346,7 +2442,7 @@
    Analytics
  • - + Number chart @@ -2360,7 +2456,7 @@
    Analytics
  • - + Pie and sunburst charts @@ -2374,7 +2470,7 @@
    Analytics
  • - + Pivot tables @@ -2388,7 +2484,7 @@
    Analytics
  • - + Progress bar @@ -2402,7 +2498,7 @@
    Analytics
  • - + Sankey chart @@ -2416,7 +2512,7 @@
    Analytics
  • - + Scatterplot @@ -2430,7 +2526,7 @@
    Analytics
  • - + Table @@ -2444,7 +2540,7 @@
    Analytics
  • - + Trend chart @@ -2458,7 +2554,7 @@
    Analytics
  • - + Waterfall chart @@ -2472,7 +2568,7 @@
    Analytics
  • - + Tooltips @@ -2491,7 +2587,7 @@
    Analytics
  • - + Metrics explorer @@ -2506,7 +2602,7 @@
    Analytics
  • - + Alerts @@ -2521,7 +2617,7 @@
    Analytics
  • - + Exporting data @@ -2542,7 +2638,7 @@
    Analytics
  • - + Dashboards @@ -2565,7 +2661,7 @@
    Analytics
  • - + Overview @@ -2580,7 +2676,7 @@
    Analytics
  • - + Dashboard filters @@ -2595,7 +2691,7 @@
    Analytics
  • - + Linked filters @@ -2610,7 +2706,7 @@
    Analytics
  • - + Dashboard interactivity @@ -2625,7 +2721,7 @@
    Analytics
  • - + Charts with multiple series @@ -2640,7 +2736,7 @@
    Analytics
  • - + Dashboard subscriptions @@ -2655,7 +2751,7 @@
    Analytics
  • - + Actions on dashboards @@ -2676,7 +2772,7 @@
    Analytics
  • - + Documents @@ -2699,7 +2795,7 @@
    Analytics
  • - + Overview @@ -2720,7 +2816,7 @@
    Analytics
  • - + AI @@ -2743,7 +2839,7 @@
    Analytics
  • - + Overview @@ -2758,7 +2854,7 @@
    Analytics
  • - + Metabot @@ -2773,7 +2869,7 @@
    Analytics
  • - + Metabot in Slack @@ -2788,7 +2884,7 @@
    Analytics
  • - + Settings @@ -2803,7 +2899,7 @@
    Analytics
  • - + MCP server @@ -2818,7 +2914,7 @@
    Analytics
  • - + Agent API @@ -2833,7 +2929,7 @@
    Analytics
  • - + Agent-driven development @@ -2848,7 +2944,7 @@
    Analytics
  • - + Customization @@ -2863,7 +2959,7 @@
    Analytics
  • - + System prompts @@ -2878,7 +2974,7 @@
    Analytics
  • - + Usage auditing @@ -2893,7 +2989,7 @@
    Analytics
  • - + Usage controls @@ -2908,7 +3004,7 @@
    Analytics
  • - + AI privacy @@ -2929,7 +3025,7 @@
    Analytics
  • - + Data modeling @@ -2952,7 +3048,7 @@
    Analytics
  • - + Models @@ -2967,7 +3063,7 @@
    Analytics
  • - + Model persistence @@ -2982,7 +3078,7 @@
    Analytics
  • - + Metrics @@ -2997,7 +3093,7 @@
    Analytics
  • - + Table metadata settings @@ -3012,7 +3108,7 @@
    Analytics
  • - + Data and semantic types @@ -3027,7 +3123,7 @@
    Analytics
  • - + Editable tables @@ -3042,7 +3138,7 @@
    Analytics
  • - + Formatting defaults @@ -3057,7 +3153,7 @@
    Analytics
  • - + Working with JSON @@ -3072,7 +3168,7 @@
    Analytics
  • - + Segments @@ -3108,7 +3204,7 @@
    Analytics
  • - + Overview @@ -3122,7 +3218,7 @@
    Analytics
  • - + Basic actions @@ -3136,7 +3232,7 @@
    Analytics
  • - + Custom actions @@ -3161,7 +3257,7 @@
    Analytics
  • - + Data Studio @@ -3184,7 +3280,7 @@
    Analytics
  • - + Overview @@ -3199,7 +3295,7 @@
    Analytics
  • - + Library @@ -3214,7 +3310,7 @@
    Analytics
  • - + Data structure @@ -3229,7 +3325,7 @@
    Analytics
  • - + Glossary @@ -3244,7 +3340,7 @@
    Analytics
  • - + Dependency graph @@ -3259,7 +3355,7 @@
    Analytics
  • - + Dependency diagnostics @@ -3295,7 +3391,7 @@
    Analytics
  • - + Overview @@ -3309,7 +3405,7 @@
    Analytics
  • - + Query transforms @@ -3323,7 +3419,7 @@
    Analytics
  • - + Python transforms @@ -3337,7 +3433,7 @@
    Analytics
  • - + Python runner @@ -3351,7 +3447,7 @@
    Analytics
  • - + Jobs and runs @@ -3365,7 +3461,7 @@
    Analytics
  • - + Transform inspector @@ -3379,7 +3475,7 @@
    Analytics
  • - + Add-ons @@ -3404,7 +3500,7 @@
    Analytics
  • - + Organization @@ -3427,7 +3523,7 @@
    Analytics
  • - + Basic exploration @@ -3442,7 +3538,7 @@
    Analytics
  • - + Keyboard shortcuts @@ -3457,7 +3553,7 @@
    Analytics
  • - + Collections @@ -3472,7 +3568,7 @@
    Analytics
  • - + Data reference @@ -3487,7 +3583,7 @@
    Analytics
  • - + Events and timelines @@ -3502,7 +3598,7 @@
    Analytics
  • - + X-rays @@ -3517,7 +3613,7 @@
    Analytics
  • - + Content verification @@ -3532,7 +3628,7 @@
    Analytics
  • - + History @@ -3547,7 +3643,7 @@
    Analytics
  • - + Delete and restore @@ -3574,7 +3670,7 @@
    Embedding
  • - + Overview @@ -3615,7 +3711,7 @@
    Embedding
  • - + Overview @@ -3630,7 +3726,7 @@
    Embedding
  • - + Components @@ -3645,7 +3741,7 @@
    Embedding
  • - + Filters and parameters @@ -3660,7 +3756,7 @@
    Embedding
  • - + Appearance @@ -3675,7 +3771,7 @@
    Embedding
  • - + Authentication @@ -3690,7 +3786,7 @@
    Embedding
  • - + Tenants @@ -3726,7 +3822,7 @@
    Embedding
  • - + Overview @@ -3740,7 +3836,7 @@
    Embedding
  • - + Quickstarts @@ -3771,35 +3867,35 @@
    Embedding
  • - + Questions
  • - + Dashboards
  • - + AI chat
  • - + Collections
  • - + Plugins
  • @@ -3831,21 +3927,21 @@
    Embedding
  • - + Provider config
  • - + Working with Next.js
  • - + Versioning
  • @@ -3860,7 +3956,7 @@
    Embedding
  • - + Upgrading @@ -3874,7 +3970,7 @@
    Embedding
  • - + API @@ -3893,7 +3989,7 @@
    Embedding
  • - + Guest embedding @@ -3908,7 +4004,7 @@
    Embedding
  • - + Translate embeds @@ -3952,7 +4048,7 @@
    Embedding
  • - + Overview @@ -3967,7 +4063,7 @@
    Embedding
  • - + Quickstart @@ -3982,7 +4078,7 @@
    Embedding
  • - + Full app UI components @@ -4003,7 +4099,7 @@
    Embedding
  • - + Public links and embeds @@ -4021,7 +4117,7 @@
    Embedding
  • - + Securing embeds @@ -4039,7 +4135,7 @@
    Embedding
  • - + AI agent resources @@ -4063,7 +4159,7 @@
    Administration
  • - + Installation @@ -4107,7 +4203,7 @@
    Administration
  • - + Installation overview @@ -4135,7 +4231,7 @@
    Administration
  • - + Running the JAR file @@ -4149,7 +4245,7 @@
    Administration
  • - + Running in Docker @@ -4163,7 +4259,7 @@
    Administration
  • - + Other installation options @@ -4182,7 +4278,7 @@
    Administration
  • - + Upgrading Metabase @@ -4197,7 +4293,7 @@
    Administration
  • - + Configuring the Metabase application database @@ -4212,7 +4308,7 @@
    Administration
  • - + Activating Enterprise features @@ -4227,7 +4323,7 @@
    Administration
  • - + Migrating to a production application database @@ -4248,7 +4344,7 @@
    Administration
  • - + Data sources @@ -4271,7 +4367,7 @@
    Administration
  • - + Adding and managing databases @@ -4307,7 +4403,7 @@
    Administration
  • - + Athena @@ -4321,7 +4417,7 @@
    Administration
  • - + Amazon RDS @@ -4335,7 +4431,7 @@
    Administration
  • - + BigQuery @@ -4349,7 +4445,7 @@
    Administration
  • - + ClickHouse @@ -4363,7 +4459,7 @@
    Administration
  • - + Databricks @@ -4377,7 +4473,7 @@
    Administration
  • - + Druid @@ -4391,7 +4487,7 @@
    Administration
  • - + MariaDB @@ -4405,7 +4501,7 @@
    Administration
  • - + MongoDB @@ -4419,7 +4515,7 @@
    Administration
  • - + MySQL @@ -4433,7 +4529,7 @@
    Administration
  • - + Oracle @@ -4447,7 +4543,7 @@
    Administration
  • - + PostgreSQL @@ -4461,7 +4557,7 @@
    Administration
  • - + Presto @@ -4475,7 +4571,7 @@
    Administration
  • - + Redshift @@ -4489,7 +4585,7 @@
    Administration
  • - + Snowflake @@ -4503,7 +4599,7 @@
    Administration
  • - + SQL Server @@ -4517,7 +4613,7 @@
    Administration
  • - + SQLite @@ -4531,7 +4627,7 @@
    Administration
  • - + Spark SQL @@ -4545,7 +4641,7 @@
    Administration
  • - + Starburst @@ -4559,7 +4655,7 @@
    Administration
  • - + Vertica @@ -4573,7 +4669,7 @@
    Administration
  • - + Community drivers @@ -4592,7 +4688,7 @@
    Administration
  • - + Database users, roles, and privileges @@ -4607,7 +4703,7 @@
    Administration
  • - + Writeable connection @@ -4622,7 +4718,7 @@
    Administration
  • - + Syncing and scanning databases @@ -4637,7 +4733,7 @@
    Administration
  • - + Encrypting your database connection @@ -4652,7 +4748,7 @@
    Administration
  • - + SSH tunneling @@ -4667,7 +4763,7 @@
    Administration
  • - + SSL certificate @@ -4682,7 +4778,7 @@
    Administration
  • - + Setting up data uploads @@ -4697,7 +4793,7 @@
    Administration
  • - + Uploading data @@ -4748,7 +4844,7 @@
    Administration
  • - + Configuration @@ -4771,7 +4867,7 @@
    Administration
  • - + Setting up Metabase @@ -4786,7 +4882,7 @@
    Administration
  • - + General settings @@ -4801,7 +4897,7 @@
    Administration
  • - + Set up email @@ -4816,7 +4912,7 @@
    Administration
  • - + Set up Slack @@ -4831,7 +4927,7 @@
    Administration
  • - + Webhooks @@ -4846,7 +4942,7 @@
    Administration
  • - + Environment variables @@ -4861,7 +4957,7 @@
    Administration
  • - + Configuration file @@ -4876,7 +4972,7 @@
    Administration
  • - + Config file template @@ -4891,7 +4987,7 @@
    Administration
  • - + Metabase log configuration @@ -4906,7 +5002,7 @@
    Administration
  • - + Timezones @@ -4921,7 +5017,7 @@
    Administration
  • - + Languages and localization @@ -4936,7 +5032,7 @@
    Administration
  • - + Appearance @@ -4951,7 +5047,7 @@
    Administration
  • - + Fonts @@ -4966,7 +5062,7 @@
    Administration
  • - + Caching query results @@ -4981,7 +5077,7 @@
    Administration
  • - + Custom maps @@ -4996,7 +5092,7 @@
    Administration
  • - + Customizing the Metabase Jetty webserver @@ -5017,7 +5113,7 @@
    Administration
  • - + Operations and monitoring @@ -5040,7 +5136,7 @@
    Administration
  • - + Backing up Metabase @@ -5055,7 +5151,7 @@
    Administration
  • - + Development instances @@ -5070,7 +5166,7 @@
    Administration
  • - + Monitoring your Metabase @@ -5085,7 +5181,7 @@
    Administration
  • - + Observability with Prometheus @@ -5100,7 +5196,7 @@
    Administration
  • - + Serialization @@ -5115,7 +5211,7 @@
    Administration
  • - + Remote Sync @@ -5130,7 +5226,7 @@
    Administration
  • - + Commands @@ -5145,7 +5241,7 @@
    Administration
  • - + Usage analytics @@ -5160,7 +5256,7 @@
    Administration
  • - + Security center @@ -5175,7 +5271,7 @@
    Administration
  • - + Admin tools @@ -5196,7 +5292,7 @@
    Administration
  • - + Authentication @@ -5219,7 +5315,7 @@
    Administration
  • - + Account settings @@ -5234,7 +5330,7 @@
    Administration
  • - + Password complexity @@ -5249,7 +5345,7 @@
    Administration
  • - + Session expiration @@ -5264,7 +5360,7 @@
    Administration
  • - + Google Sign-In @@ -5279,7 +5375,7 @@
    Administration
  • - + LDAP @@ -5294,7 +5390,7 @@
    Administration
  • - + User provisioning @@ -5309,7 +5405,7 @@
    Administration
  • - + API keys @@ -5324,7 +5420,7 @@
    Administration
  • - + Paid SSO options @@ -5345,7 +5441,7 @@
    Administration
  • - + JWT-based authentication @@ -5359,7 +5455,7 @@
    Administration
  • - + SAML-based authentication @@ -5373,7 +5469,7 @@
    Administration
  • - + SAML with Auth0 @@ -5387,7 +5483,7 @@
    Administration
  • - + SAML with Microsoft Entra ID @@ -5401,7 +5497,7 @@
    Administration
  • - + SAML with Google @@ -5415,7 +5511,7 @@
    Administration
  • - + SAML with Keycloak @@ -5429,7 +5525,7 @@
    Administration
  • - + SAML with Okta @@ -5443,7 +5539,7 @@
    Administration
  • - + OIDC-based authentication @@ -5457,7 +5553,7 @@
    Administration
  • - + OIDC with Keycloak @@ -5482,7 +5578,7 @@
    Administration
  • - + Permissions @@ -5505,7 +5601,7 @@
    Administration
  • - + Permissions introduction @@ -5520,7 +5616,7 @@
    Administration
  • - + Managing people and groups @@ -5535,7 +5631,7 @@
    Administration
  • - + Data permissions @@ -5550,7 +5646,7 @@
    Administration
  • - + Collection permissions @@ -5565,7 +5661,7 @@
    Administration
  • - + Application permissions @@ -5580,7 +5676,7 @@
    Administration
  • - + Row and column security @@ -5595,7 +5691,7 @@
    Administration
  • - + Row and column security examples @@ -5610,7 +5706,7 @@
    Administration
  • - + Database routing @@ -5625,7 +5721,7 @@
    Administration
  • - + Impersonation @@ -5640,7 +5736,7 @@
    Administration
  • - + Snippets folder permissions @@ -5655,7 +5751,7 @@
    Administration
  • - + Notification permissions @@ -5670,7 +5766,7 @@
    Administration
  • - + Configuring permissions for embedding @@ -5697,7 +5793,7 @@
    Other resources
  • - + API @@ -5923,7 +6019,7 @@
    Other resources
  • - + Troubleshooting @@ -5941,7 +6037,7 @@
    Other resources
  • - + Developer guide @@ -5977,7 +6073,7 @@
    Other resources
  • - + Accessibility @@ -5995,7 +6091,7 @@
    Other resources
  • - + Supported browsers @@ -6013,7 +6109,7 @@
    Other resources
  • - + Privacy @@ -6031,7 +6127,7 @@
    Other resources
  • - + About the anonymous usage data we collect @@ -6200,13 +6296,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/developers-guide/start.html b/_site/docs/v0.62/developers-guide/start.html index f2315ce887..d0003752b8 100644 --- a/_site/docs/v0.62/developers-guide/start.html +++ b/_site/docs/v0.62/developers-guide/start.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
  • - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/developers-guide/versioning.html b/_site/docs/v0.62/developers-guide/versioning.html index 26c36dfd4d..a55de0e3a5 100644 --- a/_site/docs/v0.62/developers-guide/versioning.html +++ b/_site/docs/v0.62/developers-guide/versioning.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/developers-guide/visual-studio-code.html b/_site/docs/v0.62/developers-guide/visual-studio-code.html index 425bb26abb..0db1c5408c 100644 --- a/_site/docs/v0.62/developers-guide/visual-studio-code.html +++ b/_site/docs/v0.62/developers-guide/visual-studio-code.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/developers-guide/visual-tests.html b/_site/docs/v0.62/developers-guide/visual-tests.html index b4c6dc4e3a..d4a9e02db9 100644 --- a/_site/docs/v0.62/developers-guide/visual-tests.html +++ b/_site/docs/v0.62/developers-guide/visual-tests.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/documents/introduction.html b/_site/docs/v0.62/documents/introduction.html index 8db3b635d8..37f8d62666 100644 --- a/_site/docs/v0.62/documents/introduction.html +++ b/_site/docs/v0.62/documents/introduction.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/documents/start.html b/_site/docs/v0.62/documents/start.html index 9df0470e33..e04af9c78b 100644 --- a/_site/docs/v0.62/documents/start.html +++ b/_site/docs/v0.62/documents/start.html @@ -230,6 +230,12 @@ + + + + + + @@ -1034,9 +1040,47 @@
    Learn
    - @@ -1816,9 +1860,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1832,6 +1915,17 @@
    Embedded Analytics
    + + +
    @@ -6214,13 +6308,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/embedding/ai-agent-resources.html b/_site/docs/v0.62/embedding/ai-agent-resources.html index a719a07680..1a5bda3e8e 100644 --- a/_site/docs/v0.62/embedding/ai-agent-resources.html +++ b/_site/docs/v0.62/embedding/ai-agent-resources.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/embedding/appearance.html b/_site/docs/v0.62/embedding/appearance.html index 2fe0da3c32..6ce2091822 100644 --- a/_site/docs/v0.62/embedding/appearance.html +++ b/_site/docs/v0.62/embedding/appearance.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/embedding/authentication.html b/_site/docs/v0.62/embedding/authentication.html index 544b3d2d75..25da0794b7 100644 --- a/_site/docs/v0.62/embedding/authentication.html +++ b/_site/docs/v0.62/embedding/authentication.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/embedding/components.html b/_site/docs/v0.62/embedding/components.html index d7c96a5819..87611874b4 100644 --- a/_site/docs/v0.62/embedding/components.html +++ b/_site/docs/v0.62/embedding/components.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/embedding/eajs/snippets/MetabaseBrowserAttributes.html b/_site/docs/v0.62/embedding/eajs/snippets/MetabaseBrowserAttributes.html index 2d730be0ab..e579f8d022 100644 --- a/_site/docs/v0.62/embedding/eajs/snippets/MetabaseBrowserAttributes.html +++ b/_site/docs/v0.62/embedding/eajs/snippets/MetabaseBrowserAttributes.html @@ -6,10 +6,12 @@ - - + + + + + + +
    @@ -1885,7 +1981,7 @@
    Analytics
  • - + Queries and charts @@ -1908,7 +2004,7 @@
    Analytics
  • - + Introduction @@ -1944,7 +2040,7 @@
    Analytics
  • - + Editor @@ -1958,7 +2054,7 @@
    Analytics
  • - + Filtering @@ -1972,7 +2068,7 @@
    Analytics
  • - + Summarizing and grouping @@ -1986,7 +2082,7 @@
    Analytics
  • - + Joining data @@ -2000,7 +2096,7 @@
    Analytics
  • - + Custom expressions @@ -2014,7 +2110,7 @@
    Analytics
  • - + List of expressions @@ -2054,7 +2150,7 @@
    Analytics
  • - + SQL editor @@ -2068,7 +2164,7 @@
    Analytics
  • - + SQL parameters @@ -2082,7 +2178,7 @@
    Analytics
  • - + Field filters @@ -2096,7 +2192,7 @@
    Analytics
  • - + Basic SQL parameters @@ -2110,7 +2206,7 @@
    Analytics
  • - + Time grouping parameters @@ -2124,7 +2220,7 @@
    Analytics
  • - + Table variables @@ -2138,7 +2234,7 @@
    Analytics
  • - + Optional variables @@ -2152,7 +2248,7 @@
    Analytics
  • - + Filter widgets @@ -2166,7 +2262,7 @@
    Analytics
  • - + Referencing models and questions @@ -2180,7 +2276,7 @@
    Analytics
  • - + Snippets @@ -2194,7 +2290,7 @@
    Analytics
  • - + Snippet folder permissions @@ -2234,7 +2330,7 @@
    Analytics
  • - + Overview @@ -2248,7 +2344,7 @@
    Analytics
  • - + Box plot @@ -2262,7 +2358,7 @@
    Analytics
  • - + Combo chart @@ -2276,7 +2372,7 @@
    Analytics
  • - + Details chart @@ -2290,7 +2386,7 @@
    Analytics
  • - + Funnel chart @@ -2304,7 +2400,7 @@
    Analytics
  • - + Gauge chart @@ -2318,7 +2414,7 @@
    Analytics
  • - + Line, bar, and area charts @@ -2332,7 +2428,7 @@
    Analytics
  • - + Maps @@ -2346,7 +2442,7 @@
    Analytics
  • - + Number chart @@ -2360,7 +2456,7 @@
    Analytics
  • - + Pie and sunburst charts @@ -2374,7 +2470,7 @@
    Analytics
  • - + Pivot tables @@ -2388,7 +2484,7 @@
    Analytics
  • - + Progress bar @@ -2402,7 +2498,7 @@
    Analytics
  • - + Sankey chart @@ -2416,7 +2512,7 @@
    Analytics
  • - + Scatterplot @@ -2430,7 +2526,7 @@
    Analytics
  • - + Table @@ -2444,7 +2540,7 @@
    Analytics
  • - + Trend chart @@ -2458,7 +2554,7 @@
    Analytics
  • - + Waterfall chart @@ -2472,7 +2568,7 @@
    Analytics
  • - + Tooltips @@ -2491,7 +2587,7 @@
    Analytics
  • - + Metrics explorer @@ -2506,7 +2602,7 @@
    Analytics
  • - + Alerts @@ -2521,7 +2617,7 @@
    Analytics
  • - + Exporting data @@ -2542,7 +2638,7 @@
    Analytics
  • - + Dashboards @@ -2565,7 +2661,7 @@
    Analytics
  • - + Overview @@ -2580,7 +2676,7 @@
    Analytics
  • - + Dashboard filters @@ -2595,7 +2691,7 @@
    Analytics
  • - + Linked filters @@ -2610,7 +2706,7 @@
    Analytics
  • - + Dashboard interactivity @@ -2625,7 +2721,7 @@
    Analytics
  • - + Charts with multiple series @@ -2640,7 +2736,7 @@
    Analytics
  • - + Dashboard subscriptions @@ -2655,7 +2751,7 @@
    Analytics
  • - + Actions on dashboards @@ -2676,7 +2772,7 @@
    Analytics
  • - + Documents @@ -2699,7 +2795,7 @@
    Analytics
  • - + Overview @@ -2720,7 +2816,7 @@
    Analytics
  • - + AI @@ -2743,7 +2839,7 @@
    Analytics
  • - + Overview @@ -2758,7 +2854,7 @@
    Analytics
  • - + Metabot @@ -2773,7 +2869,7 @@
    Analytics
  • - + Metabot in Slack @@ -2788,7 +2884,7 @@
    Analytics
  • - + Settings @@ -2803,7 +2899,7 @@
    Analytics
  • - + MCP server @@ -2818,7 +2914,7 @@
    Analytics
  • - + Agent API @@ -2833,7 +2929,7 @@
    Analytics
  • - + Agent-driven development @@ -2848,7 +2944,7 @@
    Analytics
  • - + Customization @@ -2863,7 +2959,7 @@
    Analytics
  • - + System prompts @@ -2878,7 +2974,7 @@
    Analytics
  • - + Usage auditing @@ -2893,7 +2989,7 @@
    Analytics
  • - + Usage controls @@ -2908,7 +3004,7 @@
    Analytics
  • - + AI privacy @@ -2929,7 +3025,7 @@
    Analytics
  • - + Data modeling @@ -2952,7 +3048,7 @@
    Analytics
  • - + Models @@ -2967,7 +3063,7 @@
    Analytics
  • - + Model persistence @@ -2982,7 +3078,7 @@
    Analytics
  • - + Metrics @@ -2997,7 +3093,7 @@
    Analytics
  • - + Table metadata settings @@ -3012,7 +3108,7 @@
    Analytics
  • - + Data and semantic types @@ -3027,7 +3123,7 @@
    Analytics
  • - + Editable tables @@ -3042,7 +3138,7 @@
    Analytics
  • - + Formatting defaults @@ -3057,7 +3153,7 @@
    Analytics
  • - + Working with JSON @@ -3072,7 +3168,7 @@
    Analytics
  • - + Segments @@ -3108,7 +3204,7 @@
    Analytics
  • - + Overview @@ -3122,7 +3218,7 @@
    Analytics
  • - + Basic actions @@ -3136,7 +3232,7 @@
    Analytics
  • - + Custom actions @@ -3161,7 +3257,7 @@
    Analytics
  • - + Data Studio @@ -3184,7 +3280,7 @@
    Analytics
  • - + Overview @@ -3199,7 +3295,7 @@
    Analytics
  • - + Library @@ -3214,7 +3310,7 @@
    Analytics
  • - + Data structure @@ -3229,7 +3325,7 @@
    Analytics
  • - + Glossary @@ -3244,7 +3340,7 @@
    Analytics
  • - + Dependency graph @@ -3259,7 +3355,7 @@
    Analytics
  • - + Dependency diagnostics @@ -3295,7 +3391,7 @@
    Analytics
  • - + Overview @@ -3309,7 +3405,7 @@
    Analytics
  • - + Query transforms @@ -3323,7 +3419,7 @@
    Analytics
  • - + Python transforms @@ -3337,7 +3433,7 @@
    Analytics
  • - + Python runner @@ -3351,7 +3447,7 @@
    Analytics
  • - + Jobs and runs @@ -3365,7 +3461,7 @@
    Analytics
  • - + Transform inspector @@ -3379,7 +3475,7 @@
    Analytics
  • - + Add-ons @@ -3404,7 +3500,7 @@
    Analytics
  • - + Organization @@ -3427,7 +3523,7 @@
    Analytics
  • - + Basic exploration @@ -3442,7 +3538,7 @@
    Analytics
  • - + Keyboard shortcuts @@ -3457,7 +3553,7 @@
    Analytics
  • - + Collections @@ -3472,7 +3568,7 @@
    Analytics
  • - + Data reference @@ -3487,7 +3583,7 @@
    Analytics
  • - + Events and timelines @@ -3502,7 +3598,7 @@
    Analytics
  • - + X-rays @@ -3517,7 +3613,7 @@
    Analytics
  • - + Content verification @@ -3532,7 +3628,7 @@
    Analytics
  • - + History @@ -3547,7 +3643,7 @@
    Analytics
  • - + Delete and restore @@ -3574,7 +3670,7 @@
    Embedding
  • - + Overview @@ -3615,7 +3711,7 @@
    Embedding
  • - + Overview @@ -3630,7 +3726,7 @@
    Embedding
  • - + Components @@ -3645,7 +3741,7 @@
    Embedding
  • - + Filters and parameters @@ -3660,7 +3756,7 @@
    Embedding
  • - + Appearance @@ -3675,7 +3771,7 @@
    Embedding
  • - + Authentication @@ -3690,7 +3786,7 @@
    Embedding
  • - + Tenants @@ -3726,7 +3822,7 @@
    Embedding
  • - + Overview @@ -3740,7 +3836,7 @@
    Embedding
  • - + Quickstarts @@ -3771,35 +3867,35 @@
    Embedding
  • - + Questions
  • - + Dashboards
  • - + AI chat
  • - + Collections
  • - + Plugins
  • @@ -3831,21 +3927,21 @@
    Embedding
  • - + Provider config
  • - + Working with Next.js
  • - + Versioning
  • @@ -3860,7 +3956,7 @@
    Embedding
  • - + Upgrading @@ -3874,7 +3970,7 @@
    Embedding
  • - + API @@ -3893,7 +3989,7 @@
    Embedding
  • - + Guest embedding @@ -3908,7 +4004,7 @@
    Embedding
  • - + Translate embeds @@ -3952,7 +4048,7 @@
    Embedding
  • - + Overview @@ -3967,7 +4063,7 @@
    Embedding
  • - + Quickstart @@ -3982,7 +4078,7 @@
    Embedding
  • - + Full app UI components @@ -4003,7 +4099,7 @@
    Embedding
  • - + Public links and embeds @@ -4021,7 +4117,7 @@
    Embedding
  • - + Securing embeds @@ -4039,7 +4135,7 @@
    Embedding
  • - + AI agent resources @@ -4063,7 +4159,7 @@
    Administration
  • - + Installation @@ -4107,7 +4203,7 @@
    Administration
  • - + Installation overview @@ -4135,7 +4231,7 @@
    Administration
  • - + Running the JAR file @@ -4149,7 +4245,7 @@
    Administration
  • - + Running in Docker @@ -4163,7 +4259,7 @@
    Administration
  • - + Other installation options @@ -4182,7 +4278,7 @@
    Administration
  • - + Upgrading Metabase @@ -4197,7 +4293,7 @@
    Administration
  • - + Configuring the Metabase application database @@ -4212,7 +4308,7 @@
    Administration
  • - + Activating Enterprise features @@ -4227,7 +4323,7 @@
    Administration
  • - + Migrating to a production application database @@ -4248,7 +4344,7 @@
    Administration
  • - + Data sources @@ -4271,7 +4367,7 @@
    Administration
  • - + Adding and managing databases @@ -4307,7 +4403,7 @@
    Administration
  • - + Athena @@ -4321,7 +4417,7 @@
    Administration
  • - + Amazon RDS @@ -4335,7 +4431,7 @@
    Administration
  • - + BigQuery @@ -4349,7 +4445,7 @@
    Administration
  • - + ClickHouse @@ -4363,7 +4459,7 @@
    Administration
  • - + Databricks @@ -4377,7 +4473,7 @@
    Administration
  • - + Druid @@ -4391,7 +4487,7 @@
    Administration
  • - + MariaDB @@ -4405,7 +4501,7 @@
    Administration
  • - + MongoDB @@ -4419,7 +4515,7 @@
    Administration
  • - + MySQL @@ -4433,7 +4529,7 @@
    Administration
  • - + Oracle @@ -4447,7 +4543,7 @@
    Administration
  • - + PostgreSQL @@ -4461,7 +4557,7 @@
    Administration
  • - + Presto @@ -4475,7 +4571,7 @@
    Administration
  • - + Redshift @@ -4489,7 +4585,7 @@
    Administration
  • - + Snowflake @@ -4503,7 +4599,7 @@
    Administration
  • - + SQL Server @@ -4517,7 +4613,7 @@
    Administration
  • - + SQLite @@ -4531,7 +4627,7 @@
    Administration
  • - + Spark SQL @@ -4545,7 +4641,7 @@
    Administration
  • - + Starburst @@ -4559,7 +4655,7 @@
    Administration
  • - + Vertica @@ -4573,7 +4669,7 @@
    Administration
  • - + Community drivers @@ -4592,7 +4688,7 @@
    Administration
  • - + Database users, roles, and privileges @@ -4607,7 +4703,7 @@
    Administration
  • - + Writeable connection @@ -4622,7 +4718,7 @@
    Administration
  • - + Syncing and scanning databases @@ -4637,7 +4733,7 @@
    Administration
  • - + Encrypting your database connection @@ -4652,7 +4748,7 @@
    Administration
  • - + SSH tunneling @@ -4667,7 +4763,7 @@
    Administration
  • - + SSL certificate @@ -4682,7 +4778,7 @@
    Administration
  • - + Setting up data uploads @@ -4697,7 +4793,7 @@
    Administration
  • - + Uploading data @@ -4748,7 +4844,7 @@
    Administration
  • - + Configuration @@ -4771,7 +4867,7 @@
    Administration
  • - + Setting up Metabase @@ -4786,7 +4882,7 @@
    Administration
  • - + General settings @@ -4801,7 +4897,7 @@
    Administration
  • - + Set up email @@ -4816,7 +4912,7 @@
    Administration
  • - + Set up Slack @@ -4831,7 +4927,7 @@
    Administration
  • - + Webhooks @@ -4846,7 +4942,7 @@
    Administration
  • - + Environment variables @@ -4861,7 +4957,7 @@
    Administration
  • - + Configuration file @@ -4876,7 +4972,7 @@
    Administration
  • - + Config file template @@ -4891,7 +4987,7 @@
    Administration
  • - + Metabase log configuration @@ -4906,7 +5002,7 @@
    Administration
  • - + Timezones @@ -4921,7 +5017,7 @@
    Administration
  • - + Languages and localization @@ -4936,7 +5032,7 @@
    Administration
  • - + Appearance @@ -4951,7 +5047,7 @@
    Administration
  • - + Fonts @@ -4966,7 +5062,7 @@
    Administration
  • - + Caching query results @@ -4981,7 +5077,7 @@
    Administration
  • - + Custom maps @@ -4996,7 +5092,7 @@
    Administration
  • - + Customizing the Metabase Jetty webserver @@ -5017,7 +5113,7 @@
    Administration
  • - + Operations and monitoring @@ -5040,7 +5136,7 @@
    Administration
  • - + Backing up Metabase @@ -5055,7 +5151,7 @@
    Administration
  • - + Development instances @@ -5070,7 +5166,7 @@
    Administration
  • - + Monitoring your Metabase @@ -5085,7 +5181,7 @@
    Administration
  • - + Observability with Prometheus @@ -5100,7 +5196,7 @@
    Administration
  • - + Serialization @@ -5115,7 +5211,7 @@
    Administration
  • - + Remote Sync @@ -5130,7 +5226,7 @@
    Administration
  • - + Commands @@ -5145,7 +5241,7 @@
    Administration
  • - + Usage analytics @@ -5160,7 +5256,7 @@
    Administration
  • - + Security center @@ -5175,7 +5271,7 @@
    Administration
  • - + Admin tools @@ -5196,7 +5292,7 @@
    Administration
  • - + Authentication @@ -5219,7 +5315,7 @@
    Administration
  • - + Account settings @@ -5234,7 +5330,7 @@
    Administration
  • - + Password complexity @@ -5249,7 +5345,7 @@
    Administration
  • - + Session expiration @@ -5264,7 +5360,7 @@
    Administration
  • - + Google Sign-In @@ -5279,7 +5375,7 @@
    Administration
  • - + LDAP @@ -5294,7 +5390,7 @@
    Administration
  • - + User provisioning @@ -5309,7 +5405,7 @@
    Administration
  • - + API keys @@ -5324,7 +5420,7 @@
    Administration
  • - + Paid SSO options @@ -5345,7 +5441,7 @@
    Administration
  • - + JWT-based authentication @@ -5359,7 +5455,7 @@
    Administration
  • - + SAML-based authentication @@ -5373,7 +5469,7 @@
    Administration
  • - + SAML with Auth0 @@ -5387,7 +5483,7 @@
    Administration
  • - + SAML with Microsoft Entra ID @@ -5401,7 +5497,7 @@
    Administration
  • - + SAML with Google @@ -5415,7 +5511,7 @@
    Administration
  • - + SAML with Keycloak @@ -5429,7 +5525,7 @@
    Administration
  • - + SAML with Okta @@ -5443,7 +5539,7 @@
    Administration
  • - + OIDC-based authentication @@ -5457,7 +5553,7 @@
    Administration
  • - + OIDC with Keycloak @@ -5482,7 +5578,7 @@
    Administration
  • - + Permissions @@ -5505,7 +5601,7 @@
    Administration
  • - + Permissions introduction @@ -5520,7 +5616,7 @@
    Administration
  • - + Managing people and groups @@ -5535,7 +5631,7 @@
    Administration
  • - + Data permissions @@ -5550,7 +5646,7 @@
    Administration
  • - + Collection permissions @@ -5565,7 +5661,7 @@
    Administration
  • - + Application permissions @@ -5580,7 +5676,7 @@
    Administration
  • - + Row and column security @@ -5595,7 +5691,7 @@
    Administration
  • - + Row and column security examples @@ -5610,7 +5706,7 @@
    Administration
  • - + Database routing @@ -5625,7 +5721,7 @@
    Administration
  • - + Impersonation @@ -5640,7 +5736,7 @@
    Administration
  • - + Snippets folder permissions @@ -5655,7 +5751,7 @@
    Administration
  • - + Notification permissions @@ -5670,7 +5766,7 @@
    Administration
  • - + Configuring permissions for embedding @@ -5697,7 +5793,7 @@
    Other resources
  • - + API @@ -5923,7 +6019,7 @@
    Other resources
  • - + Troubleshooting @@ -5941,7 +6037,7 @@
    Other resources
  • - + Developer guide @@ -5977,7 +6073,7 @@
    Other resources
  • - + Accessibility @@ -5995,7 +6091,7 @@
    Other resources
  • - + Supported browsers @@ -6013,7 +6109,7 @@
    Other resources
  • - + Privacy @@ -6031,7 +6127,7 @@
    Other resources
  • - + About the anonymous usage data we collect @@ -6200,13 +6296,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/embedding/eajs/snippets/MetabaseDashboardAttributes.html b/_site/docs/v0.62/embedding/eajs/snippets/MetabaseDashboardAttributes.html index c985151275..ff12747087 100644 --- a/_site/docs/v0.62/embedding/eajs/snippets/MetabaseDashboardAttributes.html +++ b/_site/docs/v0.62/embedding/eajs/snippets/MetabaseDashboardAttributes.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
  • - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/embedding/eajs/snippets/MetabaseMetabotAttributes.html b/_site/docs/v0.62/embedding/eajs/snippets/MetabaseMetabotAttributes.html index c6d2d47e65..9344118b9d 100644 --- a/_site/docs/v0.62/embedding/eajs/snippets/MetabaseMetabotAttributes.html +++ b/_site/docs/v0.62/embedding/eajs/snippets/MetabaseMetabotAttributes.html @@ -6,10 +6,12 @@ - - + + + + + + +
    @@ -1885,7 +1981,7 @@
    Analytics
  • - + Queries and charts @@ -1908,7 +2004,7 @@
    Analytics
  • - + Introduction @@ -1944,7 +2040,7 @@
    Analytics
  • - + Editor @@ -1958,7 +2054,7 @@
    Analytics
  • - + Filtering @@ -1972,7 +2068,7 @@
    Analytics
  • - + Summarizing and grouping @@ -1986,7 +2082,7 @@
    Analytics
  • - + Joining data @@ -2000,7 +2096,7 @@
    Analytics
  • - + Custom expressions @@ -2014,7 +2110,7 @@
    Analytics
  • - + List of expressions @@ -2054,7 +2150,7 @@
    Analytics
  • - + SQL editor @@ -2068,7 +2164,7 @@
    Analytics
  • - + SQL parameters @@ -2082,7 +2178,7 @@
    Analytics
  • - + Field filters @@ -2096,7 +2192,7 @@
    Analytics
  • - + Basic SQL parameters @@ -2110,7 +2206,7 @@
    Analytics
  • - + Time grouping parameters @@ -2124,7 +2220,7 @@
    Analytics
  • - + Table variables @@ -2138,7 +2234,7 @@
    Analytics
  • - + Optional variables @@ -2152,7 +2248,7 @@
    Analytics
  • - + Filter widgets @@ -2166,7 +2262,7 @@
    Analytics
  • - + Referencing models and questions @@ -2180,7 +2276,7 @@
    Analytics
  • - + Snippets @@ -2194,7 +2290,7 @@
    Analytics
  • - + Snippet folder permissions @@ -2234,7 +2330,7 @@
    Analytics
  • - + Overview @@ -2248,7 +2344,7 @@
    Analytics
  • - + Box plot @@ -2262,7 +2358,7 @@
    Analytics
  • - + Combo chart @@ -2276,7 +2372,7 @@
    Analytics
  • - + Details chart @@ -2290,7 +2386,7 @@
    Analytics
  • - + Funnel chart @@ -2304,7 +2400,7 @@
    Analytics
  • - + Gauge chart @@ -2318,7 +2414,7 @@
    Analytics
  • - + Line, bar, and area charts @@ -2332,7 +2428,7 @@
    Analytics
  • - + Maps @@ -2346,7 +2442,7 @@
    Analytics
  • - + Number chart @@ -2360,7 +2456,7 @@
    Analytics
  • - + Pie and sunburst charts @@ -2374,7 +2470,7 @@
    Analytics
  • - + Pivot tables @@ -2388,7 +2484,7 @@
    Analytics
  • - + Progress bar @@ -2402,7 +2498,7 @@
    Analytics
  • - + Sankey chart @@ -2416,7 +2512,7 @@
    Analytics
  • - + Scatterplot @@ -2430,7 +2526,7 @@
    Analytics
  • - + Table @@ -2444,7 +2540,7 @@
    Analytics
  • - + Trend chart @@ -2458,7 +2554,7 @@
    Analytics
  • - + Waterfall chart @@ -2472,7 +2568,7 @@
    Analytics
  • - + Tooltips @@ -2491,7 +2587,7 @@
    Analytics
  • - + Metrics explorer @@ -2506,7 +2602,7 @@
    Analytics
  • - + Alerts @@ -2521,7 +2617,7 @@
    Analytics
  • - + Exporting data @@ -2542,7 +2638,7 @@
    Analytics
  • - + Dashboards @@ -2565,7 +2661,7 @@
    Analytics
  • - + Overview @@ -2580,7 +2676,7 @@
    Analytics
  • - + Dashboard filters @@ -2595,7 +2691,7 @@
    Analytics
  • - + Linked filters @@ -2610,7 +2706,7 @@
    Analytics
  • - + Dashboard interactivity @@ -2625,7 +2721,7 @@
    Analytics
  • - + Charts with multiple series @@ -2640,7 +2736,7 @@
    Analytics
  • - + Dashboard subscriptions @@ -2655,7 +2751,7 @@
    Analytics
  • - + Actions on dashboards @@ -2676,7 +2772,7 @@
    Analytics
  • - + Documents @@ -2699,7 +2795,7 @@
    Analytics
  • - + Overview @@ -2720,7 +2816,7 @@
    Analytics
  • - + AI @@ -2743,7 +2839,7 @@
    Analytics
  • - + Overview @@ -2758,7 +2854,7 @@
    Analytics
  • - + Metabot @@ -2773,7 +2869,7 @@
    Analytics
  • - + Metabot in Slack @@ -2788,7 +2884,7 @@
    Analytics
  • - + Settings @@ -2803,7 +2899,7 @@
    Analytics
  • - + MCP server @@ -2818,7 +2914,7 @@
    Analytics
  • - + Agent API @@ -2833,7 +2929,7 @@
    Analytics
  • - + Agent-driven development @@ -2848,7 +2944,7 @@
    Analytics
  • - + Customization @@ -2863,7 +2959,7 @@
    Analytics
  • - + System prompts @@ -2878,7 +2974,7 @@
    Analytics
  • - + Usage auditing @@ -2893,7 +2989,7 @@
    Analytics
  • - + Usage controls @@ -2908,7 +3004,7 @@
    Analytics
  • - + AI privacy @@ -2929,7 +3025,7 @@
    Analytics
  • - + Data modeling @@ -2952,7 +3048,7 @@
    Analytics
  • - + Models @@ -2967,7 +3063,7 @@
    Analytics
  • - + Model persistence @@ -2982,7 +3078,7 @@
    Analytics
  • - + Metrics @@ -2997,7 +3093,7 @@
    Analytics
  • - + Table metadata settings @@ -3012,7 +3108,7 @@
    Analytics
  • - + Data and semantic types @@ -3027,7 +3123,7 @@
    Analytics
  • - + Editable tables @@ -3042,7 +3138,7 @@
    Analytics
  • - + Formatting defaults @@ -3057,7 +3153,7 @@
    Analytics
  • - + Working with JSON @@ -3072,7 +3168,7 @@
    Analytics
  • - + Segments @@ -3108,7 +3204,7 @@
    Analytics
  • - + Overview @@ -3122,7 +3218,7 @@
    Analytics
  • - + Basic actions @@ -3136,7 +3232,7 @@
    Analytics
  • - + Custom actions @@ -3161,7 +3257,7 @@
    Analytics
  • - + Data Studio @@ -3184,7 +3280,7 @@
    Analytics
  • - + Overview @@ -3199,7 +3295,7 @@
    Analytics
  • - + Library @@ -3214,7 +3310,7 @@
    Analytics
  • - + Data structure @@ -3229,7 +3325,7 @@
    Analytics
  • - + Glossary @@ -3244,7 +3340,7 @@
    Analytics
  • - + Dependency graph @@ -3259,7 +3355,7 @@
    Analytics
  • - + Dependency diagnostics @@ -3295,7 +3391,7 @@
    Analytics
  • - + Overview @@ -3309,7 +3405,7 @@
    Analytics
  • - + Query transforms @@ -3323,7 +3419,7 @@
    Analytics
  • - + Python transforms @@ -3337,7 +3433,7 @@
    Analytics
  • - + Python runner @@ -3351,7 +3447,7 @@
    Analytics
  • - + Jobs and runs @@ -3365,7 +3461,7 @@
    Analytics
  • - + Transform inspector @@ -3379,7 +3475,7 @@
    Analytics
  • - + Add-ons @@ -3404,7 +3500,7 @@
    Analytics
  • - + Organization @@ -3427,7 +3523,7 @@
    Analytics
  • - + Basic exploration @@ -3442,7 +3538,7 @@
    Analytics
  • - + Keyboard shortcuts @@ -3457,7 +3553,7 @@
    Analytics
  • - + Collections @@ -3472,7 +3568,7 @@
    Analytics
  • - + Data reference @@ -3487,7 +3583,7 @@
    Analytics
  • - + Events and timelines @@ -3502,7 +3598,7 @@
    Analytics
  • - + X-rays @@ -3517,7 +3613,7 @@
    Analytics
  • - + Content verification @@ -3532,7 +3628,7 @@
    Analytics
  • - + History @@ -3547,7 +3643,7 @@
    Analytics
  • - + Delete and restore @@ -3574,7 +3670,7 @@
    Embedding
  • - + Overview @@ -3615,7 +3711,7 @@
    Embedding
  • - + Overview @@ -3630,7 +3726,7 @@
    Embedding
  • - + Components @@ -3645,7 +3741,7 @@
    Embedding
  • - + Filters and parameters @@ -3660,7 +3756,7 @@
    Embedding
  • - + Appearance @@ -3675,7 +3771,7 @@
    Embedding
  • - + Authentication @@ -3690,7 +3786,7 @@
    Embedding
  • - + Tenants @@ -3726,7 +3822,7 @@
    Embedding
  • - + Overview @@ -3740,7 +3836,7 @@
    Embedding
  • - + Quickstarts @@ -3771,35 +3867,35 @@
    Embedding
  • - + Questions
  • - + Dashboards
  • - + AI chat
  • - + Collections
  • - + Plugins
  • @@ -3831,21 +3927,21 @@
    Embedding
  • - + Provider config
  • - + Working with Next.js
  • - + Versioning
  • @@ -3860,7 +3956,7 @@
    Embedding
  • - + Upgrading @@ -3874,7 +3970,7 @@
    Embedding
  • - + API @@ -3893,7 +3989,7 @@
    Embedding
  • - + Guest embedding @@ -3908,7 +4004,7 @@
    Embedding
  • - + Translate embeds @@ -3952,7 +4048,7 @@
    Embedding
  • - + Overview @@ -3967,7 +4063,7 @@
    Embedding
  • - + Quickstart @@ -3982,7 +4078,7 @@
    Embedding
  • - + Full app UI components @@ -4003,7 +4099,7 @@
    Embedding
  • - + Public links and embeds @@ -4021,7 +4117,7 @@
    Embedding
  • - + Securing embeds @@ -4039,7 +4135,7 @@
    Embedding
  • - + AI agent resources @@ -4063,7 +4159,7 @@
    Administration
  • - + Installation @@ -4107,7 +4203,7 @@
    Administration
  • - + Installation overview @@ -4135,7 +4231,7 @@
    Administration
  • - + Running the JAR file @@ -4149,7 +4245,7 @@
    Administration
  • - + Running in Docker @@ -4163,7 +4259,7 @@
    Administration
  • - + Other installation options @@ -4182,7 +4278,7 @@
    Administration
  • - + Upgrading Metabase @@ -4197,7 +4293,7 @@
    Administration
  • - + Configuring the Metabase application database @@ -4212,7 +4308,7 @@
    Administration
  • - + Activating Enterprise features @@ -4227,7 +4323,7 @@
    Administration
  • - + Migrating to a production application database @@ -4248,7 +4344,7 @@
    Administration
  • - + Data sources @@ -4271,7 +4367,7 @@
    Administration
  • - + Adding and managing databases @@ -4307,7 +4403,7 @@
    Administration
  • - + Athena @@ -4321,7 +4417,7 @@
    Administration
  • - + Amazon RDS @@ -4335,7 +4431,7 @@
    Administration
  • - + BigQuery @@ -4349,7 +4445,7 @@
    Administration
  • - + ClickHouse @@ -4363,7 +4459,7 @@
    Administration
  • - + Databricks @@ -4377,7 +4473,7 @@
    Administration
  • - + Druid @@ -4391,7 +4487,7 @@
    Administration
  • - + MariaDB @@ -4405,7 +4501,7 @@
    Administration
  • - + MongoDB @@ -4419,7 +4515,7 @@
    Administration
  • - + MySQL @@ -4433,7 +4529,7 @@
    Administration
  • - + Oracle @@ -4447,7 +4543,7 @@
    Administration
  • - + PostgreSQL @@ -4461,7 +4557,7 @@
    Administration
  • - + Presto @@ -4475,7 +4571,7 @@
    Administration
  • - + Redshift @@ -4489,7 +4585,7 @@
    Administration
  • - + Snowflake @@ -4503,7 +4599,7 @@
    Administration
  • - + SQL Server @@ -4517,7 +4613,7 @@
    Administration
  • - + SQLite @@ -4531,7 +4627,7 @@
    Administration
  • - + Spark SQL @@ -4545,7 +4641,7 @@
    Administration
  • - + Starburst @@ -4559,7 +4655,7 @@
    Administration
  • - + Vertica @@ -4573,7 +4669,7 @@
    Administration
  • - + Community drivers @@ -4592,7 +4688,7 @@
    Administration
  • - + Database users, roles, and privileges @@ -4607,7 +4703,7 @@
    Administration
  • - + Writeable connection @@ -4622,7 +4718,7 @@
    Administration
  • - + Syncing and scanning databases @@ -4637,7 +4733,7 @@
    Administration
  • - + Encrypting your database connection @@ -4652,7 +4748,7 @@
    Administration
  • - + SSH tunneling @@ -4667,7 +4763,7 @@
    Administration
  • - + SSL certificate @@ -4682,7 +4778,7 @@
    Administration
  • - + Setting up data uploads @@ -4697,7 +4793,7 @@
    Administration
  • - + Uploading data @@ -4748,7 +4844,7 @@
    Administration
  • - + Configuration @@ -4771,7 +4867,7 @@
    Administration
  • - + Setting up Metabase @@ -4786,7 +4882,7 @@
    Administration
  • - + General settings @@ -4801,7 +4897,7 @@
    Administration
  • - + Set up email @@ -4816,7 +4912,7 @@
    Administration
  • - + Set up Slack @@ -4831,7 +4927,7 @@
    Administration
  • - + Webhooks @@ -4846,7 +4942,7 @@
    Administration
  • - + Environment variables @@ -4861,7 +4957,7 @@
    Administration
  • - + Configuration file @@ -4876,7 +4972,7 @@
    Administration
  • - + Config file template @@ -4891,7 +4987,7 @@
    Administration
  • - + Metabase log configuration @@ -4906,7 +5002,7 @@
    Administration
  • - + Timezones @@ -4921,7 +5017,7 @@
    Administration
  • - + Languages and localization @@ -4936,7 +5032,7 @@
    Administration
  • - + Appearance @@ -4951,7 +5047,7 @@
    Administration
  • - + Fonts @@ -4966,7 +5062,7 @@
    Administration
  • - + Caching query results @@ -4981,7 +5077,7 @@
    Administration
  • - + Custom maps @@ -4996,7 +5092,7 @@
    Administration
  • - + Customizing the Metabase Jetty webserver @@ -5017,7 +5113,7 @@
    Administration
  • - + Operations and monitoring @@ -5040,7 +5136,7 @@
    Administration
  • - + Backing up Metabase @@ -5055,7 +5151,7 @@
    Administration
  • - + Development instances @@ -5070,7 +5166,7 @@
    Administration
  • - + Monitoring your Metabase @@ -5085,7 +5181,7 @@
    Administration
  • - + Observability with Prometheus @@ -5100,7 +5196,7 @@
    Administration
  • - + Serialization @@ -5115,7 +5211,7 @@
    Administration
  • - + Remote Sync @@ -5130,7 +5226,7 @@
    Administration
  • - + Commands @@ -5145,7 +5241,7 @@
    Administration
  • - + Usage analytics @@ -5160,7 +5256,7 @@
    Administration
  • - + Security center @@ -5175,7 +5271,7 @@
    Administration
  • - + Admin tools @@ -5196,7 +5292,7 @@
    Administration
  • - + Authentication @@ -5219,7 +5315,7 @@
    Administration
  • - + Account settings @@ -5234,7 +5330,7 @@
    Administration
  • - + Password complexity @@ -5249,7 +5345,7 @@
    Administration
  • - + Session expiration @@ -5264,7 +5360,7 @@
    Administration
  • - + Google Sign-In @@ -5279,7 +5375,7 @@
    Administration
  • - + LDAP @@ -5294,7 +5390,7 @@
    Administration
  • - + User provisioning @@ -5309,7 +5405,7 @@
    Administration
  • - + API keys @@ -5324,7 +5420,7 @@
    Administration
  • - + Paid SSO options @@ -5345,7 +5441,7 @@
    Administration
  • - + JWT-based authentication @@ -5359,7 +5455,7 @@
    Administration
  • - + SAML-based authentication @@ -5373,7 +5469,7 @@
    Administration
  • - + SAML with Auth0 @@ -5387,7 +5483,7 @@
    Administration
  • - + SAML with Microsoft Entra ID @@ -5401,7 +5497,7 @@
    Administration
  • - + SAML with Google @@ -5415,7 +5511,7 @@
    Administration
  • - + SAML with Keycloak @@ -5429,7 +5525,7 @@
    Administration
  • - + SAML with Okta @@ -5443,7 +5539,7 @@
    Administration
  • - + OIDC-based authentication @@ -5457,7 +5553,7 @@
    Administration
  • - + OIDC with Keycloak @@ -5482,7 +5578,7 @@
    Administration
  • - + Permissions @@ -5505,7 +5601,7 @@
    Administration
  • - + Permissions introduction @@ -5520,7 +5616,7 @@
    Administration
  • - + Managing people and groups @@ -5535,7 +5631,7 @@
    Administration
  • - + Data permissions @@ -5550,7 +5646,7 @@
    Administration
  • - + Collection permissions @@ -5565,7 +5661,7 @@
    Administration
  • - + Application permissions @@ -5580,7 +5676,7 @@
    Administration
  • - + Row and column security @@ -5595,7 +5691,7 @@
    Administration
  • - + Row and column security examples @@ -5610,7 +5706,7 @@
    Administration
  • - + Database routing @@ -5625,7 +5721,7 @@
    Administration
  • - + Impersonation @@ -5640,7 +5736,7 @@
    Administration
  • - + Snippets folder permissions @@ -5655,7 +5751,7 @@
    Administration
  • - + Notification permissions @@ -5670,7 +5766,7 @@
    Administration
  • - + Configuring permissions for embedding @@ -5697,7 +5793,7 @@
    Other resources
  • - + API @@ -5923,7 +6019,7 @@
    Other resources
  • - + Troubleshooting @@ -5941,7 +6037,7 @@
    Other resources
  • - + Developer guide @@ -5977,7 +6073,7 @@
    Other resources
  • - + Accessibility @@ -5995,7 +6091,7 @@
    Other resources
  • - + Supported browsers @@ -6013,7 +6109,7 @@
    Other resources
  • - + Privacy @@ -6031,7 +6127,7 @@
    Other resources
  • - + About the anonymous usage data we collect @@ -6200,13 +6296,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/embedding/eajs/snippets/MetabaseQuestionAttributes.html b/_site/docs/v0.62/embedding/eajs/snippets/MetabaseQuestionAttributes.html index 01f7f26bdb..2e65fd396f 100644 --- a/_site/docs/v0.62/embedding/eajs/snippets/MetabaseQuestionAttributes.html +++ b/_site/docs/v0.62/embedding/eajs/snippets/MetabaseQuestionAttributes.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
  • - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/embedding/eajs/snippets/index.html b/_site/docs/v0.62/embedding/eajs/snippets/index.html index ba48b07eca..0d6d3ad0a6 100644 --- a/_site/docs/v0.62/embedding/eajs/snippets/index.html +++ b/_site/docs/v0.62/embedding/eajs/snippets/index.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/embedding/full-app-embedding-quick-start-guide.html b/_site/docs/v0.62/embedding/full-app-embedding-quick-start-guide.html index 433e942415..b898c9ec6d 100644 --- a/_site/docs/v0.62/embedding/full-app-embedding-quick-start-guide.html +++ b/_site/docs/v0.62/embedding/full-app-embedding-quick-start-guide.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/embedding/full-app-embedding.html b/_site/docs/v0.62/embedding/full-app-embedding.html index c71c3c4e4f..31ca3985c8 100644 --- a/_site/docs/v0.62/embedding/full-app-embedding.html +++ b/_site/docs/v0.62/embedding/full-app-embedding.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/embedding/full-app-ui-components.html b/_site/docs/v0.62/embedding/full-app-ui-components.html index 3173551ad0..e52dfbc7ba 100644 --- a/_site/docs/v0.62/embedding/full-app-ui-components.html +++ b/_site/docs/v0.62/embedding/full-app-ui-components.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/embedding/guest-embedding.html b/_site/docs/v0.62/embedding/guest-embedding.html index addeb07bc2..19fd5520a7 100644 --- a/_site/docs/v0.62/embedding/guest-embedding.html +++ b/_site/docs/v0.62/embedding/guest-embedding.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/embedding/introduction.html b/_site/docs/v0.62/embedding/introduction.html index 933d3c07d1..801edbdc53 100644 --- a/_site/docs/v0.62/embedding/introduction.html +++ b/_site/docs/v0.62/embedding/introduction.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/embedding/modular-embedding.html b/_site/docs/v0.62/embedding/modular-embedding.html index fcb200e739..d378c2031b 100644 --- a/_site/docs/v0.62/embedding/modular-embedding.html +++ b/_site/docs/v0.62/embedding/modular-embedding.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/embedding/parameters.html b/_site/docs/v0.62/embedding/parameters.html index 10774e0b70..2ddeeca188 100644 --- a/_site/docs/v0.62/embedding/parameters.html +++ b/_site/docs/v0.62/embedding/parameters.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    @@ -6439,6 +6526,7 @@

    Dashboard parameter change payload
    type ParameterChangeSource = "initial-state" | "manual-change" | "auto-change";
    @@ -6490,6 +6578,7 @@ 

    SQL question parameter change pay title: SqlParameterChangeSource source_url: ‘https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/SqlParameterChangeSource.md’ layout: new-docs +latest: true —

    type SqlParameterChangeSource =
    diff --git a/_site/docs/v0.62/embedding/public-links.html b/_site/docs/v0.62/embedding/public-links.html
    index ed7b1acedb..d7ba66ca19 100644
    --- a/_site/docs/v0.62/embedding/public-links.html
    +++ b/_site/docs/v0.62/embedding/public-links.html
    @@ -216,6 +216,12 @@
     
       
     
    +  
    +
    +  
    +
    +  
    +
       
     
       
    @@ -1020,9 +1026,47 @@ 
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics

    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/embedding/sdk/ai-chat.html b/_site/docs/v0.62/embedding/sdk/ai-chat.html index 5066e071cf..e8ad575a73 100644 --- a/_site/docs/v0.62/embedding/sdk/ai-chat.html +++ b/_site/docs/v0.62/embedding/sdk/ai-chat.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics

    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/embedding/sdk/collections.html b/_site/docs/v0.62/embedding/sdk/collections.html index 8fc1eaeaa7..79efe64be3 100644 --- a/_site/docs/v0.62/embedding/sdk/collections.html +++ b/_site/docs/v0.62/embedding/sdk/collections.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/embedding/sdk/config.html b/_site/docs/v0.62/embedding/sdk/config.html index 397aab6007..6aa37ee258 100644 --- a/_site/docs/v0.62/embedding/sdk/config.html +++ b/_site/docs/v0.62/embedding/sdk/config.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/embedding/sdk/dashboards.html b/_site/docs/v0.62/embedding/sdk/dashboards.html index 165ef2f40b..35c6488eb1 100644 --- a/_site/docs/v0.62/embedding/sdk/dashboards.html +++ b/_site/docs/v0.62/embedding/sdk/dashboards.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/embedding/sdk/introduction.html b/_site/docs/v0.62/embedding/sdk/introduction.html index 82a4bde660..a9251e408c 100644 --- a/_site/docs/v0.62/embedding/sdk/introduction.html +++ b/_site/docs/v0.62/embedding/sdk/introduction.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/embedding/sdk/next-js.html b/_site/docs/v0.62/embedding/sdk/next-js.html index a72ca3ad8b..760d00eabe 100644 --- a/_site/docs/v0.62/embedding/sdk/next-js.html +++ b/_site/docs/v0.62/embedding/sdk/next-js.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/embedding/sdk/plugins.html b/_site/docs/v0.62/embedding/sdk/plugins.html index 6201b0fe79..43f3fe1223 100644 --- a/_site/docs/v0.62/embedding/sdk/plugins.html +++ b/_site/docs/v0.62/embedding/sdk/plugins.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/embedding/sdk/questions.html b/_site/docs/v0.62/embedding/sdk/questions.html index 3674450f3c..2558afc007 100644 --- a/_site/docs/v0.62/embedding/sdk/questions.html +++ b/_site/docs/v0.62/embedding/sdk/questions.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/embedding/sdk/quickstart-cli.html b/_site/docs/v0.62/embedding/sdk/quickstart-cli.html index 886de78b19..aa0051f545 100644 --- a/_site/docs/v0.62/embedding/sdk/quickstart-cli.html +++ b/_site/docs/v0.62/embedding/sdk/quickstart-cli.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/embedding/sdk/quickstart-with-sample-app.html b/_site/docs/v0.62/embedding/sdk/quickstart-with-sample-app.html index 52e2948e61..f420e4d151 100644 --- a/_site/docs/v0.62/embedding/sdk/quickstart-with-sample-app.html +++ b/_site/docs/v0.62/embedding/sdk/quickstart-with-sample-app.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/embedding/sdk/quickstart.html b/_site/docs/v0.62/embedding/sdk/quickstart.html index 0aadd2fe7f..228cb96fcc 100644 --- a/_site/docs/v0.62/embedding/sdk/quickstart.html +++ b/_site/docs/v0.62/embedding/sdk/quickstart.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/embedding/sdk/upgrade.html b/_site/docs/v0.62/embedding/sdk/upgrade.html index 164d675ec6..1e7b2911e5 100644 --- a/_site/docs/v0.62/embedding/sdk/upgrade.html +++ b/_site/docs/v0.62/embedding/sdk/upgrade.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/embedding/sdk/version.html b/_site/docs/v0.62/embedding/sdk/version.html index d1597f9333..f55fbbb00a 100644 --- a/_site/docs/v0.62/embedding/sdk/version.html +++ b/_site/docs/v0.62/embedding/sdk/version.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/embedding/securing-embeds.html b/_site/docs/v0.62/embedding/securing-embeds.html index 240b8d42ca..fab096dae3 100644 --- a/_site/docs/v0.62/embedding/securing-embeds.html +++ b/_site/docs/v0.62/embedding/securing-embeds.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/embedding/start.html b/_site/docs/v0.62/embedding/start.html index 5ea9d3e572..294e9d8d1f 100644 --- a/_site/docs/v0.62/embedding/start.html +++ b/_site/docs/v0.62/embedding/start.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/embedding/static-embedding-parameters.html b/_site/docs/v0.62/embedding/static-embedding-parameters.html index caa99e80de..cd4390dc2c 100644 --- a/_site/docs/v0.62/embedding/static-embedding-parameters.html +++ b/_site/docs/v0.62/embedding/static-embedding-parameters.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/embedding/static-embedding.html b/_site/docs/v0.62/embedding/static-embedding.html index db5b614243..e8136601dc 100644 --- a/_site/docs/v0.62/embedding/static-embedding.html +++ b/_site/docs/v0.62/embedding/static-embedding.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/embedding/tenants.html b/_site/docs/v0.62/embedding/tenants.html index 31b17eb47f..f98b4e0670 100644 --- a/_site/docs/v0.62/embedding/tenants.html +++ b/_site/docs/v0.62/embedding/tenants.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/embedding/translations.html b/_site/docs/v0.62/embedding/translations.html index b5a2f9391a..145ff2b76d 100644 --- a/_site/docs/v0.62/embedding/translations.html +++ b/_site/docs/v0.62/embedding/translations.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/exploration-and-organization/collections.html b/_site/docs/v0.62/exploration-and-organization/collections.html index a4c991e7f8..144369277e 100644 --- a/_site/docs/v0.62/exploration-and-organization/collections.html +++ b/_site/docs/v0.62/exploration-and-organization/collections.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/exploration-and-organization/content-verification.html b/_site/docs/v0.62/exploration-and-organization/content-verification.html index 73e4adc5ac..8a7b79db85 100644 --- a/_site/docs/v0.62/exploration-and-organization/content-verification.html +++ b/_site/docs/v0.62/exploration-and-organization/content-verification.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/exploration-and-organization/data-model-reference.html b/_site/docs/v0.62/exploration-and-organization/data-model-reference.html index 394ee9ca7f..f5574708cb 100644 --- a/_site/docs/v0.62/exploration-and-organization/data-model-reference.html +++ b/_site/docs/v0.62/exploration-and-organization/data-model-reference.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/exploration-and-organization/delete-and-restore.html b/_site/docs/v0.62/exploration-and-organization/delete-and-restore.html index 5f1eee8e00..4c72b2e2b8 100644 --- a/_site/docs/v0.62/exploration-and-organization/delete-and-restore.html +++ b/_site/docs/v0.62/exploration-and-organization/delete-and-restore.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/exploration-and-organization/events-and-timelines.html b/_site/docs/v0.62/exploration-and-organization/events-and-timelines.html index 2120664e02..a69f7f9277 100644 --- a/_site/docs/v0.62/exploration-and-organization/events-and-timelines.html +++ b/_site/docs/v0.62/exploration-and-organization/events-and-timelines.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/exploration-and-organization/exploration.html b/_site/docs/v0.62/exploration-and-organization/exploration.html index 307572f173..1e374e9051 100644 --- a/_site/docs/v0.62/exploration-and-organization/exploration.html +++ b/_site/docs/v0.62/exploration-and-organization/exploration.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/exploration-and-organization/history.html b/_site/docs/v0.62/exploration-and-organization/history.html index e05f63fc7e..4cb881b04a 100644 --- a/_site/docs/v0.62/exploration-and-organization/history.html +++ b/_site/docs/v0.62/exploration-and-organization/history.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/exploration-and-organization/keyboard-shortcuts.html b/_site/docs/v0.62/exploration-and-organization/keyboard-shortcuts.html index b2464791c3..5b9351ed6b 100644 --- a/_site/docs/v0.62/exploration-and-organization/keyboard-shortcuts.html +++ b/_site/docs/v0.62/exploration-and-organization/keyboard-shortcuts.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/exploration-and-organization/start.html b/_site/docs/v0.62/exploration-and-organization/start.html index 8062aa7abc..6465a4e6f8 100644 --- a/_site/docs/v0.62/exploration-and-organization/start.html +++ b/_site/docs/v0.62/exploration-and-organization/start.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/exploration-and-organization/uploads.html b/_site/docs/v0.62/exploration-and-organization/uploads.html index 358b6b799d..88cb685d26 100644 --- a/_site/docs/v0.62/exploration-and-organization/uploads.html +++ b/_site/docs/v0.62/exploration-and-organization/uploads.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/exploration-and-organization/x-rays.html b/_site/docs/v0.62/exploration-and-organization/x-rays.html index 5a13ebc892..fab5dc3459 100644 --- a/_site/docs/v0.62/exploration-and-organization/x-rays.html +++ b/_site/docs/v0.62/exploration-and-organization/x-rays.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/index.html b/_site/docs/v0.62/index.html index 0005966f95..ee13479f9a 100644 --- a/_site/docs/v0.62/index.html +++ b/_site/docs/v0.62/index.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6264,13 +6358,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/installation-and-operation/accessibility.html b/_site/docs/v0.62/installation-and-operation/accessibility.html index 94d8e8850c..a8cc099674 100644 --- a/_site/docs/v0.62/installation-and-operation/accessibility.html +++ b/_site/docs/v0.62/installation-and-operation/accessibility.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/installation-and-operation/activating-the-enterprise-edition.html b/_site/docs/v0.62/installation-and-operation/activating-the-enterprise-edition.html index d7704bc0a1..d276f7ec17 100644 --- a/_site/docs/v0.62/installation-and-operation/activating-the-enterprise-edition.html +++ b/_site/docs/v0.62/installation-and-operation/activating-the-enterprise-edition.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    @@ -6263,7 +6350,7 @@

    Back up your application database. -
  • Download the Enterprise Edition version that corresponds with your current Metabase version. So if you’re running the Docker image for v0.61.3, you should switch to the Docker image for v1.61.3. To see a list of available versions for both the Open Source and Enterprise Editions, check out Metabase releases.
  • +
  • Download the Enterprise Edition version that corresponds with your current Metabase version. So if you’re running the Docker image for v0.62.1, you should switch to the Docker image for v1.62.1. To see a list of available versions for both the Open Source and Enterprise Editions, check out Metabase releases.
  • Stop your current Metabase Open Source edition.
  • Swap in the Enterprise Edition Docker image or jar that you downloaded.
  • Start your Metabase like you normally would using the new Enterprise Edition image or jar. You don’t need to do anything with your application database (which you’ve backed up in step one, right?).
  • diff --git a/_site/docs/v0.62/installation-and-operation/backing-up-metabase-application-data.html b/_site/docs/v0.62/installation-and-operation/backing-up-metabase-application-data.html index add61f3f9a..cce9ab9c7b 100644 --- a/_site/docs/v0.62/installation-and-operation/backing-up-metabase-application-data.html +++ b/_site/docs/v0.62/installation-and-operation/backing-up-metabase-application-data.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@

    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/installation-and-operation/commands.html b/_site/docs/v0.62/installation-and-operation/commands.html index bacef8128d..7795e92185 100644 --- a/_site/docs/v0.62/installation-and-operation/commands.html +++ b/_site/docs/v0.62/installation-and-operation/commands.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/installation-and-operation/configuring-application-database.html b/_site/docs/v0.62/installation-and-operation/configuring-application-database.html index 48826c831e..4aed9fe215 100644 --- a/_site/docs/v0.62/installation-and-operation/configuring-application-database.html +++ b/_site/docs/v0.62/installation-and-operation/configuring-application-database.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/installation-and-operation/creating-RDS-database-on-AWS.html b/_site/docs/v0.62/installation-and-operation/creating-RDS-database-on-AWS.html index a602940910..fe7ab0612b 100644 --- a/_site/docs/v0.62/installation-and-operation/creating-RDS-database-on-AWS.html +++ b/_site/docs/v0.62/installation-and-operation/creating-RDS-database-on-AWS.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/installation-and-operation/development-instance.html b/_site/docs/v0.62/installation-and-operation/development-instance.html index c82caf15d8..2c032a4061 100644 --- a/_site/docs/v0.62/installation-and-operation/development-instance.html +++ b/_site/docs/v0.62/installation-and-operation/development-instance.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/installation-and-operation/information-collection.html b/_site/docs/v0.62/installation-and-operation/information-collection.html index 612b68a19f..22577ab598 100644 --- a/_site/docs/v0.62/installation-and-operation/information-collection.html +++ b/_site/docs/v0.62/installation-and-operation/information-collection.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/installation-and-operation/installing-metabase.html b/_site/docs/v0.62/installation-and-operation/installing-metabase.html index ce14949e98..9161910259 100644 --- a/_site/docs/v0.62/installation-and-operation/installing-metabase.html +++ b/_site/docs/v0.62/installation-and-operation/installing-metabase.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/installation-and-operation/metabase-cli.html b/_site/docs/v0.62/installation-and-operation/metabase-cli.html index 0c6761ed4a..cec43613c6 100644 --- a/_site/docs/v0.62/installation-and-operation/metabase-cli.html +++ b/_site/docs/v0.62/installation-and-operation/metabase-cli.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/installation-and-operation/migrating-from-h2.html b/_site/docs/v0.62/installation-and-operation/migrating-from-h2.html index 6e0a25b885..ad44007f6a 100644 --- a/_site/docs/v0.62/installation-and-operation/migrating-from-h2.html +++ b/_site/docs/v0.62/installation-and-operation/migrating-from-h2.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/installation-and-operation/monitoring-metabase.html b/_site/docs/v0.62/installation-and-operation/monitoring-metabase.html index 48e2a035a9..6278f5f2e5 100644 --- a/_site/docs/v0.62/installation-and-operation/monitoring-metabase.html +++ b/_site/docs/v0.62/installation-and-operation/monitoring-metabase.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/installation-and-operation/observability-with-prometheus.html b/_site/docs/v0.62/installation-and-operation/observability-with-prometheus.html index cb0ce9989a..0d150ea8f3 100644 --- a/_site/docs/v0.62/installation-and-operation/observability-with-prometheus.html +++ b/_site/docs/v0.62/installation-and-operation/observability-with-prometheus.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/installation-and-operation/privacy.html b/_site/docs/v0.62/installation-and-operation/privacy.html index 6cd763e13b..a682de69e8 100644 --- a/_site/docs/v0.62/installation-and-operation/privacy.html +++ b/_site/docs/v0.62/installation-and-operation/privacy.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/installation-and-operation/remote-sync.html b/_site/docs/v0.62/installation-and-operation/remote-sync.html index 1cf76d3b3a..bea29362b0 100644 --- a/_site/docs/v0.62/installation-and-operation/remote-sync.html +++ b/_site/docs/v0.62/installation-and-operation/remote-sync.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/installation-and-operation/running-metabase-as-service.html b/_site/docs/v0.62/installation-and-operation/running-metabase-as-service.html index d7ad4c9a20..d507812659 100644 --- a/_site/docs/v0.62/installation-and-operation/running-metabase-as-service.html +++ b/_site/docs/v0.62/installation-and-operation/running-metabase-as-service.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/installation-and-operation/running-metabase-on-azure.html b/_site/docs/v0.62/installation-and-operation/running-metabase-on-azure.html index 77e997ff83..4556b03c5e 100644 --- a/_site/docs/v0.62/installation-and-operation/running-metabase-on-azure.html +++ b/_site/docs/v0.62/installation-and-operation/running-metabase-on-azure.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/installation-and-operation/running-metabase-on-docker.html b/_site/docs/v0.62/installation-and-operation/running-metabase-on-docker.html index 2ba6c097f1..be34ff2100 100644 --- a/_site/docs/v0.62/installation-and-operation/running-metabase-on-docker.html +++ b/_site/docs/v0.62/installation-and-operation/running-metabase-on-docker.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/installation-and-operation/running-metabase-on-elastic-beanstalk.html b/_site/docs/v0.62/installation-and-operation/running-metabase-on-elastic-beanstalk.html index b283ab746c..e9813d912a 100644 --- a/_site/docs/v0.62/installation-and-operation/running-metabase-on-elastic-beanstalk.html +++ b/_site/docs/v0.62/installation-and-operation/running-metabase-on-elastic-beanstalk.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/installation-and-operation/running-metabase-on-podman.html b/_site/docs/v0.62/installation-and-operation/running-metabase-on-podman.html index 48741abf17..7e1e78dc11 100644 --- a/_site/docs/v0.62/installation-and-operation/running-metabase-on-podman.html +++ b/_site/docs/v0.62/installation-and-operation/running-metabase-on-podman.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/installation-and-operation/running-the-metabase-jar-file.html b/_site/docs/v0.62/installation-and-operation/running-the-metabase-jar-file.html index 23de0ca9f4..505b0b81a7 100644 --- a/_site/docs/v0.62/installation-and-operation/running-the-metabase-jar-file.html +++ b/_site/docs/v0.62/installation-and-operation/running-the-metabase-jar-file.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/installation-and-operation/security-center.html b/_site/docs/v0.62/installation-and-operation/security-center.html index 22f907708a..3db9d3209c 100644 --- a/_site/docs/v0.62/installation-and-operation/security-center.html +++ b/_site/docs/v0.62/installation-and-operation/security-center.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/installation-and-operation/serialization.html b/_site/docs/v0.62/installation-and-operation/serialization.html index 79af4a1ecb..61a9a7900e 100644 --- a/_site/docs/v0.62/installation-and-operation/serialization.html +++ b/_site/docs/v0.62/installation-and-operation/serialization.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/installation-and-operation/start.html b/_site/docs/v0.62/installation-and-operation/start.html index eff05be5fa..0bf7f2587a 100644 --- a/_site/docs/v0.62/installation-and-operation/start.html +++ b/_site/docs/v0.62/installation-and-operation/start.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/installation-and-operation/supported-browsers.html b/_site/docs/v0.62/installation-and-operation/supported-browsers.html index 0c5f238f9a..3fa1a219a2 100644 --- a/_site/docs/v0.62/installation-and-operation/supported-browsers.html +++ b/_site/docs/v0.62/installation-and-operation/supported-browsers.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/installation-and-operation/upgrading-metabase.html b/_site/docs/v0.62/installation-and-operation/upgrading-metabase.html index 578e5c84b1..0c2124827b 100644 --- a/_site/docs/v0.62/installation-and-operation/upgrading-metabase.html +++ b/_site/docs/v0.62/installation-and-operation/upgrading-metabase.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/people-and-groups/account-settings.html b/_site/docs/v0.62/people-and-groups/account-settings.html index 6b11209590..62d00c0139 100644 --- a/_site/docs/v0.62/people-and-groups/account-settings.html +++ b/_site/docs/v0.62/people-and-groups/account-settings.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/people-and-groups/api-keys.html b/_site/docs/v0.62/people-and-groups/api-keys.html index f0de1b8b19..07b28a298e 100644 --- a/_site/docs/v0.62/people-and-groups/api-keys.html +++ b/_site/docs/v0.62/people-and-groups/api-keys.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/people-and-groups/authenticating-with-jwt.html b/_site/docs/v0.62/people-and-groups/authenticating-with-jwt.html index 972df98fb6..dd8f571825 100644 --- a/_site/docs/v0.62/people-and-groups/authenticating-with-jwt.html +++ b/_site/docs/v0.62/people-and-groups/authenticating-with-jwt.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/people-and-groups/authenticating-with-oidc.html b/_site/docs/v0.62/people-and-groups/authenticating-with-oidc.html index 70d4e23ef0..753accabe6 100644 --- a/_site/docs/v0.62/people-and-groups/authenticating-with-oidc.html +++ b/_site/docs/v0.62/people-and-groups/authenticating-with-oidc.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/people-and-groups/authenticating-with-saml.html b/_site/docs/v0.62/people-and-groups/authenticating-with-saml.html index edf43ea283..7048027c7a 100644 --- a/_site/docs/v0.62/people-and-groups/authenticating-with-saml.html +++ b/_site/docs/v0.62/people-and-groups/authenticating-with-saml.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/people-and-groups/changing-password-complexity.html b/_site/docs/v0.62/people-and-groups/changing-password-complexity.html index f0f43459ed..df35d028e6 100644 --- a/_site/docs/v0.62/people-and-groups/changing-password-complexity.html +++ b/_site/docs/v0.62/people-and-groups/changing-password-complexity.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    @@ -6228,6 +6315,7 @@

    Password complexity

  • weak = no character constraints
  • normal = at least 1 digit
  • strong = minimum 8 characters w/ 2 lowercase, 2 uppercase, 1 digit, and 1 special character
  • +
  • strong-enough = minimum 15 characters
  • By default, Metabase also prevents users from setting passwords that are in a list of common passwords (like qwerty123 and diff --git a/_site/docs/v0.62/people-and-groups/changing-session-expiration.html b/_site/docs/v0.62/people-and-groups/changing-session-expiration.html index 8baace878d..198a16c82f 100644 --- a/_site/docs/v0.62/people-and-groups/changing-session-expiration.html +++ b/_site/docs/v0.62/people-and-groups/changing-session-expiration.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@

    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/people-and-groups/google-sign-in.html b/_site/docs/v0.62/people-and-groups/google-sign-in.html index a112cf9252..168f4dbb1b 100644 --- a/_site/docs/v0.62/people-and-groups/google-sign-in.html +++ b/_site/docs/v0.62/people-and-groups/google-sign-in.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/people-and-groups/ldap.html b/_site/docs/v0.62/people-and-groups/ldap.html index 767f863387..57279b28b5 100644 --- a/_site/docs/v0.62/people-and-groups/ldap.html +++ b/_site/docs/v0.62/people-and-groups/ldap.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/people-and-groups/managing.html b/_site/docs/v0.62/people-and-groups/managing.html index 8c30542d10..1020c6fa5f 100644 --- a/_site/docs/v0.62/people-and-groups/managing.html +++ b/_site/docs/v0.62/people-and-groups/managing.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/people-and-groups/oidc-keycloak.html b/_site/docs/v0.62/people-and-groups/oidc-keycloak.html index abfd79c27f..fb5cc2855e 100644 --- a/_site/docs/v0.62/people-and-groups/oidc-keycloak.html +++ b/_site/docs/v0.62/people-and-groups/oidc-keycloak.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/people-and-groups/saml-auth0.html b/_site/docs/v0.62/people-and-groups/saml-auth0.html index c41d6417d4..33cd041680 100644 --- a/_site/docs/v0.62/people-and-groups/saml-auth0.html +++ b/_site/docs/v0.62/people-and-groups/saml-auth0.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/people-and-groups/saml-azure.html b/_site/docs/v0.62/people-and-groups/saml-azure.html index 853cf28097..70ef2f524d 100644 --- a/_site/docs/v0.62/people-and-groups/saml-azure.html +++ b/_site/docs/v0.62/people-and-groups/saml-azure.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/people-and-groups/saml-google.html b/_site/docs/v0.62/people-and-groups/saml-google.html index 8c95765307..933a134692 100644 --- a/_site/docs/v0.62/people-and-groups/saml-google.html +++ b/_site/docs/v0.62/people-and-groups/saml-google.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/people-and-groups/saml-keycloak.html b/_site/docs/v0.62/people-and-groups/saml-keycloak.html index af75836ee1..6cb89be109 100644 --- a/_site/docs/v0.62/people-and-groups/saml-keycloak.html +++ b/_site/docs/v0.62/people-and-groups/saml-keycloak.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/people-and-groups/saml-okta.html b/_site/docs/v0.62/people-and-groups/saml-okta.html index 3ebf7f47b5..7aa863271a 100644 --- a/_site/docs/v0.62/people-and-groups/saml-okta.html +++ b/_site/docs/v0.62/people-and-groups/saml-okta.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/people-and-groups/start.html b/_site/docs/v0.62/people-and-groups/start.html index 5e77209322..6885ee092a 100644 --- a/_site/docs/v0.62/people-and-groups/start.html +++ b/_site/docs/v0.62/people-and-groups/start.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/people-and-groups/user-provisioning.html b/_site/docs/v0.62/people-and-groups/user-provisioning.html index 3d05208a27..a489b79318 100644 --- a/_site/docs/v0.62/people-and-groups/user-provisioning.html +++ b/_site/docs/v0.62/people-and-groups/user-provisioning.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/permissions/application.html b/_site/docs/v0.62/permissions/application.html index adc5e7b87c..963e5a69f1 100644 --- a/_site/docs/v0.62/permissions/application.html +++ b/_site/docs/v0.62/permissions/application.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/permissions/collections.html b/_site/docs/v0.62/permissions/collections.html index b552ca09f8..3b6f2112f5 100644 --- a/_site/docs/v0.62/permissions/collections.html +++ b/_site/docs/v0.62/permissions/collections.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/permissions/data.html b/_site/docs/v0.62/permissions/data.html index f13cf01584..eeb4595e98 100644 --- a/_site/docs/v0.62/permissions/data.html +++ b/_site/docs/v0.62/permissions/data.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/permissions/database-routing.html b/_site/docs/v0.62/permissions/database-routing.html index e5f5e620fe..ae85baeb3c 100644 --- a/_site/docs/v0.62/permissions/database-routing.html +++ b/_site/docs/v0.62/permissions/database-routing.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/permissions/embedding.html b/_site/docs/v0.62/permissions/embedding.html index 054da894b3..5d4f503cdc 100644 --- a/_site/docs/v0.62/permissions/embedding.html +++ b/_site/docs/v0.62/permissions/embedding.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/permissions/impersonation.html b/_site/docs/v0.62/permissions/impersonation.html index 072f577f47..3d5c0357c4 100644 --- a/_site/docs/v0.62/permissions/impersonation.html +++ b/_site/docs/v0.62/permissions/impersonation.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/permissions/introduction.html b/_site/docs/v0.62/permissions/introduction.html index a1a6037306..c3d1328ceb 100644 --- a/_site/docs/v0.62/permissions/introduction.html +++ b/_site/docs/v0.62/permissions/introduction.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/permissions/no-self-service-deprecation.html b/_site/docs/v0.62/permissions/no-self-service-deprecation.html index 1399f399cf..aef6a99ab2 100644 --- a/_site/docs/v0.62/permissions/no-self-service-deprecation.html +++ b/_site/docs/v0.62/permissions/no-self-service-deprecation.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/permissions/notifications.html b/_site/docs/v0.62/permissions/notifications.html index 341ecf66a5..05da047a5d 100644 --- a/_site/docs/v0.62/permissions/notifications.html +++ b/_site/docs/v0.62/permissions/notifications.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/permissions/row-and-column-security-examples.html b/_site/docs/v0.62/permissions/row-and-column-security-examples.html index d5bb9185ef..cd98da682d 100644 --- a/_site/docs/v0.62/permissions/row-and-column-security-examples.html +++ b/_site/docs/v0.62/permissions/row-and-column-security-examples.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/permissions/row-and-column-security.html b/_site/docs/v0.62/permissions/row-and-column-security.html index a5407db6d7..967766938a 100644 --- a/_site/docs/v0.62/permissions/row-and-column-security.html +++ b/_site/docs/v0.62/permissions/row-and-column-security.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/permissions/snippets.html b/_site/docs/v0.62/permissions/snippets.html index 7fed0ff9c0..022181a2d2 100644 --- a/_site/docs/v0.62/permissions/snippets.html +++ b/_site/docs/v0.62/permissions/snippets.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/permissions/start.html b/_site/docs/v0.62/permissions/start.html index 7e8a177572..fb10537a92 100644 --- a/_site/docs/v0.62/permissions/start.html +++ b/_site/docs/v0.62/permissions/start.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/alerts.html b/_site/docs/v0.62/questions/alerts.html index aabcd188ef..3b01fe0d2e 100644 --- a/_site/docs/v0.62/questions/alerts.html +++ b/_site/docs/v0.62/questions/alerts.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/exporting-results.html b/_site/docs/v0.62/questions/exporting-results.html index 3e05f6d01a..88463e1060 100644 --- a/_site/docs/v0.62/questions/exporting-results.html +++ b/_site/docs/v0.62/questions/exporting-results.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/introduction.html b/_site/docs/v0.62/questions/introduction.html index 5f5f9b3e4d..d69a2ba1be 100644 --- a/_site/docs/v0.62/questions/introduction.html +++ b/_site/docs/v0.62/questions/introduction.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/metrics-explorer.html b/_site/docs/v0.62/questions/metrics-explorer.html index f664c59dc8..90b5009d20 100644 --- a/_site/docs/v0.62/questions/metrics-explorer.html +++ b/_site/docs/v0.62/questions/metrics-explorer.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/native-editor/basic-sql-parameters.html b/_site/docs/v0.62/questions/native-editor/basic-sql-parameters.html index 05f4ccfa94..368c583c8d 100644 --- a/_site/docs/v0.62/questions/native-editor/basic-sql-parameters.html +++ b/_site/docs/v0.62/questions/native-editor/basic-sql-parameters.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/native-editor/field-filters.html b/_site/docs/v0.62/questions/native-editor/field-filters.html index def9ecaf12..09ed7f7650 100644 --- a/_site/docs/v0.62/questions/native-editor/field-filters.html +++ b/_site/docs/v0.62/questions/native-editor/field-filters.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/native-editor/filter-widgets.html b/_site/docs/v0.62/questions/native-editor/filter-widgets.html index 3a834f5673..66a71595ae 100644 --- a/_site/docs/v0.62/questions/native-editor/filter-widgets.html +++ b/_site/docs/v0.62/questions/native-editor/filter-widgets.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    @@ -6226,6 +6313,8 @@

    How to cr

    Date fields will either have a simple date filter (for date variables) or a dynamic date picker (for field filters mapped to a date field).

    +

    ID parameters also support all three widget types (input box, search box, and dropdown list), so you can power an ID filter with a dropdown or search box instead of a plain input box.

    +

    If you want to change the default filter widget for a particular field, you’ll need to ask an admin to update that field in the Table Metadata and set the desired “Filtering on this field” option.

    For dropdown lists and search boxes, you can also customize values available in the list. See below.

    @@ -6276,12 +6365,12 @@

    Customizing valu
  • Metabase will pop up a modal where you can select Where the values should come from.
  • -

    You can choose:

    +

    You can choose between:

      -
    • From connected fields. If you selected the Field filter variable type, you’ll also have the option to use the connected field.
    • -
    • From another model or question. If you select this option, you’ll need to pick a model or question, then a field from that model or question that Metabase will use to supply the values for that dropdown or search box. For example, if you want the dropdown to list the different plans an account could be on, you could select an “Account” model you created, and select the field “Plan” to power that dropdown. The dropdown would then list all of the distinct plan options that appear in the “Plan” column in the Accounts model.
    • -
    • Custom list. Enter each item on a line. You can enter any string values you like.
    • +
    • From connected fields: If you selected the Field filter variable type, you’ll also have the option to use the connected field.
    • +
    • From another model or question: Pick a model or question (built with either the query builder or SQL), then set the Column to supply the values that Metabase should filter on. You can also set a Column to supply the labels to display friendly labels in the dropdown while still filtering on the underlying values. For example, if you want the dropdown to list the different plans an account could be on, you could select an “Account” model you created and set the Column to supply the values to “Plan”. Or, to filter on product IDs while showing product names, set the Column to supply the values to “ID” and the Column to supply the labels to “Title”, so people see product names in the dropdown but the filter passes along the matching ID.
    • +
    • Custom list: Enter each item on a line. You can enter any string values you like.

    You can also change a dashboard filter’s selectable values.

    diff --git a/_site/docs/v0.62/questions/native-editor/optional-variables.html b/_site/docs/v0.62/questions/native-editor/optional-variables.html index b1f5e04eb0..e74b581e50 100644 --- a/_site/docs/v0.62/questions/native-editor/optional-variables.html +++ b/_site/docs/v0.62/questions/native-editor/optional-variables.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@

    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/native-editor/referencing-saved-questions-in-queries.html b/_site/docs/v0.62/questions/native-editor/referencing-saved-questions-in-queries.html index 8d1f6d5d00..acd787ab69 100644 --- a/_site/docs/v0.62/questions/native-editor/referencing-saved-questions-in-queries.html +++ b/_site/docs/v0.62/questions/native-editor/referencing-saved-questions-in-queries.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/native-editor/snippets.html b/_site/docs/v0.62/questions/native-editor/snippets.html index 295fd3cf08..9c6fff7e46 100644 --- a/_site/docs/v0.62/questions/native-editor/snippets.html +++ b/_site/docs/v0.62/questions/native-editor/snippets.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/native-editor/sql-parameters.html b/_site/docs/v0.62/questions/native-editor/sql-parameters.html index a68151c307..4e0bce1bea 100644 --- a/_site/docs/v0.62/questions/native-editor/sql-parameters.html +++ b/_site/docs/v0.62/questions/native-editor/sql-parameters.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/native-editor/table-variables.html b/_site/docs/v0.62/questions/native-editor/table-variables.html index aa359b1131..14a2d6078d 100644 --- a/_site/docs/v0.62/questions/native-editor/table-variables.html +++ b/_site/docs/v0.62/questions/native-editor/table-variables.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/native-editor/time-grouping-parameters.html b/_site/docs/v0.62/questions/native-editor/time-grouping-parameters.html index 0a42cb8766..167b3222f0 100644 --- a/_site/docs/v0.62/questions/native-editor/time-grouping-parameters.html +++ b/_site/docs/v0.62/questions/native-editor/time-grouping-parameters.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/native-editor/writing-sql.html b/_site/docs/v0.62/questions/native-editor/writing-sql.html index 577f25cc57..e702ea7f0a 100644 --- a/_site/docs/v0.62/questions/native-editor/writing-sql.html +++ b/_site/docs/v0.62/questions/native-editor/writing-sql.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/query-builder/editor.html b/_site/docs/v0.62/questions/query-builder/editor.html index b4749ff928..fb93bcde32 100644 --- a/_site/docs/v0.62/questions/query-builder/editor.html +++ b/_site/docs/v0.62/questions/query-builder/editor.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/query-builder/expressions-list.html b/_site/docs/v0.62/questions/query-builder/expressions-list.html index 74a6bfa19e..00351a29d9 100644 --- a/_site/docs/v0.62/questions/query-builder/expressions-list.html +++ b/_site/docs/v0.62/questions/query-builder/expressions-list.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/query-builder/expressions.html b/_site/docs/v0.62/questions/query-builder/expressions.html index fb586afaf2..d6434b5b52 100644 --- a/_site/docs/v0.62/questions/query-builder/expressions.html +++ b/_site/docs/v0.62/questions/query-builder/expressions.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/query-builder/expressions/case.html b/_site/docs/v0.62/questions/query-builder/expressions/case.html index 5abe5e1b37..e1427a9fa6 100644 --- a/_site/docs/v0.62/questions/query-builder/expressions/case.html +++ b/_site/docs/v0.62/questions/query-builder/expressions/case.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/query-builder/expressions/coalesce.html b/_site/docs/v0.62/questions/query-builder/expressions/coalesce.html index bb71227a0b..0625f7250e 100644 --- a/_site/docs/v0.62/questions/query-builder/expressions/coalesce.html +++ b/_site/docs/v0.62/questions/query-builder/expressions/coalesce.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/query-builder/expressions/concat.html b/_site/docs/v0.62/questions/query-builder/expressions/concat.html index 18cad6f096..4f214ad18b 100644 --- a/_site/docs/v0.62/questions/query-builder/expressions/concat.html +++ b/_site/docs/v0.62/questions/query-builder/expressions/concat.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/query-builder/expressions/converttimezone.html b/_site/docs/v0.62/questions/query-builder/expressions/converttimezone.html index 05086b3ce7..ffe68eedc8 100644 --- a/_site/docs/v0.62/questions/query-builder/expressions/converttimezone.html +++ b/_site/docs/v0.62/questions/query-builder/expressions/converttimezone.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/query-builder/expressions/countif.html b/_site/docs/v0.62/questions/query-builder/expressions/countif.html index 9d408c104a..1c169d3f95 100644 --- a/_site/docs/v0.62/questions/query-builder/expressions/countif.html +++ b/_site/docs/v0.62/questions/query-builder/expressions/countif.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/query-builder/expressions/cumulative.html b/_site/docs/v0.62/questions/query-builder/expressions/cumulative.html index 5fb2ace677..43766450ff 100644 --- a/_site/docs/v0.62/questions/query-builder/expressions/cumulative.html +++ b/_site/docs/v0.62/questions/query-builder/expressions/cumulative.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/query-builder/expressions/datetimeadd.html b/_site/docs/v0.62/questions/query-builder/expressions/datetimeadd.html index 8544b9c2a9..138a861079 100644 --- a/_site/docs/v0.62/questions/query-builder/expressions/datetimeadd.html +++ b/_site/docs/v0.62/questions/query-builder/expressions/datetimeadd.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/query-builder/expressions/datetimediff.html b/_site/docs/v0.62/questions/query-builder/expressions/datetimediff.html index 416397eb73..eb4d6c1f00 100644 --- a/_site/docs/v0.62/questions/query-builder/expressions/datetimediff.html +++ b/_site/docs/v0.62/questions/query-builder/expressions/datetimediff.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/query-builder/expressions/datetimesubtract.html b/_site/docs/v0.62/questions/query-builder/expressions/datetimesubtract.html index ad19af6b09..b470e55c41 100644 --- a/_site/docs/v0.62/questions/query-builder/expressions/datetimesubtract.html +++ b/_site/docs/v0.62/questions/query-builder/expressions/datetimesubtract.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/query-builder/expressions/in.html b/_site/docs/v0.62/questions/query-builder/expressions/in.html index e022a69bfd..8969b89fec 100644 --- a/_site/docs/v0.62/questions/query-builder/expressions/in.html +++ b/_site/docs/v0.62/questions/query-builder/expressions/in.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/query-builder/expressions/isempty.html b/_site/docs/v0.62/questions/query-builder/expressions/isempty.html index 1e86815bb3..d90e039646 100644 --- a/_site/docs/v0.62/questions/query-builder/expressions/isempty.html +++ b/_site/docs/v0.62/questions/query-builder/expressions/isempty.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/query-builder/expressions/isnull.html b/_site/docs/v0.62/questions/query-builder/expressions/isnull.html index b63a1a8328..b765120aa2 100644 --- a/_site/docs/v0.62/questions/query-builder/expressions/isnull.html +++ b/_site/docs/v0.62/questions/query-builder/expressions/isnull.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/query-builder/expressions/now.html b/_site/docs/v0.62/questions/query-builder/expressions/now.html index 41adfc0e55..41b042e99f 100644 --- a/_site/docs/v0.62/questions/query-builder/expressions/now.html +++ b/_site/docs/v0.62/questions/query-builder/expressions/now.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/query-builder/expressions/offset.html b/_site/docs/v0.62/questions/query-builder/expressions/offset.html index b889244397..fa161736af 100644 --- a/_site/docs/v0.62/questions/query-builder/expressions/offset.html +++ b/_site/docs/v0.62/questions/query-builder/expressions/offset.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/query-builder/expressions/regexextract.html b/_site/docs/v0.62/questions/query-builder/expressions/regexextract.html index bcde5866fe..219a8f36e6 100644 --- a/_site/docs/v0.62/questions/query-builder/expressions/regexextract.html +++ b/_site/docs/v0.62/questions/query-builder/expressions/regexextract.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/query-builder/expressions/substring.html b/_site/docs/v0.62/questions/query-builder/expressions/substring.html index 35e7c55ceb..cf73c37e3c 100644 --- a/_site/docs/v0.62/questions/query-builder/expressions/substring.html +++ b/_site/docs/v0.62/questions/query-builder/expressions/substring.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/query-builder/expressions/sumif.html b/_site/docs/v0.62/questions/query-builder/expressions/sumif.html index 46c77689c1..183603a7b4 100644 --- a/_site/docs/v0.62/questions/query-builder/expressions/sumif.html +++ b/_site/docs/v0.62/questions/query-builder/expressions/sumif.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/query-builder/expressions/week.html b/_site/docs/v0.62/questions/query-builder/expressions/week.html index 3fd0dd4221..da2ff56183 100644 --- a/_site/docs/v0.62/questions/query-builder/expressions/week.html +++ b/_site/docs/v0.62/questions/query-builder/expressions/week.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/query-builder/filters.html b/_site/docs/v0.62/questions/query-builder/filters.html index 56e0bdfef9..f8952853fb 100644 --- a/_site/docs/v0.62/questions/query-builder/filters.html +++ b/_site/docs/v0.62/questions/query-builder/filters.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/query-builder/join.html b/_site/docs/v0.62/questions/query-builder/join.html index a69cc2764e..4227a1a2dd 100644 --- a/_site/docs/v0.62/questions/query-builder/join.html +++ b/_site/docs/v0.62/questions/query-builder/join.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/query-builder/summarizing-and-grouping.html b/_site/docs/v0.62/questions/query-builder/summarizing-and-grouping.html index f7fa5b4e74..de03710582 100644 --- a/_site/docs/v0.62/questions/query-builder/summarizing-and-grouping.html +++ b/_site/docs/v0.62/questions/query-builder/summarizing-and-grouping.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/start.html b/_site/docs/v0.62/questions/start.html index a9656f9621..f6f6d77600 100644 --- a/_site/docs/v0.62/questions/start.html +++ b/_site/docs/v0.62/questions/start.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/visualizations/box-plot.html b/_site/docs/v0.62/questions/visualizations/box-plot.html index b50bfe991d..8ab4372d9f 100644 --- a/_site/docs/v0.62/questions/visualizations/box-plot.html +++ b/_site/docs/v0.62/questions/visualizations/box-plot.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/visualizations/combo-chart.html b/_site/docs/v0.62/questions/visualizations/combo-chart.html index a538d4c39a..a4b9c8ace2 100644 --- a/_site/docs/v0.62/questions/visualizations/combo-chart.html +++ b/_site/docs/v0.62/questions/visualizations/combo-chart.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/visualizations/country-codes.html b/_site/docs/v0.62/questions/visualizations/country-codes.html index 0f54d3c2c0..03ec575775 100644 --- a/_site/docs/v0.62/questions/visualizations/country-codes.html +++ b/_site/docs/v0.62/questions/visualizations/country-codes.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/visualizations/custom.html b/_site/docs/v0.62/questions/visualizations/custom.html index 90bc5c8dd2..542297b048 100644 --- a/_site/docs/v0.62/questions/visualizations/custom.html +++ b/_site/docs/v0.62/questions/visualizations/custom.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/visualizations/detail.html b/_site/docs/v0.62/questions/visualizations/detail.html index 1d6cf0e8b9..0670258ffc 100644 --- a/_site/docs/v0.62/questions/visualizations/detail.html +++ b/_site/docs/v0.62/questions/visualizations/detail.html @@ -230,6 +230,12 @@ + + + + + + @@ -1034,9 +1040,47 @@
    Learn
    - @@ -1816,9 +1860,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1832,6 +1915,17 @@
    Embedded Analytics
    + + +
    @@ -6214,13 +6308,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/visualizations/drill-through.html b/_site/docs/v0.62/questions/visualizations/drill-through.html index c6804141fa..b30bd367eb 100644 --- a/_site/docs/v0.62/questions/visualizations/drill-through.html +++ b/_site/docs/v0.62/questions/visualizations/drill-through.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/visualizations/funnel.html b/_site/docs/v0.62/questions/visualizations/funnel.html index 3ce844a330..4ecc7acdff 100644 --- a/_site/docs/v0.62/questions/visualizations/funnel.html +++ b/_site/docs/v0.62/questions/visualizations/funnel.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/visualizations/gauge.html b/_site/docs/v0.62/questions/visualizations/gauge.html index 2ec14f1a97..e872a62271 100644 --- a/_site/docs/v0.62/questions/visualizations/gauge.html +++ b/_site/docs/v0.62/questions/visualizations/gauge.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/visualizations/line-bar-and-area-charts.html b/_site/docs/v0.62/questions/visualizations/line-bar-and-area-charts.html index 4cef445edc..f1417c7ac5 100644 --- a/_site/docs/v0.62/questions/visualizations/line-bar-and-area-charts.html +++ b/_site/docs/v0.62/questions/visualizations/line-bar-and-area-charts.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/visualizations/map.html b/_site/docs/v0.62/questions/visualizations/map.html index 4b2389cc39..4fc6a71c1e 100644 --- a/_site/docs/v0.62/questions/visualizations/map.html +++ b/_site/docs/v0.62/questions/visualizations/map.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/visualizations/numbers.html b/_site/docs/v0.62/questions/visualizations/numbers.html index c2d89ef8d1..b9a69843ab 100644 --- a/_site/docs/v0.62/questions/visualizations/numbers.html +++ b/_site/docs/v0.62/questions/visualizations/numbers.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/visualizations/pie-or-donut-chart.html b/_site/docs/v0.62/questions/visualizations/pie-or-donut-chart.html index 623d4bd05e..c197b81a7c 100644 --- a/_site/docs/v0.62/questions/visualizations/pie-or-donut-chart.html +++ b/_site/docs/v0.62/questions/visualizations/pie-or-donut-chart.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/visualizations/pivot-table.html b/_site/docs/v0.62/questions/visualizations/pivot-table.html index a18170128d..e4e3eaa655 100644 --- a/_site/docs/v0.62/questions/visualizations/pivot-table.html +++ b/_site/docs/v0.62/questions/visualizations/pivot-table.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/visualizations/progress-bar.html b/_site/docs/v0.62/questions/visualizations/progress-bar.html index 36bd39d01a..f5293d03e8 100644 --- a/_site/docs/v0.62/questions/visualizations/progress-bar.html +++ b/_site/docs/v0.62/questions/visualizations/progress-bar.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/visualizations/sankey.html b/_site/docs/v0.62/questions/visualizations/sankey.html index 90cc77058e..e4559c31b6 100644 --- a/_site/docs/v0.62/questions/visualizations/sankey.html +++ b/_site/docs/v0.62/questions/visualizations/sankey.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/visualizations/scatterplot-or-bubble-chart.html b/_site/docs/v0.62/questions/visualizations/scatterplot-or-bubble-chart.html index 24b807036e..01e8707457 100644 --- a/_site/docs/v0.62/questions/visualizations/scatterplot-or-bubble-chart.html +++ b/_site/docs/v0.62/questions/visualizations/scatterplot-or-bubble-chart.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/visualizations/table.html b/_site/docs/v0.62/questions/visualizations/table.html index ca9f1f5a4b..fd48b35e25 100644 --- a/_site/docs/v0.62/questions/visualizations/table.html +++ b/_site/docs/v0.62/questions/visualizations/table.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/visualizations/tooltips.html b/_site/docs/v0.62/questions/visualizations/tooltips.html index d35a277381..3f7ab596da 100644 --- a/_site/docs/v0.62/questions/visualizations/tooltips.html +++ b/_site/docs/v0.62/questions/visualizations/tooltips.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/visualizations/trend.html b/_site/docs/v0.62/questions/visualizations/trend.html index 372e3f8785..a574008c92 100644 --- a/_site/docs/v0.62/questions/visualizations/trend.html +++ b/_site/docs/v0.62/questions/visualizations/trend.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/visualizations/visualizing-results.html b/_site/docs/v0.62/questions/visualizations/visualizing-results.html index 8632d8be01..347c6c4032 100644 --- a/_site/docs/v0.62/questions/visualizations/visualizing-results.html +++ b/_site/docs/v0.62/questions/visualizations/visualizing-results.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/questions/visualizations/waterfall-chart.html b/_site/docs/v0.62/questions/visualizations/waterfall-chart.html index a0fa0afdab..5714a7c064 100644 --- a/_site/docs/v0.62/questions/visualizations/waterfall-chart.html +++ b/_site/docs/v0.62/questions/visualizations/waterfall-chart.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/troubleshooting-guide/bigquery-drive.html b/_site/docs/v0.62/troubleshooting-guide/bigquery-drive.html index 36bc7418e2..327e779442 100644 --- a/_site/docs/v0.62/troubleshooting-guide/bigquery-drive.html +++ b/_site/docs/v0.62/troubleshooting-guide/bigquery-drive.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/troubleshooting-guide/bugs.html b/_site/docs/v0.62/troubleshooting-guide/bugs.html index 132f2afbda..5532407838 100644 --- a/_site/docs/v0.62/troubleshooting-guide/bugs.html +++ b/_site/docs/v0.62/troubleshooting-guide/bugs.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/troubleshooting-guide/cant-log-in.html b/_site/docs/v0.62/troubleshooting-guide/cant-log-in.html index fb01f34b3b..15904e4666 100644 --- a/_site/docs/v0.62/troubleshooting-guide/cant-log-in.html +++ b/_site/docs/v0.62/troubleshooting-guide/cant-log-in.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/troubleshooting-guide/cant-see-tables.html b/_site/docs/v0.62/troubleshooting-guide/cant-see-tables.html index 54e0c8b244..94856cb474 100644 --- a/_site/docs/v0.62/troubleshooting-guide/cant-see-tables.html +++ b/_site/docs/v0.62/troubleshooting-guide/cant-see-tables.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/troubleshooting-guide/cant-send-email.html b/_site/docs/v0.62/troubleshooting-guide/cant-send-email.html index e9e583525d..b09c2cb862 100644 --- a/_site/docs/v0.62/troubleshooting-guide/cant-send-email.html +++ b/_site/docs/v0.62/troubleshooting-guide/cant-send-email.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/troubleshooting-guide/cant-view-or-edit.html b/_site/docs/v0.62/troubleshooting-guide/cant-view-or-edit.html index bca011d407..552608e5ae 100644 --- a/_site/docs/v0.62/troubleshooting-guide/cant-view-or-edit.html +++ b/_site/docs/v0.62/troubleshooting-guide/cant-view-or-edit.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/troubleshooting-guide/create-har-file.html b/_site/docs/v0.62/troubleshooting-guide/create-har-file.html index f12f2e15b4..d405b67f31 100644 --- a/_site/docs/v0.62/troubleshooting-guide/create-har-file.html +++ b/_site/docs/v0.62/troubleshooting-guide/create-har-file.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/troubleshooting-guide/data-permissions.html b/_site/docs/v0.62/troubleshooting-guide/data-permissions.html index 8f3a024098..651c9b6898 100644 --- a/_site/docs/v0.62/troubleshooting-guide/data-permissions.html +++ b/_site/docs/v0.62/troubleshooting-guide/data-permissions.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/troubleshooting-guide/db-connection.html b/_site/docs/v0.62/troubleshooting-guide/db-connection.html index d1a5393247..0c456c9f1d 100644 --- a/_site/docs/v0.62/troubleshooting-guide/db-connection.html +++ b/_site/docs/v0.62/troubleshooting-guide/db-connection.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/troubleshooting-guide/db-performance.html b/_site/docs/v0.62/troubleshooting-guide/db-performance.html index 3cf50f9a61..fa5e0ed03a 100644 --- a/_site/docs/v0.62/troubleshooting-guide/db-performance.html +++ b/_site/docs/v0.62/troubleshooting-guide/db-performance.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/troubleshooting-guide/diagnostic-info.html b/_site/docs/v0.62/troubleshooting-guide/diagnostic-info.html index 879338c8e6..d4a5247085 100644 --- a/_site/docs/v0.62/troubleshooting-guide/diagnostic-info.html +++ b/_site/docs/v0.62/troubleshooting-guide/diagnostic-info.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/troubleshooting-guide/docker.html b/_site/docs/v0.62/troubleshooting-guide/docker.html index bc5f808abd..a5796fae87 100644 --- a/_site/docs/v0.62/troubleshooting-guide/docker.html +++ b/_site/docs/v0.62/troubleshooting-guide/docker.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/troubleshooting-guide/error-message.html b/_site/docs/v0.62/troubleshooting-guide/error-message.html index a042100a95..5b820cb7ee 100644 --- a/_site/docs/v0.62/troubleshooting-guide/error-message.html +++ b/_site/docs/v0.62/troubleshooting-guide/error-message.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/troubleshooting-guide/filters.html b/_site/docs/v0.62/troubleshooting-guide/filters.html index b4b2d4455e..fb0cc0f7ec 100644 --- a/_site/docs/v0.62/troubleshooting-guide/filters.html +++ b/_site/docs/v0.62/troubleshooting-guide/filters.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/troubleshooting-guide/index.html b/_site/docs/v0.62/troubleshooting-guide/index.html index a6b2c16826..a5b7e01493 100644 --- a/_site/docs/v0.62/troubleshooting-guide/index.html +++ b/_site/docs/v0.62/troubleshooting-guide/index.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/troubleshooting-guide/known-issues.html b/_site/docs/v0.62/troubleshooting-guide/known-issues.html index 5420b2d3d9..bac727d11a 100644 --- a/_site/docs/v0.62/troubleshooting-guide/known-issues.html +++ b/_site/docs/v0.62/troubleshooting-guide/known-issues.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/troubleshooting-guide/ldap.html b/_site/docs/v0.62/troubleshooting-guide/ldap.html index b665729b42..b4f44cce17 100644 --- a/_site/docs/v0.62/troubleshooting-guide/ldap.html +++ b/_site/docs/v0.62/troubleshooting-guide/ldap.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/troubleshooting-guide/linked-filters.html b/_site/docs/v0.62/troubleshooting-guide/linked-filters.html index e216a769c2..0bb8dcc47c 100644 --- a/_site/docs/v0.62/troubleshooting-guide/linked-filters.html +++ b/_site/docs/v0.62/troubleshooting-guide/linked-filters.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/troubleshooting-guide/loading-from-h2.html b/_site/docs/v0.62/troubleshooting-guide/loading-from-h2.html index f3d489df07..9eee06ea53 100644 --- a/_site/docs/v0.62/troubleshooting-guide/loading-from-h2.html +++ b/_site/docs/v0.62/troubleshooting-guide/loading-from-h2.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/troubleshooting-guide/models.html b/_site/docs/v0.62/troubleshooting-guide/models.html index 9516798082..cf7c50c4dc 100644 --- a/_site/docs/v0.62/troubleshooting-guide/models.html +++ b/_site/docs/v0.62/troubleshooting-guide/models.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/troubleshooting-guide/my-dashboard-is-slow.html b/_site/docs/v0.62/troubleshooting-guide/my-dashboard-is-slow.html index 21f6ac9153..ce6fcb9651 100644 --- a/_site/docs/v0.62/troubleshooting-guide/my-dashboard-is-slow.html +++ b/_site/docs/v0.62/troubleshooting-guide/my-dashboard-is-slow.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/troubleshooting-guide/notifications.html b/_site/docs/v0.62/troubleshooting-guide/notifications.html index 34ed67adc2..1c92ca38f2 100644 --- a/_site/docs/v0.62/troubleshooting-guide/notifications.html +++ b/_site/docs/v0.62/troubleshooting-guide/notifications.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/troubleshooting-guide/permissions.html b/_site/docs/v0.62/troubleshooting-guide/permissions.html index 1fae1062a1..3425834502 100644 --- a/_site/docs/v0.62/troubleshooting-guide/permissions.html +++ b/_site/docs/v0.62/troubleshooting-guide/permissions.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/troubleshooting-guide/proxies.html b/_site/docs/v0.62/troubleshooting-guide/proxies.html index c54e5b3baa..f53175a85a 100644 --- a/_site/docs/v0.62/troubleshooting-guide/proxies.html +++ b/_site/docs/v0.62/troubleshooting-guide/proxies.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/troubleshooting-guide/requesting-new-features.html b/_site/docs/v0.62/troubleshooting-guide/requesting-new-features.html index b704e31000..905aa09e51 100644 --- a/_site/docs/v0.62/troubleshooting-guide/requesting-new-features.html +++ b/_site/docs/v0.62/troubleshooting-guide/requesting-new-features.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/troubleshooting-guide/row-and-column-security.html b/_site/docs/v0.62/troubleshooting-guide/row-and-column-security.html index 6032d38378..de1d4fe7b2 100644 --- a/_site/docs/v0.62/troubleshooting-guide/row-and-column-security.html +++ b/_site/docs/v0.62/troubleshooting-guide/row-and-column-security.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/troubleshooting-guide/running.html b/_site/docs/v0.62/troubleshooting-guide/running.html index 28fa9dfcad..ac00ab63c1 100644 --- a/_site/docs/v0.62/troubleshooting-guide/running.html +++ b/_site/docs/v0.62/troubleshooting-guide/running.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/troubleshooting-guide/saml.html b/_site/docs/v0.62/troubleshooting-guide/saml.html index f729beccdf..8cd3038b01 100644 --- a/_site/docs/v0.62/troubleshooting-guide/saml.html +++ b/_site/docs/v0.62/troubleshooting-guide/saml.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/troubleshooting-guide/server-logs.html b/_site/docs/v0.62/troubleshooting-guide/server-logs.html index 577293ff67..86bfa34ae2 100644 --- a/_site/docs/v0.62/troubleshooting-guide/server-logs.html +++ b/_site/docs/v0.62/troubleshooting-guide/server-logs.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/troubleshooting-guide/sql.html b/_site/docs/v0.62/troubleshooting-guide/sql.html index d3ff8dcc6f..161bf3e267 100644 --- a/_site/docs/v0.62/troubleshooting-guide/sql.html +++ b/_site/docs/v0.62/troubleshooting-guide/sql.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/troubleshooting-guide/sync-fingerprint-scan.html b/_site/docs/v0.62/troubleshooting-guide/sync-fingerprint-scan.html index 9fcda10f72..e985909ccc 100644 --- a/_site/docs/v0.62/troubleshooting-guide/sync-fingerprint-scan.html +++ b/_site/docs/v0.62/troubleshooting-guide/sync-fingerprint-scan.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/troubleshooting-guide/timeout.html b/_site/docs/v0.62/troubleshooting-guide/timeout.html index 119c511219..e2d78566ee 100644 --- a/_site/docs/v0.62/troubleshooting-guide/timeout.html +++ b/_site/docs/v0.62/troubleshooting-guide/timeout.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/troubleshooting-guide/timezones.html b/_site/docs/v0.62/troubleshooting-guide/timezones.html index fefbd4b37a..a81a181967 100644 --- a/_site/docs/v0.62/troubleshooting-guide/timezones.html +++ b/_site/docs/v0.62/troubleshooting-guide/timezones.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/troubleshooting-guide/visualization.html b/_site/docs/v0.62/troubleshooting-guide/visualization.html index 827ea8dbc3..faabdb188d 100644 --- a/_site/docs/v0.62/troubleshooting-guide/visualization.html +++ b/_site/docs/v0.62/troubleshooting-guide/visualization.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/usage-and-performance-tools/audit.html b/_site/docs/v0.62/usage-and-performance-tools/audit.html index a5a654695c..e12b471194 100644 --- a/_site/docs/v0.62/usage-and-performance-tools/audit.html +++ b/_site/docs/v0.62/usage-and-performance-tools/audit.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/usage-and-performance-tools/start.html b/_site/docs/v0.62/usage-and-performance-tools/start.html index d87dfb3f64..1b4f12c3f3 100644 --- a/_site/docs/v0.62/usage-and-performance-tools/start.html +++ b/_site/docs/v0.62/usage-and-performance-tools/start.html @@ -238,6 +238,12 @@ + + + + + + @@ -1042,9 +1048,47 @@
    Learn
    - @@ -1824,9 +1868,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1840,6 +1923,17 @@
    Embedded Analytics
    + + +
    @@ -6222,13 +6316,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/usage-and-performance-tools/tools.html b/_site/docs/v0.62/usage-and-performance-tools/tools.html index 1852df5cc0..0f344501ac 100644 --- a/_site/docs/v0.62/usage-and-performance-tools/tools.html +++ b/_site/docs/v0.62/usage-and-performance-tools/tools.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/usage-and-performance-tools/usage-analytics-reference.html b/_site/docs/v0.62/usage-and-performance-tools/usage-analytics-reference.html index 85e2abda0a..35052d2e1b 100644 --- a/_site/docs/v0.62/usage-and-performance-tools/usage-analytics-reference.html +++ b/_site/docs/v0.62/usage-and-performance-tools/usage-analytics-reference.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/usage-and-performance-tools/usage-analytics.html b/_site/docs/v0.62/usage-and-performance-tools/usage-analytics.html index 18f6ff46fd..dd467befb8 100644 --- a/_site/docs/v0.62/usage-and-performance-tools/usage-analytics.html +++ b/_site/docs/v0.62/usage-and-performance-tools/usage-analytics.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -6200,13 +6294,6 @@
    Other resources
    diff --git a/_site/docs/v0.62/util/resources/introduction.html b/_site/docs/v0.62/util/resources/introduction.html index 5b1ef14e9d..61a3d7b55b 100644 --- a/_site/docs/v0.62/util/resources/introduction.html +++ b/_site/docs/v0.62/util/resources/introduction.html @@ -216,6 +216,12 @@ + + + + + + @@ -1020,9 +1026,47 @@
    Learn
    - @@ -1802,9 +1846,48 @@
    Embedded Analytics
    - + Pricing + Log in @@ -1818,6 +1901,17 @@
    Embedded Analytics
    + + +
    @@ -1885,7 +1979,7 @@
    Analytics
  • - + Queries and charts @@ -1908,7 +2002,7 @@
    Analytics
  • - + Introduction @@ -1944,7 +2038,7 @@
    Analytics
  • - + Editor @@ -1958,7 +2052,7 @@
    Analytics
  • - + Filtering @@ -1972,7 +2066,7 @@
    Analytics
  • - + Summarizing and grouping @@ -1986,7 +2080,7 @@
    Analytics
  • - + Joining data @@ -2000,7 +2094,7 @@
    Analytics
  • - + Custom expressions @@ -2014,7 +2108,7 @@
    Analytics
  • - + List of expressions @@ -2054,7 +2148,7 @@
    Analytics
  • - + SQL editor @@ -2068,7 +2162,7 @@
    Analytics
  • - + SQL parameters @@ -2082,7 +2176,7 @@
    Analytics
  • - + Field filters @@ -2096,7 +2190,7 @@
    Analytics
  • - + Basic SQL parameters @@ -2110,7 +2204,7 @@
    Analytics
  • - + Time grouping parameters @@ -2124,7 +2218,7 @@
    Analytics
  • - + Table variables @@ -2138,7 +2232,7 @@
    Analytics
  • - + Optional variables @@ -2152,7 +2246,7 @@
    Analytics
  • - + Filter widgets @@ -2166,7 +2260,7 @@
    Analytics
  • - + Referencing models and questions @@ -2180,7 +2274,7 @@
    Analytics
  • - + Snippets @@ -2194,7 +2288,7 @@
    Analytics
  • - + Snippet folder permissions @@ -2234,7 +2328,7 @@
    Analytics
  • - + Overview @@ -2248,7 +2342,7 @@
    Analytics
  • - + Box plot @@ -2262,7 +2356,7 @@
    Analytics
  • - + Combo chart @@ -2276,7 +2370,7 @@
    Analytics
  • - + Details chart @@ -2290,7 +2384,7 @@
    Analytics
  • - + Funnel chart @@ -2304,7 +2398,7 @@
    Analytics
  • - + Gauge chart @@ -2318,7 +2412,7 @@
    Analytics
  • - + Line, bar, and area charts @@ -2332,7 +2426,7 @@
    Analytics
  • - + Maps @@ -2346,7 +2440,7 @@
    Analytics
  • - + Number chart @@ -2360,7 +2454,7 @@
    Analytics
  • - + Pie and sunburst charts @@ -2374,7 +2468,7 @@
    Analytics
  • - + Pivot tables @@ -2388,7 +2482,7 @@
    Analytics
  • - + Progress bar @@ -2402,7 +2496,7 @@
    Analytics
  • - + Sankey chart @@ -2416,7 +2510,7 @@
    Analytics
  • - + Scatterplot @@ -2430,7 +2524,7 @@
    Analytics
  • - + Table @@ -2444,7 +2538,7 @@
    Analytics
  • - + Trend chart @@ -2458,7 +2552,7 @@
    Analytics
  • - + Waterfall chart @@ -2472,7 +2566,7 @@
    Analytics
  • - + Tooltips @@ -2491,7 +2585,7 @@
    Analytics
  • - + Metrics explorer @@ -2506,7 +2600,7 @@
    Analytics
  • - + Alerts @@ -2521,7 +2615,7 @@
    Analytics
  • - + Exporting data @@ -2542,7 +2636,7 @@
    Analytics
  • - + Dashboards @@ -2565,7 +2659,7 @@
    Analytics
  • - + Overview @@ -2580,7 +2674,7 @@
    Analytics
  • - + Dashboard filters @@ -2595,7 +2689,7 @@
    Analytics
  • - + Linked filters @@ -2610,7 +2704,7 @@
    Analytics
  • - + Dashboard interactivity @@ -2625,7 +2719,7 @@
    Analytics
  • - + Charts with multiple series @@ -2640,7 +2734,7 @@
    Analytics
  • - + Dashboard subscriptions @@ -2655,7 +2749,7 @@
    Analytics
  • - + Actions on dashboards @@ -2676,7 +2770,7 @@
    Analytics
  • - + Documents @@ -2699,7 +2793,7 @@
    Analytics
  • - + Overview @@ -2720,7 +2814,7 @@
    Analytics
  • - + AI @@ -2743,7 +2837,7 @@
    Analytics
  • - + Overview @@ -2758,7 +2852,7 @@
    Analytics
  • - + Metabot @@ -2773,7 +2867,7 @@
    Analytics
  • - + Metabot in Slack @@ -2788,7 +2882,7 @@
    Analytics
  • - + Settings @@ -2803,7 +2897,7 @@
    Analytics
  • - + MCP server @@ -2818,7 +2912,7 @@
    Analytics
  • - + Agent API @@ -2833,7 +2927,7 @@
    Analytics
  • - + Agent-driven development @@ -2848,7 +2942,7 @@
    Analytics
  • - + Customization @@ -2863,7 +2957,7 @@
    Analytics
  • - + System prompts @@ -2878,7 +2972,7 @@
    Analytics
  • - + Usage auditing @@ -2893,7 +2987,7 @@
    Analytics
  • - + Usage controls @@ -2908,7 +3002,7 @@
    Analytics
  • - + AI privacy @@ -2929,7 +3023,7 @@
    Analytics
  • - + Data modeling @@ -2952,7 +3046,7 @@
    Analytics
  • - + Models @@ -2967,7 +3061,7 @@
    Analytics
  • - + Model persistence @@ -2982,7 +3076,7 @@
    Analytics
  • - + Metrics @@ -2997,7 +3091,7 @@
    Analytics
  • - + Table metadata settings @@ -3012,7 +3106,7 @@
    Analytics
  • - + Data and semantic types @@ -3027,7 +3121,7 @@
    Analytics
  • - + Editable tables @@ -3042,7 +3136,7 @@
    Analytics
  • - + Formatting defaults @@ -3057,7 +3151,7 @@
    Analytics
  • - + Working with JSON @@ -3072,7 +3166,7 @@
    Analytics
  • - + Segments @@ -3108,7 +3202,7 @@
    Analytics
  • - + Overview @@ -3122,7 +3216,7 @@
    Analytics
  • - + Basic actions @@ -3136,7 +3230,7 @@
    Analytics
  • - + Custom actions @@ -3161,7 +3255,7 @@
    Analytics
  • - + Data Studio @@ -3184,7 +3278,7 @@
    Analytics
  • - + Overview @@ -3199,7 +3293,7 @@
    Analytics
  • - + Library @@ -3214,7 +3308,7 @@
    Analytics
  • - + Data structure @@ -3229,7 +3323,7 @@
    Analytics
  • - + Glossary @@ -3244,7 +3338,7 @@
    Analytics
  • - + Dependency graph @@ -3259,7 +3353,7 @@
    Analytics
  • - + Dependency diagnostics @@ -3295,7 +3389,7 @@
    Analytics
  • - + Overview @@ -3309,7 +3403,7 @@
    Analytics
  • - + Query transforms @@ -3323,7 +3417,7 @@
    Analytics
  • - + Python transforms @@ -3337,7 +3431,7 @@
    Analytics
  • - + Python runner @@ -3351,7 +3445,7 @@
    Analytics
  • - + Jobs and runs @@ -3365,7 +3459,7 @@
    Analytics
  • - + Transform inspector @@ -3379,7 +3473,7 @@
    Analytics
  • - + Add-ons @@ -3404,7 +3498,7 @@
    Analytics
  • - + Organization @@ -3427,7 +3521,7 @@
    Analytics
  • - + Basic exploration @@ -3442,7 +3536,7 @@
    Analytics
  • - + Keyboard shortcuts @@ -3457,7 +3551,7 @@
    Analytics
  • - + Collections @@ -3472,7 +3566,7 @@
    Analytics
  • - + Data reference @@ -3487,7 +3581,7 @@
    Analytics
  • - + Events and timelines @@ -3502,7 +3596,7 @@
    Analytics
  • - + X-rays @@ -3517,7 +3611,7 @@
    Analytics
  • - + Content verification @@ -3532,7 +3626,7 @@
    Analytics
  • - + History @@ -3547,7 +3641,7 @@
    Analytics
  • - + Delete and restore @@ -3574,7 +3668,7 @@
    Embedding
  • - + Overview @@ -3615,7 +3709,7 @@
    Embedding
  • - + Overview @@ -3630,7 +3724,7 @@
    Embedding
  • - + Components @@ -3645,7 +3739,22 @@
    Embedding
  • - + + Filters and parameters + + + + +
  • + + + + + + + +
  • + Appearance @@ -3660,7 +3769,7 @@
    Embedding
  • - + Authentication @@ -3675,7 +3784,7 @@
    Embedding
  • - + Tenants @@ -3711,7 +3820,7 @@
    Embedding
  • - + Overview @@ -3725,7 +3834,7 @@
    Embedding
  • - + Quickstarts @@ -3756,35 +3865,35 @@
    Embedding
  • - + Questions
  • - + Dashboards
  • - + AI chat
  • - + Collections
  • - + Plugins
  • @@ -3816,21 +3925,21 @@
    Embedding
  • - + Provider config
  • - + Working with Next.js
  • - + Versioning
  • @@ -3845,7 +3954,7 @@
    Embedding
  • - + Upgrading @@ -3859,7 +3968,7 @@
    Embedding
  • - + API @@ -3878,7 +3987,7 @@
    Embedding
  • - + Guest embedding @@ -3893,7 +4002,7 @@
    Embedding
  • - + Translate embeds @@ -3937,7 +4046,7 @@
    Embedding
  • - + Overview @@ -3952,7 +4061,7 @@
    Embedding
  • - + Quickstart @@ -3967,7 +4076,7 @@
    Embedding
  • - + Full app UI components @@ -3988,7 +4097,7 @@
    Embedding
  • - + Public links and embeds @@ -4006,7 +4115,7 @@
    Embedding
  • - + Securing embeds @@ -4024,7 +4133,7 @@
    Embedding
  • - + AI agent resources @@ -4048,7 +4157,7 @@
    Administration
  • - + Installation @@ -4092,7 +4201,7 @@
    Administration
  • - + Installation overview @@ -4120,7 +4229,7 @@
    Administration
  • - + Running the JAR file @@ -4134,7 +4243,7 @@
    Administration
  • - + Running in Docker @@ -4148,7 +4257,7 @@
    Administration
  • - + Other installation options @@ -4167,7 +4276,7 @@
    Administration
  • - + Upgrading Metabase @@ -4182,7 +4291,7 @@
    Administration
  • - + Configuring the Metabase application database @@ -4197,7 +4306,7 @@
    Administration
  • - + Activating Enterprise features @@ -4212,7 +4321,7 @@
    Administration
  • - + Migrating to a production application database @@ -4233,7 +4342,7 @@
    Administration
  • - + Data sources @@ -4256,7 +4365,7 @@
    Administration
  • - + Adding and managing databases @@ -4292,7 +4401,7 @@
    Administration
  • - + Athena @@ -4306,7 +4415,7 @@
    Administration
  • - + Amazon RDS @@ -4320,7 +4429,7 @@
    Administration
  • - + BigQuery @@ -4334,7 +4443,7 @@
    Administration
  • - + ClickHouse @@ -4348,7 +4457,7 @@
    Administration
  • - + Databricks @@ -4362,7 +4471,7 @@
    Administration
  • - + Druid @@ -4376,7 +4485,7 @@
    Administration
  • - + MariaDB @@ -4390,7 +4499,7 @@
    Administration
  • - + MongoDB @@ -4404,7 +4513,7 @@
    Administration
  • - + MySQL @@ -4418,7 +4527,7 @@
    Administration
  • - + Oracle @@ -4432,7 +4541,7 @@
    Administration
  • - + PostgreSQL @@ -4446,7 +4555,7 @@
    Administration
  • - + Presto @@ -4460,7 +4569,7 @@
    Administration
  • - + Redshift @@ -4474,7 +4583,7 @@
    Administration
  • - + Snowflake @@ -4488,7 +4597,7 @@
    Administration
  • - + SQL Server @@ -4502,7 +4611,7 @@
    Administration
  • - + SQLite @@ -4516,7 +4625,7 @@
    Administration
  • - + Spark SQL @@ -4530,7 +4639,7 @@
    Administration
  • - + Starburst @@ -4544,7 +4653,7 @@
    Administration
  • - + Vertica @@ -4558,7 +4667,7 @@
    Administration
  • - + Community drivers @@ -4577,7 +4686,7 @@
    Administration
  • - + Database users, roles, and privileges @@ -4592,7 +4701,7 @@
    Administration
  • - + Writeable connection @@ -4607,7 +4716,7 @@
    Administration
  • - + Syncing and scanning databases @@ -4622,7 +4731,7 @@
    Administration
  • - + Encrypting your database connection @@ -4637,7 +4746,7 @@
    Administration
  • - + SSH tunneling @@ -4652,7 +4761,7 @@
    Administration
  • - + SSL certificate @@ -4667,7 +4776,7 @@
    Administration
  • - + Setting up data uploads @@ -4682,7 +4791,7 @@
    Administration
  • - + Uploading data @@ -4733,7 +4842,7 @@
    Administration
  • - + Configuration @@ -4756,7 +4865,7 @@
    Administration
  • - + Setting up Metabase @@ -4771,7 +4880,7 @@
    Administration
  • - + General settings @@ -4786,7 +4895,7 @@
    Administration
  • - + Set up email @@ -4801,7 +4910,7 @@
    Administration
  • - + Set up Slack @@ -4816,7 +4925,7 @@
    Administration
  • - + Webhooks @@ -4831,7 +4940,7 @@
    Administration
  • - + Environment variables @@ -4846,7 +4955,7 @@
    Administration
  • - + Configuration file @@ -4861,7 +4970,7 @@
    Administration
  • - + Config file template @@ -4876,7 +4985,7 @@
    Administration
  • - + Metabase log configuration @@ -4891,7 +5000,7 @@
    Administration
  • - + Timezones @@ -4906,7 +5015,7 @@
    Administration
  • - + Languages and localization @@ -4921,7 +5030,7 @@
    Administration
  • - + Appearance @@ -4936,7 +5045,7 @@
    Administration
  • - + Fonts @@ -4951,7 +5060,7 @@
    Administration
  • - + Caching query results @@ -4966,7 +5075,7 @@
    Administration
  • - + Custom maps @@ -4981,7 +5090,7 @@
    Administration
  • - + Customizing the Metabase Jetty webserver @@ -5002,7 +5111,7 @@
    Administration
  • - + Operations and monitoring @@ -5025,7 +5134,7 @@
    Administration
  • - + Backing up Metabase @@ -5040,7 +5149,7 @@
    Administration
  • - + Development instances @@ -5055,7 +5164,7 @@
    Administration
  • - + Monitoring your Metabase @@ -5070,7 +5179,7 @@
    Administration
  • - + Observability with Prometheus @@ -5085,7 +5194,7 @@
    Administration
  • - + Serialization @@ -5100,7 +5209,7 @@
    Administration
  • - + Remote Sync @@ -5115,7 +5224,7 @@
    Administration
  • - + Commands @@ -5130,7 +5239,7 @@
    Administration
  • - + Usage analytics @@ -5145,7 +5254,7 @@
    Administration
  • - + Security center @@ -5160,7 +5269,7 @@
    Administration
  • - + Admin tools @@ -5181,7 +5290,7 @@
    Administration
  • - + Authentication @@ -5204,7 +5313,7 @@
    Administration
  • - + Account settings @@ -5219,7 +5328,7 @@
    Administration
  • - + Password complexity @@ -5234,7 +5343,7 @@
    Administration
  • - + Session expiration @@ -5249,7 +5358,7 @@
    Administration
  • - + Google Sign-In @@ -5264,7 +5373,7 @@
    Administration
  • - + LDAP @@ -5279,7 +5388,7 @@
    Administration
  • - + User provisioning @@ -5294,7 +5403,7 @@
    Administration
  • - + API keys @@ -5309,7 +5418,7 @@
    Administration
  • - + Paid SSO options @@ -5330,7 +5439,7 @@
    Administration
  • - + JWT-based authentication @@ -5344,7 +5453,7 @@
    Administration
  • - + SAML-based authentication @@ -5358,7 +5467,7 @@
    Administration
  • - + SAML with Auth0 @@ -5372,7 +5481,7 @@
    Administration
  • - + SAML with Microsoft Entra ID @@ -5386,7 +5495,7 @@
    Administration
  • - + SAML with Google @@ -5400,7 +5509,7 @@
    Administration
  • - + SAML with Keycloak @@ -5414,7 +5523,7 @@
    Administration
  • - + SAML with Okta @@ -5428,7 +5537,7 @@
    Administration
  • - + OIDC-based authentication @@ -5442,7 +5551,7 @@
    Administration
  • - + OIDC with Keycloak @@ -5467,7 +5576,7 @@
    Administration
  • - + Permissions @@ -5490,7 +5599,7 @@
    Administration
  • - + Permissions introduction @@ -5505,7 +5614,7 @@
    Administration
  • - + Managing people and groups @@ -5520,7 +5629,7 @@
    Administration
  • - + Data permissions @@ -5535,7 +5644,7 @@
    Administration
  • - + Collection permissions @@ -5550,7 +5659,7 @@
    Administration
  • - + Application permissions @@ -5565,7 +5674,7 @@
    Administration
  • - + Row and column security @@ -5580,7 +5689,7 @@
    Administration
  • - + Row and column security examples @@ -5595,7 +5704,7 @@
    Administration
  • - + Database routing @@ -5610,7 +5719,7 @@
    Administration
  • - + Impersonation @@ -5625,7 +5734,7 @@
    Administration
  • - + Snippets folder permissions @@ -5640,7 +5749,7 @@
    Administration
  • - + Notification permissions @@ -5655,7 +5764,7 @@
    Administration
  • - + Configuring permissions for embedding @@ -5682,7 +5791,7 @@
    Other resources
  • - + API @@ -5908,7 +6017,7 @@
    Other resources
  • - + Troubleshooting @@ -5926,7 +6035,7 @@
    Other resources
  • - + Developer guide @@ -5962,7 +6071,7 @@
    Other resources
  • - + Accessibility @@ -5980,7 +6089,7 @@
    Other resources
  • - + Supported browsers @@ -5998,7 +6107,7 @@
    Other resources
  • - + Privacy @@ -6016,7 +6125,7 @@
    Other resources
  • - + About the anonymous usage data we collect