@cube-dev/platform-client 0.19.0 → 0.20.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
|
@@ -427,7 +427,7 @@ export interface paths {
|
|
|
427
427
|
*
|
|
428
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.
|
|
429
429
|
*
|
|
430
|
-
* Pass `layout: print` with `format: pdf` for the paginated A4 document the dashboard's "
|
|
430
|
+
* Pass `layout: print` with `format: pdf` for the paginated A4 document the dashboard's "Download 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
431
|
*
|
|
432
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.
|
|
433
433
|
*
|
|
@@ -1100,6 +1100,84 @@ export interface paths {
|
|
|
1100
1100
|
patch?: never;
|
|
1101
1101
|
trace?: never;
|
|
1102
1102
|
};
|
|
1103
|
+
"/api/v1/deployments/{deploymentId}/ossie-conversions": {
|
|
1104
|
+
parameters: {
|
|
1105
|
+
query?: never;
|
|
1106
|
+
header?: never;
|
|
1107
|
+
path?: never;
|
|
1108
|
+
cookie?: never;
|
|
1109
|
+
};
|
|
1110
|
+
get?: never;
|
|
1111
|
+
put?: never;
|
|
1112
|
+
/**
|
|
1113
|
+
* Start an Apache Ossie conversion
|
|
1114
|
+
* @description Converts between a Cube data model and an [Apache Ossie (Open Semantic Interchange)](https://github.com/apache/ossie) model, and returns polling URLs immediately. An export converts the YAML data model of the deployment's latest successful build, or uploaded YAML files, to one Ossie model; an import converts an uploaded Ossie model to Cube data model files. Neither changes the deployment. Only static YAML model files are converted; JavaScript models and Jinja-templated files are skipped. Uploads are limited to 512 files of at most 2 MiB each and 20 MiB in total. Requests and results are kept for at most one day. Requires `SchemaRead` or `SchemaUpdate` access. This is currently in preview — reach out to the Cube support team to activate it for your account.
|
|
1115
|
+
*/
|
|
1116
|
+
post: operations["OssieConversionPublicController.startConversion"];
|
|
1117
|
+
delete?: never;
|
|
1118
|
+
options?: never;
|
|
1119
|
+
head?: never;
|
|
1120
|
+
patch?: never;
|
|
1121
|
+
trace?: never;
|
|
1122
|
+
};
|
|
1123
|
+
"/api/v1/deployments/{deploymentId}/ossie-conversions/{conversionId}": {
|
|
1124
|
+
parameters: {
|
|
1125
|
+
query?: never;
|
|
1126
|
+
header?: never;
|
|
1127
|
+
path?: never;
|
|
1128
|
+
cookie?: never;
|
|
1129
|
+
};
|
|
1130
|
+
/** Get an Apache Ossie conversion status */
|
|
1131
|
+
get: operations["OssieConversionPublicController.conversionStatus"];
|
|
1132
|
+
put?: never;
|
|
1133
|
+
post?: never;
|
|
1134
|
+
/** Cancel an Apache Ossie conversion */
|
|
1135
|
+
delete: operations["OssieConversionPublicController.cancelConversion"];
|
|
1136
|
+
options?: never;
|
|
1137
|
+
head?: never;
|
|
1138
|
+
patch?: never;
|
|
1139
|
+
trace?: never;
|
|
1140
|
+
};
|
|
1141
|
+
"/api/v1/deployments/{deploymentId}/ossie-conversions/{conversionId}/files": {
|
|
1142
|
+
parameters: {
|
|
1143
|
+
query?: never;
|
|
1144
|
+
header?: never;
|
|
1145
|
+
path?: never;
|
|
1146
|
+
cookie?: never;
|
|
1147
|
+
};
|
|
1148
|
+
/**
|
|
1149
|
+
* Get the files of an Apache Ossie conversion
|
|
1150
|
+
* @description Returns `ossie.yaml` for an export, or the generated Cube data model files for an import; empty when the conversion failed. Returns 409 while the conversion is still running or if it ended without a result.
|
|
1151
|
+
*/
|
|
1152
|
+
get: operations["OssieConversionPublicController.conversionFiles"];
|
|
1153
|
+
put?: never;
|
|
1154
|
+
post?: never;
|
|
1155
|
+
delete?: never;
|
|
1156
|
+
options?: never;
|
|
1157
|
+
head?: never;
|
|
1158
|
+
patch?: never;
|
|
1159
|
+
trace?: never;
|
|
1160
|
+
};
|
|
1161
|
+
"/api/v1/deployments/{deploymentId}/ossie-conversions/{conversionId}/result": {
|
|
1162
|
+
parameters: {
|
|
1163
|
+
query?: never;
|
|
1164
|
+
header?: never;
|
|
1165
|
+
path?: never;
|
|
1166
|
+
cookie?: never;
|
|
1167
|
+
};
|
|
1168
|
+
/**
|
|
1169
|
+
* Get an Apache Ossie conversion result
|
|
1170
|
+
* @description Returns the outcome, counts, issues and converter versions of a completed conversion. Returns 409 while the conversion is still running or if it ended without a result. Read the converted files from `/files`.
|
|
1171
|
+
*/
|
|
1172
|
+
get: operations["OssieConversionPublicController.conversionResult"];
|
|
1173
|
+
put?: never;
|
|
1174
|
+
post?: never;
|
|
1175
|
+
delete?: never;
|
|
1176
|
+
options?: never;
|
|
1177
|
+
head?: never;
|
|
1178
|
+
patch?: never;
|
|
1179
|
+
trace?: never;
|
|
1180
|
+
};
|
|
1103
1181
|
"/api/v1/deployments/{deploymentId}/pods": {
|
|
1104
1182
|
parameters: {
|
|
1105
1183
|
query?: never;
|
|
@@ -1329,7 +1407,7 @@ export interface paths {
|
|
|
1329
1407
|
*
|
|
1330
1408
|
* `source` is **create-only**: it is recorded when the report is first created and ignored on subsequent updates (it describes where the report originated, not its current definition).
|
|
1331
1409
|
*
|
|
1332
|
-
* Access: updating requires **edit** access to the existing report;
|
|
1410
|
+
* Access: updating requires **edit** access to the existing report; moving it to a different parent requires **manage** access to the report and **edit** access to the destination. Creating requires the same access as `POST /reports`.
|
|
1333
1411
|
*/
|
|
1334
1412
|
put: operations["ReportsPublicController.upsertReportByPublicId"];
|
|
1335
1413
|
post?: never;
|
|
@@ -1356,7 +1434,7 @@ export interface paths {
|
|
|
1356
1434
|
*
|
|
1357
1435
|
* The id you assign must be one you chose (any distinct 12-character `[0-9A-Za-z]` id). The auto-generated placeholder id shown for a report that has no stable id yet cannot be assigned — it is not unique — and is rejected with `400`.
|
|
1358
1436
|
*
|
|
1359
|
-
* Requires **edit** access to the report.
|
|
1437
|
+
* Requires **edit** access to the report. Moving it to a different parent requires **manage** access to the report and **edit** access to the destination.
|
|
1360
1438
|
*/
|
|
1361
1439
|
put: operations["ReportsPublicController.updateReport"];
|
|
1362
1440
|
post?: never;
|
|
@@ -1794,7 +1872,7 @@ export interface paths {
|
|
|
1794
1872
|
*
|
|
1795
1873
|
* If a workbook with this slug exists in the deployment, it is updated: only the fields you send are changed, and `meta` is merged into the existing metadata (a `meta.dashboardDraft` is validated like everywhere else). Otherwise a new workbook is created with this slug. The slug is normalized (trimmed, lowercased) before matching. Re-applying the same request is a no-op.
|
|
1796
1874
|
*
|
|
1797
|
-
* Access: updating requires **edit** access to the workbook holding the slug (requests that include `folderId` require **manage** access, plus **edit** access to the destination folder); creating requires the same access as `POST /workbooks` (AI BI User role or higher).
|
|
1875
|
+
* Access: updating requires **edit** access to the workbook holding the slug (requests that include `folderId` require **manage** access, plus **edit** access to the destination folder); creating requires the same access as `POST /workbooks` (AI BI User role or higher, plus **edit** access to a supplied destination folder).
|
|
1798
1876
|
*
|
|
1799
1877
|
* Whether this request creates or updates is decided — and access-checked — before it is applied. If another writer changes that in between (creates or deletes the workbook holding this slug), the request is rejected with `409` and `code: "upsert_branch_changed"` rather than applied under the wrong permission check. This is **transient: retry the request**. It only happens when two writers target the same slug concurrently — for example two pipeline runs applying the same bundle at once, where one creates the workbook and the other must then retry into the update path.
|
|
1800
1878
|
*
|
|
@@ -2075,7 +2153,7 @@ export interface paths {
|
|
|
2075
2153
|
* Supported query parameters:
|
|
2076
2154
|
* - `folderId` — list the contents of this folder (omit for the root).
|
|
2077
2155
|
* - `types` — restrict the results to one or more item types (`FOLDER`, `WORKBOOK`, `REPORT`). Repeat the parameter to pass several.
|
|
2078
|
-
* - `search` — case-insensitive substring match on item names; searches across all folders, not just the current level.
|
|
2156
|
+
* - `search` — case-insensitive substring match on item names; searches across all folders, not just the current level. A workbook also matches when a report inside it does, so a search finds a dashboard by the name of a chart on it. Use this to find an item by name instead of walking folders.
|
|
2079
2157
|
* - `orderByField` / `orderByDirection` — sort the non-folder items (e.g. by `name`, `updated_at`, `created_at`, or `viewer_last_viewed_at`).
|
|
2080
2158
|
* - `first` / `after` — cursor-based pagination.
|
|
2081
2159
|
*
|
|
@@ -2164,19 +2242,7 @@ export interface paths {
|
|
|
2164
2242
|
put?: never;
|
|
2165
2243
|
/**
|
|
2166
2244
|
* Move a workspace item
|
|
2167
|
-
* @description Move
|
|
2168
|
-
*
|
|
2169
|
-
* Request body:
|
|
2170
|
-
* - `type` — the item type: `WORKBOOK`, `REPORT`, or `FOLDER`.
|
|
2171
|
-
* - `id` — the id of the item to move.
|
|
2172
|
-
* - `folderId` — the destination folder id, or `null` to move the item to the workspace root. For a folder, this becomes its new parent.
|
|
2173
|
-
*
|
|
2174
|
-
* Access requirements depend on the item type and mirror the per-type rules:
|
|
2175
|
-
* - **Workbook** — manage access to the workbook, plus edit access to the destination folder when moving into one.
|
|
2176
|
-
* - **Report** — edit access to the report (with the report-manage permission).
|
|
2177
|
-
* - **Folder** — manage access to the folder being moved, plus manage or edit access to the destination parent folder.
|
|
2178
|
-
*
|
|
2179
|
-
* Moving a folder into one of its own descendants, or exceeding the maximum folder depth, is rejected with `400`. Returns `404` if the item does not exist or belongs to a different deployment.
|
|
2245
|
+
* @description Move a workbook, report, or folder to folderId (null for root). Source and destination permissions are checked, and a report's destination must be in the route deployment.
|
|
2180
2246
|
*/
|
|
2181
2247
|
post: operations["WorkspacePublicController.moveWorkspaceObject"];
|
|
2182
2248
|
delete?: never;
|
|
@@ -3089,6 +3155,160 @@ export interface paths {
|
|
|
3089
3155
|
patch?: never;
|
|
3090
3156
|
trace?: never;
|
|
3091
3157
|
};
|
|
3158
|
+
"/api/v1/roles/": {
|
|
3159
|
+
parameters: {
|
|
3160
|
+
query?: never;
|
|
3161
|
+
header?: never;
|
|
3162
|
+
path?: never;
|
|
3163
|
+
cookie?: never;
|
|
3164
|
+
};
|
|
3165
|
+
/**
|
|
3166
|
+
* List custom roles
|
|
3167
|
+
* @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.
|
|
3168
|
+
*
|
|
3169
|
+
* Lists the tenant's custom roles, newest first, cursor-paginated via `first`/`after`. Cube's built-in roles are not included — they are not tenant data.
|
|
3170
|
+
*
|
|
3171
|
+
* An API key scoped to specific deployments answers `403` here.
|
|
3172
|
+
*/
|
|
3173
|
+
get: operations["RolesPublicController.getRoles"];
|
|
3174
|
+
put?: never;
|
|
3175
|
+
/**
|
|
3176
|
+
* Create a custom role
|
|
3177
|
+
* @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.
|
|
3178
|
+
*
|
|
3179
|
+
* Creates a role and returns it with the `id` to assign it by. Role names are unique, so recreating one that already exists answers `409`.
|
|
3180
|
+
*
|
|
3181
|
+
* To scope the role to specific deployments, send a `Deployment` policy whose `resources` are the deployment ids as strings. A role usually also needs a `Global` policy naming the holder's license tier — `AIBIView`, `AIBIExplore` or `AIBIDevelop` — which is what the console calls the role's Base Role. Pick a tier that covers the deployment actions you grant: the console forces Developer (`AIBIDevelop`) for every deployment action except `DeploymentRead`, `DeploymentAgentRead`, `DownloadData` and `ChatHistoryRead`, so a lower tier here produces a role its role builder would not have let you save:
|
|
3182
|
+
*
|
|
3183
|
+
* ```json
|
|
3184
|
+
* {
|
|
3185
|
+
* "name": "team-analytics",
|
|
3186
|
+
* "policies": [
|
|
3187
|
+
* {
|
|
3188
|
+
* "resourceType": "Global",
|
|
3189
|
+
* "actions": ["AIBIDevelop"],
|
|
3190
|
+
* "resources": ["All"]
|
|
3191
|
+
* },
|
|
3192
|
+
* {
|
|
3193
|
+
* "resourceType": "Deployment",
|
|
3194
|
+
* "actions": ["DeploymentRead", "SchemaRead", "SqlRunnerRead"],
|
|
3195
|
+
* "resources": ["1734"]
|
|
3196
|
+
* }
|
|
3197
|
+
* ]
|
|
3198
|
+
* }
|
|
3199
|
+
* ```
|
|
3200
|
+
*
|
|
3201
|
+
* The tier is **not** required and is **not** derived from the deployment actions: a role sent without one is accepted and simply confers no tier, so a user holding only that role gets the deployment grants and still cannot use the product. That is deliberate — a user holds the union of their roles, so a role that only adds a deployment scope beside another role carrying the tier is valid — but it means nothing warns you. Omit the `Global` policy only when some other role supplies the tier. Note the console does require one on every role it writes, so a role created here without a tier shows an unset Base Role when opened in the role builder.
|
|
3202
|
+
*
|
|
3203
|
+
* Use `["All"]` as `resources` to cover every deployment, and `"All"` as the single action for full access to the deployments in scope. A policy is rejected when it grants no action, when it names no resource, or when a `Deployment` resource is not a deployment id — pass the numeric id returned by POST /build/api/v1/deployments, not a slug or a name. Ids are checked for shape, not existence, so an id whose deployment was since deleted is kept and simply grants nothing.
|
|
3204
|
+
*
|
|
3205
|
+
* An API key scoped to specific deployments answers `403` here.
|
|
3206
|
+
*/
|
|
3207
|
+
post: operations["RolesPublicController.createRole"];
|
|
3208
|
+
delete?: never;
|
|
3209
|
+
options?: never;
|
|
3210
|
+
head?: never;
|
|
3211
|
+
patch?: never;
|
|
3212
|
+
trace?: never;
|
|
3213
|
+
};
|
|
3214
|
+
"/api/v1/roles/{roleId}": {
|
|
3215
|
+
parameters: {
|
|
3216
|
+
query?: never;
|
|
3217
|
+
header?: never;
|
|
3218
|
+
path?: never;
|
|
3219
|
+
cookie?: never;
|
|
3220
|
+
};
|
|
3221
|
+
/**
|
|
3222
|
+
* Get a custom role
|
|
3223
|
+
* @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.
|
|
3224
|
+
*
|
|
3225
|
+
* Returns one custom role by id, with its policies.
|
|
3226
|
+
*
|
|
3227
|
+
* An API key scoped to specific deployments answers `403` here.
|
|
3228
|
+
*/
|
|
3229
|
+
get: operations["RolesPublicController.getRole"];
|
|
3230
|
+
/**
|
|
3231
|
+
* Update a custom role
|
|
3232
|
+
* @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.
|
|
3233
|
+
*
|
|
3234
|
+
* Updates the fields present in the body and leaves the rest alone. Sending `policies` replaces the role's policies outright, so read the role first if you mean to add one rather than start over. Renaming to a name another role already holds answers `409`. Built-in roles cannot be updated.
|
|
3235
|
+
*
|
|
3236
|
+
* An API key scoped to specific deployments answers `403` here.
|
|
3237
|
+
*/
|
|
3238
|
+
put: operations["RolesPublicController.updateRole"];
|
|
3239
|
+
post?: never;
|
|
3240
|
+
/**
|
|
3241
|
+
* Delete a custom role
|
|
3242
|
+
* @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.
|
|
3243
|
+
*
|
|
3244
|
+
* Deletes the role and every assignment of it, from users and from groups. Built-in roles cannot be deleted.
|
|
3245
|
+
*
|
|
3246
|
+
* An API key scoped to specific deployments answers `403` here.
|
|
3247
|
+
*/
|
|
3248
|
+
delete: operations["RolesPublicController.deleteRole"];
|
|
3249
|
+
options?: never;
|
|
3250
|
+
head?: never;
|
|
3251
|
+
patch?: never;
|
|
3252
|
+
trace?: never;
|
|
3253
|
+
};
|
|
3254
|
+
"/api/v1/roles/{roleId}/users": {
|
|
3255
|
+
parameters: {
|
|
3256
|
+
query?: never;
|
|
3257
|
+
header?: never;
|
|
3258
|
+
path?: never;
|
|
3259
|
+
cookie?: never;
|
|
3260
|
+
};
|
|
3261
|
+
/**
|
|
3262
|
+
* List the users holding a role
|
|
3263
|
+
* @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.
|
|
3264
|
+
*
|
|
3265
|
+
* Lists every user holding the role, directly or through a group, newest first, cursor-paginated via `first`/`after`. Accepts built-in role ids. Each user carries every role they hold, so a combination such as "holds Explorer but not my custom role" is one pass over these pages. Deactivated users are included.
|
|
3266
|
+
*
|
|
3267
|
+
* An API key scoped to specific deployments answers `403` here.
|
|
3268
|
+
*/
|
|
3269
|
+
get: operations["RolesPublicController.getRoleHolders"];
|
|
3270
|
+
put?: never;
|
|
3271
|
+
post?: never;
|
|
3272
|
+
delete?: never;
|
|
3273
|
+
options?: never;
|
|
3274
|
+
head?: never;
|
|
3275
|
+
patch?: never;
|
|
3276
|
+
trace?: never;
|
|
3277
|
+
};
|
|
3278
|
+
"/api/v1/roles/{roleId}/users/{userId}": {
|
|
3279
|
+
parameters: {
|
|
3280
|
+
query?: never;
|
|
3281
|
+
header?: never;
|
|
3282
|
+
path?: never;
|
|
3283
|
+
cookie?: never;
|
|
3284
|
+
};
|
|
3285
|
+
get?: never;
|
|
3286
|
+
/**
|
|
3287
|
+
* Assign a role to a user
|
|
3288
|
+
* @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.
|
|
3289
|
+
*
|
|
3290
|
+
* Gives the user everything the role grants. Idempotent — assigning a role the user already holds changes nothing. Returns `404` if either the user or the role is unknown.
|
|
3291
|
+
*
|
|
3292
|
+
* Unlike the other endpoints here, this one is not limited to your custom roles: it also accepts the id of a built-in role, and assigning one grants everything that role confers. **Cube's Admin role is the exception and cannot be granted this way** — it is not among the built-in roles this endpoint resolves, so its id returns `404`. No call to this endpoint can make a user an account-wide administrator.
|
|
3293
|
+
*
|
|
3294
|
+
* An API key scoped to specific deployments answers `403` here.
|
|
3295
|
+
*/
|
|
3296
|
+
put: operations["RolesPublicController.assignRoleToUser"];
|
|
3297
|
+
post?: never;
|
|
3298
|
+
/**
|
|
3299
|
+
* Remove a role from a user
|
|
3300
|
+
* @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.
|
|
3301
|
+
*
|
|
3302
|
+
* Takes the role away from the user. Idempotent — removing a role the user does not hold changes nothing. Returns `404` if the user is unknown.
|
|
3303
|
+
*
|
|
3304
|
+
* An API key scoped to specific deployments answers `403` here.
|
|
3305
|
+
*/
|
|
3306
|
+
delete: operations["RolesPublicController.removeRoleFromUser"];
|
|
3307
|
+
options?: never;
|
|
3308
|
+
head?: never;
|
|
3309
|
+
patch?: never;
|
|
3310
|
+
trace?: never;
|
|
3311
|
+
};
|
|
3092
3312
|
"/api/v1/spec": {
|
|
3093
3313
|
parameters: {
|
|
3094
3314
|
query?: never;
|
|
@@ -3351,6 +3571,8 @@ export interface paths {
|
|
|
3351
3571
|
* - A tenant must always keep at least one active, direct admin, so the action that would remove the last one fails with `403` while the rest of the batch still applies.
|
|
3352
3572
|
*
|
|
3353
3573
|
* Reapplying an action a user is already in (deactivating a deactivated user) succeeds as a no-op.
|
|
3574
|
+
*
|
|
3575
|
+
* An API key scoped to specific deployments answers `403` here.
|
|
3354
3576
|
*/
|
|
3355
3577
|
post: operations["UsersAdminPublicController.bulkUserAction"];
|
|
3356
3578
|
delete?: never;
|
|
@@ -3408,7 +3630,7 @@ export interface paths {
|
|
|
3408
3630
|
head?: never;
|
|
3409
3631
|
/**
|
|
3410
3632
|
* Update my settings
|
|
3411
|
-
* @description Merge a partial patch into the authenticated user's own settings. Omitted fields are left as they are; `sheets`
|
|
3633
|
+
* @description Merge a partial patch into the authenticated user's own settings. Omitted fields are left as they are; `sheets` and `memory` merge field-by-field, and an explicit `null` clears one.
|
|
3412
3634
|
*/
|
|
3413
3635
|
patch: operations["UsersPublicController.updateMySettings"];
|
|
3414
3636
|
trace?: never;
|
|
@@ -3431,6 +3653,30 @@ export interface paths {
|
|
|
3431
3653
|
patch?: never;
|
|
3432
3654
|
trace?: never;
|
|
3433
3655
|
};
|
|
3656
|
+
"/api/v1/users/{id}/roles": {
|
|
3657
|
+
parameters: {
|
|
3658
|
+
query?: never;
|
|
3659
|
+
header?: never;
|
|
3660
|
+
path?: never;
|
|
3661
|
+
cookie?: never;
|
|
3662
|
+
};
|
|
3663
|
+
/**
|
|
3664
|
+
* List a user's roles
|
|
3665
|
+
* @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.
|
|
3666
|
+
*
|
|
3667
|
+
* Every role the user holds, built-in and custom, whether assigned directly or through a group. Only a direct assignment can be removed with `DELETE /api/v1/roles/{roleId}/users/{userId}`.
|
|
3668
|
+
*
|
|
3669
|
+
* An API key scoped to specific deployments answers `403` here.
|
|
3670
|
+
*/
|
|
3671
|
+
get: operations["UsersAdminPublicController.getUserRoles"];
|
|
3672
|
+
put?: never;
|
|
3673
|
+
post?: never;
|
|
3674
|
+
delete?: never;
|
|
3675
|
+
options?: never;
|
|
3676
|
+
head?: never;
|
|
3677
|
+
patch?: never;
|
|
3678
|
+
trace?: never;
|
|
3679
|
+
};
|
|
3434
3680
|
"/build/api/v1/deployments/": {
|
|
3435
3681
|
parameters: {
|
|
3436
3682
|
query?: never;
|
|
@@ -3744,6 +3990,7 @@ export interface components {
|
|
|
3744
3990
|
graphqlToken?: string | null;
|
|
3745
3991
|
hasAgentAccess?: any | null;
|
|
3746
3992
|
mcpToken?: string | null;
|
|
3993
|
+
memoryGenerationEnabled?: boolean | null;
|
|
3747
3994
|
resolvedTimezone?: string | null;
|
|
3748
3995
|
scheduledTaskPolicies?: components["schemas"]["ChatThreadPolicy"][] | null;
|
|
3749
3996
|
timezoneSettings?: components["schemas"]["TimezoneSettings"] | null;
|
|
@@ -3770,6 +4017,7 @@ export interface components {
|
|
|
3770
4017
|
createdAt: string;
|
|
3771
4018
|
dedicatedAiEngineerRegion?: string | null;
|
|
3772
4019
|
deploymentId?: number | null;
|
|
4020
|
+
displayName?: string | null;
|
|
3773
4021
|
embeddingLlm?: components["schemas"]["AgentLlm"] | null;
|
|
3774
4022
|
embeddingUrl?: string | null;
|
|
3775
4023
|
id: number;
|
|
@@ -4244,7 +4492,7 @@ export interface components {
|
|
|
4244
4492
|
timezone?: string | null;
|
|
4245
4493
|
};
|
|
4246
4494
|
/** @enum {string} */
|
|
4247
|
-
CreateNotificationInputNotificationFormat: "png" | "pdf";
|
|
4495
|
+
CreateNotificationInputNotificationFormat: "png" | "pdf" | "pdf_print";
|
|
4248
4496
|
/** @enum {string} */
|
|
4249
4497
|
CreateNotificationInputScheduleType: "HOURLY" | "DAILY" | "WEEKLY" | "MONTHLY" | "CUSTOM";
|
|
4250
4498
|
CreateOAuthIntegrationInput: {
|
|
@@ -4319,6 +4567,8 @@ export interface components {
|
|
|
4319
4567
|
CreateScheduledTaskInput: {
|
|
4320
4568
|
/** @description The agent that runs the task. Omit for the deployment default. */
|
|
4321
4569
|
agentId?: number | null;
|
|
4570
|
+
/** @description Notify only when: on each fire the measure is read once, before the agent runs, and the agent runs only when the condition starts to hold, with the crossing facts at the top of its thread; it runs again only after the condition has stopped holding. A `change` or `anomaly` rule needs `timeDimension` and `granularity`. The creator gets an inbox row only with `notificationEnabled: true`. Omit to run the agent on every fire. */
|
|
4571
|
+
condition?: components["schemas"]["ScheduledTaskCondition"] | null;
|
|
4322
4572
|
/** @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`. */
|
|
4323
4573
|
cronExpression?: string | null;
|
|
4324
4574
|
description?: string | null;
|
|
@@ -4551,17 +4801,17 @@ export interface components {
|
|
|
4551
4801
|
endInclusive?: any | null;
|
|
4552
4802
|
/** @description Dimension path, e.g. "Orders.status" */
|
|
4553
4803
|
member: string;
|
|
4554
|
-
/** @description Filter operator (defaults to "equals") */
|
|
4804
|
+
/** @description Filter operator (defaults to "equals"; with an empty value, omitting it clears the control instead) */
|
|
4555
4805
|
operator?: components["schemas"]["DashboardFilterInputOperator"] | null;
|
|
4556
4806
|
/** @description For between filters: whether the start bound is inclusive */
|
|
4557
4807
|
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. */
|
|
4808
|
+
/** @description Filter value. Omit for is_null / is_not_null / is_empty / is_not_empty; provide a 2-element [start, end] array for between. An empty array or empty string with no operator renders the filter cleared; with an operator, the filter keeps that operator. */
|
|
4559
4809
|
value?: (string | number | boolean | unknown[]) | null;
|
|
4560
4810
|
};
|
|
4561
4811
|
/** @enum {string} */
|
|
4562
|
-
DashboardFilterInputOperator: "equals" | "not_equals" | "greater_than" | "greater_than_or_equal" | "less_than" | "less_than_or_equal" | "contains" | "not_contains" | "starts_with" | "not_starts_with" | "ends_with" | "not_ends_with" | "is_null" | "is_not_null" | "is_empty" | "is_not_empty" | "between" | "custom";
|
|
4812
|
+
DashboardFilterInputOperator: "equals" | "not_equals" | "greater_than" | "greater_than_or_equal" | "less_than" | "less_than_or_equal" | "contains" | "not_contains" | "starts_with" | "not_starts_with" | "ends_with" | "not_ends_with" | "in_month" | "not_in_month" | "in_quarter" | "not_in_quarter" | "in_year" | "not_in_year" | "is_null" | "is_not_null" | "is_empty" | "is_not_empty" | "between" | "custom";
|
|
4563
4813
|
/** @enum {string} */
|
|
4564
|
-
DashboardFilterOperator: "equals" | "not_equals" | "greater_than" | "greater_than_or_equal" | "less_than" | "less_than_or_equal" | "contains" | "not_contains" | "starts_with" | "not_starts_with" | "ends_with" | "not_ends_with" | "is_null" | "is_not_null" | "is_empty" | "is_not_empty" | "between" | "custom";
|
|
4814
|
+
DashboardFilterOperator: "equals" | "not_equals" | "greater_than" | "greater_than_or_equal" | "less_than" | "less_than_or_equal" | "contains" | "not_contains" | "starts_with" | "not_starts_with" | "ends_with" | "not_ends_with" | "in_month" | "not_in_month" | "in_quarter" | "not_in_quarter" | "in_year" | "not_in_year" | "is_null" | "is_not_null" | "is_empty" | "is_not_empty" | "between" | "custom";
|
|
4565
4815
|
DashboardLayout: {
|
|
4566
4816
|
breakpoints?: components["schemas"]["DashboardBreakpoints"] | null;
|
|
4567
4817
|
cols?: components["schemas"]["DashboardBreakpointCols"] | null;
|
|
@@ -4618,7 +4868,7 @@ export interface components {
|
|
|
4618
4868
|
member: string;
|
|
4619
4869
|
};
|
|
4620
4870
|
DashboardTimeGrainInput: {
|
|
4621
|
-
/** @description Granularity, e.g. "day", "week", "month" */
|
|
4871
|
+
/** @description Granularity, e.g. "day", "week", "month". An empty string renders the control cleared. */
|
|
4622
4872
|
grain: string;
|
|
4623
4873
|
/** @description Time dimension path, e.g. "Orders.created_at" */
|
|
4624
4874
|
member: string;
|
|
@@ -5470,11 +5720,21 @@ export interface components {
|
|
|
5470
5720
|
pageInfo?: components["schemas"]["PageInfo"] | null;
|
|
5471
5721
|
};
|
|
5472
5722
|
EvaluationResultResponse: {
|
|
5723
|
+
/** @description The agent's text answer, which may be truncated. */
|
|
5724
|
+
agentResponse?: string | null;
|
|
5725
|
+
/** @description The SQL the agent ran to answer the question. */
|
|
5726
|
+
agentSql?: string | null;
|
|
5727
|
+
/** @description The grader's explanation of the verdict: why the question failed or errored, a note for a result that needs review, or the AI check's rationale. */
|
|
5728
|
+
analysis?: string | null;
|
|
5473
5729
|
createdAt: string;
|
|
5474
5730
|
evaluationId: number;
|
|
5731
|
+
/** @description The ground-truth SQL the agent result was compared against. */
|
|
5732
|
+
groundTruthSql?: string | null;
|
|
5475
5733
|
id: number;
|
|
5476
5734
|
questionTextSnapshot: string;
|
|
5477
5735
|
score?: number | null;
|
|
5736
|
+
/** @description Short categories for a non-passing verdict, such as "Row count mismatch" or "Query error". Empty when the question passed. */
|
|
5737
|
+
scoreReasons: string[];
|
|
5478
5738
|
updatedAt: string;
|
|
5479
5739
|
/** @description Question outcome: pass, fail, review, skipped, or error. */
|
|
5480
5740
|
verdict?: string | null;
|
|
@@ -5739,6 +5999,9 @@ export interface components {
|
|
|
5739
5999
|
locale: string;
|
|
5740
6000
|
value: string;
|
|
5741
6001
|
};
|
|
6002
|
+
MemoryUserSettingsInput: {
|
|
6003
|
+
generateFromChats?: boolean | null;
|
|
6004
|
+
};
|
|
5742
6005
|
MergeIntoParentBranchRequest: {
|
|
5743
6006
|
branchId?: number;
|
|
5744
6007
|
branchName?: string;
|
|
@@ -5875,6 +6138,122 @@ export interface components {
|
|
|
5875
6138
|
};
|
|
5876
6139
|
/** @enum {string} */
|
|
5877
6140
|
OidcTokenConfigDTOSubjectType: "deployment" | "user";
|
|
6141
|
+
OssieConversionCounts: {
|
|
6142
|
+
/** @description Cube cubes. */
|
|
6143
|
+
cubes: number;
|
|
6144
|
+
/** @description Ossie datasets. */
|
|
6145
|
+
datasets: number;
|
|
6146
|
+
/** @description Ossie dataset fields. */
|
|
6147
|
+
fields: number;
|
|
6148
|
+
/** @description Cube data model files. */
|
|
6149
|
+
files: number;
|
|
6150
|
+
issues: components["schemas"]["OssieConversionIssueCounts"];
|
|
6151
|
+
/** @description Ossie metrics. */
|
|
6152
|
+
metrics: number;
|
|
6153
|
+
/** @description Ossie relationships. */
|
|
6154
|
+
relationships: number;
|
|
6155
|
+
/** @description Cube views. */
|
|
6156
|
+
views: number;
|
|
6157
|
+
};
|
|
6158
|
+
OssieConversionFile: {
|
|
6159
|
+
content: string;
|
|
6160
|
+
/** @description For an export, `ossie.yaml`. For an import, the path of the generated file within the data model project. */
|
|
6161
|
+
path: string;
|
|
6162
|
+
};
|
|
6163
|
+
OssieConversionFilesListResponse: {
|
|
6164
|
+
/** @description The converted files, empty when the conversion failed. */
|
|
6165
|
+
items: components["schemas"]["OssieConversionFile"][];
|
|
6166
|
+
pageInfo: components["schemas"]["PageInfo"];
|
|
6167
|
+
};
|
|
6168
|
+
OssieConversionInput: {
|
|
6169
|
+
/** @description Import only. The dataset the generated view is rooted at, for an Ossie model whose relationships do not determine one. */
|
|
6170
|
+
baseCube?: string | null;
|
|
6171
|
+
/** @description Import only. The warehouse dialect whose expressions are preferred where the Ossie model has several; ANSI_SQL is always the fallback. Defaults to the dialect of the deployment's default data source, or ANSI_SQL. */
|
|
6172
|
+
dialect?: components["schemas"]["OssieConversionInputDialect"] | null;
|
|
6173
|
+
/** @description 'export' converts a Cube data model to an Ossie model; 'import' converts an Ossie model to Cube data model files. */
|
|
6174
|
+
direction: components["schemas"]["OssieConversionInputDirection"];
|
|
6175
|
+
/** @description Export with source 'files' only. Relative `.yml`/`.yaml` paths mapped to their contents, such as a local checkout of the data model. Other files are not accepted. */
|
|
6176
|
+
files?: {
|
|
6177
|
+
[key: string]: string;
|
|
6178
|
+
} | null;
|
|
6179
|
+
/** @description Import only. The Ossie YAML document to convert. */
|
|
6180
|
+
ossieYaml?: string | null;
|
|
6181
|
+
/** @description Export only. 'deployment' (the default) converts the YAML data model of the deployment's latest successful build; 'files' converts the `files` sent with the request. */
|
|
6182
|
+
source?: components["schemas"]["OssieConversionInputSource"] | null;
|
|
6183
|
+
/** @description Export only. Refuse a metric whose value join fan-out could change, instead of converting it with a warning. Defaults to false for a whole-model export and true for a view export. */
|
|
6184
|
+
strictFanout?: boolean | null;
|
|
6185
|
+
/** @description Export only. Convert just this view's public members instead of the whole model. */
|
|
6186
|
+
view?: string | null;
|
|
6187
|
+
};
|
|
6188
|
+
/** @enum {string} */
|
|
6189
|
+
OssieConversionInputDialect: "ANSI_SQL" | "SNOWFLAKE" | "DATABRICKS" | "BIGQUERY";
|
|
6190
|
+
/** @enum {string} */
|
|
6191
|
+
OssieConversionInputDirection: "export" | "import";
|
|
6192
|
+
/** @enum {string} */
|
|
6193
|
+
OssieConversionInputSource: "deployment" | "files";
|
|
6194
|
+
OssieConversionIssue: {
|
|
6195
|
+
/** @description The converter issue type, such as DROPPED_MEASURE or CONVERSION_FAILED. */
|
|
6196
|
+
code: string;
|
|
6197
|
+
/** @description The model element the issue is about. */
|
|
6198
|
+
element?: string | null;
|
|
6199
|
+
message: string;
|
|
6200
|
+
/** @description ERROR fails the conversion. WARNING marks something dropped or changed. INFO marks something kept in another form. */
|
|
6201
|
+
severity: components["schemas"]["OssieConversionIssueSeverity"];
|
|
6202
|
+
};
|
|
6203
|
+
OssieConversionIssueCounts: {
|
|
6204
|
+
error: number;
|
|
6205
|
+
info: number;
|
|
6206
|
+
warning: number;
|
|
6207
|
+
};
|
|
6208
|
+
/** @enum {string} */
|
|
6209
|
+
OssieConversionIssueSeverity: "ERROR" | "WARNING" | "INFO";
|
|
6210
|
+
OssieConversionResultResponse: {
|
|
6211
|
+
completedAt: string;
|
|
6212
|
+
conversionId: string;
|
|
6213
|
+
counts: components["schemas"]["OssieConversionCounts"];
|
|
6214
|
+
deploymentId: number;
|
|
6215
|
+
direction: components["schemas"]["OssieConversionResultResponseDirection"];
|
|
6216
|
+
durationMs: number;
|
|
6217
|
+
issues: components["schemas"]["OssieConversionIssue"][];
|
|
6218
|
+
/** @description 'failed' exactly when an issue has severity ERROR. */
|
|
6219
|
+
outcome: components["schemas"]["OssieConversionResultResponseOutcome"];
|
|
6220
|
+
runtime: components["schemas"]["OssieConversionRuntime"];
|
|
6221
|
+
/** @description SHA-256 of the converted input. */
|
|
6222
|
+
sourceSha256: string;
|
|
6223
|
+
};
|
|
6224
|
+
/** @enum {string} */
|
|
6225
|
+
OssieConversionResultResponseDirection: "export" | "import";
|
|
6226
|
+
/** @enum {string} */
|
|
6227
|
+
OssieConversionResultResponseOutcome: "success" | "failed";
|
|
6228
|
+
OssieConversionRuntime: {
|
|
6229
|
+
cubeConverterVersion: string;
|
|
6230
|
+
/** @description The apache/ossie commit the converter was built from. */
|
|
6231
|
+
ossieCommit: string;
|
|
6232
|
+
ossieCoreVersion: string;
|
|
6233
|
+
};
|
|
6234
|
+
OssieConversionStartResponse: {
|
|
6235
|
+
conversionId: string;
|
|
6236
|
+
resultUrl: string;
|
|
6237
|
+
status: components["schemas"]["OssieConversionStartResponseStatus"];
|
|
6238
|
+
statusUrl: string;
|
|
6239
|
+
};
|
|
6240
|
+
/** @enum {string} */
|
|
6241
|
+
OssieConversionStartResponseStatus: "QUEUED";
|
|
6242
|
+
OssieConversionStatusResponse: {
|
|
6243
|
+
conversionId: string;
|
|
6244
|
+
deploymentId: number;
|
|
6245
|
+
direction: components["schemas"]["OssieConversionStatusResponseDirection"];
|
|
6246
|
+
/** @description Why the job ended without a result. */
|
|
6247
|
+
error?: string | null;
|
|
6248
|
+
startedAt: string;
|
|
6249
|
+
/** @description One of QUEUED, RUNNING, COMPLETED, FAILED or CANCELLED. COMPLETED means a result is available, even when the conversion itself failed; read its outcome. FAILED means the job ended without a result. */
|
|
6250
|
+
status: components["schemas"]["OssieConversionStatusResponseStatus"];
|
|
6251
|
+
updatedAt: string;
|
|
6252
|
+
};
|
|
6253
|
+
/** @enum {string} */
|
|
6254
|
+
OssieConversionStatusResponseDirection: "export" | "import";
|
|
6255
|
+
/** @enum {string} */
|
|
6256
|
+
OssieConversionStatusResponseStatus: "QUEUED" | "RUNNING" | "COMPLETED" | "FAILED" | "CANCELLED";
|
|
5878
6257
|
PageInfo: {
|
|
5879
6258
|
endCursor?: string | null;
|
|
5880
6259
|
hasNextPage: boolean;
|
|
@@ -6468,11 +6847,49 @@ export interface components {
|
|
|
6468
6847
|
/** @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. */
|
|
6469
6848
|
sessionId: string;
|
|
6470
6849
|
};
|
|
6850
|
+
Role: {
|
|
6851
|
+
description?: string | null;
|
|
6852
|
+
id: number;
|
|
6853
|
+
name: string;
|
|
6854
|
+
policies: components["schemas"]["Policy"][];
|
|
6855
|
+
};
|
|
6856
|
+
RoleCreateBody: {
|
|
6857
|
+
description?: string | null;
|
|
6858
|
+
/** @description Unique role name. Cannot be one of the built-in role names, which are rejected with `400`: `Admin`, `Developer`, `AIBIDeveloper`, `D3User`, `AIBIUser`, `AIBIViewer`, `Guest`, `EmbedUser`. (The console additionally refuses `None` and `All` in its own role builder; those are accepted here.) */
|
|
6859
|
+
name: string;
|
|
6860
|
+
/** @description What the role grants. Scope a policy to specific deployments by setting `resourceType` to `Deployment` and listing the deployment ids — as returned by POST /build/api/v1/deployments — in `resources`, or `["All"]` for every deployment. An empty `policies` list is accepted and creates a role that grants nothing yet; an individual policy with no actions, or none naming a resource, is rejected. */
|
|
6861
|
+
policies: components["schemas"]["Policy"][];
|
|
6862
|
+
};
|
|
6863
|
+
RoleHolder: {
|
|
6864
|
+
email: string;
|
|
6865
|
+
firstName?: string | null;
|
|
6866
|
+
id: number;
|
|
6867
|
+
/** @description Set by the user's own Admin flag or by a group granting Admin. */
|
|
6868
|
+
isAdmin: boolean;
|
|
6869
|
+
isDeactivated: boolean;
|
|
6870
|
+
roles: components["schemas"]["UserRoleAssignmentResponse"][];
|
|
6871
|
+
};
|
|
6872
|
+
RoleHoldersListResponse: {
|
|
6873
|
+
items: components["schemas"]["RoleHolder"][];
|
|
6874
|
+
pageInfo: components["schemas"]["PageInfo"];
|
|
6875
|
+
};
|
|
6876
|
+
RoleUpdateBody: {
|
|
6877
|
+
/** @description Omit to leave the description unchanged; `null` clears it. */
|
|
6878
|
+
description?: string | null;
|
|
6879
|
+
/** @description Omit to leave the name unchanged. `null` is rejected. */
|
|
6880
|
+
name?: string;
|
|
6881
|
+
/** @description Replaces the role's policies outright when present — there is no per-policy merge. Omit it to leave them unchanged, or send `[]` to remove them all. `null` is rejected, so a partly-filled client object cannot strip a role's grants by accident. */
|
|
6882
|
+
policies?: components["schemas"]["Policy"][];
|
|
6883
|
+
};
|
|
6471
6884
|
RoleWithAccess: {
|
|
6472
6885
|
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")[];
|
|
6473
6886
|
id: number;
|
|
6474
6887
|
name: string;
|
|
6475
6888
|
};
|
|
6889
|
+
RolesListResponse: {
|
|
6890
|
+
items: components["schemas"]["Role"][];
|
|
6891
|
+
pageInfo: components["schemas"]["PageInfo"];
|
|
6892
|
+
};
|
|
6476
6893
|
RunScheduledTaskResponse: {
|
|
6477
6894
|
/** @description The chat thread this run writes to. */
|
|
6478
6895
|
chatThreadUuid: string;
|
|
@@ -6499,6 +6916,61 @@ export interface components {
|
|
|
6499
6916
|
SaveDatabricksMetricViewIntegrationInputDeletionPolicy: "retain" | "delete-managed";
|
|
6500
6917
|
/** @enum {string} */
|
|
6501
6918
|
SaveDatabricksMetricViewIntegrationInputSelectionMode: "all" | "selected" | "pattern";
|
|
6919
|
+
ScheduledTaskCondition: {
|
|
6920
|
+
granularity?: components["schemas"]["ScheduledTaskConditionGranularity"] | null;
|
|
6921
|
+
/** @description Changes whenever the condition does. Read-only. */
|
|
6922
|
+
id?: string | null;
|
|
6923
|
+
/** @description Full measure name, e.g. `orders.revenue`. */
|
|
6924
|
+
measure: string;
|
|
6925
|
+
measureTitle?: string | null;
|
|
6926
|
+
rule: components["schemas"]["ScheduledTaskConditionRule"];
|
|
6927
|
+
/** @description Full time dimension name, e.g. `orders.created_at`. */
|
|
6928
|
+
timeDimension?: string | null;
|
|
6929
|
+
timeDimensionTitle?: string | null;
|
|
6930
|
+
};
|
|
6931
|
+
ScheduledTaskConditionBand: {
|
|
6932
|
+
high: number;
|
|
6933
|
+
low: number;
|
|
6934
|
+
median: number;
|
|
6935
|
+
};
|
|
6936
|
+
/** @enum {string} */
|
|
6937
|
+
ScheduledTaskConditionGranularity: "day" | "week" | "month" | "quarter" | "year";
|
|
6938
|
+
ScheduledTaskConditionRule: {
|
|
6939
|
+
/** @description For `change`: increases, decreases, or changes either way. */
|
|
6940
|
+
direction?: components["schemas"]["ScheduledTaskConditionRuleDirection"] | null;
|
|
6941
|
+
/** @description For `threshold`: above, below or equal to. */
|
|
6942
|
+
operator?: components["schemas"]["ScheduledTaskConditionRuleOperator"] | null;
|
|
6943
|
+
/** @description For `change`: the percentage, greater than 0, e.g. `5` for 5 %. */
|
|
6944
|
+
percent?: number | null;
|
|
6945
|
+
/** @description `threshold`: the last complete period (or the total, with no time dimension) is above, below or equal to `value`. `change`: the last complete period moved by at least `percent` % from the one before it. `anomaly`: the last complete period lies outside median ± 3·MAD of the at least 8 complete periods before it. */
|
|
6946
|
+
type: components["schemas"]["ScheduledTaskConditionRuleType"];
|
|
6947
|
+
/** @description For `threshold`: the number compared with. */
|
|
6948
|
+
value?: number | null;
|
|
6949
|
+
};
|
|
6950
|
+
/** @enum {string} */
|
|
6951
|
+
ScheduledTaskConditionRuleDirection: "up" | "down" | "either";
|
|
6952
|
+
/** @enum {string} */
|
|
6953
|
+
ScheduledTaskConditionRuleOperator: "gt" | "lt" | "eq";
|
|
6954
|
+
/** @enum {string} */
|
|
6955
|
+
ScheduledTaskConditionRuleType: "threshold" | "change" | "anomaly";
|
|
6956
|
+
ScheduledTaskLastConditionCheck: {
|
|
6957
|
+
/** @description When the check ran (ISO 8601). */
|
|
6958
|
+
at: string;
|
|
6959
|
+
band?: components["schemas"]["ScheduledTaskConditionBand"] | null;
|
|
6960
|
+
changePercent?: number | null;
|
|
6961
|
+
conditionId: string;
|
|
6962
|
+
notifiedAt?: string | null;
|
|
6963
|
+
/** @description Start of the period read, `YYYY-MM-DD`. */
|
|
6964
|
+
period?: string | null;
|
|
6965
|
+
previous?: number | null;
|
|
6966
|
+
previousPeriod?: string | null;
|
|
6967
|
+
reason?: string | null;
|
|
6968
|
+
/** @description `held-notified` ran the agent; `held-already-notified` was still holding since an earlier notification; `cannot-evaluate` carries a `reason` code; an `error` carries its text in `reason` to the task's creator only, as do the figures the check read. */
|
|
6969
|
+
status: components["schemas"]["ScheduledTaskLastConditionCheckStatus"];
|
|
6970
|
+
value?: number | null;
|
|
6971
|
+
};
|
|
6972
|
+
/** @enum {string} */
|
|
6973
|
+
ScheduledTaskLastConditionCheckStatus: "not-held" | "held-notified" | "held-already-notified" | "cannot-evaluate" | "error";
|
|
6502
6974
|
ScheduledTaskListResponse: {
|
|
6503
6975
|
items: components["schemas"]["ScheduledTaskResponse"][];
|
|
6504
6976
|
pageInfo: components["schemas"]["PageInfo"];
|
|
@@ -6506,6 +6978,8 @@ export interface components {
|
|
|
6506
6978
|
ScheduledTaskResponse: {
|
|
6507
6979
|
/** @description The agent that runs the task; null runs the deployment default. */
|
|
6508
6980
|
agentId?: number | null;
|
|
6981
|
+
/** @description Notify only when: on each fire the measure is read once, before the agent runs, and the agent runs only when the condition starts to hold, with the crossing facts at the top of its thread; it runs again only after the condition has stopped holding. A `change` or `anomaly` rule needs `timeDimension` and `granularity`. The creator gets an inbox row only with `notificationEnabled: true`. Null runs the agent on every fire. */
|
|
6982
|
+
condition?: components["schemas"]["ScheduledTaskCondition"] | null;
|
|
6509
6983
|
/** @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`. */
|
|
6510
6984
|
cronExpression?: string | null;
|
|
6511
6985
|
deploymentId: number;
|
|
@@ -6513,6 +6987,8 @@ export interface components {
|
|
|
6513
6987
|
id: number;
|
|
6514
6988
|
/** @description False while the schedule is paused. */
|
|
6515
6989
|
isEnabled: boolean;
|
|
6990
|
+
/** @description The latest condition check; null before the first one. */
|
|
6991
|
+
lastConditionCheck?: components["schemas"]["ScheduledTaskLastConditionCheck"] | null;
|
|
6516
6992
|
name: string;
|
|
6517
6993
|
/** @description When the schedule next fires (ISO 8601, UTC); null for a Manual or paused task. */
|
|
6518
6994
|
nextRunAt?: string | null;
|
|
@@ -6618,7 +7094,7 @@ export interface components {
|
|
|
6618
7094
|
/** @description Output format: `png` or `pdf`. */
|
|
6619
7095
|
format: components["schemas"]["StartDashboardExportInputFormat"];
|
|
6620
7096
|
/**
|
|
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 '
|
|
7097
|
+
* @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 'Download 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
7098
|
* @default screenshot
|
|
6623
7099
|
*/
|
|
6624
7100
|
layout?: components["schemas"]["StartDashboardExportInputLayout"] | null;
|
|
@@ -6664,6 +7140,10 @@ export interface components {
|
|
|
6664
7140
|
branchName: string;
|
|
6665
7141
|
/** @description Path of one eval-question YAML file to run, relative to the agents directory. Omit to run the complete eval set. */
|
|
6666
7142
|
questionFile?: string | null;
|
|
7143
|
+
/** @description Security context to evaluate under, merged over the caller's own. Applies to the ground-truth queries, and to the agent's queries when the run's agent is defined in the deployment's agent config; the default `auto` agent queries under the caller's own context. Requires deployment edit access; a `cubeCloud` key requires an admin. */
|
|
7144
|
+
securityContext?: {
|
|
7145
|
+
[key: string]: any;
|
|
7146
|
+
} | null;
|
|
6667
7147
|
};
|
|
6668
7148
|
StartReportDeliveryRunResponse: {
|
|
6669
7149
|
/** @description Id of the run, which writes the sheet in the background; poll it for the outcome. */
|
|
@@ -6830,7 +7310,7 @@ export interface components {
|
|
|
6830
7310
|
timezone?: string | null;
|
|
6831
7311
|
};
|
|
6832
7312
|
/** @enum {string} */
|
|
6833
|
-
UpdateNotificationInputNotificationFormat: "png" | "pdf";
|
|
7313
|
+
UpdateNotificationInputNotificationFormat: "png" | "pdf" | "pdf_print";
|
|
6834
7314
|
/** @enum {string} */
|
|
6835
7315
|
UpdateNotificationInputScheduleType: "HOURLY" | "DAILY" | "WEEKLY" | "MONTHLY" | "CUSTOM";
|
|
6836
7316
|
UpdateOAuthIntegrationInput: {
|
|
@@ -6928,6 +7408,8 @@ export interface components {
|
|
|
6928
7408
|
UpdateScheduledTaskInput: {
|
|
6929
7409
|
/** @description The agent that runs the task. Omit to leave unchanged; null resets it to the deployment default. */
|
|
6930
7410
|
agentId?: number | null;
|
|
7411
|
+
/** @description Notify only when: on each fire the measure is read once, before the agent runs, and the agent runs only when the condition starts to hold, with the crossing facts at the top of its thread; it runs again only after the condition has stopped holding. A `change` or `anomaly` rule needs `timeDimension` and `granularity`. The creator gets an inbox row only with `notificationEnabled: true`. Omit to leave unchanged; null removes it. A changed condition starts its breach state fresh. */
|
|
7412
|
+
condition?: components["schemas"]["ScheduledTaskCondition"] | null;
|
|
6931
7413
|
/** @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. */
|
|
6932
7414
|
cronExpression?: string | null;
|
|
6933
7415
|
/** @description Omit to leave unchanged. Send null to clear the description. */
|
|
@@ -7114,6 +7596,22 @@ export interface components {
|
|
|
7114
7596
|
updatedAt: string;
|
|
7115
7597
|
userId: number;
|
|
7116
7598
|
};
|
|
7599
|
+
UserRoleAssignmentResponse: {
|
|
7600
|
+
builtIn: boolean;
|
|
7601
|
+
description?: string | null;
|
|
7602
|
+
/** @description Assigned to the user directly — the assignment `DELETE /api/v1/roles/{roleId}/users/{userId}` removes. */
|
|
7603
|
+
direct: boolean;
|
|
7604
|
+
/** @description Groups that grant the role. Removing it from the user does not touch these; change the group instead. */
|
|
7605
|
+
groupIds: number[];
|
|
7606
|
+
/** @description Role id. Built-in roles have fixed negative ids. */
|
|
7607
|
+
id: number;
|
|
7608
|
+
name: string;
|
|
7609
|
+
};
|
|
7610
|
+
UserRolesResponse: {
|
|
7611
|
+
/** @description Set by the user's own Admin flag or by a group granting Admin. */
|
|
7612
|
+
isAdmin: boolean;
|
|
7613
|
+
roles: components["schemas"]["UserRoleAssignmentResponse"][];
|
|
7614
|
+
};
|
|
7117
7615
|
UserSettingsInput: {
|
|
7118
7616
|
alternatingRowColors?: boolean | null;
|
|
7119
7617
|
defaultDeploymentId?: number | null;
|
|
@@ -7123,6 +7621,7 @@ export interface components {
|
|
|
7123
7621
|
*/
|
|
7124
7622
|
lastSeenChangelogId?: number | null;
|
|
7125
7623
|
locale?: string | null;
|
|
7624
|
+
memory?: components["schemas"]["MemoryUserSettingsInput"] | null;
|
|
7126
7625
|
sheets?: components["schemas"]["SheetsUserSettingsInput"] | null;
|
|
7127
7626
|
theme?: string | null;
|
|
7128
7627
|
timezone?: string | null;
|
|
@@ -9256,9 +9755,134 @@ export interface operations {
|
|
|
9256
9755
|
};
|
|
9257
9756
|
};
|
|
9258
9757
|
};
|
|
9259
|
-
"
|
|
9758
|
+
"OssieConversionPublicController.startConversion": {
|
|
9260
9759
|
parameters: {
|
|
9261
|
-
query?:
|
|
9760
|
+
query?: never;
|
|
9761
|
+
header?: never;
|
|
9762
|
+
path: {
|
|
9763
|
+
deploymentId: number;
|
|
9764
|
+
};
|
|
9765
|
+
cookie?: never;
|
|
9766
|
+
};
|
|
9767
|
+
/** @description OssieConversionInput */
|
|
9768
|
+
requestBody: {
|
|
9769
|
+
content: {
|
|
9770
|
+
"application/json": components["schemas"]["OssieConversionInput"];
|
|
9771
|
+
};
|
|
9772
|
+
};
|
|
9773
|
+
responses: {
|
|
9774
|
+
202: {
|
|
9775
|
+
headers: {
|
|
9776
|
+
[name: string]: any;
|
|
9777
|
+
};
|
|
9778
|
+
content: {
|
|
9779
|
+
"application/json": components["schemas"]["OssieConversionStartResponse"];
|
|
9780
|
+
};
|
|
9781
|
+
};
|
|
9782
|
+
};
|
|
9783
|
+
};
|
|
9784
|
+
"OssieConversionPublicController.conversionStatus": {
|
|
9785
|
+
parameters: {
|
|
9786
|
+
query?: never;
|
|
9787
|
+
header?: never;
|
|
9788
|
+
path: {
|
|
9789
|
+
deploymentId: number;
|
|
9790
|
+
conversionId: string;
|
|
9791
|
+
};
|
|
9792
|
+
cookie?: never;
|
|
9793
|
+
};
|
|
9794
|
+
requestBody?: never;
|
|
9795
|
+
responses: {
|
|
9796
|
+
200: {
|
|
9797
|
+
headers: {
|
|
9798
|
+
[name: string]: any;
|
|
9799
|
+
};
|
|
9800
|
+
content: {
|
|
9801
|
+
"application/json": components["schemas"]["OssieConversionStatusResponse"];
|
|
9802
|
+
};
|
|
9803
|
+
};
|
|
9804
|
+
};
|
|
9805
|
+
};
|
|
9806
|
+
"OssieConversionPublicController.cancelConversion": {
|
|
9807
|
+
parameters: {
|
|
9808
|
+
query?: never;
|
|
9809
|
+
header?: never;
|
|
9810
|
+
path: {
|
|
9811
|
+
deploymentId: number;
|
|
9812
|
+
conversionId: string;
|
|
9813
|
+
};
|
|
9814
|
+
cookie?: never;
|
|
9815
|
+
};
|
|
9816
|
+
requestBody?: never;
|
|
9817
|
+
responses: {
|
|
9818
|
+
/** @description Successful response */
|
|
9819
|
+
200: {
|
|
9820
|
+
headers: {
|
|
9821
|
+
[name: string]: any;
|
|
9822
|
+
};
|
|
9823
|
+
content: {
|
|
9824
|
+
"application/json": any;
|
|
9825
|
+
};
|
|
9826
|
+
};
|
|
9827
|
+
/** @description Cancelled, or already finished. */
|
|
9828
|
+
204: {
|
|
9829
|
+
headers: {
|
|
9830
|
+
[name: string]: any;
|
|
9831
|
+
};
|
|
9832
|
+
content?: never;
|
|
9833
|
+
};
|
|
9834
|
+
};
|
|
9835
|
+
};
|
|
9836
|
+
"OssieConversionPublicController.conversionFiles": {
|
|
9837
|
+
parameters: {
|
|
9838
|
+
query?: {
|
|
9839
|
+
after?: string | null;
|
|
9840
|
+
first?: number | null;
|
|
9841
|
+
};
|
|
9842
|
+
header?: never;
|
|
9843
|
+
path: {
|
|
9844
|
+
deploymentId: number;
|
|
9845
|
+
conversionId: string;
|
|
9846
|
+
};
|
|
9847
|
+
cookie?: never;
|
|
9848
|
+
};
|
|
9849
|
+
requestBody?: never;
|
|
9850
|
+
responses: {
|
|
9851
|
+
200: {
|
|
9852
|
+
headers: {
|
|
9853
|
+
[name: string]: any;
|
|
9854
|
+
};
|
|
9855
|
+
content: {
|
|
9856
|
+
"application/json": components["schemas"]["OssieConversionFilesListResponse"];
|
|
9857
|
+
};
|
|
9858
|
+
};
|
|
9859
|
+
};
|
|
9860
|
+
};
|
|
9861
|
+
"OssieConversionPublicController.conversionResult": {
|
|
9862
|
+
parameters: {
|
|
9863
|
+
query?: never;
|
|
9864
|
+
header?: never;
|
|
9865
|
+
path: {
|
|
9866
|
+
deploymentId: number;
|
|
9867
|
+
conversionId: string;
|
|
9868
|
+
};
|
|
9869
|
+
cookie?: never;
|
|
9870
|
+
};
|
|
9871
|
+
requestBody?: never;
|
|
9872
|
+
responses: {
|
|
9873
|
+
200: {
|
|
9874
|
+
headers: {
|
|
9875
|
+
[name: string]: any;
|
|
9876
|
+
};
|
|
9877
|
+
content: {
|
|
9878
|
+
"application/json": components["schemas"]["OssieConversionResultResponse"];
|
|
9879
|
+
};
|
|
9880
|
+
};
|
|
9881
|
+
};
|
|
9882
|
+
};
|
|
9883
|
+
"DeploymentsPublicController.pods": {
|
|
9884
|
+
parameters: {
|
|
9885
|
+
query?: {
|
|
9262
9886
|
after?: string | null;
|
|
9263
9887
|
first?: number | null;
|
|
9264
9888
|
};
|
|
@@ -12298,6 +12922,282 @@ export interface operations {
|
|
|
12298
12922
|
};
|
|
12299
12923
|
};
|
|
12300
12924
|
};
|
|
12925
|
+
"RolesPublicController.getRoles": {
|
|
12926
|
+
parameters: {
|
|
12927
|
+
query?: {
|
|
12928
|
+
after?: string | null;
|
|
12929
|
+
first?: number | null;
|
|
12930
|
+
};
|
|
12931
|
+
header?: never;
|
|
12932
|
+
path?: never;
|
|
12933
|
+
cookie?: never;
|
|
12934
|
+
};
|
|
12935
|
+
requestBody?: never;
|
|
12936
|
+
responses: {
|
|
12937
|
+
200: {
|
|
12938
|
+
headers: {
|
|
12939
|
+
[name: string]: any;
|
|
12940
|
+
};
|
|
12941
|
+
content: {
|
|
12942
|
+
"application/json": components["schemas"]["RolesListResponse"];
|
|
12943
|
+
};
|
|
12944
|
+
};
|
|
12945
|
+
};
|
|
12946
|
+
};
|
|
12947
|
+
"RolesPublicController.createRole": {
|
|
12948
|
+
parameters: {
|
|
12949
|
+
query?: never;
|
|
12950
|
+
header?: never;
|
|
12951
|
+
path?: never;
|
|
12952
|
+
cookie?: never;
|
|
12953
|
+
};
|
|
12954
|
+
/** @description RoleCreateBody */
|
|
12955
|
+
requestBody?: {
|
|
12956
|
+
content: {
|
|
12957
|
+
"application/json": components["schemas"]["RoleCreateBody"];
|
|
12958
|
+
};
|
|
12959
|
+
};
|
|
12960
|
+
responses: {
|
|
12961
|
+
200: {
|
|
12962
|
+
headers: {
|
|
12963
|
+
[name: string]: any;
|
|
12964
|
+
};
|
|
12965
|
+
content: {
|
|
12966
|
+
"application/json": components["schemas"]["Role"];
|
|
12967
|
+
};
|
|
12968
|
+
};
|
|
12969
|
+
/** @description The name is one of the built-in role names, or a policy grants no action, names no resource, or scopes a `Deployment` to something that is not a deployment id. */
|
|
12970
|
+
400: {
|
|
12971
|
+
headers: {
|
|
12972
|
+
[name: string]: any;
|
|
12973
|
+
};
|
|
12974
|
+
content?: never;
|
|
12975
|
+
};
|
|
12976
|
+
/** @description A role with that name already exists. */
|
|
12977
|
+
409: {
|
|
12978
|
+
headers: {
|
|
12979
|
+
[name: string]: any;
|
|
12980
|
+
};
|
|
12981
|
+
content?: never;
|
|
12982
|
+
};
|
|
12983
|
+
};
|
|
12984
|
+
};
|
|
12985
|
+
"RolesPublicController.getRole": {
|
|
12986
|
+
parameters: {
|
|
12987
|
+
query?: never;
|
|
12988
|
+
header?: never;
|
|
12989
|
+
path: {
|
|
12990
|
+
roleId: number;
|
|
12991
|
+
};
|
|
12992
|
+
cookie?: never;
|
|
12993
|
+
};
|
|
12994
|
+
requestBody?: never;
|
|
12995
|
+
responses: {
|
|
12996
|
+
200: {
|
|
12997
|
+
headers: {
|
|
12998
|
+
[name: string]: any;
|
|
12999
|
+
};
|
|
13000
|
+
content: {
|
|
13001
|
+
"application/json": components["schemas"]["Role"];
|
|
13002
|
+
};
|
|
13003
|
+
};
|
|
13004
|
+
/** @description No custom role has that id. */
|
|
13005
|
+
404: {
|
|
13006
|
+
headers: {
|
|
13007
|
+
[name: string]: any;
|
|
13008
|
+
};
|
|
13009
|
+
content?: never;
|
|
13010
|
+
};
|
|
13011
|
+
};
|
|
13012
|
+
};
|
|
13013
|
+
"RolesPublicController.updateRole": {
|
|
13014
|
+
parameters: {
|
|
13015
|
+
query?: never;
|
|
13016
|
+
header?: never;
|
|
13017
|
+
path: {
|
|
13018
|
+
roleId: number;
|
|
13019
|
+
};
|
|
13020
|
+
cookie?: never;
|
|
13021
|
+
};
|
|
13022
|
+
/** @description RoleUpdateBody */
|
|
13023
|
+
requestBody?: {
|
|
13024
|
+
content: {
|
|
13025
|
+
"application/json": components["schemas"]["RoleUpdateBody"];
|
|
13026
|
+
};
|
|
13027
|
+
};
|
|
13028
|
+
responses: {
|
|
13029
|
+
200: {
|
|
13030
|
+
headers: {
|
|
13031
|
+
[name: string]: any;
|
|
13032
|
+
};
|
|
13033
|
+
content: {
|
|
13034
|
+
"application/json": components["schemas"]["Role"];
|
|
13035
|
+
};
|
|
13036
|
+
};
|
|
13037
|
+
/** @description `name` or `policies` was `null`, the new name is one of the built-in role names, or a policy is not a valid one. */
|
|
13038
|
+
400: {
|
|
13039
|
+
headers: {
|
|
13040
|
+
[name: string]: any;
|
|
13041
|
+
};
|
|
13042
|
+
content?: never;
|
|
13043
|
+
};
|
|
13044
|
+
/** @description No custom role has that id. */
|
|
13045
|
+
404: {
|
|
13046
|
+
headers: {
|
|
13047
|
+
[name: string]: any;
|
|
13048
|
+
};
|
|
13049
|
+
content?: never;
|
|
13050
|
+
};
|
|
13051
|
+
/** @description A role with that name already exists. */
|
|
13052
|
+
409: {
|
|
13053
|
+
headers: {
|
|
13054
|
+
[name: string]: any;
|
|
13055
|
+
};
|
|
13056
|
+
content?: never;
|
|
13057
|
+
};
|
|
13058
|
+
};
|
|
13059
|
+
};
|
|
13060
|
+
"RolesPublicController.deleteRole": {
|
|
13061
|
+
parameters: {
|
|
13062
|
+
query?: never;
|
|
13063
|
+
header?: never;
|
|
13064
|
+
path: {
|
|
13065
|
+
roleId: number;
|
|
13066
|
+
};
|
|
13067
|
+
cookie?: never;
|
|
13068
|
+
};
|
|
13069
|
+
requestBody?: never;
|
|
13070
|
+
responses: {
|
|
13071
|
+
/** @description Successful response */
|
|
13072
|
+
200: {
|
|
13073
|
+
headers: {
|
|
13074
|
+
[name: string]: any;
|
|
13075
|
+
};
|
|
13076
|
+
content: {
|
|
13077
|
+
"application/json": any;
|
|
13078
|
+
};
|
|
13079
|
+
};
|
|
13080
|
+
/** @description Role deleted. */
|
|
13081
|
+
204: {
|
|
13082
|
+
headers: {
|
|
13083
|
+
[name: string]: any;
|
|
13084
|
+
};
|
|
13085
|
+
content?: never;
|
|
13086
|
+
};
|
|
13087
|
+
/** @description No custom role has that id. */
|
|
13088
|
+
404: {
|
|
13089
|
+
headers: {
|
|
13090
|
+
[name: string]: any;
|
|
13091
|
+
};
|
|
13092
|
+
content?: never;
|
|
13093
|
+
};
|
|
13094
|
+
};
|
|
13095
|
+
};
|
|
13096
|
+
"RolesPublicController.getRoleHolders": {
|
|
13097
|
+
parameters: {
|
|
13098
|
+
query?: {
|
|
13099
|
+
after?: string | null;
|
|
13100
|
+
first?: number | null;
|
|
13101
|
+
};
|
|
13102
|
+
header?: never;
|
|
13103
|
+
path: {
|
|
13104
|
+
roleId: number;
|
|
13105
|
+
};
|
|
13106
|
+
cookie?: never;
|
|
13107
|
+
};
|
|
13108
|
+
requestBody?: never;
|
|
13109
|
+
responses: {
|
|
13110
|
+
200: {
|
|
13111
|
+
headers: {
|
|
13112
|
+
[name: string]: any;
|
|
13113
|
+
};
|
|
13114
|
+
content: {
|
|
13115
|
+
"application/json": components["schemas"]["RoleHoldersListResponse"];
|
|
13116
|
+
};
|
|
13117
|
+
};
|
|
13118
|
+
/** @description No role has that id. Cube's Admin role answers `404` too. */
|
|
13119
|
+
404: {
|
|
13120
|
+
headers: {
|
|
13121
|
+
[name: string]: any;
|
|
13122
|
+
};
|
|
13123
|
+
content?: never;
|
|
13124
|
+
};
|
|
13125
|
+
};
|
|
13126
|
+
};
|
|
13127
|
+
"RolesPublicController.assignRoleToUser": {
|
|
13128
|
+
parameters: {
|
|
13129
|
+
query?: never;
|
|
13130
|
+
header?: never;
|
|
13131
|
+
path: {
|
|
13132
|
+
roleId: number;
|
|
13133
|
+
userId: number;
|
|
13134
|
+
};
|
|
13135
|
+
cookie?: never;
|
|
13136
|
+
};
|
|
13137
|
+
requestBody?: never;
|
|
13138
|
+
responses: {
|
|
13139
|
+
/** @description Successful response */
|
|
13140
|
+
200: {
|
|
13141
|
+
headers: {
|
|
13142
|
+
[name: string]: any;
|
|
13143
|
+
};
|
|
13144
|
+
content: {
|
|
13145
|
+
"application/json": any;
|
|
13146
|
+
};
|
|
13147
|
+
};
|
|
13148
|
+
/** @description Role assigned, or already held. */
|
|
13149
|
+
204: {
|
|
13150
|
+
headers: {
|
|
13151
|
+
[name: string]: any;
|
|
13152
|
+
};
|
|
13153
|
+
content?: never;
|
|
13154
|
+
};
|
|
13155
|
+
/** @description The user or the role is unknown. Cube's Admin role is not resolvable here, so its id answers `404` as well. */
|
|
13156
|
+
404: {
|
|
13157
|
+
headers: {
|
|
13158
|
+
[name: string]: any;
|
|
13159
|
+
};
|
|
13160
|
+
content?: never;
|
|
13161
|
+
};
|
|
13162
|
+
};
|
|
13163
|
+
};
|
|
13164
|
+
"RolesPublicController.removeRoleFromUser": {
|
|
13165
|
+
parameters: {
|
|
13166
|
+
query?: never;
|
|
13167
|
+
header?: never;
|
|
13168
|
+
path: {
|
|
13169
|
+
roleId: number;
|
|
13170
|
+
userId: number;
|
|
13171
|
+
};
|
|
13172
|
+
cookie?: never;
|
|
13173
|
+
};
|
|
13174
|
+
requestBody?: never;
|
|
13175
|
+
responses: {
|
|
13176
|
+
/** @description Successful response */
|
|
13177
|
+
200: {
|
|
13178
|
+
headers: {
|
|
13179
|
+
[name: string]: any;
|
|
13180
|
+
};
|
|
13181
|
+
content: {
|
|
13182
|
+
"application/json": any;
|
|
13183
|
+
};
|
|
13184
|
+
};
|
|
13185
|
+
/** @description Role removed, or was not held. */
|
|
13186
|
+
204: {
|
|
13187
|
+
headers: {
|
|
13188
|
+
[name: string]: any;
|
|
13189
|
+
};
|
|
13190
|
+
content?: never;
|
|
13191
|
+
};
|
|
13192
|
+
/** @description The user is unknown. */
|
|
13193
|
+
404: {
|
|
13194
|
+
headers: {
|
|
13195
|
+
[name: string]: any;
|
|
13196
|
+
};
|
|
13197
|
+
content?: never;
|
|
13198
|
+
};
|
|
13199
|
+
};
|
|
13200
|
+
};
|
|
12301
13201
|
"OpenApiSpecPublicController.getSpec": {
|
|
12302
13202
|
parameters: {
|
|
12303
13203
|
query?: never;
|
|
@@ -12813,6 +13713,34 @@ export interface operations {
|
|
|
12813
13713
|
};
|
|
12814
13714
|
};
|
|
12815
13715
|
};
|
|
13716
|
+
"UsersAdminPublicController.getUserRoles": {
|
|
13717
|
+
parameters: {
|
|
13718
|
+
query?: never;
|
|
13719
|
+
header?: never;
|
|
13720
|
+
path: {
|
|
13721
|
+
id: number;
|
|
13722
|
+
};
|
|
13723
|
+
cookie?: never;
|
|
13724
|
+
};
|
|
13725
|
+
requestBody?: never;
|
|
13726
|
+
responses: {
|
|
13727
|
+
200: {
|
|
13728
|
+
headers: {
|
|
13729
|
+
[name: string]: any;
|
|
13730
|
+
};
|
|
13731
|
+
content: {
|
|
13732
|
+
"application/json": components["schemas"]["UserRolesResponse"];
|
|
13733
|
+
};
|
|
13734
|
+
};
|
|
13735
|
+
/** @description The user is unknown. */
|
|
13736
|
+
404: {
|
|
13737
|
+
headers: {
|
|
13738
|
+
[name: string]: any;
|
|
13739
|
+
};
|
|
13740
|
+
content?: never;
|
|
13741
|
+
};
|
|
13742
|
+
};
|
|
13743
|
+
};
|
|
12816
13744
|
"DeploymentsBuildPublicController.createDeployment": {
|
|
12817
13745
|
parameters: {
|
|
12818
13746
|
query?: never;
|