Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,13 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [1.5.15](https://github.com/cube-js/cube/compare/v1.5.14...v1.5.15) (2025-12-15)

### Bug Fixes

- **api-gateway:** Allow messageId to be int in unsubscribe WS request ([#10250](https://github.com/cube-js/cube/issues/10250)) ([1e2e7cb](https://github.com/cube-js/cube/commit/1e2e7cb382bfb95376f1149f9f91608914ff4bc1))
- **client-ws-transport:** Handle WebSocket close code 1009 (Message Too Big) ([#10246](https://github.com/cube-js/cube/issues/10246)) ([5652f0f](https://github.com/cube-js/cube/commit/5652f0f9e46fe0da942a2f23dbf41f6594fef2b8))

## [1.5.14](https://github.com/cube-js/cube/compare/v1.5.13...v1.5.14) (2025-12-11)

### Bug Fixes
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ A Viewer role is planned for future implementation with the following capabiliti
Agents are connected to Semantic Model Deployments and inherit the permission level of the user they are operating under.

Each agent can be configured to use the _Restrict Views_ feature which allows to select the views that are visible to the agent.
This feature should not be used as a security measure. Configure [data access policies][ref-data-access-policies] instead.
This feature should not be used as a security measure. Configure [access policies][ref-data-access-policies] instead.

## Typical Usage Scenarios

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

User groups allow you to organize users and manage access collectively.
Instead of assigning [user attributes][ref-user-attributes] to individual users, you can add users to groups for easier management at scale.
[Data access policies][ref-dap] can be configured based on groups to control [row-level security][ref-rls].
[Access policies][ref-dap] can be configured based on groups to control [row-level security][ref-rls].

## Creating groups

Expand Down
6 changes: 3 additions & 3 deletions docs/pages/product/administration/workspace/sso.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Cube Cloud also provides single sign-on (SSO) via identity providers supporting

Finally, Cube Cloud provides the [LDAP integration](#ldap-integration), enabling
users of [APIs & integrations][ref-apis] to authenticate via an LDAP catalog
and assume roles that work with [data access policies][ref-dap] once [authentication
and assume roles that work with [access policies][ref-dap] once [authentication
integration][ref-auth-integration] is enabled.

<SuccessBox>
Expand Down Expand Up @@ -113,7 +113,7 @@ Use the tooltips in Cube Cloud to get more information about each setting.
#### User roles mapping

You can configure how user data in an LDAP catalog maps to roles in Cube Cloud.
You can also use mapped roles with [data access policies][ref-dap] once [authentication
You can also use mapped roles with [access policies][ref-dap] once [authentication
integration][ref-auth-integration] is enabled.

Mapping is performed as follows:
Expand All @@ -140,7 +140,7 @@ All roles will be available under `cubeCloud.roles` array in the [security conte

#### User attributes mapping

You can also bring more user data from an LDAP catalog to use with [data access policies][ref-dap].
You can also bring more user data from an LDAP catalog to use with [access policies][ref-dap].
Mapping is performed using the rules under <Btn>Attribute mapping</Btn>.

All mapped attributes and their values will be available under `cubeCloud.userAttributes`
Expand Down
108 changes: 8 additions & 100 deletions docs/pages/product/apis-integrations.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,107 +3,15 @@
With a rich set of APIs, Cube can power and deliver data to all kinds of data
applications.

[Data APIs](#data-apis) are used to run queries against the data model.
Despite varying protocols and query formats, all data APIs share common
[querying concepts][ref-queries].
Cube provides three types of APIs:

<Diagram src="https://ucarecdn.com/aa9b3201-d254-4a38-a4a9-b3786af6167b/" />
- **[Embed APIs][ref-embed-apis]** are used to support embedding analytics use cases, including AI-powered chat and signed iframe embedding
- **[Core Data APIs][ref-core-data-apis]** are used to query data from the semantic layer using various protocols
- **Management APIs** - currently the [Orchestration API][ref-orchestration-api] is available to control pre-aggregation refreshes externally

Also, there are [management APIs](#management-apis) to control Cube deployments
externally.

<Diagram src="https://ucarecdn.com/3ff02e30-a010-480d-b6d6-3b927baa0dfe/" />

## Data APIs

A few rules of thumb to help you choose an API:

* To embed chats and dashboards into your applications, use the [embedding][ref-embedding] capabilities.

* For real-time conversations with AI agents, use the [Chat API][ref-chat-api].

* To connect to AI assistants, use the [Model Context Protocol (MCP) server][ref-mcp-server].

* To connect to [Microsoft Power BI][ref-powerbi], use the [DAX API][ref-dax-api].

* To connect to [Microsoft Excel][ref-excel], use either the [MDX API][ref-mdx-api]
or [Cube Cloud for Excel][ref-cube-cloud-for-excel].

* To connect to [Google Sheets][ref-sheets], use [Cube Cloud for Sheets][ref-cube-cloud-for-sheets].

* For internal or self-serve [business intelligence][cube-issbi], use
[Semantic Layer Sync][ref-sls] in case it supports your BI tools.
Otherwise, connect via the [SQL API][ref-sql-api] directly.

* For [embedded analytics][cube-ea] and [real-time analytics][cube-rta], use
[REST API][ref-rest-api] or [GraphQL API][ref-graphql-api]. When using the REST API,
the [JavaScript SDK][ref-js-sdk] can simplify integration with your front-end code.

<ReferenceBox>

See this [GitHub issue](https://github.com/cube-js/cube/issues/1744#issuecomment-2291680777)
for an unofficial, community-maintained [client library for Python](https://github.com/mharrisb1/cube-http-client).

</ReferenceBox>

### Data modeling

Support for data modeling features differ across APIs, integrations, and [visualization
tools][ref-viz-tools]. Some of the features with partial support are listed below:

| Feature | ✅ Supported in |
| --- | --- |
| [Hierarchies][ref-hierarchies] | [Microsoft Power BI][ref-powerbi] via the [DAX API][ref-dax-api]<br/>[Cube Cloud for Excel][ref-cube-cloud-for-excel]<br/>[Cube Cloud for Sheets][ref-cube-cloud-for-sheets]<br/>[Tableau][ref-tableau] via [Semantic Layer Sync][ref-sls]<br/><br/>Also, supported in [Playground][ref-playground] |
| Flat [folders][ref-folders] | [Microsoft Power BI][ref-powerbi] via the [DAX API][ref-dax-api]<br/>[Microsoft Excel][ref-excel] via the [MDX API][ref-mdx-api]<br/>[Cube Cloud for Excel][ref-cube-cloud-for-excel]<br/>[Cube Cloud for Sheets][ref-cube-cloud-for-sheets]<br/>[Tableau][ref-tableau] via [Semantic Layer Sync][ref-sls]<br/>[Apache Superset][ref-superset] via [Semantic Layer Sync][ref-sls]<br/>[Preset][ref-preset] via [Semantic Layer Sync][ref-sls]<br/><br/>Also, supported in [Playground][ref-playground] |
| Nested [folders][ref-folders] | [Microsoft Power BI][ref-powerbi] via the [DAX API][ref-dax-api]<br/>[Microsoft Excel][ref-excel] via the [MDX API][ref-mdx-api] |

### Authentication methods

Support for authentication methods differ across APIs, integrations, and [visualization
tools][ref-viz-tools]:

| Method | ✅ Supported in |
| --- | --- |
| [User name and password][ref-auth-user-pass] | [DAX API][ref-dax-api]<br/>[MDX API][ref-mdx-api]<br/>[Semantic Layer Sync][ref-sls]<br/>[SQL API][ref-sql-api] |
| [Kerberos][ref-auth-kerberos] and [NTLM][ref-auth-ntlm] | [DAX API][ref-dax-api]<br/>[MDX API][ref-mdx-api] |
| [Identity provider][ref-auth-idp] | [Cube Cloud for Excel][ref-cube-cloud-for-excel]<br/>[Cube Cloud for Sheets][ref-cube-cloud-for-sheets] |
| [JSON Web Token][ref-auth-jwt] | [REST API][ref-rest-api]<br/>[GraphQL API][ref-graphql-api] |

## Management APIs

In case you'd like Cube to work with data orchestration tools and let them push
changes from upstream data sources to Cube, explore the [Orchestration
API][ref-orchestration-api].

[cube-issbi]: https://cube.dev/use-cases/semantic-layer
[cube-ea]: https://cube.dev/use-cases/embedded-analytics
[cube-rta]: https://cube.dev/use-cases/real-time-analytics
[ref-queries]: /product/apis-integrations/queries
[ref-dax-api]: /product/apis-integrations/dax-api
[ref-sql-api]: /product/apis-integrations/sql-api
[ref-rest-api]: /product/apis-integrations/rest-api
[ref-graphql-api]: /product/apis-integrations/graphql-api
[ref-mdx-api]: /product/apis-integrations/mdx-api
[ref-embed-apis]: /product/apis-integrations/embed-apis
[ref-core-data-apis]: /product/apis-integrations/core-data-apis
[ref-orchestration-api]: /product/apis-integrations/orchestration-api
[ref-sls]: /product/apis-integrations/semantic-layer-sync
[ref-js-sdk]: /product/apis-integrations/javascript-sdk
[ref-cube-cloud-for-excel]: /product/apis-integrations/microsoft-excel
[ref-cube-cloud-for-sheets]: /product/apis-integrations/google-sheets
[ref-viz-tools]: /product/configuration/visualization-tools
[ref-hierarchies]: /product/data-modeling/reference/hierarchies
[ref-folders]: /product/data-modeling/reference/view#folders
[ref-powerbi]: /product/configuration/visualization-tools/powerbi
[ref-excel]: /product/configuration/visualization-tools/excel
[ref-sheets]: /product/configuration/visualization-tools/google-sheets
[ref-tableau]: /product/configuration/visualization-tools/tableau
[ref-auth-user-pass]: /product/auth/methods/name-password
[ref-auth-idp]: /product/auth/methods/identity-provider
[ref-auth-jwt]: /product/auth/methods/jwt
[ref-auth-kerberos]: /product/auth/methods/kerberos
[ref-auth-ntlm]: /product/auth/methods/ntlm
[ref-superset]: /product/configuration/visualization-tools/superset
[ref-preset]: /product/configuration/visualization-tools/superset
[ref-playground]: /product/workspace/playground
[ref-mcp-server]: /product/apis-integrations/mcp-server
[ref-chat-api]: /product/apis-integrations/chat-api
[ref-embedding]: /product/apis-integrations/embedding
[ref-chat-api]: /product/apis-integrations/embed-apis/chat-api
[ref-generate-session]: /product/apis-integrations/embed-apis/generate-session
11 changes: 3 additions & 8 deletions docs/pages/product/apis-integrations/_meta.js
Original file line number Diff line number Diff line change
@@ -1,16 +1,11 @@
module.exports = {
"queries": "Queries",
"chat-api": "Chat API",
"embed-apis": "Embed APIs",
"core-data-apis": "Core Data APIs",
"orchestration-api": "Orchestration API",
"mcp-server": "MCP server",
"dax-api": "DAX API",
"mdx-api": "MDX API",
"microsoft-excel": "Cube Cloud for Excel",
"google-sheets": "Cube Cloud for Sheets",
"semantic-layer-sync": "Semantic Layer Sync",
"sql-api": "SQL API",
"rest-api": "REST API",
"graphql-api": "GraphQL API",
"javascript-sdk": "JavaScript SDK",
"orchestration-api": "Orchestration API",
"recipes": "Recipes"
};
80 changes: 80 additions & 0 deletions docs/pages/product/apis-integrations/core-data-apis.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# Core Data APIs

Core Data APIs enable you to query and retrieve data from your Cube semantic layer using various protocols and formats, including SQL, DAX, MDX, REST, and GraphQL.

## Choosing the Right API

* To connect to [Microsoft Power BI][ref-powerbi], use the [DAX API][ref-dax-api]

* To connect to [Microsoft Excel][ref-excel], use either the [MDX API][ref-mdx-api] or [Cube Cloud for Excel][ref-cube-cloud-for-excel]

* To connect to [Google Sheets][ref-sheets], use [Cube Cloud for Sheets][ref-cube-cloud-for-sheets]

* To connect to AI assistants, use the [Model Context Protocol (MCP) server][ref-mcp-server]

* For internal or self-serve [business intelligence][cube-issbi], use [Semantic Layer Sync][ref-sls] if it supports your BI tools. Otherwise, connect via the [SQL API][ref-sql-api] directly

* For [embedded analytics][cube-ea] and [real-time analytics][cube-rta], use [REST API][ref-rest-api] or [GraphQL API][ref-graphql-api]. When using the REST API, the [JavaScript SDK][ref-js-sdk] can simplify integration with your front-end code

All Core Data APIs share common [querying concepts][ref-queries] and support authentication, security contexts, and access policies defined in your semantic layer.

<ReferenceBox>

See this [GitHub issue](https://github.com/cube-js/cube/issues/1744#issuecomment-2291680777)
for an unofficial, community-maintained [client library for Python](https://github.com/mharrisb1/cube-http-client).

</ReferenceBox>

## Data modeling

Support for data modeling features differ across APIs, integrations, and [visualization
tools][ref-viz-tools]. Some of the features with partial support are listed below:

| Feature | ✅ Supported in |
| --- | --- |
| [Hierarchies][ref-hierarchies] | [Microsoft Power BI][ref-powerbi] via the [DAX API][ref-dax-api]<br/>[Cube Cloud for Excel][ref-cube-cloud-for-excel]<br/>[Cube Cloud for Sheets][ref-cube-cloud-for-sheets]<br/>[Tableau][ref-tableau] via [Semantic Layer Sync][ref-sls]<br/><br/>Also, supported in [Playground][ref-playground] |
| Flat [folders][ref-folders] | [Microsoft Power BI][ref-powerbi] via the [DAX API][ref-dax-api]<br/>[Microsoft Excel][ref-excel] via the [MDX API][ref-mdx-api]<br/>[Cube Cloud for Excel][ref-cube-cloud-for-excel]<br/>[Cube Cloud for Sheets][ref-cube-cloud-for-sheets]<br/>[Tableau][ref-tableau] via [Semantic Layer Sync][ref-sls]<br/>[Apache Superset][ref-superset] via [Semantic Layer Sync][ref-sls]<br/>[Preset][ref-preset] via [Semantic Layer Sync][ref-sls]<br/><br/>Also, supported in [Playground][ref-playground] |
| Nested [folders][ref-folders] | [Microsoft Power BI][ref-powerbi] via the [DAX API][ref-dax-api]<br/>[Microsoft Excel][ref-excel] via the [MDX API][ref-mdx-api] |

## Authentication methods

Support for authentication methods differ across APIs, integrations, and [visualization
tools][ref-viz-tools]:

| Method | ✅ Supported in |
| --- | --- |
| [User name and password][ref-auth-user-pass] | [DAX API][ref-dax-api]<br/>[MDX API][ref-mdx-api]<br/>[Semantic Layer Sync][ref-sls]<br/>[SQL API][ref-sql-api] |
| [Kerberos][ref-auth-kerberos] and [NTLM][ref-auth-ntlm] | [DAX API][ref-dax-api]<br/>[MDX API][ref-mdx-api] |
| [Identity provider][ref-auth-idp] | [Cube Cloud for Excel][ref-cube-cloud-for-excel]<br/>[Cube Cloud for Sheets][ref-cube-cloud-for-sheets] |
| [JSON Web Token][ref-auth-jwt] | [REST API][ref-rest-api]<br/>[GraphQL API][ref-graphql-api] |

[cube-issbi]: https://cube.dev/use-cases/semantic-layer
[cube-ea]: https://cube.dev/use-cases/embedded-analytics
[cube-rta]: https://cube.dev/use-cases/real-time-analytics
[ref-queries]: /product/apis-integrations/core-data-apis/queries
[ref-sql-api]: /product/apis-integrations/core-data-apis/sql-api
[ref-dax-api]: /product/apis-integrations/core-data-apis/dax-api
[ref-mdx-api]: /product/apis-integrations/core-data-apis/mdx-api
[ref-rest-api]: /product/apis-integrations/core-data-apis/rest-api
[ref-graphql-api]: /product/apis-integrations/core-data-apis/graphql-api
[ref-sls]: /product/apis-integrations/semantic-layer-sync
[ref-js-sdk]: /product/apis-integrations/javascript-sdk
[ref-cube-cloud-for-excel]: /product/apis-integrations/microsoft-excel
[ref-cube-cloud-for-sheets]: /product/apis-integrations/google-sheets
[ref-mcp-server]: /product/apis-integrations/mcp-server
[ref-viz-tools]: /product/configuration/visualization-tools
[ref-hierarchies]: /product/data-modeling/reference/hierarchies
[ref-folders]: /product/data-modeling/reference/view#folders
[ref-powerbi]: /product/configuration/visualization-tools/powerbi
[ref-excel]: /product/configuration/visualization-tools/excel
[ref-sheets]: /product/configuration/visualization-tools/google-sheets
[ref-tableau]: /product/configuration/visualization-tools/tableau
[ref-auth-user-pass]: /product/auth/methods/name-password
[ref-auth-idp]: /product/auth/methods/identity-provider
[ref-auth-jwt]: /product/auth/methods/jwt
[ref-auth-kerberos]: /product/auth/methods/kerberos
[ref-auth-ntlm]: /product/auth/methods/ntlm
[ref-superset]: /product/configuration/visualization-tools/superset
[ref-preset]: /product/configuration/visualization-tools/superset
[ref-playground]: /product/administration/workspace/playground

9 changes: 9 additions & 0 deletions docs/pages/product/apis-integrations/core-data-apis/_meta.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
module.exports = {
"queries": "Queries",
"sql-api": "SQL API",
"dax-api": "DAX API",
"mdx-api": "MDX API",
"rest-api": "REST API",
"graphql-api": "GraphQL API"
};

18 changes: 18 additions & 0 deletions docs/pages/product/apis-integrations/embed-apis.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Embed APIs

Embed APIs enable you to integrate Cube's analytics capabilities directly into your applications with secure, session-based authentication.

## Available APIs

### [Chat API][ref-chat-api]

API-first approach to build custom Analytics Chat experiences. Use this API to programmatically integrate AI-powered conversations with your data into your applications.

### [Generate Session][ref-generate-session]

Create secure, temporary sessions for embedding Cube content. Use sessions to authenticate users for [signed embedding][ref-embedding] without exposing API keys.

[ref-chat-api]: /product/apis-integrations/embed-apis/chat-api
[ref-generate-session]: /product/apis-integrations/embed-apis/generate-session
[ref-embedding]: /product/presentation/embedding/signed-embedding

5 changes: 5 additions & 0 deletions docs/pages/product/apis-integrations/embed-apis/_meta.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
module.exports = {
"chat-api": "Chat API",
"generate-session": "Generate Session"
};

Loading
Loading