For Agents
Drive a Metabase BI instance — run saved questions, manage dashboards, query databases, and configure alerts via 600+ endpoints.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Metabase API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Metabase API.
Run a saved Metabase question and retrieve its result rows for a downstream report
Create and update dashboards programmatically with curated cards and filters
Register a new data source by adding a database connection to the Metabase instance
GET STARTED
Use for: Run a Metabase saved question and return the rows, Create a new dashboard with a set of existing cards, Add a database connection to my Metabase instance, Set up an alert when a metric crosses a threshold
Not supported: Does not handle data warehousing, ETL pipelines, or row-level data ingestion — use for driving an existing Metabase BI instance only.
The Metabase API exposes the full surface of a Metabase business intelligence instance, covering cards (saved questions), dashboards, collections, databases, queries, alerts, pulses, permissions, users, and more. With over 600 endpoints, it lets agents drive analytics workflows programmatically — from running a saved question to wiring up a new database connection or scheduling a dashboard subscription. Authentication uses a session token issued from the /api/session endpoint, sent in the `X-Metabase-Session` header on subsequent calls. The base URL points at your self-hosted or cloud Metabase instance, so substitute it before issuing requests.
Schedule a Metabase alert that fires when a metric crosses a threshold
Manage collections and permission groups to control who can see which dashboards
Trigger an ad-hoc native or structured query against a connected database from agent code
Patterns agents use Metabase API for, with concrete tasks.
★ Embedded Reporting in Internal Tools
Agents drive a Metabase instance to run saved questions and return result rows into an internal portal or Slack bot, without users needing direct Metabase access. The action endpoints let the agent submit parameters at run time so the same question serves multiple teams. This lets organisations centralise BI logic in Metabase while exposing it through familiar tooling.
POST /api/action/{id}/execute with parameter values to run a saved Metabase action, then return the result rows to the requesting agent
Dashboard Provisioning
When onboarding a new team or customer, an agent creates collections, copies template dashboards into them, and applies the right permission groups via the API. This replaces a manual click-through process and makes it possible to provision dozens of analytics workspaces from a single workflow. The dashboard and collection endpoints support read, create, and update so the whole flow lives in code.
Create a new collection, clone the template dashboard into it, and assign the customer's permission group via the collection and permission endpoints
Metric Alerting
Use the alert endpoints to schedule a check on a saved question and dispatch a notification when the result crosses a threshold or returns rows. This adds a lightweight monitoring layer on top of any Metabase question without standing up a separate alerting stack. Pair it with Pulses for scheduled summary deliveries.
GET /api/alert to list existing alerts and confirm the threshold rule for the daily revenue card is active before the morning report is generated
AI Agent Integration via Jentic
An AI agent uses Jentic to discover Metabase by intent search ('run a Metabase question'). Jentic returns the relevant action or dataset operations with their input schemas, so the agent can fetch metric data without hand-rolling auth or pagination. The Metabase session token lives in the Jentic vault and is injected into the `X-Metabase-Session` header at call time.
Use Jentic to search 'run a Metabase saved question', load the action execute schema, and execute it to pull the latest weekly revenue figure
618 endpoints — the metabase api exposes the full surface of a metabase business intelligence instance, covering cards (saved questions), dashboards, collections, databases, queries, alerts, pulses, permissions, users, and more.
METHOD
PATH
DESCRIPTION
/api/action/{id}/execute
Execute a saved Metabase action with parameters
/api/action
List actions
/api/alert
List configured alerts
/api/activity/recents
List recent activity for the current user
/api/agent/v1/search
Run an agent-style search across Metabase content
/api/activity/most_recently_viewed_dashboard
Get the most recently viewed dashboard for the current user
/api/action/{id}/execute
Execute a saved Metabase action with parameters
/api/action
List actions
/api/alert
List configured alerts
/api/activity/recents
List recent activity for the current user
/api/agent/v1/search
Run an agent-style search across Metabase content
Three things that make agents converge on Jentic-routed access.
Credential isolation
The Metabase session token (`X-Metabase-Session`) is stored encrypted in the Jentic vault (MAXsystem). Agents receive scoped access — the raw token never enters their prompt or logs.
Intent-based discovery
With 618 endpoints, browsing the Metabase docs is heavy. Agents search by intent (e.g. 'run a Metabase question') and Jentic returns the matching operation with its schema, skipping the docs.
Time to first call
Direct integration: 3-5 days to wire session auth, pagination, and the right subset of endpoints for your use case. Through Jentic: under an hour per intent — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
Specific to using Metabase API through Jentic.
What authentication does the Metabase API use?
The API expects a session token in the `X-Metabase-Session` header. Obtain the token by POSTing credentials to /api/session, then send it on every subsequent request. Through Jentic the token is held in the MAXsystem vault and injected into the header at call time.
Can I run a saved question through the API?
Yes. Use the action execution endpoints — for example POST /api/action/{id}/execute — to run a saved action with parameter values and capture the response. The same surface exposes the cards and dataset endpoints for direct query execution.
How do I configure a new database connection?
Use the database management endpoints under /api/database to add a connection with engine, host, credentials, and feature flags. Once registered, cards and dashboards can target the new database immediately.
How do I schedule a metric alert?
Manage alerts via /api/alert — list, retrieve, create, or update alert definitions tied to a saved question. Each alert specifies the question, schedule, and the recipients to notify when the condition matches.
How do I run a Metabase question through Jentic?
Search Jentic for `run a Metabase saved question`, load the action execute operation schema, and execute it with the action ID and parameter values. Jentic returns the structured response from Metabase.
Are there published rate limits?
The OpenAPI spec does not declare quantitative rate limits. Self-hosted Metabase instances are bounded by the underlying server resources, so design retry-with-backoff and avoid running heavy queries from agent loops without throttling.
/api/activity/most_recently_viewed_dashboard
Get the most recently viewed dashboard for the current user