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
2 changes: 1 addition & 1 deletion .cursor/rules/namings-rule.mdc
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ Guidance:
infrastructure.

# Product Taxonomy
Make sure to use correct terms.
Make sure to use correct terms. On billing, pricing, and support pages, use **on-demand customers** for the on-demand payment plan (legacy billing copy: "self-serve customers") and **contract customers** for the commit payment plan (legacy: "order form customers"). Elsewhere, **self-serve** (e.g. self-serve analytics) describes end-user exploration, not the billing segment.

- **Account**
- **Deployment**
Expand Down
10 changes: 5 additions & 5 deletions docs-mintlify/admin/account-billing/ai-tokens.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@ Cube's [AI-powered features][ref-ai-overview] consume tokens based on the
resources required to complete each request. Token allocation differs by
customer type:

- **Self-serve customers** receive [per-seat token grants](#per-seat-token-grants)
- **On-demand customers** receive [per-seat token grants](#per-seat-token-grants)
equal to half of their seat price, with optional
[on-demand consumption](#on-demand-consumption) beyond that
- **Order form customers** can purchase [pooled token packages](#token-packages)
- **Contract customers** can purchase [pooled token packages](#token-packages)

## Token consumption

Expand All @@ -36,7 +36,7 @@ is subject to change as the product evolves.

## Per-seat token grants

Self-serve customers on paid plans receive **per-seat token grants** equal to
On-demand customers on paid plans receive **per-seat token grants** equal to
**half of the seat price**. Each user is awarded an individual monthly token
allocation based on their role.

Expand All @@ -48,7 +48,7 @@ Per-seat grants:

### On-demand consumption

When a self-serve user exceeds their monthly per-seat grant, usage
When a user on an on-demand plan exceeds their monthly per-seat grant, usage
automatically continues as **on-demand consumption**. On-demand usage is billed
through the credit card on file.

Expand All @@ -58,7 +58,7 @@ for each billing cycle.

## Token packages

Order form customers can purchase **pooled add-on token packages**. Token
Contract customers can purchase **pooled add-on token packages**. Token
packages are added to a shared pool accessible by all users in the account.

- Each package is valid for the duration of the contract or until fully
Expand Down
26 changes: 13 additions & 13 deletions docs-mintlify/admin/account-billing/billing-faq.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,48 +8,48 @@ description: Frequently asked questions about Cube billing, pricing, payments, a

### How does the billing structure work?

#### Self-serve customers
#### On-demand customers

Self-serve customers are billed monthly. The credit card on file is automatically
On-demand customers are billed monthly. The credit card on file is automatically
charged through Stripe upon invoice generation.

- Invoices bill active seats in advance for the upcoming period
- Any seat count changes made during a previously billed period are charged in
arrears on a prorated basis on the next invoice, as well as billed in advance
on all subsequent invoices until the customer makes further adjustments

#### Order form customers
#### Contract customers

**Order form customers** are billed annually and upfront according to the terms
in their signed order form.
**Contract customers** are billed annually and upfront according to the terms
in their contract.

- Committed seats are billed annually
- Overages for uncommitted seats and usage are billed in arrears separately on a
basis specified in the signed order form
basis specified in the contract
- Standard payment terms are **Net 30**, unless otherwise specified in the agreement

### What payment methods does Cube accept?

#### Self-serve customers
#### On-demand customers

Self-serve subscriptions must be paid by credit card via Stripe. Your card is
On-demand subscriptions must be paid by credit card via Stripe. Your card is
automatically charged on a recurring subscription basis at the start of each
billing cycle.

<Info>
Cube does **not** support ACH or wire transfer payments for self-serve plans.
Cube does **not** support ACH or wire transfer payments for on-demand payment plans.
</Info>

#### Order form customers
#### Contract customers

Order form customers can pay via:
Contract customers can pay via:

- **Invoice billing** (e.g., Net 30 terms) — Payment terms are defined in your
executed order form and reflected on your invoice.
contract and reflected on your invoice.
- **ACH / wire transfer** — Bank details (Stripe-managed virtual accounts) are
listed directly on the invoice. Please reach out to
[support@cube.dev](mailto:support@cube.dev) if you require validation.
- **Credit card** (via Stripe) — Order form customers may also pay by credit card.
- **Credit card** (via Stripe) — Contract customers may also pay by credit card.

### How can I update my payment information?

Expand Down
2 changes: 1 addition & 1 deletion docs-mintlify/admin/account-billing/pricing.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ subscription:
card, and start using Cube Cloud right away. [Starter](#starter) and [Premium](#premium)
product tiers are available on the on-demand payment plan.
* _Commit payment plan_ allows you to have a contract with a CCU amount specified
in an order form. [Premium](#premium) and [Enterprise](#enterprise) product tiers are available on the
in that contract. [Premium](#premium) and [Enterprise](#enterprise) product tiers are available on the
commit payment plan. [Contact us][link-contact-us] to learn more.

## Product tiers
Expand Down
4 changes: 2 additions & 2 deletions docs-mintlify/admin/account-billing/support.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ with **2 support tickets per month** through the in-product chat feature.
* [Premium product tier][ref-premium-tier] includes support via **online resources** such as
[documentation][ref-docs-intro], [webinars][cube-webinars], and [community
Slack][cube-slack].
* It also includes **either 4 support tickets per month** (self-serve customers)
or **unlimited support tickets** (customers with an annual commit) for our support engineers during
* It also includes **either 4 support tickets per month** (on-demand customers)
or **unlimited support tickets** (contract customers) for our support engineers during
[support hours](#support-hours) through our in-product chat.

| Priority | Response time during support hours |
Expand Down
8 changes: 3 additions & 5 deletions docs-mintlify/docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,6 @@
"icons": {
"library": "tabler"
},
"banner": {
"content": "🟣 Agentic Analytics Summit — April 29, 2026 — Online. Registration is open! [Join now →](https://cube.dev/events/agentic-analytics-summit)",
"dismissible": true
},
"navigation": {
"tabs": [
{
Expand Down Expand Up @@ -137,7 +133,8 @@
"group": "Views",
"root": "docs/data-modeling/views",
"pages": [
"docs/data-modeling/multi-fact-views"
"docs/data-modeling/multi-fact-views",
"docs/data-modeling/view-groups"
]
},
{
Expand Down Expand Up @@ -456,6 +453,7 @@
"pages": [
"reference/data-modeling/cube",
"reference/data-modeling/view",
"reference/data-modeling/view-group",
"reference/data-modeling/measures",
"reference/data-modeling/dimensions",
"reference/data-modeling/hierarchies",
Expand Down
7 changes: 5 additions & 2 deletions docs-mintlify/docs/data-modeling/concepts/syntax.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@ option][ref-config-repository-factory] to dynamically define the folder name and
data model file contents.

It's recommended to place each cube or view in a separate file, in `model/cubes`
and `model/views` folders, respectively. Example:
and `model/views` folders, respectively. [View groups][ref-view-groups] can be
defined alongside views or in their own files. Example:

```tree
model
Expand All @@ -26,7 +27,8 @@ model
│ ├── products.yml
│ └── users.yml
└── views
└── revenue.yml
├── revenue.yml
└── view_groups.yml
```

## Model syntax
Expand Down Expand Up @@ -998,6 +1000,7 @@ string values in time dimensions.
[ref-dax-api-date-hierarchies]: /reference/dax-api#date-hierarchies
[ref-time-dimension]: /docs/data-modeling/dimensions#time-dimensions
[ref-recipe-string-time-dimensions]: /recipes/data-modeling/string-time-dimensions
[ref-view-groups]: /reference/data-modeling/view-group
[ref-views]: /docs/data-modeling/views
[ref-preaggs]: /reference/data-modeling/pre-aggregations
[ref-join-paths]: /docs/data-modeling/joins#join-paths
Expand Down
165 changes: 165 additions & 0 deletions docs-mintlify/docs/data-modeling/view-groups.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,165 @@
---
title: View groups
description: View groups organize views into named collections by domain or purpose, helping downstream consumers — including AI agents and embedded analytics — navigate large data models.
---

When a data model contains many [views][ref-views], view groups help organize
them into named collections by domain or purpose — for example, `sales`,
`finance`, or `people`. View groups are exposed through the
[`/v1/meta`][ref-meta-endpoint] API, making it easier for downstream tools,
AI agents, and embedded analytics to present a navigable catalog.

<Note>

See the [view group reference][ref-view-group-ref] for the full list of
parameters and configuration options.

</Note>

## Defining a view group

A view group is a top-level entity, defined alongside views. At minimum it
needs a `name`; `title` and `description` make it easier to navigate in
downstream tools.

<CodeGroup>

```yaml title="YAML"
view_groups:
- name: sales
title: Sales
description: Revenue and order views for the sales team
```

```javascript title="JavaScript"
view_group(`sales`, {
title: `Sales`,
description: `Revenue and order views for the sales team`
})
```

</CodeGroup>

## Assigning views to a group

There are two ways to assign a view to a group, and both can be combined.
Pick whichever keeps group membership co-located with the entity you'd
rather edit — the group definition for a curated catalog, or the view
definition for ad-hoc additions.

### From the group side

List views on the group via the [`views`][ref-view-group-views] parameter.
This keeps the full membership in one place, which is convenient when you
want to review a group at a glance.

<CodeGroup>

```yaml title="YAML"
view_groups:
- name: sales
title: Sales
views:
- orders_overview
- revenue
```

```javascript title="JavaScript"
view_group(`sales`, {
title: `Sales`,
views: [`orders_overview`, `revenue`]
})
```

</CodeGroup>

### From the view side

Set [`view_group`][ref-view-view-group] on the view itself. The view
declares which group it belongs to, without touching the group definition.

<CodeGroup>

```yaml title="YAML"
views:
- name: revenue
view_group: sales
cubes:
- join_path: order_items
includes:
- total_sale_price
- created_at
```

```javascript title="JavaScript"
view(`revenue`, {
view_group: sales,
cubes: [
{
join_path: order_items,
includes: [`total_sale_price`, `created_at`]
}
]
})
```

</CodeGroup>

### Belonging to multiple groups

A view can belong to more than one group. Use
[`view_groups`][ref-view-view-groups] (plural) on the view to list every
group it should appear in.

<CodeGroup>

```yaml title="YAML"
views:
- name: revenue
view_groups:
- sales
- finance
cubes:
- join_path: order_items
includes:
- total_sale_price
- created_at
```

```javascript title="JavaScript"
view(`revenue`, {
view_groups: [sales, finance],
cubes: [
{
join_path: order_items,
includes: [`total_sale_price`, `created_at`]
}
]
})
```

</CodeGroup>

## Where view groups live in the model

By [convention][ref-syntax], view groups are typically defined alongside
views in the `model/views` folder — for example, in a dedicated
`view_groups.yml` file. They behave like any other top-level data model
entity and can be split across multiple files as your model grows.

## Next steps

- See the [view group reference][ref-view-group-ref] for the full list of
parameters
- Learn about [views][ref-views] and how they curate cubes for downstream
consumers
- Explore [AI context][ref-ai-context] to improve AI query accuracy

[ref-views]: /docs/data-modeling/views
[ref-syntax]: /docs/data-modeling/concepts/syntax
[ref-ai-context]: /docs/data-modeling/ai-context
[ref-view-group-ref]: /reference/data-modeling/view-group
[ref-view-group-views]: /reference/data-modeling/view-group#views
[ref-view-view-group]: /reference/data-modeling/view#view_group
[ref-view-view-groups]: /reference/data-modeling/view#view_groups
[ref-meta-endpoint]: /reference/core-data-apis/rest-api/reference
17 changes: 17 additions & 0 deletions docs-mintlify/docs/data-modeling/views.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -423,10 +423,24 @@ Check [APIs & Integrations][ref-apis-support] for details on folder
support. For tools that don't support nested folders, the structure is
automatically flattened.

## Grouping views with view groups

When a data model contains many views, [view groups][ref-view-groups] help
organize them into named collections by domain or purpose — for example,
`sales`, `finance`, or `people`. They're exposed through the
[`/v1/meta`][ref-meta-endpoint] API so downstream tools, AI agents, and
embedded analytics can present a navigable catalog.

See [View groups][ref-view-groups] for the full guide and the
[view group reference][ref-view-group-ref] for the complete list of
parameters.

## Next steps

- See the [view reference][ref-view-reference] for the full list of
parameters
- Learn about [view groups][ref-view-groups] to organize views into
named collections
- Learn about [access policies][ref-access-policies] to govern view access
- Explore [AI context][ref-ai-context] to improve AI query accuracy
- Use the [Semantic Model IDE][ref-ide] to develop views interactively
Expand All @@ -446,4 +460,7 @@ automatically flattened.
[ref-ide]: /docs/data-modeling/data-model-ide
[ref-viz-tools]: /admin/connect-to-data/visualization-tools
[ref-apis-support]: /reference#data-modeling
[ref-view-groups]: /docs/data-modeling/view-groups
[ref-view-group-ref]: /reference/data-modeling/view-group
[ref-meta-endpoint]: /reference/core-data-apis/rest-api/reference
[wiki-dry]: https://en.wikipedia.org/wiki/Don%27t_repeat_yourself
Loading
Loading