@cube-dev/platform-client 0.17.0 β†’ 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/schema.d.ts CHANGED
@@ -324,6 +324,58 @@ export interface paths {
324
324
  patch?: never;
325
325
  trace?: never;
326
326
  };
327
+ "/api/v1/deployments/{deploymentId}/chat-history/threads": {
328
+ parameters: {
329
+ query?: never;
330
+ header?: never;
331
+ path?: never;
332
+ cookie?: never;
333
+ };
334
+ /**
335
+ * List chat threads
336
+ * @description **πŸ”’ Admin only.** Requires administrator privileges β€” the authenticated principal (API key, embed JWT, or any bearer token) must belong to a user with the admin role.
337
+ *
338
+ * Every user's AI chat threads in the deployment, most recently updated first, for analyzing how people use the agent. Filters combine with AND; a filter given several values matches any of them.
339
+ *
340
+ * Set `includeTurns=true` to get each thread's turns in the same response. A turn is one prompt and everything the agent did to answer it: the final answer, the tools it called, and each query it ran with its SQL, status, row count and any thumbs-up/down feedback. Query result rows are never included. A prompt, answer or SQL longer than 20,000 characters, or an error longer than 2,000, is cut and ends in `…`. A page holds up to 200 threads, or 50 with turns; a larger `first` is lowered to that.
341
+ *
342
+ * For an incremental export, keep the newest `updatedAt` you have seen and pass it as `updatedAfter` next time.
343
+ *
344
+ * Chat history export is in preview: when it is not enabled for the account, `404` is returned.
345
+ */
346
+ get: operations["ChatHistoryPublicController.listChatHistoryThreads"];
347
+ put?: never;
348
+ post?: never;
349
+ delete?: never;
350
+ options?: never;
351
+ head?: never;
352
+ patch?: never;
353
+ trace?: never;
354
+ };
355
+ "/api/v1/deployments/{deploymentId}/chat-history/threads/{chatId}": {
356
+ parameters: {
357
+ query?: never;
358
+ header?: never;
359
+ path?: never;
360
+ cookie?: never;
361
+ };
362
+ /**
363
+ * Get a chat thread
364
+ * @description **πŸ”’ Admin only.** Requires administrator privileges β€” the authenticated principal (API key, embed JWT, or any bearer token) must belong to a user with the admin role.
365
+ *
366
+ * One chat thread with all of its turns, oldest first. A turn is one prompt and everything the agent did to answer it: the final answer, the tools it called, and each query it ran with its SQL, status, row count and any thumbs-up/down feedback. Query result rows are never included. A prompt, answer or SQL longer than 20,000 characters, or an error longer than 2,000, is cut and ends in `…`.
367
+ *
368
+ * Chat history export is in preview: when it is not enabled for the account, `404` is returned.
369
+ */
370
+ get: operations["ChatHistoryPublicController.getChatHistoryThread"];
371
+ put?: never;
372
+ post?: never;
373
+ delete?: never;
374
+ options?: never;
375
+ head?: never;
376
+ patch?: never;
377
+ trace?: never;
378
+ };
327
379
  "/api/v1/deployments/{deploymentId}/creation-step/advance": {
328
380
  parameters: {
329
381
  query?: never;
@@ -375,6 +427,8 @@ export interface paths {
375
427
  *
376
428
  * Pass `filters`, `timeGrains` and `memberSwitchers` to render the board with specific control values, exactly as a scheduled notification does; omit them to render its saved defaults.
377
429
  *
430
+ * Pass `layout: print` with `format: pdf` for the paginated A4 document the dashboard's "Print version" menu item produces β€” one column, every table row, the filter state as a summary line β€” instead of the default `screenshot` of the board. `print` with `format: png` returns `400`.
431
+ *
378
432
  * By default the dashboard renders under the calling user's own security context, so the file shows what that user would see. Requires **manage** access to the dashboard's workbook β€” the same permission the console's own "Download as PNG / PDF" actions require, because a whole-dashboard render is a bulk data export.
379
433
  *
380
434
  * To export on someone else's behalf, pass `renderAs`: the queries behind the image then run under that user's security context instead of yours. **Requires the caller to be a tenant administrator.** Name a console user by `userId` or `email` (`type: USER`), or an embed user by `embedTenantName` + `externalId` (`type: EMBED_USER`). A deactivated console user is not a valid subject and returns `404`; an email is matched case-insensitively.
@@ -1424,7 +1478,7 @@ export interface paths {
1424
1478
  };
1425
1479
  /**
1426
1480
  * List scheduled tasks
1427
- * @description Every scheduled task in the deployment, most recently updated first, with its next run time. Needs access to the deployment; embed sessions get `403`.
1481
+ * @description The scheduled tasks in the deployment the caller can see β€” their own and those shared with them, or every task for an admin β€” most recently updated first, with each next run time. Needs access to the deployment; embed sessions get `403`.
1428
1482
  */
1429
1483
  get: operations["ScheduledTasksPublicController.listScheduledTasks"];
1430
1484
  put?: never;
@@ -1446,7 +1500,10 @@ export interface paths {
1446
1500
  path?: never;
1447
1501
  cookie?: never;
1448
1502
  };
1449
- /** Get a scheduled task */
1503
+ /**
1504
+ * Get a scheduled task
1505
+ * @description A task is visible to its creator, to admins and to whoever it is shared with; anyone else gets `404`.
1506
+ */
1450
1507
  get: operations["ScheduledTasksPublicController.getScheduledTask"];
1451
1508
  /**
1452
1509
  * Update a scheduled task
@@ -1840,7 +1897,7 @@ export interface paths {
1840
1897
  *
1841
1898
  * Read `GET /workbooks/{workbookId}/dashboard/file` first and copy each `oldText` from its `content`, including whitespace. Without `replaceAll`, `oldText` must occur exactly once. Edits apply in order; if any one fails, nothing is saved. The result is validated like `PUT /workbooks/{workbookId}/dashboard`.
1842
1899
  *
1843
- * Returns the new `content` and `hash`. Pass `expectedHash` to get `409` instead of editing a draft that changed since you read it. Requires **manage** access to the workbook.
1900
+ * Returns the new `content` and `hash`. Pass `expectedHash` to get `409` instead of editing a draft that changed since you read it. Requires **edit** access to the workbook.
1844
1901
  */
1845
1902
  patch: operations["WorkbooksPublicController.replaceWorkbookDashboardFileText"];
1846
1903
  trace?: never;
@@ -3688,6 +3745,7 @@ export interface components {
3688
3745
  hasAgentAccess?: any | null;
3689
3746
  mcpToken?: string | null;
3690
3747
  resolvedTimezone?: string | null;
3748
+ scheduledTaskPolicies?: components["schemas"]["ChatThreadPolicy"][] | null;
3691
3749
  timezoneSettings?: components["schemas"]["TimezoneSettings"] | null;
3692
3750
  token: string;
3693
3751
  url: string;
@@ -3799,6 +3857,7 @@ export interface components {
3799
3857
  aiPaywalled: boolean;
3800
3858
  appTheme?: components["schemas"]["AppTheme"] | null;
3801
3859
  applyThemeGlobally: boolean;
3860
+ boardDashboardsEnabled: boolean;
3802
3861
  creatorMode?: components["schemas"]["CreatorMode"] | null;
3803
3862
  dashboardAppsEnabled: boolean;
3804
3863
  embedding?: components["schemas"]["EmbedSettings"] | null;
@@ -3952,8 +4011,95 @@ export interface components {
3952
4011
  };
3953
4012
  /** @enum {string} */
3954
4013
  BulkUserActionResponseAction: "DEACTIVATE" | "ACTIVATE" | "DELETE";
4014
+ ChatHistoryQuery: {
4015
+ /** @description The data source a `runSql` query ran on. */
4016
+ dataSource?: string | null;
4017
+ error?: string | null;
4018
+ /** @description The latest thumbs up or down on this query, if any. */
4019
+ feedback?: components["schemas"]["ChatHistoryQueryFeedback"] | null;
4020
+ /** @description The tool-call message id. */
4021
+ messageId: string;
4022
+ /** @description Rows the query returned. The rows themselves are never included. */
4023
+ rowCount?: number | null;
4024
+ /** @description The SQL the agent generated. */
4025
+ sql?: string | null;
4026
+ /** @description `incomplete` when the query never returned: the turn was stopped or failed. */
4027
+ status: components["schemas"]["ChatHistoryQueryStatus"];
4028
+ title?: string | null;
4029
+ /** @description `cubeSqlApi` for a query against the semantic layer, `runSql` for one against a warehouse data source. */
4030
+ tool: string;
4031
+ };
4032
+ ChatHistoryQueryFeedback: {
4033
+ createdAt: string;
4034
+ isPositive: boolean;
4035
+ /** @description Who rated the query. */
4036
+ userId?: number | null;
4037
+ };
4038
+ /** @enum {string} */
4039
+ ChatHistoryQueryStatus: "success" | "error" | "incomplete";
4040
+ ChatHistoryThread: {
4041
+ /** @description Null for the Auto agent. */
4042
+ agentId?: number | null;
4043
+ /** @description The thread id, as used in chat URLs and the Chat API. */
4044
+ chatId: string;
4045
+ createdAt: string;
4046
+ /** @description The surface inside the app the thread began on; null when it was not recorded. */
4047
+ initialContext?: string | null;
4048
+ /** @description Where the thread was started; null for a source this API does not name. */
4049
+ source?: components["schemas"]["ChatHistoryThreadSource"] | null;
4050
+ title?: string | null;
4051
+ /** @description Oldest first. Present on a single thread, and on a list with `includeTurns=true`. */
4052
+ turns?: components["schemas"]["ChatHistoryTurn"][] | null;
4053
+ /** @description When the thread last changed, normally its latest turn. */
4054
+ updatedAt: string;
4055
+ user: components["schemas"]["ChatHistoryUser"];
4056
+ };
4057
+ ChatHistoryThreadListResponse: {
4058
+ items: components["schemas"]["ChatHistoryThread"][];
4059
+ pageInfo: components["schemas"]["PageInfo"];
4060
+ };
4061
+ /** @enum {string} */
4062
+ ChatHistoryThreadSource: "web" | "api" | "mcp" | "slack" | "scheduled";
4063
+ /** @enum {string} */
4064
+ ChatHistoryThreadsQuerySortBy: "createdAt" | "updatedAt";
4065
+ /** @enum {string} */
4066
+ ChatHistoryThreadsQuerySortOrder: "asc" | "desc";
4067
+ /** @enum {string} */
4068
+ ChatHistoryThreadsQueryUserType: "internal" | "external";
4069
+ ChatHistoryTurn: {
4070
+ /** @description The agent's last write in the turn. Null for turns recorded before Cube stored turn times. */
4071
+ endedAt?: string | null;
4072
+ /** @description Names of files the user attached. Their content is never included. */
4073
+ files: string[];
4074
+ /** @description The agent's last text reply in the turn; null when it answered only with a chart. */
4075
+ finalAnswer?: string | null;
4076
+ /** @description Position in the thread, from 0. */
4077
+ index: number;
4078
+ /** @description The id of the user message that opened the turn. */
4079
+ messageId: string;
4080
+ /** @description What the user asked, as they typed it. */
4081
+ prompt: string;
4082
+ queries: components["schemas"]["ChatHistoryQuery"][];
4083
+ /** @description When the user sent the prompt. Null for turns recorded before Cube stored turn times. */
4084
+ startedAt?: string | null;
4085
+ /** @description Every tool the agent called in the turn, in first-call order. */
4086
+ tools: string[];
4087
+ };
4088
+ ChatHistoryUser: {
4089
+ /** @description Null when the Cube user was deleted, or the embedded user had no email. */
4090
+ email?: string | null;
4091
+ /** @description Embedded users only. */
4092
+ externalId?: string | null;
4093
+ /** @description For a Cube user, their user id. For an embedded user, an id in a separate number space: identify them by `externalId`. */
4094
+ id: number;
4095
+ /** @description Cube users only. */
4096
+ name?: string | null;
4097
+ type: components["schemas"]["ChatHistoryUserType"];
4098
+ };
4099
+ /** @enum {string} */
4100
+ ChatHistoryUserType: "internal" | "external";
3955
4101
  ChatThreadPolicy: {
3956
- actions: ("All" | "DeploymentsManage" | "DeploymentCreate" | "DeploymentRead" | "DeploymentUpdate" | "DeploymentDelete" | "SecretsManage" | "DownloadData" | "PlaygroundRead" | "SchemaRead" | "SchemaUpdate" | "SchemaUpdateDevBranches" | "APMRead" | "ChatHistoryRead" | "PreAggregationBuild" | "AlertsCreate" | "AlertsRead" | "AlertsUpdate" | "AlertsDelete" | "AuditLogManage" | "BillingRead" | "SqlRunnerRead" | "DataAssetsRead" | "DataAssetsManage" | "CubeNetworkConnect" | "ReportRead" | "ReportEdit" | "ReportManage" | "WorkbookManage" | "WorkbookRead" | "WorkbookEdit" | "ChatThreadRead" | "AgentManage" | "AgentRead" | "AgentSpaceManage" | "AgentAdmin" | "DeploymentAgentRead" | "ScheduledTasksCreate" | "OAuthIntegrationsManage" | "OAuthIntegrationsIssueTokens" | "McpToolsManage" | "AIBIDevelop" | "AIBIExplore" | "AIBIView" | "ChartPalettesManage" | "DashboardThemesManage" | "AIBIDeveloper" | "AIBIUser" | "AIBIViewer" | "EmbedDeploymentRead" | "EmbedDashboardRead" | "FolderRead" | "FolderEdit" | "FolderManage")[];
4102
+ actions: ("All" | "DeploymentsManage" | "DeploymentCreate" | "DeploymentRead" | "DeploymentUpdate" | "DeploymentDelete" | "SecretsManage" | "DownloadData" | "PlaygroundRead" | "SchemaRead" | "SchemaUpdate" | "SchemaUpdateDevBranches" | "APMRead" | "ChatHistoryRead" | "PreAggregationRead" | "PreAggregationBuild" | "AlertsCreate" | "AlertsRead" | "AlertsUpdate" | "AlertsDelete" | "AuditLogManage" | "BillingRead" | "SqlRunnerRead" | "DataAssetsRead" | "DataAssetsManage" | "CubeNetworkConnect" | "ReportRead" | "ReportEdit" | "ReportManage" | "WorkbookManage" | "WorkbookRead" | "WorkbookEdit" | "ChatThreadRead" | "AgentManage" | "AgentRead" | "AgentSpaceManage" | "AgentAdmin" | "DeploymentAgentRead" | "ScheduledTasksCreate" | "ScheduledTaskRead" | "OAuthIntegrationsManage" | "OAuthIntegrationsIssueTokens" | "McpToolsManage" | "AIBIDevelop" | "AIBIExplore" | "AIBIView" | "ChartPalettesManage" | "DashboardThemesManage" | "AIBIDeveloper" | "AIBIUser" | "AIBIViewer" | "EmbedDeploymentRead" | "EmbedDashboardRead" | "FolderRead" | "FolderEdit" | "FolderManage")[];
3957
4103
  effect?: components["schemas"]["ChatThreadPolicyEffect"] | null;
3958
4104
  resourceType: components["schemas"]["ChatThreadPolicyResourceType"];
3959
4105
  resources: string[];
@@ -3961,7 +4107,7 @@ export interface components {
3961
4107
  /** @enum {string} */
3962
4108
  ChatThreadPolicyEffect: "allow" | "deny";
3963
4109
  /** @enum {string} */
3964
- ChatThreadPolicyResourceType: "Global" | "Deployment" | "Report" | "ReportFolder" | "Agent" | "AgentSpace" | "Workbook" | "Dashboard" | "Folder" | "ChatThread";
4110
+ ChatThreadPolicyResourceType: "Global" | "Deployment" | "Report" | "ReportFolder" | "Agent" | "AgentSpace" | "Workbook" | "Dashboard" | "Folder" | "ChatThread" | "ScheduledTask";
3965
4111
  ColumnFormatOverride: {
3966
4112
  decimalPlaces?: number | null;
3967
4113
  type: components["schemas"]["ColumnFormatOverrideDtoType"];
@@ -4049,6 +4195,7 @@ export interface components {
4049
4195
  /** @enum {string} */
4050
4196
  CreateDeploymentInputDeployMode: "git" | "cli";
4051
4197
  CreateDeploymentTokenInput: {
4198
+ /** @description Token lifetime in seconds, between 60 and 86400. Omit to keep the historical default of 24 hours (86400). Callers that hold the token outside a browser session β€” scripts, BI tools, scheduled jobs β€” should request a short lifetime and re-issue tokens instead. */
4052
4199
  expiresIn?: number | null;
4053
4200
  };
4054
4201
  CreateEmbedDashboardCommentBody: {
@@ -4056,6 +4203,7 @@ export interface components {
4056
4203
  parentId?: number | null;
4057
4204
  };
4058
4205
  CreateEmbedGroupInput: {
4206
+ /** @description Optional human-readable description. */
4059
4207
  description?: string | null;
4060
4208
  /** @description Group name, unique within the embed tenant. The `system:` prefix is reserved and rejected. */
4061
4209
  name: string;
@@ -4066,20 +4214,33 @@ export interface components {
4066
4214
  position?: number | null;
4067
4215
  };
4068
4216
  CreateNotificationInput: {
4217
+ /** @description Custom cron expression (required if scheduleType is CUSTOM) */
4069
4218
  customCron?: string | null;
4219
+ /** @description Numeric id of the dashboard to run on the schedule. Provide this OR dashboardPublicId (exactly one). */
4070
4220
  dashboardId?: number | null;
4221
+ /** @description Public id of the dashboard to run on the schedule. Provide this OR dashboardId (exactly one). */
4071
4222
  dashboardPublicId?: string | null;
4223
+ /** @description Day of month (1-31) */
4072
4224
  dayOfMonth?: number | null;
4225
+ /** @description Day of week (0-6, Sunday=0) */
4073
4226
  dayOfWeek?: number | null;
4227
+ /** @description Dimension filters applied to the dashboard when the notification is rendered (substituted into the screenshot/PDF for every recipient). */
4074
4228
  filters?: components["schemas"]["DashboardFilterInput"][] | null;
4229
+ /** @description Hour of the day (0-23) */
4075
4230
  hour?: number | null;
4231
+ /** @description Field-switcher selections applied to the dashboard when the notification is rendered. */
4076
4232
  memberSwitchers?: components["schemas"]["DashboardMemberSwitcherInput"][] | null;
4233
+ /** @description Minute of the hour (0-59) */
4077
4234
  minute?: number | null;
4235
+ /** @description Include an AI-generated "what changed" summary in the notification body. Off by default. */
4078
4236
  notificationAiSummary?: boolean | null;
4079
4237
  notificationEnabled?: boolean | null;
4080
4238
  notificationFormat?: components["schemas"]["CreateNotificationInputNotificationFormat"] | null;
4239
+ /** @description Type of schedule */
4081
4240
  scheduleType: components["schemas"]["CreateNotificationInputScheduleType"];
4241
+ /** @description Time-grain overrides applied to the dashboard when the notification is rendered. */
4082
4242
  timeGrains?: components["schemas"]["DashboardTimeGrainInput"][] | null;
4243
+ /** @description Timezone for the schedule (e.g. "America/New_York") */
4083
4244
  timezone?: string | null;
4084
4245
  };
4085
4246
  /** @enum {string} */
@@ -4117,11 +4278,15 @@ export interface components {
4117
4278
  CreateReportDeliveryInput: {
4118
4279
  destination: components["schemas"]["ReportDeliveryDestinationInput"];
4119
4280
  name: string;
4281
+ /** @description How the owner hears that the delivery failed or recovered. A delivery that runs more than once a day reports only changes in its status; a daily or rarer one reports every failed run. Omit it for the inbox only. */
4120
4282
  notifications?: components["schemas"]["ReportDeliveryNotificationsInput"] | null;
4121
4283
  /** @description Id of the report whose results are delivered. It must belong to this deployment, and the caller must be able to read it. */
4122
4284
  reportId: number;
4285
+ /** @description When the delivery runs. Omit it for a delivery that runs only on request. */
4123
4286
  schedule?: components["schemas"]["ReportDeliveryScheduleInput"] | null;
4287
+ /** @description Which columns land in the sheet, in what order, under which headers. Omit it to deliver every column the query returns, in its order, headed by its name. */
4124
4288
  shape?: components["schemas"]["ReportDeliveryShapeInput"] | null;
4289
+ /** @description What each run does with what the previous one wrote. `overwrite` (the default) replaces the delivered block. `append` adds the whole result below it, header only on the first run and no deduplication. `new_sheet` writes each run to a new tab. */
4125
4290
  writeMode?: components["schemas"]["CreateReportDeliveryInputWriteMode"] | null;
4126
4291
  };
4127
4292
  /** @enum {string} */
@@ -4152,14 +4317,19 @@ export interface components {
4152
4317
  /** @enum {string} */
4153
4318
  CreateReportInputSource: "GOOGLE_SHEETS" | "EXCEL" | "PLAYGROUND" | "D3";
4154
4319
  CreateScheduledTaskInput: {
4320
+ /** @description The agent that runs the task. Omit for the deployment default. */
4155
4321
  agentId?: number | null;
4322
+ /** @description Standard 5-field cron (minute hour day-of-month month day-of-week), e.g. `0 9 * * 1-5` for 9:00 on weekdays. A task runs at most once an hour, so the minute field is a single number. Null or omitted makes the task Manual: it runs only when started with `POST /scheduled-tasks/{taskId}/run`. */
4156
4323
  cronExpression?: string | null;
4157
4324
  description?: string | null;
4325
+ /** @description Create the schedule paused with `false`. Defaults to `true`. */
4158
4326
  isEnabled?: boolean | null;
4159
4327
  name: string;
4328
+ /** @description Notify the creator in Cube's notification inbox when a run finishes, whether it succeeds or fails. Defaults to `false`. */
4160
4329
  notificationEnabled?: boolean | null;
4161
4330
  /** @description What the agent is asked on every run, shown as the task's Instructions in Cube. Each run starts a new chat thread with no memory of earlier ones, so write the whole request. */
4162
4331
  prompt: string;
4332
+ /** @description IANA time zone the cron is read in, e.g. `America/New_York`. Defaults to `UTC`. */
4163
4333
  timezone?: string | null;
4164
4334
  };
4165
4335
  CreateWorkbookInput: {
@@ -4355,9 +4525,13 @@ export interface components {
4355
4525
  jobId: string;
4356
4526
  };
4357
4527
  DashboardExportStatusResponse: {
4528
+ /** @description MIME type of the rendered file. Present once `status` is `completed`. */
4358
4529
  contentType?: string | null;
4530
+ /** @description Why the render failed. Present only when `status` is `failed`. */
4359
4531
  error?: string | null;
4532
+ /** @description Rendering progress, 0-100, when the renderer reports one. */
4360
4533
  progress?: number | null;
4534
+ /** @description Job lifecycle: `pending` and `processing` mean keep polling, `completed` means the file is ready to download, `failed` means it will never be. */
4361
4535
  status: components["schemas"]["DashboardExportStatusResponseStatus"];
4362
4536
  };
4363
4537
  /** @enum {string} */
@@ -4371,12 +4545,17 @@ export interface components {
4371
4545
  value?: (string | number | boolean | unknown[]) | null;
4372
4546
  };
4373
4547
  DashboardFilterInput: {
4548
+ /** @description For string filters: whether matching is case-sensitive */
4374
4549
  caseSensitive?: any | null;
4550
+ /** @description For between filters: whether the end bound is inclusive */
4375
4551
  endInclusive?: any | null;
4376
4552
  /** @description Dimension path, e.g. "Orders.status" */
4377
4553
  member: string;
4554
+ /** @description Filter operator (defaults to "equals") */
4378
4555
  operator?: components["schemas"]["DashboardFilterInputOperator"] | null;
4556
+ /** @description For between filters: whether the start bound is inclusive */
4379
4557
  startInclusive?: any | null;
4558
+ /** @description Filter value. Omit for is_null / is_not_null / is_empty / is_not_empty; provide a 2-element [start, end] array for between. */
4380
4559
  value?: (string | number | boolean | unknown[]) | null;
4381
4560
  };
4382
4561
  /** @enum {string} */
@@ -4612,14 +4791,19 @@ export interface components {
4612
4791
  DatabricksMetricViewPublicationIssueStage: "INPUT" | "VIEW_PROJECTION" | "OSSIE_VALIDATION" | "OSSIE_TO_DATABRICKS" | "OUTPUT_VALIDATION" | "EXECUTION";
4613
4792
  DatabricksMetricViewPublicationPreviewInput: {
4614
4793
  dataSourceName: string;
4794
+ /** @description Choose every deployed Cube view ('all'), an exact ordered list ('selected'), or names matching viewNameRegex ('pattern'). */
4615
4795
  selectionMode: components["schemas"]["DatabricksMetricViewPublicationPreviewInputSelectionMode"];
4796
+ /** @description Optional map of Cube view name to the root source dataset the view projects from, for view projections where that root would otherwise be ambiguous. */
4616
4797
  sourceOverrides?: {
4617
4798
  [key: string]: string;
4618
4799
  } | null;
4800
+ /** @description Optional Cube view name to Databricks Metric View name overrides. */
4619
4801
  targetNames?: {
4620
4802
  [key: string]: string;
4621
4803
  } | null;
4804
+ /** @description A safe, bounded regex subset for view names. Supports literals, ^, $, dot, and one .* wildcard; grouping, alternation, lookaround, and backreferences are rejected. */
4622
4805
  viewNameRegex?: string | null;
4806
+ /** @description Required only when selectionMode is 'selected'. */
4623
4807
  viewNames?: string[] | null;
4624
4808
  };
4625
4809
  /** @enum {string} */
@@ -4695,6 +4879,7 @@ export interface components {
4695
4879
  metricViewName: string;
4696
4880
  metricViewSha256?: string | null;
4697
4881
  metricViewYaml?: string | null;
4882
+ /** @description 'partial' means the view published without measures it cannot represent; read withheldMembers for which. */
4698
4883
  outcome: components["schemas"]["DatabricksMetricViewPublicationViewResultOutcome"];
4699
4884
  source?: string | null;
4700
4885
  /** @description Measures this view could not publish, each named with the cube it comes from. A view with entries here is queryable but incomplete. */
@@ -4731,10 +4916,12 @@ export interface components {
4731
4916
  /** @description How many published views are missing measures the conversion could not represent. A run reports COMPLETED with this above zero, because every view published β€” so automation that treats COMPLETED as "fully published" should assert this is 0. Read views[].withheldMembers for which measures, and why. */
4732
4917
  incompleteViewCount: number;
4733
4918
  integrationPublicId: string;
4919
+ /** @description Live progress while the run is active; null once it is terminal. */
4734
4920
  progress?: components["schemas"]["DatabricksMetricViewSyncProgressResponse"] | null;
4735
4921
  runId: string;
4736
4922
  stage?: string | null;
4737
4923
  startedAt?: string | null;
4924
+ /** @description PARTIAL means at least one view published and another did not. Every non-successful view keeps its previous Databricks definition. */
4738
4925
  status: components["schemas"]["DatabricksMetricViewSyncRunResponseStatus"];
4739
4926
  targetCatalog?: string | null;
4740
4927
  targetSchema?: string | null;
@@ -4761,6 +4948,7 @@ export interface components {
4761
4948
  };
4762
4949
  DatabricksMetricViewSyncViewOutcomeResponse: {
4763
4950
  cubeViewName: string;
4951
+ /** @description A stable reason code, never raw Databricks output. */
4764
4952
  detail?: string | null;
4765
4953
  outcome: components["schemas"]["DatabricksMetricViewSyncViewOutcomeResponseOutcome"];
4766
4954
  /** @description Measures this view published without, as 'cube.member'. Non-empty means the Metric View is queryable but incomplete. */
@@ -4791,10 +4979,12 @@ export interface components {
4791
4979
  pageInfo: components["schemas"]["PageInfo"];
4792
4980
  };
4793
4981
  DbtSyncLogEntry: {
4982
+ /** @description For a phase line, how long the phase took, in milliseconds. */
4794
4983
  durationMs?: number | null;
4795
4984
  /** @description info or error. */
4796
4985
  level: string;
4797
4986
  message: string;
4987
+ /** @description The phase this line belongs to, e.g. dbt-compile. */
4798
4988
  phase?: string | null;
4799
4989
  /** @description Always "system" in this version. "stdout" and "stderr" join it once dbt’s own output is captured, so treat this as an open set. */
4800
4990
  stream: string;
@@ -4807,6 +4997,7 @@ export interface components {
4807
4997
  sources: number;
4808
4998
  };
4809
4999
  DbtSyncProgress: {
5000
+ /** @description Human-readable description of what the sync is doing right now. */
4810
5001
  message?: string | null;
4811
5002
  /** @description Rough completion percentage derived from the stage. Progress reporting only β€” do not gate on it; gate on the status reaching COMPLETED or FAILED. */
4812
5003
  percentComplete: number;
@@ -4833,13 +5024,20 @@ export interface components {
4833
5024
  DbtSyncRun: {
4834
5025
  /** @description The Cube branch this sync wrote its generated cubes to. */
4835
5026
  branchName: string;
5027
+ /** @description When the sync finished, as an ISO 8601 timestamp, or null while it is still running. This is stamped by the process that ran the sync whereas startedAt is stamped by the process that launched it β€” two different clocks β€” so for a run that failed moments after starting, completedAt can even precede startedAt. Use durationMs to show how long a run took rather than subtracting these. */
4836
5028
  completedAt?: string | null;
4837
5029
  deploymentId: number;
5030
+ /** @description How long the sync took, in milliseconds, and the value to use when showing a duration. Measured from a single clock, so it is never negative β€” prefer it over subtracting startedAt from completedAt, which can disagree with it by a small skew. */
4838
5031
  durationMs?: number | null;
5032
+ /** @description Why the sync stopped. Present only for a failed run. */
4839
5033
  errorMessage?: string | null;
5034
+ /** @description The phase that failed, e.g. dbt-compile. */
4840
5035
  failedPhase?: string | null;
5036
+ /** @description The dbt-repository ref this sync was run against, when pinned. */
4841
5037
  gitRef?: string | null;
5038
+ /** @description The pipeline stage the run reached, e.g. COMPILING_DBT. */
4842
5039
  lastStage?: string | null;
5040
+ /** @description Per-phase timings, in the order they ran. Absent while the sync is running. */
4843
5041
  phases?: components["schemas"]["DbtSyncRunPhase"][] | null;
4844
5042
  /** @description Where this sync got its dbt metadata: `git` (Cube cloned the dbt repository and ran dbt) or `manifest` (the caller uploaded a `manifest.json` and no repository was accessed). Runs predating the manifest source report `git`. */
4845
5043
  source: string;
@@ -4852,6 +5050,7 @@ export interface components {
4852
5050
  /** @description What started the sync: manual (the Cube Cloud UI), api (this REST API), webhook (a push to the dbt repository), agent (Cube AI), or unknown. */
4853
5051
  trigger: string;
4854
5052
  triggerContext?: components["schemas"]["DbtSyncRunTriggerContext"] | null;
5053
+ /** @description The Cube user who started the sync, when a user started it. */
4855
5054
  userId?: number | null;
4856
5055
  };
4857
5056
  DbtSyncRunListResponse: {
@@ -4869,12 +5068,19 @@ export interface components {
4869
5068
  startedOffsetMs: number;
4870
5069
  };
4871
5070
  DbtSyncRunStats: {
5071
+ /** @description How many cubes the sync generated. */
4872
5072
  cubeCount?: number | null;
5073
+ /** @description The dbt version that produced the converted manifest, from its `metadata` block. Advisory β€” absent when the producer omitted it. */
4873
5074
  dbtVersion?: string | null;
5075
+ /** @description How many files the sync wrote to the branch it created. */
4874
5076
  generatedFileCount?: number | null;
5077
+ /** @description dbt macros found in the manifest. */
4875
5078
  macros?: number | null;
5079
+ /** @description When dbt generated the converted manifest, as an ISO 8601 timestamp. For an uploaded manifest this is how you tell a stale upload from a fresh one; it is NOT when the sync ran. */
4876
5080
  manifestGeneratedAt?: string | null;
5081
+ /** @description dbt models found in the manifest. */
4877
5082
  models?: number | null;
5083
+ /** @description dbt sources found in the manifest. */
4878
5084
  sources?: number | null;
4879
5085
  };
4880
5086
  DbtSyncRunTriggerContext: {
@@ -4887,6 +5093,7 @@ export interface components {
4887
5093
  /** @enum {string} */
4888
5094
  DbtSyncRunsQueryTrigger: "manual" | "api" | "webhook" | "agent" | "unknown";
4889
5095
  DbtSyncStatusResponse: {
5096
+ /** @description Why the sync stopped. Present only when the status is FAILED. */
4890
5097
  error?: string | null;
4891
5098
  progress: components["schemas"]["DbtSyncProgress"];
4892
5099
  /** @description One of INITIALIZING, CREATING_SANDBOX, UPLOADING_PROJECT, INSTALLING_DEPENDENCIES, RUNNING_DBT_DEPS, COMPILING_DBT, PROCESSING_MANIFEST, WRITING_CUBE_FILES, FINALIZING, COMPLETED, FAILED. COMPLETED and FAILED are the only terminal values: poll until one of them, then read the result. Treat any unrecognized value as still running. */
@@ -4940,6 +5147,10 @@ export interface components {
4940
5147
  data: components["schemas"]["DeploymentEnvironmentToken"][];
4941
5148
  items: components["schemas"]["DeploymentEnvironmentToken"][];
4942
5149
  pageInfo?: components["schemas"]["PageInfo"] | null;
5150
+ /**
5151
+ * @deprecated
5152
+ * @description Deprecated: use `pageInfo` instead. Kept for backward compatibility.
5153
+ */
4943
5154
  pagination?: components["schemas"]["DeploymentsPagination"] | null;
4944
5155
  };
4945
5156
  /** @enum {string} */
@@ -4952,6 +5163,10 @@ export interface components {
4952
5163
  data: components["schemas"]["DeploymentEnvironment"][];
4953
5164
  items: components["schemas"]["DeploymentEnvironment"][];
4954
5165
  pageInfo?: components["schemas"]["PageInfo"] | null;
5166
+ /**
5167
+ * @deprecated
5168
+ * @description Deprecated: use `pageInfo` instead. Kept for backward compatibility.
5169
+ */
4955
5170
  pagination?: components["schemas"]["DeploymentsPagination"] | null;
4956
5171
  };
4957
5172
  DeploymentLogLine: {
@@ -5042,6 +5257,10 @@ export interface components {
5042
5257
  pageInfo?: components["schemas"]["PageInfo"] | null;
5043
5258
  };
5044
5259
  DeploymentsListResponse: {
5260
+ /**
5261
+ * @deprecated
5262
+ * @description Deprecated: total number of accessible deployments, ignoring pagination. Kept for backward compatibility.
5263
+ */
5045
5264
  count?: number | null;
5046
5265
  /**
5047
5266
  * @deprecated
@@ -5055,6 +5274,10 @@ export interface components {
5055
5274
  * @description Deprecated: use `pageInfo` instead. Kept for backward compatibility.
5056
5275
  */
5057
5276
  pagination: components["schemas"]["DeploymentsPagination"];
5277
+ /**
5278
+ * @deprecated
5279
+ * @description Deprecated: use `count`. Kept for backward compatibility.
5280
+ */
5058
5281
  totalCount?: number | null;
5059
5282
  };
5060
5283
  DeploymentsPagination: {
@@ -5118,7 +5341,9 @@ export interface components {
5118
5341
  pageInfo: components["schemas"]["PageInfo"];
5119
5342
  };
5120
5343
  EmbedGroupMemberInput: {
5344
+ /** @description Numeric id of an existing embed user. Provide this OR `externalId`. */
5121
5345
  embedUserId?: number | null;
5346
+ /** @description External id of the embed user (the `externalId` passed to `generate-session`). Provide this OR `embedUserId`. */
5122
5347
  externalId?: string | null;
5123
5348
  };
5124
5349
  EmbedGroupMembersInput: {
@@ -5145,16 +5370,27 @@ export interface components {
5145
5370
  sqlQuery: string;
5146
5371
  };
5147
5372
  EmbedSessionSettings: {
5373
+ /** @description Whether this session may use AI at all. This is the master switch over every AI surface in the embed: the dashboard agent, the workbook chat, the AI summary widgets and the standalone embedded chat. Omit to inherit the account-wide embed setting (allowed by default); `false` disables AI even if it is enabled account-wide. Unlike the `show*` keys below it is enforced server-side β€” the session cannot obtain AI Chat credentials at all, so no request made with it can consume AI tokens β€” and it outranks them: a `false` here disables a surface whose own `show*` key is `true`. It does not change user roles or permissions for non-AI API calls. `null` is accepted and means the same as omitting it. */
5148
5374
  allowAi?: boolean | null;
5375
+ /** @description Whether AI Chat authenticated with this session may create or modify persistent Cube Workspace content. Set to `false` for headless chat integrations that render answers in their own UI: ad-hoc data analysis and inline tables/charts remain available, but the agent cannot save or update standalone explorations/reports, create or modify workbooks, create or publish dashboards, or direct users to those Cube UI surfaces. Omit or set to `true` to preserve the session user's role-derived authoring capabilities; `true` never grants access the user does not already have. This setting changes only AI Chat tools and instructions. It does not change user roles or permissions for direct API calls. */
5149
5376
  allowChatWorkspaceAuthoring?: boolean | null;
5377
+ /** @description UI language for every embed viewed with this session, as a BCP-47 code β€” a full code (`es-ES`), a short code (`es`) or a regional variant all resolve to a shipped locale. Sits between the per-iframe `?locale=` parameter, which still wins because it is the more specific answer, and the account-wide default under Embed β†’ Settings. A language Cube does not ship falls through to that default rather than failing the session. */
5150
5378
  locale?: string | null;
5379
+ /** @description Whether AI summary widgets are authorable and refreshable with this session: the "AI widget" entry in the dashboard editor's Add widgets menu, and the prompt input plus Generate/Regenerate controls on an existing widget. An already-generated summary still renders, so a published dashboard keeps its content β€” it simply cannot be regenerated. Omit to inherit the account-wide embed setting (enabled by default); `false` disables them even if they are enabled account-wide, `true` enables them even if they are disabled account-wide. */
5151
5380
  showAiWidgets?: boolean | null;
5381
+ /** @description Whether embedded published dashboards viewed with this session show the AI chat (agent panel and launcher bubble). Omit to inherit the account-wide embed setting (shown by default); `false` hides the chat even if it is enabled account-wide, `true` shows it even if it is disabled account-wide. Only affects the dashboard surface, and only hides the entry point β€” use `allowAi` to withhold AI from the session. */
5152
5382
  showDashboardChat?: boolean | null;
5383
+ /** @description Whether the dashboard editor viewed with this session offers its settings panel β€” the gear button and the sidebar behind it. That panel is the ONLY place an embed user can reach the dashboard slug, the per-dashboard time zone, the per-dashboard agent, the grid behaviour switches and the dashboard theme, so `false` withdraws all of them together. Omit or set to `true` to keep the panel (the default). */
5153
5384
  showDashboardSettings?: boolean | null;
5385
+ /** @description Whether the workbook data pane viewed with this session offers the "Group by Cube" / "Group by Folder" item in its more-actions menu. `false` hides the item AND pins the pane to the grouping it would have defaulted to β€” by folder when the view defines folders, by cube otherwise. The choice is remembered per browser, so pinning is what makes the pane look the same for every user of the session rather than freezing whatever each of them last picked. No content is withdrawn either way. Omit or set to `true` to leave the choice with the user (the default). */
5154
5386
  showGroupByCube?: boolean | null;
5387
+ /** @description Whether the workbook data pane viewed with this session may display raw member NAMES instead of their titles (the "Show Member Names" item in the pane's more-actions menu). Member names are the data model's own identifiers, so this is a schema-protection setting in the same family as the account-wide Show Generated SQL switch. `false` hides the menu item AND pins the pane to titles, so a user who already switched to names is returned to titles β€” hiding the control alone would leave them stuck on names with no way back. Omit or set to `true` to leave the choice with the user (the default). */
5155
5388
  showMemberNames?: boolean | null;
5389
+ /** @description Whether the Creator Mode workbook viewed with this session shows its AI entry points: the chat side panel and its toggle, the launchpad's "Ask Cube Agent" button and the "Fix in chat" action on a failed report. Omit to inherit the account-wide embed setting (shown by default); `false` hides them even if they are enabled account-wide, `true` shows them even if they are disabled account-wide. Hides entry points only β€” use `allowAi` to withhold AI from the session. */
5156
5390
  showWorkbookChat?: boolean | null;
5391
+ /** @description Whether the Creator Mode workspace viewed with this session offers sharing: the workbook header's Share button and the Share action on a workbook, dashboard, exploration or folder row in the workspace list. Set to `false` for a deployment where each embed user should only ever see their own content. Omit or set to `true` to keep sharing available (the default). Hides the entry points only β€” it does not revoke access already granted, and it never widens what the session's own permissions allow. */
5157
5392
  showWorkbookShare?: boolean | null;
5393
+ /** @description IANA time zone the agent runs its queries in for every embed viewed with this session (e.g. `America/New_York`). Sits between the per-iframe `?timezone=` parameter and the account-wide default, and remains subject to the tenant time-zone policy β€” it is not a way around it. A bare UTC offset or an unknown name falls through to the account default rather than failing the session, because Cube would compute in UTC and report nothing. */
5158
5394
  timezone?: string | null;
5159
5395
  };
5160
5396
  EmbedSettings: {
@@ -5240,6 +5476,7 @@ export interface components {
5240
5476
  questionTextSnapshot: string;
5241
5477
  score?: number | null;
5242
5478
  updatedAt: string;
5479
+ /** @description Question outcome: pass, fail, review, skipped, or error. */
5243
5480
  verdict?: string | null;
5244
5481
  };
5245
5482
  EvaluationResultsListResponse: {
@@ -5262,15 +5499,23 @@ export interface components {
5262
5499
  updatedAt: string;
5263
5500
  };
5264
5501
  ExportSubjectInput: {
5502
+ /** @description Main user email (for type=USER; provide this OR userId). For type=EMBED_USER it is the email recorded on the provisioned embed user, and the externalId is used when it is omitted. */
5265
5503
  email?: string | null;
5504
+ /** @description Embed tenant name (for type=EMBED_USER) */
5266
5505
  embedTenantName?: string | null;
5506
+ /** @description Embed user external id (for type=EMBED_USER). The user is provisioned if it does not exist yet. */
5267
5507
  externalId?: string | null;
5508
+ /** @description Embed user groups (type=EMBED_USER). Must reference groups that already exist; drives what the rendered dashboard is allowed to show. */
5268
5509
  groups?: string[] | null;
5510
+ /** @description Security context applied to the embed user before rendering (type=EMBED_USER) β€” the same object a generate-session call takes. Row-level rules in the data model see exactly this. */
5269
5511
  securityContext?: {
5270
5512
  [key: string]: any;
5271
5513
  } | null;
5514
+ /** @description Subject kind */
5272
5515
  type: components["schemas"]["ExportSubjectInputType"];
5516
+ /** @description Embed user attribute values (type=EMBED_USER). Names must reference attribute definitions that already exist. */
5273
5517
  userAttributes?: components["schemas"]["UserAttributeInput"][] | null;
5518
+ /** @description Main user id (for type=USER; provide this OR email) */
5274
5519
  userId?: number | null;
5275
5520
  };
5276
5521
  /** @enum {string} */
@@ -5307,7 +5552,9 @@ export interface components {
5307
5552
  member: string;
5308
5553
  };
5309
5554
  FinishUploadBody: {
5555
+ /** @default true */
5310
5556
  autoRemoveFiles?: boolean | null;
5557
+ /** @default true */
5311
5558
  awaitGitOperations?: boolean | null;
5312
5559
  commitMessage?: string | null;
5313
5560
  files: Record<string, never>;
@@ -5333,6 +5580,10 @@ export interface components {
5333
5580
  /** @enum {string} */
5334
5581
  FolderDtoType: "FOLDER" | "WORKBOOK" | "REPORT";
5335
5582
  FoldersListResponse: {
5583
+ /**
5584
+ * @deprecated
5585
+ * @description Deprecated: total number of accessible folders, ignoring pagination. Kept for backward compatibility.
5586
+ */
5336
5587
  count?: number | null;
5337
5588
  /**
5338
5589
  * @deprecated
@@ -5346,6 +5597,7 @@ export interface components {
5346
5597
  token: string;
5347
5598
  };
5348
5599
  GenerateSession: {
5600
+ /** @description Branch of `deploymentId` whose data model this session queries. Omit it β€” or pass the deployment’s production branch β€” to query the production environment, which is the default. Any other branch of the deployment is accepted: a branch with a staging environment enabled, a shared branch, or a personal dev branch. The branch must be served when the session is generated, otherwise the request is rejected: a branch without a staging environment runs only while someone has it open in Cube (dev mode or the branch switcher), so enable its staging environment for a branch an embedded app should be able to reach at any time. A name that is not a branch of the deployment returns `404`. Content (dashboards, workbooks, reports) is not branch-scoped β€” the same saved content is rendered against the branch’s data model. */
5349
5601
  branchName?: string | null;
5350
5602
  creatorMode?: boolean | null;
5351
5603
  deploymentId: number;
@@ -5354,7 +5606,12 @@ export interface components {
5354
5606
  embedTenantProfile?: components["schemas"]["EmbedTenantProfile"] | null;
5355
5607
  embedTheme?: components["schemas"]["EmbedTheme"] | null;
5356
5608
  externalId?: string | null;
5609
+ /**
5610
+ * @deprecated
5611
+ * @description Deprecated and ignored. Global groups can no longer be created through this endpoint β€” define them beforehand via the Cube UI or admin API. Still accepted for backward compatibility (no error), but it has no effect. To create per-embed-tenant groups, use `tenantGroupDefinitions`.
5612
+ */
5357
5613
  groupDefinitions?: components["schemas"]["GroupDefinition"][] | null;
5614
+ /** @description Global user groups β€” defined once at the tenant level and shared across every embed tenant β€” to assign this embed user to. Use `groups` for **data-model access control**: each name is placed verbatim into the Cube security context as `cubeCloud.groups`, where your data model's `access_policy` rules reference it to gate cubes, views, members, and row-/column-level filters. The groups must already exist in the tenant (create them via the Cube UI or admin API beforehand) β€” this endpoint never creates global groups, and names that do not resolve to an existing group are rejected. Global groups are NOT shown in an embed tenant’s Creator Mode UI. To share or organize content inside a single embed tenant, use `tenantGroups` instead. */
5358
5615
  groups?: string[] | null;
5359
5616
  internalId?: string | null;
5360
5617
  isEphemeral?: boolean | null;
@@ -5363,8 +5620,11 @@ export interface components {
5363
5620
  securityContext?: {
5364
5621
  [key: string]: any;
5365
5622
  } | null;
5623
+ /** @description Per-session overrides for embed behavior, stored in the signed embed token. Each documented key applies only to this session; omitted keys preserve their existing default behavior. */
5366
5624
  settings?: components["schemas"]["EmbedSessionSettings"] | null;
5625
+ /** @description Idempotently create or update the per-embed-tenant groups referenced by `tenantGroups`, before they are assigned. Requires `creatorMode: true` and `embedTenantName`. Use this to declare a tenant’s groups in the same call that assigns them, so you do not need a separate admin request. Applies only to per-embed-tenant groups; global groups must be defined beforehand. */
5367
5626
  tenantGroupDefinitions?: components["schemas"]["GroupDefinition"][] | null;
5627
+ /** @description Per-embed-tenant user groups β€” scoped to the single embed tenant named by `embedTenantName` β€” to assign this embed user to. Use `tenantGroups` for **content sharing and organization within one embed tenant**: for example, so a creator can share a workbook, dashboard, or folder with a group of that tenant’s users. These are the only groups shown in the embed tenant’s Creator Mode UI. Requires `creatorMode: true` and `embedTenantName`. Define the groups beforehand β€” or in the same request β€” via `tenantGroupDefinitions`. In the Cube security context they appear namespaced as `system:tenant:{embedTenantName}:group:{groupName}`, so a tenant group can never collide with β€” or be mistaken for β€” a global `groups` entry of the same name. For organization-wide data-model access policies, use `groups`. */
5368
5628
  tenantGroups?: string[] | null;
5369
5629
  userAttributeDefinitions?: components["schemas"]["UserAttributeDefinition"][] | null;
5370
5630
  userAttributes?: components["schemas"]["UserAttributeInput"][] | null;
@@ -5376,7 +5636,7 @@ export interface components {
5376
5636
  /** @enum {string} */
5377
5637
  GetDeploymentEnvironmentsQueryType: "production" | "staging" | "development";
5378
5638
  /** @enum {string} */
5379
- GetReportDeliveriesQueryStatus: "active" | "failing" | "needs_reconnect" | "orphaned";
5639
+ GetReportDeliveriesQueryStatus: "active" | "failing" | "needs_reconnect" | "no_sheet_access" | "orphaned";
5380
5640
  /** @enum {string} */
5381
5641
  GetReportDeliveryRunsQuerySortDirection: "ASC" | "DESC";
5382
5642
  /** @enum {string} */
@@ -5384,7 +5644,7 @@ export interface components {
5384
5644
  /** @enum {string} */
5385
5645
  GetReportsQuerySortDirection: "ASC" | "DESC";
5386
5646
  /** @enum {string} */
5387
- GetResourcePoliciesQueryResourceType: "Global" | "Deployment" | "Report" | "ReportFolder" | "Agent" | "AgentSpace" | "Workbook" | "Dashboard" | "Folder" | "ChatThread";
5647
+ GetResourcePoliciesQueryResourceType: "Global" | "Deployment" | "Report" | "ReportFolder" | "Agent" | "AgentSpace" | "Workbook" | "Dashboard" | "Folder" | "ChatThread" | "ScheduledTask";
5388
5648
  /** @enum {string} */
5389
5649
  GetUserAttributesQueryType: "string" | "number" | "boolean" | "string_array" | "number_array";
5390
5650
  /** @enum {string} */
@@ -5450,7 +5710,7 @@ export interface components {
5450
5710
  userCount?: number | null;
5451
5711
  };
5452
5712
  /** @enum {string} */
5453
- InheritedGroupPolicyDtoAction: "All" | "DeploymentsManage" | "DeploymentCreate" | "DeploymentRead" | "DeploymentUpdate" | "DeploymentDelete" | "SecretsManage" | "DownloadData" | "PlaygroundRead" | "SchemaRead" | "SchemaUpdate" | "SchemaUpdateDevBranches" | "APMRead" | "ChatHistoryRead" | "PreAggregationBuild" | "AlertsCreate" | "AlertsRead" | "AlertsUpdate" | "AlertsDelete" | "AuditLogManage" | "BillingRead" | "SqlRunnerRead" | "DataAssetsRead" | "DataAssetsManage" | "CubeNetworkConnect" | "ReportRead" | "ReportEdit" | "ReportManage" | "WorkbookManage" | "WorkbookRead" | "WorkbookEdit" | "ChatThreadRead" | "AgentManage" | "AgentRead" | "AgentSpaceManage" | "AgentAdmin" | "DeploymentAgentRead" | "ScheduledTasksCreate" | "OAuthIntegrationsManage" | "OAuthIntegrationsIssueTokens" | "McpToolsManage" | "AIBIDevelop" | "AIBIExplore" | "AIBIView" | "ChartPalettesManage" | "DashboardThemesManage" | "AIBIDeveloper" | "AIBIUser" | "AIBIViewer" | "EmbedDeploymentRead" | "EmbedDashboardRead" | "FolderRead" | "FolderEdit" | "FolderManage";
5713
+ InheritedGroupPolicyDtoAction: "All" | "DeploymentsManage" | "DeploymentCreate" | "DeploymentRead" | "DeploymentUpdate" | "DeploymentDelete" | "SecretsManage" | "DownloadData" | "PlaygroundRead" | "SchemaRead" | "SchemaUpdate" | "SchemaUpdateDevBranches" | "APMRead" | "ChatHistoryRead" | "PreAggregationRead" | "PreAggregationBuild" | "AlertsCreate" | "AlertsRead" | "AlertsUpdate" | "AlertsDelete" | "AuditLogManage" | "BillingRead" | "SqlRunnerRead" | "DataAssetsRead" | "DataAssetsManage" | "CubeNetworkConnect" | "ReportRead" | "ReportEdit" | "ReportManage" | "WorkbookManage" | "WorkbookRead" | "WorkbookEdit" | "ChatThreadRead" | "AgentManage" | "AgentRead" | "AgentSpaceManage" | "AgentAdmin" | "DeploymentAgentRead" | "ScheduledTasksCreate" | "ScheduledTaskRead" | "OAuthIntegrationsManage" | "OAuthIntegrationsIssueTokens" | "McpToolsManage" | "AIBIDevelop" | "AIBIExplore" | "AIBIView" | "ChartPalettesManage" | "DashboardThemesManage" | "AIBIDeveloper" | "AIBIUser" | "AIBIViewer" | "EmbedDeploymentRead" | "EmbedDashboardRead" | "FolderRead" | "FolderEdit" | "FolderManage";
5454
5714
  InheritedUserPolicyDto: {
5455
5715
  action: components["schemas"]["InheritedUserPolicyDtoAction"];
5456
5716
  email?: string | null;
@@ -5460,7 +5720,7 @@ export interface components {
5460
5720
  userId?: number | null;
5461
5721
  };
5462
5722
  /** @enum {string} */
5463
- InheritedUserPolicyDtoAction: "All" | "DeploymentsManage" | "DeploymentCreate" | "DeploymentRead" | "DeploymentUpdate" | "DeploymentDelete" | "SecretsManage" | "DownloadData" | "PlaygroundRead" | "SchemaRead" | "SchemaUpdate" | "SchemaUpdateDevBranches" | "APMRead" | "ChatHistoryRead" | "PreAggregationBuild" | "AlertsCreate" | "AlertsRead" | "AlertsUpdate" | "AlertsDelete" | "AuditLogManage" | "BillingRead" | "SqlRunnerRead" | "DataAssetsRead" | "DataAssetsManage" | "CubeNetworkConnect" | "ReportRead" | "ReportEdit" | "ReportManage" | "WorkbookManage" | "WorkbookRead" | "WorkbookEdit" | "ChatThreadRead" | "AgentManage" | "AgentRead" | "AgentSpaceManage" | "AgentAdmin" | "DeploymentAgentRead" | "ScheduledTasksCreate" | "OAuthIntegrationsManage" | "OAuthIntegrationsIssueTokens" | "McpToolsManage" | "AIBIDevelop" | "AIBIExplore" | "AIBIView" | "ChartPalettesManage" | "DashboardThemesManage" | "AIBIDeveloper" | "AIBIUser" | "AIBIViewer" | "EmbedDeploymentRead" | "EmbedDashboardRead" | "FolderRead" | "FolderEdit" | "FolderManage";
5723
+ InheritedUserPolicyDtoAction: "All" | "DeploymentsManage" | "DeploymentCreate" | "DeploymentRead" | "DeploymentUpdate" | "DeploymentDelete" | "SecretsManage" | "DownloadData" | "PlaygroundRead" | "SchemaRead" | "SchemaUpdate" | "SchemaUpdateDevBranches" | "APMRead" | "ChatHistoryRead" | "PreAggregationRead" | "PreAggregationBuild" | "AlertsCreate" | "AlertsRead" | "AlertsUpdate" | "AlertsDelete" | "AuditLogManage" | "BillingRead" | "SqlRunnerRead" | "DataAssetsRead" | "DataAssetsManage" | "CubeNetworkConnect" | "ReportRead" | "ReportEdit" | "ReportManage" | "WorkbookManage" | "WorkbookRead" | "WorkbookEdit" | "ChatThreadRead" | "AgentManage" | "AgentRead" | "AgentSpaceManage" | "AgentAdmin" | "DeploymentAgentRead" | "ScheduledTasksCreate" | "ScheduledTaskRead" | "OAuthIntegrationsManage" | "OAuthIntegrationsIssueTokens" | "McpToolsManage" | "AIBIDevelop" | "AIBIExplore" | "AIBIView" | "ChartPalettesManage" | "DashboardThemesManage" | "AIBIDeveloper" | "AIBIUser" | "AIBIViewer" | "EmbedDeploymentRead" | "EmbedDashboardRead" | "FolderRead" | "FolderEdit" | "FolderManage";
5464
5724
  JsonConfigFileDto: {
5465
5725
  /** @description The configuration as canonical JSON text: keys sorted, 2-space indentation, trailing newline. `oldText` in a replacement must match this text exactly. */
5466
5726
  content: string;
@@ -5511,16 +5771,19 @@ export interface components {
5511
5771
  cronExpression: string;
5512
5772
  dashboardId: number;
5513
5773
  deploymentId: number;
5774
+ /** @description Dimension filters applied when the notification is rendered. */
5514
5775
  filters?: components["schemas"]["DashboardFilter"][] | null;
5515
5776
  /** @description Human-readable description of the cron schedule */
5516
5777
  humanReadableSchedule: string;
5517
5778
  id: number;
5518
5779
  isEnabled: boolean;
5780
+ /** @description Field-switcher selections applied when the notification is rendered. */
5519
5781
  memberSwitchers?: components["schemas"]["DashboardMemberSwitcher"][] | null;
5520
5782
  /** @description Whether this notification carries an AI-generated "what changed" summary in its body. */
5521
5783
  notificationAiSummary: boolean;
5522
5784
  notificationEnabled: boolean;
5523
5785
  notificationFormat: string;
5786
+ /** @description Time-grain overrides applied when the notification is rendered. */
5524
5787
  timeGrains?: components["schemas"]["DashboardTimeGrain"][] | null;
5525
5788
  timezone: string;
5526
5789
  };
@@ -5536,17 +5799,27 @@ export interface components {
5536
5799
  username?: string | null;
5537
5800
  };
5538
5801
  NotificationRecipientInput: {
5802
+ /** @description Slack channel id (for type=SLACK) */
5539
5803
  channelId?: string | null;
5804
+ /** @description Slack channel display name (optional, for type=SLACK) */
5540
5805
  channelName?: string | null;
5806
+ /** @description Main user email (for type=USER; provide this OR userId) */
5541
5807
  email?: string | null;
5808
+ /** @description Embed tenant name (for type=EMBED_USER) */
5542
5809
  embedTenantName?: string | null;
5810
+ /** @description Embed user external id (for type=EMBED_USER) */
5543
5811
  externalId?: string | null;
5812
+ /** @description Embed user groups (type=EMBED_USER). Must reference groups that already exist; drives per-recipient access when the report is rendered. */
5544
5813
  groups?: string[] | null;
5814
+ /** @description Embed user security context (type=EMBED_USER). Applied for per-recipient row-level security when the report is rendered. */
5545
5815
  securityContext?: {
5546
5816
  [key: string]: any;
5547
5817
  } | null;
5818
+ /** @description Recipient kind */
5548
5819
  type: components["schemas"]["NotificationRecipientInputType"];
5820
+ /** @description Embed user attribute values (type=EMBED_USER). Names must reference attribute definitions that already exist. */
5549
5821
  userAttributes?: components["schemas"]["UserAttributeInput"][] | null;
5822
+ /** @description Main user id (for type=USER; provide this OR email) */
5550
5823
  userId?: number | null;
5551
5824
  };
5552
5825
  /** @enum {string} */
@@ -5655,12 +5928,12 @@ export interface components {
5655
5928
  /** @enum {string} */
5656
5929
  PivotItemsMeasuresPosition: "before" | "after";
5657
5930
  Policy: {
5658
- actions: ("All" | "DeploymentsManage" | "DeploymentCreate" | "DeploymentRead" | "DeploymentUpdate" | "DeploymentDelete" | "SecretsManage" | "DownloadData" | "PlaygroundRead" | "SchemaRead" | "SchemaUpdate" | "SchemaUpdateDevBranches" | "APMRead" | "ChatHistoryRead" | "PreAggregationBuild" | "AlertsCreate" | "AlertsRead" | "AlertsUpdate" | "AlertsDelete" | "AuditLogManage" | "BillingRead" | "SqlRunnerRead" | "DataAssetsRead" | "DataAssetsManage" | "CubeNetworkConnect" | "ReportRead" | "ReportEdit" | "ReportManage" | "WorkbookManage" | "WorkbookRead" | "WorkbookEdit" | "ChatThreadRead" | "AgentManage" | "AgentRead" | "AgentSpaceManage" | "AgentAdmin" | "DeploymentAgentRead" | "ScheduledTasksCreate" | "OAuthIntegrationsManage" | "OAuthIntegrationsIssueTokens" | "McpToolsManage" | "AIBIDevelop" | "AIBIExplore" | "AIBIView" | "ChartPalettesManage" | "DashboardThemesManage" | "AIBIDeveloper" | "AIBIUser" | "AIBIViewer" | "EmbedDeploymentRead" | "EmbedDashboardRead" | "FolderRead" | "FolderEdit" | "FolderManage")[];
5931
+ actions: ("All" | "DeploymentsManage" | "DeploymentCreate" | "DeploymentRead" | "DeploymentUpdate" | "DeploymentDelete" | "SecretsManage" | "DownloadData" | "PlaygroundRead" | "SchemaRead" | "SchemaUpdate" | "SchemaUpdateDevBranches" | "APMRead" | "ChatHistoryRead" | "PreAggregationRead" | "PreAggregationBuild" | "AlertsCreate" | "AlertsRead" | "AlertsUpdate" | "AlertsDelete" | "AuditLogManage" | "BillingRead" | "SqlRunnerRead" | "DataAssetsRead" | "DataAssetsManage" | "CubeNetworkConnect" | "ReportRead" | "ReportEdit" | "ReportManage" | "WorkbookManage" | "WorkbookRead" | "WorkbookEdit" | "ChatThreadRead" | "AgentManage" | "AgentRead" | "AgentSpaceManage" | "AgentAdmin" | "DeploymentAgentRead" | "ScheduledTasksCreate" | "ScheduledTaskRead" | "OAuthIntegrationsManage" | "OAuthIntegrationsIssueTokens" | "McpToolsManage" | "AIBIDevelop" | "AIBIExplore" | "AIBIView" | "ChartPalettesManage" | "DashboardThemesManage" | "AIBIDeveloper" | "AIBIUser" | "AIBIViewer" | "EmbedDeploymentRead" | "EmbedDashboardRead" | "FolderRead" | "FolderEdit" | "FolderManage")[];
5659
5932
  resourceType: components["schemas"]["PolicyResourceType"];
5660
5933
  resources: string[];
5661
5934
  };
5662
5935
  /** @enum {string} */
5663
- PolicyResourceType: "Global" | "Deployment" | "Report" | "ReportFolder" | "Agent" | "AgentSpace" | "Workbook" | "Dashboard" | "Folder" | "ChatThread";
5936
+ PolicyResourceType: "Global" | "Deployment" | "Report" | "ReportFolder" | "Agent" | "AgentSpace" | "Workbook" | "Dashboard" | "Folder" | "ChatThread" | "ScheduledTask";
5664
5937
  PostTokenBySessionIdInput: {
5665
5938
  sessionId: string;
5666
5939
  };
@@ -5690,11 +5963,15 @@ export interface components {
5690
5963
  externalId: string;
5691
5964
  };
5692
5965
  ProvisionEmbedUserInput: {
5966
+ /** @description Email address, shown wherever the user is listed and searchable through `GET /embed-tenants/{embedTenantName}/users`. Must be a valid address, and is stored lowercased. Omit it and Cube derives a synthetic `{externalId}@cubecloud.dev` placeholder instead, which is what makes a user hard to recognise in a list. Supplying it again later updates the stored address. */
5693
5967
  email?: string | null;
5694
5968
  /** @description The id your own system knows this user by β€” the same `externalId` you will pass to `generate-session`. Trimmed and lowercased before it is stored, so casing never produces a second user. */
5695
5969
  externalId: string;
5970
+ /** @description Global, account-wide groups (the `groups` field of `generate-session`) that gate data-model access. They must already exist. Supplying the field REPLACES the user’s global groups; omit it to leave them untouched, pass `[]` to clear them. */
5696
5971
  groups?: string[] | null;
5972
+ /** @description Groups belonging to this embed tenant (the `tenantGroups` field of `generate-session`), which scope content sharing and organization within the tenant. Create them first via `POST /embed-tenants/{embedTenantName}/groups`. Supplying the field REPLACES the user’s tenant groups; omit it to leave them untouched, pass `[]` to clear them. */
5697
5973
  tenantGroups?: string[] | null;
5974
+ /** @description Display name and avatar. `displayName` is the name shown wherever the user appears, including on content they author. Omitted fields keep their current value. */
5698
5975
  userProfile?: components["schemas"]["EmbedUserProfile"] | null;
5699
5976
  };
5700
5977
  ProvisionEmbedUsersInput: {
@@ -5845,6 +6122,7 @@ export interface components {
5845
6122
  files: components["schemas"]["DataModelFilePath"][];
5846
6123
  };
5847
6124
  RemoveNotificationRecipientInput: {
6125
+ /** @description Embed tenant name (required for type=EMBED_USER; resolves the storage partition) */
5848
6126
  embedTenantName?: string | null;
5849
6127
  /** @description Recipient id: userId (type=USER), embedUserId (type=EMBED_USER), or channelId (type=SLACK) */
5850
6128
  id: number | string;
@@ -5864,6 +6142,7 @@ export interface components {
5864
6142
  ReplaceJsonConfigTextInput: {
5865
6143
  /** @description Replacements applied in order, each to the result of the previous one. Either all apply or nothing is saved. */
5866
6144
  edits: components["schemas"]["TextReplacementInput"][];
6145
+ /** @description The `hash` from your last read. When set, the request fails with 409 if the configuration changed since then. */
5867
6146
  expectedHash?: string | null;
5868
6147
  };
5869
6148
  Report: {
@@ -5911,8 +6190,11 @@ export interface components {
5911
6190
  placeholder?: boolean | null;
5912
6191
  };
5913
6192
  ReportDeliveryColumnInput: {
6193
+ /** @description Name of a column the report’s query returns: its alias in the SQL. Provide this OR `placeholder` (exactly one). */
5914
6194
  column?: string | null;
6195
+ /** @description Text of the header cell. Defaults to the column name; required for a placeholder, where it may be empty. */
5915
6196
  header?: string | null;
6197
+ /** @description `true` for an empty column that holds only its header. Provide this OR `column` (exactly one). */
5916
6198
  placeholder?: components["schemas"]["ReportDeliveryColumnInputPlaceholder"] | null;
5917
6199
  };
5918
6200
  /** @enum {boolean} */
@@ -5925,8 +6207,11 @@ export interface components {
5925
6207
  spreadsheetId: string;
5926
6208
  };
5927
6209
  ReportDeliveryDestinationInput: {
6210
+ /** @description Top-left cell of the delivered block, in A1 notation (e.g. `B3`). Defaults to `A1`. */
5928
6211
  anchorCell?: string | null;
6212
+ /** @description Id of the tab to write into (the `gid` in the spreadsheet URL). A tab is followed by its id through a rename. Provide this OR `sheetName`; neither when `writeMode` is `new_sheet`. */
5929
6213
  sheetId?: number | null;
6214
+ /** @description Title of the tab to write into. Provide this OR `sheetId`; neither when `writeMode` is `new_sheet`. */
5930
6215
  sheetName?: string | null;
5931
6216
  /** @description The Google Sheets spreadsheet: its URL or its id. */
5932
6217
  spreadsheet: string;
@@ -5934,6 +6219,7 @@ export interface components {
5934
6219
  ReportDeliveryNotificationSettings: {
5935
6220
  email: boolean;
5936
6221
  inbox: boolean;
6222
+ /** @description `null` when nothing is posted to Slack. */
5937
6223
  slackChannelId?: string | null;
5938
6224
  slackChannelName?: string | null;
5939
6225
  };
@@ -5942,36 +6228,54 @@ export interface components {
5942
6228
  email: boolean;
5943
6229
  /** @description Notify in the owner's Cube inbox. */
5944
6230
  inbox: boolean;
6231
+ /** @description Also post to this Slack channel, by id. Needs the Cube Slack app installed. */
5945
6232
  slackChannelId?: string | null;
6233
+ /** @description The channel's name, kept for display only. */
5946
6234
  slackChannelName?: string | null;
5947
6235
  };
5948
6236
  ReportDeliveryResponse: {
5949
6237
  deploymentId: number;
5950
6238
  destination: components["schemas"]["ReportDeliveryDestination"];
5951
6239
  id: number;
6240
+ /** @description When the last run finished. `null` before the first. */
5952
6241
  lastRunAt?: string | null;
6242
+ /** @description When the last successful run finished. `null` if none has succeeded. */
5953
6243
  lastSuccessAt?: string | null;
5954
6244
  name: string;
6245
+ /** @description When the schedule next fires. `null` when there is no schedule or it is paused. */
5955
6246
  nextRunAt?: any | null;
5956
6247
  /** @description How the owner hears that the delivery failed or recovered. A delivery that runs more than once a day reports only changes in its status; a daily or rarer one reports every failed run. */
5957
6248
  notifications: components["schemas"]["ReportDeliveryNotificationSettings"];
6249
+ /** @description The accountable user, whose Google account writes the sheet. `null` once that user has been deleted. */
5958
6250
  ownerUserId?: number | null;
6251
+ /** @description When the delivery was paused. `null` if it is not. */
5959
6252
  pausedAt?: any | null;
6253
+ /** @description The delivered report. `null` once that report has been deleted. */
5960
6254
  reportId?: number | null;
6255
+ /** @description Name of the delivered report. `null` once that report has been deleted. */
5961
6256
  reportName?: string | null;
6257
+ /** @description Public id of the delivered report. `null` once that report has been deleted. */
5962
6258
  reportPublicId?: string | null;
6259
+ /** @description Workbook holding the delivered report. `null` once that report has been deleted. */
5963
6260
  reportWorkbookId?: number | null;
6261
+ /** @description The user whose data access the query runs with. `null` once that user has been deleted. */
5964
6262
  runAsUserId?: number | null;
6263
+ /** @description When the run still in progress started. `null` while no run is going. */
5965
6264
  runningSince?: string | null;
6265
+ /** @description `null` for a delivery that runs only on request. */
5966
6266
  schedule?: components["schemas"]["ReportDeliverySchedule"] | null;
6267
+ /** @description `null` when every column is delivered as is. */
5967
6268
  shape?: components["schemas"]["ReportDeliveryShape"] | null;
6269
+ /** @description Current title of the destination tab, read from Google at most every few minutes. `null` for a `new_sheet` delivery, or before its title has been read. */
5968
6270
  sheetTitle?: string | null;
6271
+ /** @description Title of the destination spreadsheet, read from Google at most every few minutes and by each run. `null` before then. */
5969
6272
  spreadsheetTitle?: string | null;
5970
6273
  status: components["schemas"]["ReportDeliveryResponseStatus"];
6274
+ /** @description What each run does with what the previous one wrote. `overwrite` (the default) replaces the delivered block. `append` adds the whole result below it, header only on the first run and no deduplication. `new_sheet` writes each run to a new tab. */
5971
6275
  writeMode: components["schemas"]["ReportDeliveryResponseWriteMode"];
5972
6276
  };
5973
6277
  /** @enum {string} */
5974
- ReportDeliveryResponseStatus: "active" | "failing" | "needs_reconnect" | "orphaned";
6278
+ ReportDeliveryResponseStatus: "active" | "failing" | "needs_reconnect" | "no_sheet_access" | "orphaned";
5975
6279
  /** @enum {string} */
5976
6280
  ReportDeliveryResponseWriteMode: "overwrite" | "append" | "new_sheet";
5977
6281
  ReportDeliveryRunFailure: {
@@ -5981,14 +6285,19 @@ export interface components {
5981
6285
  text: string;
5982
6286
  };
5983
6287
  ReportDeliveryRunResponse: {
6288
+ /** @description Cells written, headers included. */
5984
6289
  cellsWritten?: number | null;
5985
6290
  deliveryId: number;
6291
+ /** @description `null` unless the run failed. */
5986
6292
  error?: components["schemas"]["ReportDeliveryRunFailure"] | null;
6293
+ /** @description `null` while the run is going. */
5987
6294
  finishedAt?: string | null;
5988
6295
  id: number;
6296
+ /** @description Result rows written, headers excluded. */
5989
6297
  rowsWritten?: number | null;
5990
6298
  /** Format: date-time */
5991
6299
  startedAt: string;
6300
+ /** @description `running` until the run finishes. */
5992
6301
  status: components["schemas"]["ReportDeliveryRunResponseStatus"];
5993
6302
  trigger: components["schemas"]["ReportDeliveryRunResponseTrigger"];
5994
6303
  };
@@ -6007,6 +6316,7 @@ export interface components {
6007
6316
  ReportDeliveryScheduleInput: {
6008
6317
  /** @description Five-field cron expressions; the delivery runs whenever any matches. Runs of one expression must be at least 15 minutes apart: `*\/15 9-17 * * 1-5` is every quarter hour from 09:00 to 17:45 on weekdays. */
6009
6318
  cronExpressions: string[];
6319
+ /** @description IANA timezone the cron expressions are read in, e.g. `America/New_York`. Fixed offsets such as `+02:00` are rejected. Defaults to `UTC`. */
6010
6320
  timezone?: string | null;
6011
6321
  };
6012
6322
  ReportDeliveryShape: {
@@ -6027,6 +6337,10 @@ export interface components {
6027
6337
  reportsCount?: number | null;
6028
6338
  };
6029
6339
  ReportFoldersFindAllResult: {
6340
+ /**
6341
+ * @deprecated
6342
+ * @description Deprecated: total number of accessible report folders, ignoring pagination. Kept for backward compatibility.
6343
+ */
6030
6344
  count?: number | null;
6031
6345
  /**
6032
6346
  * @deprecated
@@ -6069,11 +6383,13 @@ export interface components {
6069
6383
  ReportPlacementResultChunk: {
6070
6384
  from: number;
6071
6385
  hash: string;
6386
+ /** @deprecated */
6072
6387
  to?: number | null;
6073
6388
  };
6074
6389
  ReportPlacementResultChunkInput: {
6075
6390
  from: number;
6076
6391
  hash: string;
6392
+ /** @deprecated */
6077
6393
  to?: number | null;
6078
6394
  };
6079
6395
  /** @enum {string} */
@@ -6106,6 +6422,10 @@ export interface components {
6106
6422
  } | null;
6107
6423
  };
6108
6424
  ReportsListResponse: {
6425
+ /**
6426
+ * @deprecated
6427
+ * @description Deprecated: total number of accessible reports, ignoring pagination. Kept for backward compatibility.
6428
+ */
6109
6429
  count?: number | null;
6110
6430
  /**
6111
6431
  * @deprecated
@@ -6122,7 +6442,7 @@ export interface components {
6122
6442
  userCount?: number | null;
6123
6443
  };
6124
6444
  /** @enum {string} */
6125
- ResourceGroupPolicyDtoAction: "All" | "DeploymentsManage" | "DeploymentCreate" | "DeploymentRead" | "DeploymentUpdate" | "DeploymentDelete" | "SecretsManage" | "DownloadData" | "PlaygroundRead" | "SchemaRead" | "SchemaUpdate" | "SchemaUpdateDevBranches" | "APMRead" | "ChatHistoryRead" | "PreAggregationBuild" | "AlertsCreate" | "AlertsRead" | "AlertsUpdate" | "AlertsDelete" | "AuditLogManage" | "BillingRead" | "SqlRunnerRead" | "DataAssetsRead" | "DataAssetsManage" | "CubeNetworkConnect" | "ReportRead" | "ReportEdit" | "ReportManage" | "WorkbookManage" | "WorkbookRead" | "WorkbookEdit" | "ChatThreadRead" | "AgentManage" | "AgentRead" | "AgentSpaceManage" | "AgentAdmin" | "DeploymentAgentRead" | "ScheduledTasksCreate" | "OAuthIntegrationsManage" | "OAuthIntegrationsIssueTokens" | "McpToolsManage" | "AIBIDevelop" | "AIBIExplore" | "AIBIView" | "ChartPalettesManage" | "DashboardThemesManage" | "AIBIDeveloper" | "AIBIUser" | "AIBIViewer" | "EmbedDeploymentRead" | "EmbedDashboardRead" | "FolderRead" | "FolderEdit" | "FolderManage";
6445
+ ResourceGroupPolicyDtoAction: "All" | "DeploymentsManage" | "DeploymentCreate" | "DeploymentRead" | "DeploymentUpdate" | "DeploymentDelete" | "SecretsManage" | "DownloadData" | "PlaygroundRead" | "SchemaRead" | "SchemaUpdate" | "SchemaUpdateDevBranches" | "APMRead" | "ChatHistoryRead" | "PreAggregationRead" | "PreAggregationBuild" | "AlertsCreate" | "AlertsRead" | "AlertsUpdate" | "AlertsDelete" | "AuditLogManage" | "BillingRead" | "SqlRunnerRead" | "DataAssetsRead" | "DataAssetsManage" | "CubeNetworkConnect" | "ReportRead" | "ReportEdit" | "ReportManage" | "WorkbookManage" | "WorkbookRead" | "WorkbookEdit" | "ChatThreadRead" | "AgentManage" | "AgentRead" | "AgentSpaceManage" | "AgentAdmin" | "DeploymentAgentRead" | "ScheduledTasksCreate" | "ScheduledTaskRead" | "OAuthIntegrationsManage" | "OAuthIntegrationsIssueTokens" | "McpToolsManage" | "AIBIDevelop" | "AIBIExplore" | "AIBIView" | "ChartPalettesManage" | "DashboardThemesManage" | "AIBIDeveloper" | "AIBIUser" | "AIBIViewer" | "EmbedDeploymentRead" | "EmbedDashboardRead" | "FolderRead" | "FolderEdit" | "FolderManage";
6126
6446
  ResourceOwner: {
6127
6447
  email: string;
6128
6448
  firstName?: string | null;
@@ -6143,13 +6463,13 @@ export interface components {
6143
6463
  userId?: number | null;
6144
6464
  };
6145
6465
  /** @enum {string} */
6146
- ResourceUserPolicyDtoAction: "All" | "DeploymentsManage" | "DeploymentCreate" | "DeploymentRead" | "DeploymentUpdate" | "DeploymentDelete" | "SecretsManage" | "DownloadData" | "PlaygroundRead" | "SchemaRead" | "SchemaUpdate" | "SchemaUpdateDevBranches" | "APMRead" | "ChatHistoryRead" | "PreAggregationBuild" | "AlertsCreate" | "AlertsRead" | "AlertsUpdate" | "AlertsDelete" | "AuditLogManage" | "BillingRead" | "SqlRunnerRead" | "DataAssetsRead" | "DataAssetsManage" | "CubeNetworkConnect" | "ReportRead" | "ReportEdit" | "ReportManage" | "WorkbookManage" | "WorkbookRead" | "WorkbookEdit" | "ChatThreadRead" | "AgentManage" | "AgentRead" | "AgentSpaceManage" | "AgentAdmin" | "DeploymentAgentRead" | "ScheduledTasksCreate" | "OAuthIntegrationsManage" | "OAuthIntegrationsIssueTokens" | "McpToolsManage" | "AIBIDevelop" | "AIBIExplore" | "AIBIView" | "ChartPalettesManage" | "DashboardThemesManage" | "AIBIDeveloper" | "AIBIUser" | "AIBIViewer" | "EmbedDeploymentRead" | "EmbedDashboardRead" | "FolderRead" | "FolderEdit" | "FolderManage";
6466
+ ResourceUserPolicyDtoAction: "All" | "DeploymentsManage" | "DeploymentCreate" | "DeploymentRead" | "DeploymentUpdate" | "DeploymentDelete" | "SecretsManage" | "DownloadData" | "PlaygroundRead" | "SchemaRead" | "SchemaUpdate" | "SchemaUpdateDevBranches" | "APMRead" | "ChatHistoryRead" | "PreAggregationRead" | "PreAggregationBuild" | "AlertsCreate" | "AlertsRead" | "AlertsUpdate" | "AlertsDelete" | "AuditLogManage" | "BillingRead" | "SqlRunnerRead" | "DataAssetsRead" | "DataAssetsManage" | "CubeNetworkConnect" | "ReportRead" | "ReportEdit" | "ReportManage" | "WorkbookManage" | "WorkbookRead" | "WorkbookEdit" | "ChatThreadRead" | "AgentManage" | "AgentRead" | "AgentSpaceManage" | "AgentAdmin" | "DeploymentAgentRead" | "ScheduledTasksCreate" | "ScheduledTaskRead" | "OAuthIntegrationsManage" | "OAuthIntegrationsIssueTokens" | "McpToolsManage" | "AIBIDevelop" | "AIBIExplore" | "AIBIView" | "ChartPalettesManage" | "DashboardThemesManage" | "AIBIDeveloper" | "AIBIUser" | "AIBIViewer" | "EmbedDeploymentRead" | "EmbedDashboardRead" | "FolderRead" | "FolderEdit" | "FolderManage";
6147
6467
  RevokeEmbedSessionInput: {
6148
6468
  /** @description The session id returned by `POST /api/v1/embed/generate-session`. Works whether or not the session has already been exchanged for a token. */
6149
6469
  sessionId: string;
6150
6470
  };
6151
6471
  RoleWithAccess: {
6152
- actions: ("All" | "DeploymentsManage" | "DeploymentCreate" | "DeploymentRead" | "DeploymentUpdate" | "DeploymentDelete" | "SecretsManage" | "DownloadData" | "PlaygroundRead" | "SchemaRead" | "SchemaUpdate" | "SchemaUpdateDevBranches" | "APMRead" | "ChatHistoryRead" | "PreAggregationBuild" | "AlertsCreate" | "AlertsRead" | "AlertsUpdate" | "AlertsDelete" | "AuditLogManage" | "BillingRead" | "SqlRunnerRead" | "DataAssetsRead" | "DataAssetsManage" | "CubeNetworkConnect" | "ReportRead" | "ReportEdit" | "ReportManage" | "WorkbookManage" | "WorkbookRead" | "WorkbookEdit" | "ChatThreadRead" | "AgentManage" | "AgentRead" | "AgentSpaceManage" | "AgentAdmin" | "DeploymentAgentRead" | "ScheduledTasksCreate" | "OAuthIntegrationsManage" | "OAuthIntegrationsIssueTokens" | "McpToolsManage" | "AIBIDevelop" | "AIBIExplore" | "AIBIView" | "ChartPalettesManage" | "DashboardThemesManage" | "AIBIDeveloper" | "AIBIUser" | "AIBIViewer" | "EmbedDeploymentRead" | "EmbedDashboardRead" | "FolderRead" | "FolderEdit" | "FolderManage")[];
6472
+ actions: ("All" | "DeploymentsManage" | "DeploymentCreate" | "DeploymentRead" | "DeploymentUpdate" | "DeploymentDelete" | "SecretsManage" | "DownloadData" | "PlaygroundRead" | "SchemaRead" | "SchemaUpdate" | "SchemaUpdateDevBranches" | "APMRead" | "ChatHistoryRead" | "PreAggregationRead" | "PreAggregationBuild" | "AlertsCreate" | "AlertsRead" | "AlertsUpdate" | "AlertsDelete" | "AuditLogManage" | "BillingRead" | "SqlRunnerRead" | "DataAssetsRead" | "DataAssetsManage" | "CubeNetworkConnect" | "ReportRead" | "ReportEdit" | "ReportManage" | "WorkbookManage" | "WorkbookRead" | "WorkbookEdit" | "ChatThreadRead" | "AgentManage" | "AgentRead" | "AgentSpaceManage" | "AgentAdmin" | "DeploymentAgentRead" | "ScheduledTasksCreate" | "ScheduledTaskRead" | "OAuthIntegrationsManage" | "OAuthIntegrationsIssueTokens" | "McpToolsManage" | "AIBIDevelop" | "AIBIExplore" | "AIBIView" | "ChartPalettesManage" | "DashboardThemesManage" | "AIBIDeveloper" | "AIBIUser" | "AIBIViewer" | "EmbedDeploymentRead" | "EmbedDashboardRead" | "FolderRead" | "FolderEdit" | "FolderManage")[];
6153
6473
  id: number;
6154
6474
  name: string;
6155
6475
  };
@@ -6158,6 +6478,7 @@ export interface components {
6158
6478
  chatThreadUuid: string;
6159
6479
  };
6160
6480
  SaveDatabricksMetricViewIntegrationInput: {
6481
+ /** @description Use retain. The delete-managed value is deprecated and currently retains obsolete Metric Views; it does not delete them. */
6161
6482
  deletionPolicy?: components["schemas"]["SaveDatabricksMetricViewIntegrationInputDeletionPolicy"];
6162
6483
  enabled: boolean;
6163
6484
  /** @description Use 0 to create; otherwise pass the configurationVersion returned by GET. */
@@ -6183,7 +6504,9 @@ export interface components {
6183
6504
  pageInfo: components["schemas"]["PageInfo"];
6184
6505
  };
6185
6506
  ScheduledTaskResponse: {
6507
+ /** @description The agent that runs the task; null runs the deployment default. */
6186
6508
  agentId?: number | null;
6509
+ /** @description Standard 5-field cron (minute hour day-of-month month day-of-week), e.g. `0 9 * * 1-5` for 9:00 on weekdays. Null when the task is Manual: it runs only when started with `POST /scheduled-tasks/{taskId}/run`. */
6187
6510
  cronExpression?: string | null;
6188
6511
  deploymentId: number;
6189
6512
  description?: string | null;
@@ -6191,6 +6514,7 @@ export interface components {
6191
6514
  /** @description False while the schedule is paused. */
6192
6515
  isEnabled: boolean;
6193
6516
  name: string;
6517
+ /** @description When the schedule next fires (ISO 8601, UTC); null for a Manual or paused task. */
6194
6518
  nextRunAt?: string | null;
6195
6519
  /** @description Whether a finished run notifies the creator in Cube's notification inbox. */
6196
6520
  notificationEnabled: boolean;
@@ -6205,6 +6529,7 @@ export interface components {
6205
6529
  /** @description The chat thread the run produced. */
6206
6530
  chatThreadUuid: string;
6207
6531
  createdAt: string;
6532
+ /** @description in-progress, completed, or failed when recorded. Treat unrecognized values as non-terminal. */
6208
6533
  status?: string | null;
6209
6534
  };
6210
6535
  ScheduledTaskRunsListResponse: {
@@ -6284,28 +6609,47 @@ export interface components {
6284
6609
  pageInfo?: components["schemas"]["PageInfo"] | null;
6285
6610
  };
6286
6611
  StartDashboardExportInput: {
6612
+ /** @description Numeric id of the dashboard to export. Provide either this or `dashboardPublicId`, not both. */
6287
6613
  dashboardId?: number | null;
6614
+ /** @description Public id of the dashboard to export. Provide either this or `dashboardId`, not both. */
6288
6615
  dashboardPublicId?: string | null;
6616
+ /** @description Dimension filters applied to the dashboard while it renders. Same shape the scheduled-notification API uses. */
6289
6617
  filters?: components["schemas"]["DashboardFilterInput"][] | null;
6618
+ /** @description Output format: `png` or `pdf`. */
6290
6619
  format: components["schemas"]["StartDashboardExportInputFormat"];
6620
+ /**
6621
+ * @description How the dashboard is laid out. `screenshot` (the default) renders the board as it looks on screen. `print` renders the paginated A4 document the dashboard's 'Print version' menu item produces: one column, every table row, and the filter state as a summary line instead of filter controls. `print` is available for `format: 'pdf'` only.
6622
+ * @default screenshot
6623
+ */
6624
+ layout?: components["schemas"]["StartDashboardExportInputLayout"] | null;
6625
+ /** @description Field-switcher selections applied to the dashboard while it renders. */
6291
6626
  memberSwitchers?: components["schemas"]["DashboardMemberSwitcherInput"][] | null;
6627
+ /** @description Render the dashboard as this user instead of the caller β€” the queries behind the image run under THEIR security context. Requires the caller to be a tenant admin. Omit to render as the API key's own user. */
6292
6628
  renderAs?: components["schemas"]["ExportSubjectInput"] | null;
6629
+ /** @description Time-grain overrides applied to the dashboard while it renders. */
6293
6630
  timeGrains?: components["schemas"]["DashboardTimeGrainInput"][] | null;
6294
6631
  };
6295
6632
  /** @enum {string} */
6296
6633
  StartDashboardExportInputFormat: "png" | "pdf";
6634
+ /** @enum {string} */
6635
+ StartDashboardExportInputLayout: "screenshot" | "print";
6297
6636
  StartDatabricksMetricViewSyncInput: {
6298
6637
  /** @description The configurationVersion returned by GET. A run is refused when settings changed after they were loaded, so a publish always uses the configuration the caller saw. */
6299
6638
  configurationVersion: number;
6639
+ /** @description Optional idempotency key. Repeating a start with the same key returns the original run instead of publishing twice; omit it and every call starts a new run. */
6300
6640
  idempotencyKey?: string | null;
6301
6641
  };
6302
6642
  StartDbtSyncInput: {
6303
6643
  branchName?: string | null;
6644
+ /** @description The contents of your dbt `target/manifest.json`, as JSON. Required when `source` is `manifest` and ignored otherwise. Produced by `dbt parse`, `dbt compile` or `dbt build`, so a CI job can POST the manifest it just validated and be sure Cube converts exactly that β€” no re-parse of a branch tip that may already have moved. */
6304
6645
  manifest?: {
6305
6646
  [key: string]: any;
6306
6647
  } | null;
6648
+ /** @description What to do with the generated cubes. `branch` (the default) commits them to a new Cube branch for review. `files` commits nothing and creates no branch β€” the files are returned from `GET /dbt-sync/{syncJobId}/generated-files` instead, so your own CI can commit them to your repository through its normal review. Independent of `source`. */
6307
6649
  output?: components["schemas"]["StartDbtSyncInputOutput"] | null;
6650
+ /** @description Git ref in the dbt repository to sync from β€” a branch or a tag, NOT a commit SHA. Overrides the branch saved on the deployment’s dbt git integration for this sync only, so CI can sync the ref under review (e.g. a pull request’s head branch) instead of the tracked branch. The generated Cube branch is named after it. */
6308
6651
  ref?: string | null;
6652
+ /** @description Where the dbt metadata comes from. `git` (the default) clones the deployment’s dbt repository and runs dbt to produce a manifest. `manifest` converts a manifest you supply in `manifest` below, so Cube never needs access to the dbt repository β€” and the sync takes seconds rather than minutes, because no sandbox is provisioned and no dbt command runs. */
6309
6653
  source?: components["schemas"]["StartDbtSyncInputSource"] | null;
6310
6654
  };
6311
6655
  /** @enum {string} */
@@ -6318,6 +6662,7 @@ export interface components {
6318
6662
  StartEvaluationInput: {
6319
6663
  agentName?: string | null;
6320
6664
  branchName: string;
6665
+ /** @description Path of one eval-question YAML file to run, relative to the agents directory. Omit to run the complete eval set. */
6321
6666
  questionFile?: string | null;
6322
6667
  };
6323
6668
  StartReportDeliveryRunResponse: {
@@ -6325,19 +6670,24 @@ export interface components {
6325
6670
  runId: number;
6326
6671
  };
6327
6672
  StartSnowflakeSemanticViewPullInput: {
6673
+ /** @description Cube branch to write. Defaults to the deployment's deploy branch. */
6328
6674
  branchName?: string | null;
6329
6675
  commitMessage?: string | null;
6330
6676
  dataSource?: string | null;
6677
+ /** @description Optional idempotency key. Repeating a pull with the same key and inputs returns the original sync. */
6331
6678
  idempotencyKey?: string | null;
6332
6679
  namePrefix?: string | null;
6333
6680
  outputPath: string;
6334
6681
  schema: string;
6335
6682
  titlePrefix?: string | null;
6683
+ /** @description Semantic view names or * patterns to pull. Omit to pull every view in the schema. */
6336
6684
  viewNames?: string[] | null;
6337
6685
  };
6338
6686
  StartSnowflakeSemanticViewSyncInput: {
6687
+ /** @description Cube branch to publish. Defaults to the deployment's deploy branch when omitted. */
6339
6688
  branchName?: string | null;
6340
6689
  dataSource?: string | null;
6690
+ /** @description Optional idempotency key. Repeating a start with the same key returns the original sync instead of pushing the views twice. */
6341
6691
  idempotencyKey?: string | null;
6342
6692
  prefix: string;
6343
6693
  schema: string;
@@ -6382,6 +6732,7 @@ export interface components {
6382
6732
  newText: string;
6383
6733
  /** @description Exact text to replace, copied from `content`, including whitespace. Must occur exactly once unless `replaceAll` is set. */
6384
6734
  oldText: string;
6735
+ /** @description Replace every occurrence of `oldText` instead of requiring one. */
6385
6736
  replaceAll?: boolean | null;
6386
6737
  };
6387
6738
  ThemeFont: {
@@ -6449,6 +6800,7 @@ export interface components {
6449
6800
  body: string;
6450
6801
  };
6451
6802
  UpdateEmbedGroupInput: {
6803
+ /** @description New description. Pass an empty string to clear it. Omit to leave it unchanged. */
6452
6804
  description?: string | null;
6453
6805
  };
6454
6806
  UpdateFolderInput: {
@@ -6459,15 +6811,21 @@ export interface components {
6459
6811
  customCron?: string | null;
6460
6812
  dayOfMonth?: number | null;
6461
6813
  dayOfWeek?: number | null;
6814
+ /** @description Dimension filters applied to the dashboard when the notification is rendered. Replaces the existing set when provided. */
6462
6815
  filters?: components["schemas"]["DashboardFilterInput"][] | null;
6463
6816
  hour?: number | null;
6817
+ /** @description Enable or disable the schedule */
6464
6818
  isEnabled?: boolean | null;
6819
+ /** @description Field-switcher selections applied to the dashboard when the notification is rendered. Replaces the existing set when provided. */
6465
6820
  memberSwitchers?: components["schemas"]["DashboardMemberSwitcherInput"][] | null;
6466
6821
  minute?: number | null;
6822
+ /** @description Include an AI-generated "what changed" summary in the notification body. Off by default. */
6467
6823
  notificationAiSummary?: boolean | null;
6468
6824
  notificationEnabled?: boolean | null;
6469
6825
  notificationFormat?: components["schemas"]["UpdateNotificationInputNotificationFormat"] | null;
6826
+ /** @description Type of schedule */
6470
6827
  scheduleType?: components["schemas"]["UpdateNotificationInputScheduleType"] | null;
6828
+ /** @description Time-grain overrides applied to the dashboard when the notification is rendered. Replaces the existing set when provided. */
6471
6829
  timeGrains?: components["schemas"]["DashboardTimeGrainInput"][] | null;
6472
6830
  timezone?: string | null;
6473
6831
  };
@@ -6505,13 +6863,20 @@ export interface components {
6505
6863
  widgetId: string;
6506
6864
  };
6507
6865
  UpdateReportDeliveryInput: {
6866
+ /** @description Replaces the whole destination. */
6508
6867
  destination?: components["schemas"]["ReportDeliveryDestinationInput"] | null;
6509
6868
  name?: string | null;
6869
+ /** @description Replaces the whole setting; null resets it to the inbox only. How the owner hears that the delivery failed or recovered. A delivery that runs more than once a day reports only changes in its status; a daily or rarer one reports every failed run. */
6510
6870
  notifications?: components["schemas"]["ReportDeliveryNotificationsInput"] | null;
6871
+ /** @description Transfer the delivery to this active user, who must be able to read its report. They become owner and run-as user. Admins only. */
6511
6872
  ownerUserId?: number | null;
6873
+ /** @description Deliver another report. The caller must be able to read it. */
6512
6874
  reportId?: number | null;
6875
+ /** @description Replaces the whole schedule. `null` removes it, so the delivery runs only on request. */
6513
6876
  schedule?: components["schemas"]["ReportDeliveryScheduleInput"] | null;
6877
+ /** @description Replaces the whole shape. `null` removes it, delivering every column. */
6514
6878
  shape?: components["schemas"]["ReportDeliveryShapeInput"] | null;
6879
+ /** @description What each run does with what the previous one wrote. `overwrite` (the default) replaces the delivered block. `append` adds the whole result below it, header only on the first run and no deduplication. `new_sheet` writes each run to a new tab. */
6515
6880
  writeMode?: components["schemas"]["UpdateReportDeliveryInputWriteMode"] | null;
6516
6881
  };
6517
6882
  /** @enum {string} */
@@ -6547,9 +6912,9 @@ export interface components {
6547
6912
  resourceType: components["schemas"]["UpdateResourceGroupPolicyBodyResourceType"];
6548
6913
  };
6549
6914
  /** @enum {string} */
6550
- UpdateResourceGroupPolicyBodyAction: "All" | "DeploymentsManage" | "DeploymentCreate" | "DeploymentRead" | "DeploymentUpdate" | "DeploymentDelete" | "SecretsManage" | "DownloadData" | "PlaygroundRead" | "SchemaRead" | "SchemaUpdate" | "SchemaUpdateDevBranches" | "APMRead" | "ChatHistoryRead" | "PreAggregationBuild" | "AlertsCreate" | "AlertsRead" | "AlertsUpdate" | "AlertsDelete" | "AuditLogManage" | "BillingRead" | "SqlRunnerRead" | "DataAssetsRead" | "DataAssetsManage" | "CubeNetworkConnect" | "ReportRead" | "ReportEdit" | "ReportManage" | "WorkbookManage" | "WorkbookRead" | "WorkbookEdit" | "ChatThreadRead" | "AgentManage" | "AgentRead" | "AgentSpaceManage" | "AgentAdmin" | "DeploymentAgentRead" | "ScheduledTasksCreate" | "OAuthIntegrationsManage" | "OAuthIntegrationsIssueTokens" | "McpToolsManage" | "AIBIDevelop" | "AIBIExplore" | "AIBIView" | "ChartPalettesManage" | "DashboardThemesManage" | "AIBIDeveloper" | "AIBIUser" | "AIBIViewer" | "EmbedDeploymentRead" | "EmbedDashboardRead" | "FolderRead" | "FolderEdit" | "FolderManage";
6915
+ UpdateResourceGroupPolicyBodyAction: "All" | "DeploymentsManage" | "DeploymentCreate" | "DeploymentRead" | "DeploymentUpdate" | "DeploymentDelete" | "SecretsManage" | "DownloadData" | "PlaygroundRead" | "SchemaRead" | "SchemaUpdate" | "SchemaUpdateDevBranches" | "APMRead" | "ChatHistoryRead" | "PreAggregationRead" | "PreAggregationBuild" | "AlertsCreate" | "AlertsRead" | "AlertsUpdate" | "AlertsDelete" | "AuditLogManage" | "BillingRead" | "SqlRunnerRead" | "DataAssetsRead" | "DataAssetsManage" | "CubeNetworkConnect" | "ReportRead" | "ReportEdit" | "ReportManage" | "WorkbookManage" | "WorkbookRead" | "WorkbookEdit" | "ChatThreadRead" | "AgentManage" | "AgentRead" | "AgentSpaceManage" | "AgentAdmin" | "DeploymentAgentRead" | "ScheduledTasksCreate" | "ScheduledTaskRead" | "OAuthIntegrationsManage" | "OAuthIntegrationsIssueTokens" | "McpToolsManage" | "AIBIDevelop" | "AIBIExplore" | "AIBIView" | "ChartPalettesManage" | "DashboardThemesManage" | "AIBIDeveloper" | "AIBIUser" | "AIBIViewer" | "EmbedDeploymentRead" | "EmbedDashboardRead" | "FolderRead" | "FolderEdit" | "FolderManage";
6551
6916
  /** @enum {string} */
6552
- UpdateResourceGroupPolicyBodyResourceType: "Global" | "Deployment" | "Report" | "ReportFolder" | "Agent" | "AgentSpace" | "Workbook" | "Dashboard" | "Folder" | "ChatThread";
6917
+ UpdateResourceGroupPolicyBodyResourceType: "Global" | "Deployment" | "Report" | "ReportFolder" | "Agent" | "AgentSpace" | "Workbook" | "Dashboard" | "Folder" | "ChatThread" | "ScheduledTask";
6553
6918
  UpdateResourceUserPolicyBody: {
6554
6919
  action?: components["schemas"]["UpdateResourceUserPolicyBodyAction"] | null;
6555
6920
  resourceId: number;
@@ -6557,17 +6922,25 @@ export interface components {
6557
6922
  userId?: number | null;
6558
6923
  };
6559
6924
  /** @enum {string} */
6560
- UpdateResourceUserPolicyBodyAction: "All" | "DeploymentsManage" | "DeploymentCreate" | "DeploymentRead" | "DeploymentUpdate" | "DeploymentDelete" | "SecretsManage" | "DownloadData" | "PlaygroundRead" | "SchemaRead" | "SchemaUpdate" | "SchemaUpdateDevBranches" | "APMRead" | "ChatHistoryRead" | "PreAggregationBuild" | "AlertsCreate" | "AlertsRead" | "AlertsUpdate" | "AlertsDelete" | "AuditLogManage" | "BillingRead" | "SqlRunnerRead" | "DataAssetsRead" | "DataAssetsManage" | "CubeNetworkConnect" | "ReportRead" | "ReportEdit" | "ReportManage" | "WorkbookManage" | "WorkbookRead" | "WorkbookEdit" | "ChatThreadRead" | "AgentManage" | "AgentRead" | "AgentSpaceManage" | "AgentAdmin" | "DeploymentAgentRead" | "ScheduledTasksCreate" | "OAuthIntegrationsManage" | "OAuthIntegrationsIssueTokens" | "McpToolsManage" | "AIBIDevelop" | "AIBIExplore" | "AIBIView" | "ChartPalettesManage" | "DashboardThemesManage" | "AIBIDeveloper" | "AIBIUser" | "AIBIViewer" | "EmbedDeploymentRead" | "EmbedDashboardRead" | "FolderRead" | "FolderEdit" | "FolderManage";
6925
+ UpdateResourceUserPolicyBodyAction: "All" | "DeploymentsManage" | "DeploymentCreate" | "DeploymentRead" | "DeploymentUpdate" | "DeploymentDelete" | "SecretsManage" | "DownloadData" | "PlaygroundRead" | "SchemaRead" | "SchemaUpdate" | "SchemaUpdateDevBranches" | "APMRead" | "ChatHistoryRead" | "PreAggregationRead" | "PreAggregationBuild" | "AlertsCreate" | "AlertsRead" | "AlertsUpdate" | "AlertsDelete" | "AuditLogManage" | "BillingRead" | "SqlRunnerRead" | "DataAssetsRead" | "DataAssetsManage" | "CubeNetworkConnect" | "ReportRead" | "ReportEdit" | "ReportManage" | "WorkbookManage" | "WorkbookRead" | "WorkbookEdit" | "ChatThreadRead" | "AgentManage" | "AgentRead" | "AgentSpaceManage" | "AgentAdmin" | "DeploymentAgentRead" | "ScheduledTasksCreate" | "ScheduledTaskRead" | "OAuthIntegrationsManage" | "OAuthIntegrationsIssueTokens" | "McpToolsManage" | "AIBIDevelop" | "AIBIExplore" | "AIBIView" | "ChartPalettesManage" | "DashboardThemesManage" | "AIBIDeveloper" | "AIBIUser" | "AIBIViewer" | "EmbedDeploymentRead" | "EmbedDashboardRead" | "FolderRead" | "FolderEdit" | "FolderManage";
6561
6926
  /** @enum {string} */
6562
- UpdateResourceUserPolicyBodyResourceType: "Global" | "Deployment" | "Report" | "ReportFolder" | "Agent" | "AgentSpace" | "Workbook" | "Dashboard" | "Folder" | "ChatThread";
6927
+ UpdateResourceUserPolicyBodyResourceType: "Global" | "Deployment" | "Report" | "ReportFolder" | "Agent" | "AgentSpace" | "Workbook" | "Dashboard" | "Folder" | "ChatThread" | "ScheduledTask";
6563
6928
  UpdateScheduledTaskInput: {
6929
+ /** @description The agent that runs the task. Omit to leave unchanged; null resets it to the deployment default. */
6564
6930
  agentId?: number | null;
6931
+ /** @description New standard 5-field cron, at most hourly (the minute field is a single number). Omit it to keep the current schedule; send null to make the task Manual. */
6565
6932
  cronExpression?: string | null;
6933
+ /** @description Omit to leave unchanged. Send null to clear the description. */
6566
6934
  description?: string | null;
6935
+ /** @description `false` pauses the schedule, `true` resumes it. Omit to leave unchanged. Explicit null answers `400`. */
6567
6936
  isEnabled?: boolean | null;
6937
+ /** @description Omit to leave unchanged. Explicit null answers `400`. */
6568
6938
  name?: string | null;
6939
+ /** @description Turn the inbox notification for finished runs on or off. Omit to leave unchanged. Explicit null answers `400`. */
6569
6940
  notificationEnabled?: boolean | null;
6941
+ /** @description New prompt, shown as the task's Instructions in Cube. Omit to leave unchanged. Explicit null answers `400`. */
6570
6942
  prompt?: string | null;
6943
+ /** @description New IANA time zone for the cron, e.g. `America/New_York`. Omit it to keep the current one. Explicit null answers `400`. */
6571
6944
  timezone?: string | null;
6572
6945
  };
6573
6946
  UpdateWorkbookInput: {
@@ -6591,6 +6964,7 @@ export interface components {
6591
6964
  apiUrl: string;
6592
6965
  /** @description Id of the Usage Analytics deployment the token was issued for. */
6593
6966
  deploymentId: number;
6967
+ /** @description When the token expires, as an ISO-8601 timestamp. Request a new token before this moment β€” issuing one is idempotent and cheap. */
6594
6968
  expiresAt?: string | null;
6595
6969
  /** @description A short-lived JWT for the Usage Analytics deployment, carrying this tenant’s security context. Send it as `Authorization: Bearer <token>` on requests to `apiUrl`. */
6596
6970
  token: string;
@@ -6618,6 +6992,7 @@ export interface components {
6618
6992
  title?: string | null;
6619
6993
  tosAccepted?: Record<string, never> | null;
6620
6994
  updatedAt?: (string) | null;
6995
+ /** @description The caller's effective resource policies: direct grants, organization-wide grants, and grants inherited from their groups. Only populated by `GET /api/v1/users/me`. */
6621
6996
  userPolicies?: components["schemas"]["Policy"][] | null;
6622
6997
  username: string;
6623
6998
  };
@@ -6742,6 +7117,10 @@ export interface components {
6742
7117
  UserSettingsInput: {
6743
7118
  alternatingRowColors?: boolean | null;
6744
7119
  defaultDeploymentId?: number | null;
7120
+ /**
7121
+ * @deprecated
7122
+ * @description Deprecated and ignored. The changelog now arrives in the notification inbox, which carries its own read state. Accepted for backward compatibility but never read or written.
7123
+ */
6745
7124
  lastSeenChangelogId?: number | null;
6746
7125
  locale?: string | null;
6747
7126
  sheets?: components["schemas"]["SheetsUserSettingsInput"] | null;
@@ -6874,6 +7253,10 @@ export interface components {
6874
7253
  pageInfo: components["schemas"]["PageInfo"];
6875
7254
  };
6876
7255
  WorkbooksListResponse: {
7256
+ /**
7257
+ * @deprecated
7258
+ * @description Deprecated: total number of accessible workbooks, ignoring pagination. Kept for backward compatibility.
7259
+ */
6877
7260
  count?: number | null;
6878
7261
  /**
6879
7262
  * @deprecated
@@ -7609,6 +7992,67 @@ export interface operations {
7609
7992
  };
7610
7993
  };
7611
7994
  };
7995
+ "ChatHistoryPublicController.listChatHistoryThreads": {
7996
+ parameters: {
7997
+ query?: {
7998
+ createdAfter?: string | null;
7999
+ createdBefore?: string | null;
8000
+ updatedAfter?: string | null;
8001
+ updatedBefore?: string | null;
8002
+ userId?: number[] | null;
8003
+ userEmail?: string[] | null;
8004
+ externalUserId?: string[] | null;
8005
+ userType?: components["schemas"]["ChatHistoryThreadsQueryUserType"] | null;
8006
+ source?: ("web" | "api" | "mcp" | "slack" | "scheduled")[] | null;
8007
+ initialContext?: ("chat" | "workbook" | "model" | "dashboard" | "external" | "mcp" | "ai-widget" | "onboarding" | "explore" | "connection_setup" | "slack_dm" | "published-dashboard" | "sheets")[] | null;
8008
+ agentId?: number[] | null;
8009
+ search?: string | null;
8010
+ sortBy?: components["schemas"]["ChatHistoryThreadsQuerySortBy"] | null;
8011
+ sortOrder?: components["schemas"]["ChatHistoryThreadsQuerySortOrder"] | null;
8012
+ includeTurns?: boolean | null;
8013
+ after?: string;
8014
+ first?: number;
8015
+ };
8016
+ header?: never;
8017
+ path: {
8018
+ deploymentId: number;
8019
+ };
8020
+ cookie?: never;
8021
+ };
8022
+ requestBody?: never;
8023
+ responses: {
8024
+ 200: {
8025
+ headers: {
8026
+ [name: string]: any;
8027
+ };
8028
+ content: {
8029
+ "application/json": components["schemas"]["ChatHistoryThreadListResponse"];
8030
+ };
8031
+ };
8032
+ };
8033
+ };
8034
+ "ChatHistoryPublicController.getChatHistoryThread": {
8035
+ parameters: {
8036
+ query?: never;
8037
+ header?: never;
8038
+ path: {
8039
+ deploymentId: number;
8040
+ chatId: string;
8041
+ };
8042
+ cookie?: never;
8043
+ };
8044
+ requestBody?: never;
8045
+ responses: {
8046
+ 200: {
8047
+ headers: {
8048
+ [name: string]: any;
8049
+ };
8050
+ content: {
8051
+ "application/json": components["schemas"]["ChatHistoryThread"];
8052
+ };
8053
+ };
8054
+ };
8055
+ };
7612
8056
  "DeploymentsPublicController.advanceCreationStep": {
7613
8057
  parameters: {
7614
8058
  query?: never;