For Agents
Run aggregated analytical queries against a Cube semantic layer and read the data model so an AI agent can answer business questions over a warehouse without writing SQL.
Get started with Cube.js REST API in minutes using your preferred integration method.
# Add to your MCP client config (Claude Desktop, Cursor, Windsurf)
{
"jentic": {
"url": "https://api.jentic.com/mcp",
"auth": "oauth"
}
}
# Then ask your agent:
"run an analytics query on a Cube semantic layer"
# → Jentic returns the GET /events tool with parameter schema, agent executes.What an agent can do with Cube.js REST API API.
Run aggregated analytical queries via POST /v1/load using a Cube JSON query body
Read the available cubes, measures, dimensions, and segments via GET /v1/meta
Filter results by time dimension granularity such as day, week, or month
Apply security context constraints by signing a JWT with the appropriate user claims
GET STARTED
Use for: I want to query monthly revenue from our Cube deployment, Get the data model schema for my Cube deployment, Retrieve the list of available measures and dimensions, Run a Cube JSON query for orders grouped by status
Not supported: Does not handle data model definition, ingestion, or warehouse provisioning — use for executing Cube JSON queries and reading model metadata only.
The Cube.js REST API exposes a deployed Cube semantic layer over a customer's data warehouse, returning analytical query results and metadata about the available data model. The /v1/load endpoint accepts a Cube JSON query describing measures, dimensions, time dimensions, filters, and segments, and returns the aggregated rows along with the SQL that was generated. The /v1/meta endpoint returns the cubes, measures, dimensions, and segments defined in the data model so a client can build query UIs or expose the model to an LLM. Authentication is via a JWT bearer token signed with the Cube deployment's API secret.
Power an AI text-to-analytics workflow that translates natural language into Cube JSON queries
Stream measures and dimensions metadata into a UI builder for self-serve analytics
Patterns agents use Cube.js REST API API for, with concrete tasks.
★ Natural Language Analytics over a Warehouse
An analytics chatbot can use the /v1/meta endpoint to learn the customer's Cube data model and then construct a Cube JSON query and call /v1/load to answer business questions. Because Cube enforces measures, dimensions, and security context server-side, the agent cannot accidentally write a join that returns ungoverned data. Build it once and the same agent works across BigQuery, Snowflake, Postgres, and other warehouses behind Cube.
Call GET /v1/meta to fetch measures and dimensions, then POST /v1/load with a Cube JSON query for measures Orders.count grouped by Orders.status for the last 30 days.
Embedded Analytics Dashboards
A SaaS product can fetch the Cube data model with /v1/meta to render an interactive query builder and submit user-built queries via /v1/load. Cube's row-level security uses the JWT security context, so dashboards can be embedded per tenant without exposing other customers' data. Suitable for B2B products that want self-serve charts without building a SQL editor.
Sign a JWT with the tenant ID claim, call GET /v1/meta, render a chart configuration, then POST /v1/load with the user-selected measures and dimensions.
Scheduled Metric Reporting
A reporting agent can run a fixed set of Cube queries on a schedule and post results to Slack or email. Each metric is a single POST /v1/load call against a stable measure such as Revenue.total, so the agent only needs the Cube secret to sign a JWT and the metric definitions. Useful for executive digests where the metric set rarely changes.
Sign a JWT for a reporting role and POST /v1/load with measures Revenue.total grouped by week for the last quarter, then post the result to Slack.
AI Agent Integration via Jentic
An AI agent that needs to answer warehouse questions can discover the Cube REST API through Jentic and run /v1/meta and /v1/load without hand-writing the integration. Jentic stores the Cube API secret and the host of the deployment so the agent works across environments without touching credentials directly.
Use Jentic search for 'run an analytics query on a Cube semantic layer', load the /v1/load schema, and execute it with a Cube JSON query.
2 endpoints — the cube.
METHOD
PATH
DESCRIPTION
/v1/load
Run a Cube JSON query and return aggregated rows
/v1/meta
Return the data model metadata
/v1/load
Run a Cube JSON query and return aggregated rows
/v1/meta
Return the data model metadata
Three things that make agents converge on Jentic-routed access.
Credential isolation
Cube's API secret is stored encrypted in the Jentic MAXsystem vault. Jentic mints a short-lived JWT per call with the agent's security context, so the raw secret never appears in prompts, logs, or tool outputs.
Intent-based discovery
Agents search Jentic by intent (for example 'run an analytics query on a Cube semantic layer') and Jentic returns the /v1/load and /v1/meta operations with their input schemas, so the agent can construct Cube JSON queries without reading the Cube docs.
Time to first call
Direct integration takes one to two days to handle JWT signing, security context, and Cube JSON query construction. Through Jentic the integration is under 30 minutes because Jentic owns the JWT and exposes the operations as tools.
Alternatives and complements available in the Jentic catalogue.
Snowflake API
Snowflake is a common warehouse Cube reads from, exposed via Cube's measures and dimensions.
Use Snowflake directly for raw SQL on warehouse tables; use Cube when you want governed measures and dimensions exposed to an AI agent.
Tableau REST API
Tableau provides BI dashboards as an alternative to Cube's headless semantic layer.
Choose Tableau when humans need polished dashboards; choose Cube when an AI agent or product needs a programmatic semantic layer.
Metabase API
Metabase exposes saved questions and dashboards over an API, overlapping with Cube's analytical query layer.
Choose Metabase for human-built saved questions; choose Cube for a code-defined semantic layer ready for AI agents.
Specific to using Cube.js REST API API through Jentic.
What authentication does the Cube.js REST API use?
Cube uses a JWT bearer token signed with the deployment's API secret, sent in the Authorization header as Bearer <jwt>. Through Jentic the secret is stored encrypted in MAXsystem and Jentic mints a short-lived JWT per call so the raw secret never enters the agent's prompt.
Can I run a SQL query directly with the Cube.js REST API?
Not directly. The Cube REST API takes a Cube JSON query that references measures and dimensions defined in the semantic layer, and Cube generates and runs the SQL. Use POST /v1/load with measures, dimensions, timeDimensions, and filters in the body.
What are the rate limits for the Cube.js REST API?
Rate limits depend on the Cube Cloud plan or the resources of the self-hosted deployment, not on a fixed limit in the spec. Cube returns 429 if the deployment is overloaded, and you can use the security context to throttle per tenant.
How do I run an analytical query with the Cube.js REST API through Jentic?
Run pip install jentic, search Jentic for 'run an analytics query on a Cube semantic layer', load the schema for /v1/load, and execute it with a Cube JSON query body. Jentic signs the JWT against your stored Cube secret so the agent does not handle the secret directly.
How do I list available measures and dimensions?
Call GET /v1/meta. It returns each cube along with its measures, dimensions, segments, and time dimensions, which is what an AI agent needs to construct a valid /v1/load query body without inspecting the data model files.
Is the Cube.js REST API free?
Cube Core is open source and free to self-host, so the REST API is free in that deployment. Cube Cloud has paid tiers based on data volume and concurrency, with a free developer tier for evaluation.