@gooddata/api-client-tiger 11.13.0-alpha.6 → 11.14.0-alpha.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.
@@ -203,6 +203,58 @@
203
203
  }
204
204
  }
205
205
  },
206
+ "/api/v1/actions/workspaces/{workspaceId}/execution/detectOutliers": {
207
+ "post": {
208
+ "tags": ["Computation", "actions"],
209
+ "summary": "(BETA) Outlier Detection",
210
+ "description": "(BETA) Computes outlier detection for the provided execution definition.",
211
+ "operationId": "outlierDetection",
212
+ "parameters": [
213
+ {
214
+ "name": "workspaceId",
215
+ "in": "path",
216
+ "description": "Workspace identifier",
217
+ "required": true,
218
+ "schema": {
219
+ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
220
+ "type": "string"
221
+ }
222
+ },
223
+ {
224
+ "name": "skip-cache",
225
+ "in": "header",
226
+ "description": "Ignore all caches during execution of current request.",
227
+ "required": false,
228
+ "schema": {
229
+ "type": "boolean",
230
+ "default": false
231
+ }
232
+ }
233
+ ],
234
+ "requestBody": {
235
+ "content": {
236
+ "application/json": {
237
+ "schema": {
238
+ "$ref": "#/components/schemas/OutlierDetectionRequest"
239
+ }
240
+ }
241
+ },
242
+ "required": true
243
+ },
244
+ "responses": {
245
+ "200": {
246
+ "description": "OK",
247
+ "content": {
248
+ "application/json": {
249
+ "schema": {
250
+ "$ref": "#/components/schemas/OutlierDetectionResponse"
251
+ }
252
+ }
253
+ }
254
+ }
255
+ }
256
+ }
257
+ },
206
258
  "/api/v1/actions/workspaces/{workspaceId}/execution/computeKeyDrivers": {
207
259
  "post": {
208
260
  "tags": ["Computation", "actions"],
@@ -1119,6 +1171,66 @@
1119
1171
  }
1120
1172
  }
1121
1173
  },
1174
+ "/api/v1/actions/workspaces/{workspaceId}/execution/detectOutliers/result/{resultId}": {
1175
+ "get": {
1176
+ "tags": ["Computation", "actions"],
1177
+ "summary": "(BETA) Outlier Detection Result",
1178
+ "description": "(BETA) Gets outlier detection result.",
1179
+ "operationId": "outlierDetectionResult",
1180
+ "parameters": [
1181
+ {
1182
+ "name": "workspaceId",
1183
+ "in": "path",
1184
+ "description": "Workspace identifier",
1185
+ "required": true,
1186
+ "schema": {
1187
+ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
1188
+ "type": "string"
1189
+ }
1190
+ },
1191
+ {
1192
+ "name": "resultId",
1193
+ "in": "path",
1194
+ "description": "Result ID",
1195
+ "required": true,
1196
+ "schema": {
1197
+ "type": "string"
1198
+ },
1199
+ "example": "a9b28f9dc55f37ea9f4a5fb0c76895923591e781"
1200
+ },
1201
+ {
1202
+ "name": "offset",
1203
+ "in": "query",
1204
+ "required": false,
1205
+ "schema": {
1206
+ "type": "integer",
1207
+ "format": "int32"
1208
+ }
1209
+ },
1210
+ {
1211
+ "name": "limit",
1212
+ "in": "query",
1213
+ "required": false,
1214
+ "schema": {
1215
+ "type": "integer",
1216
+ "format": "int32"
1217
+ }
1218
+ }
1219
+ ],
1220
+ "responses": {
1221
+ "200": {
1222
+ "description": "OK",
1223
+ "content": {
1224
+ "application/json": {
1225
+ "schema": {
1226
+ "$ref": "#/components/schemas/OutlierDetectionResult"
1227
+ }
1228
+ }
1229
+ }
1230
+ }
1231
+ }
1232
+ }
1233
+ },
1122
1234
  "/api/v1/actions/workspaces/{workspaceId}/execution/computeKeyDrivers/result/{resultId}": {
1123
1235
  "get": {
1124
1236
  "tags": ["Computation", "actions"],
@@ -1715,6 +1827,20 @@
1715
1827
  },
1716
1828
  "description": "A datetime filter specifying exact from and to values."
1717
1829
  },
1830
+ "AbstractMeasureValueFilter": {
1831
+ "type": "object",
1832
+ "oneOf": [
1833
+ {
1834
+ "$ref": "#/components/schemas/ComparisonMeasureValueFilter"
1835
+ },
1836
+ {
1837
+ "$ref": "#/components/schemas/RangeMeasureValueFilter"
1838
+ },
1839
+ {
1840
+ "$ref": "#/components/schemas/RankingFilter"
1841
+ }
1842
+ ]
1843
+ },
1718
1844
  "AfmIdentifier": {
1719
1845
  "type": "object",
1720
1846
  "description": "Reference to the attribute label to which the filter should be applied.",
@@ -1914,6 +2040,26 @@
1914
2040
  },
1915
2041
  "description": "Filter on specific set of label values."
1916
2042
  },
2043
+ "AttributeItem": {
2044
+ "required": ["label", "localIdentifier"],
2045
+ "type": "object",
2046
+ "properties": {
2047
+ "localIdentifier": {
2048
+ "pattern": "^[.a-zA-Z0-9_-]+$",
2049
+ "type": "string",
2050
+ "description": "Local identifier of the attribute. This can be used to reference the attribute in other parts of the execution definition.",
2051
+ "example": "attribute_1"
2052
+ },
2053
+ "label": {
2054
+ "$ref": "#/components/schemas/AfmObjectIdentifierLabel"
2055
+ },
2056
+ "showAllValues": {
2057
+ "type": "boolean",
2058
+ "description": "Indicates whether to show all values of given attribute even if the data bound to those values is not available.",
2059
+ "default": false
2060
+ }
2061
+ }
2062
+ },
1917
2063
  "BoundedFilter": {
1918
2064
  "required": ["granularity"],
1919
2065
  "type": "object",
@@ -1961,6 +2107,56 @@
1961
2107
  },
1962
2108
  "description": "Bounding filter for this relative date filter. This can be used to limit the range of the relative date filter to a specific date range."
1963
2109
  },
2110
+ "ComparisonMeasureValueFilter": {
2111
+ "required": ["comparisonMeasureValueFilter"],
2112
+ "type": "object",
2113
+ "properties": {
2114
+ "comparisonMeasureValueFilter": {
2115
+ "required": ["operator", "value", "measure"],
2116
+ "type": "object",
2117
+ "properties": {
2118
+ "dimensionality": {
2119
+ "type": "array",
2120
+ "description": "References to the attributes to be used when filtering.",
2121
+ "items": {
2122
+ "$ref": "#/components/schemas/AfmIdentifier"
2123
+ }
2124
+ },
2125
+ "treatNullValuesAs": {
2126
+ "type": "number",
2127
+ "description": "A value that will be substituted for null values in the metric for the comparisons.",
2128
+ "example": 0
2129
+ },
2130
+ "operator": {
2131
+ "type": "string",
2132
+ "example": "GREATER_THAN",
2133
+ "enum": [
2134
+ "GREATER_THAN",
2135
+ "GREATER_THAN_OR_EQUAL_TO",
2136
+ "LESS_THAN",
2137
+ "LESS_THAN_OR_EQUAL_TO",
2138
+ "EQUAL_TO",
2139
+ "NOT_EQUAL_TO"
2140
+ ]
2141
+ },
2142
+ "value": {
2143
+ "type": "number",
2144
+ "example": 1327
2145
+ },
2146
+ "localIdentifier": {
2147
+ "type": "string"
2148
+ },
2149
+ "applyOnResult": {
2150
+ "type": "boolean"
2151
+ },
2152
+ "measure": {
2153
+ "$ref": "#/components/schemas/AfmIdentifier"
2154
+ }
2155
+ }
2156
+ }
2157
+ },
2158
+ "description": "Filter the result by comparing specified metric to given constant value, using given comparison operator."
2159
+ },
1964
2160
  "DateFilter": {
1965
2161
  "type": "object",
1966
2162
  "description": "Abstract filter definition type for dates.",
@@ -1973,6 +2169,36 @@
1973
2169
  }
1974
2170
  ]
1975
2171
  },
2172
+ "FilterDefinition": {
2173
+ "type": "object",
2174
+ "description": "Abstract filter definition type",
2175
+ "oneOf": [
2176
+ {
2177
+ "$ref": "#/components/schemas/InlineFilterDefinition"
2178
+ },
2179
+ {
2180
+ "$ref": "#/components/schemas/RankingFilter"
2181
+ },
2182
+ {
2183
+ "$ref": "#/components/schemas/ComparisonMeasureValueFilter"
2184
+ },
2185
+ {
2186
+ "$ref": "#/components/schemas/RangeMeasureValueFilter"
2187
+ },
2188
+ {
2189
+ "$ref": "#/components/schemas/AbsoluteDateFilter"
2190
+ },
2191
+ {
2192
+ "$ref": "#/components/schemas/RelativeDateFilter"
2193
+ },
2194
+ {
2195
+ "$ref": "#/components/schemas/NegativeAttributeFilter"
2196
+ },
2197
+ {
2198
+ "$ref": "#/components/schemas/PositiveAttributeFilter"
2199
+ }
2200
+ ]
2201
+ },
1976
2202
  "FilterDefinitionForSimpleMeasure": {
1977
2203
  "type": "object",
1978
2204
  "description": "Abstract filter definition type for simple metric.",
@@ -1985,6 +2211,29 @@
1985
2211
  }
1986
2212
  ]
1987
2213
  },
2214
+ "InlineFilterDefinition": {
2215
+ "required": ["inline"],
2216
+ "type": "object",
2217
+ "properties": {
2218
+ "inline": {
2219
+ "required": ["filter"],
2220
+ "type": "object",
2221
+ "properties": {
2222
+ "filter": {
2223
+ "type": "string",
2224
+ "description": "MAQL query representing the filter."
2225
+ },
2226
+ "localIdentifier": {
2227
+ "type": "string"
2228
+ },
2229
+ "applyOnResult": {
2230
+ "type": "boolean"
2231
+ }
2232
+ }
2233
+ }
2234
+ },
2235
+ "description": "Filter in form of direct MAQL query."
2236
+ },
1988
2237
  "InlineMeasureDefinition": {
1989
2238
  "required": ["inline"],
1990
2239
  "type": "object",
@@ -2002,37 +2251,15 @@
2002
2251
  },
2003
2252
  "description": "Metric defined by the raw MAQL query."
2004
2253
  },
2005
- "KeyDriversRequest": {
2006
- "required": ["metric"],
2254
+ "MeasureDefinition": {
2007
2255
  "type": "object",
2008
- "properties": {
2009
- "metric": {
2010
- "$ref": "#/components/schemas/MeasureItem"
2256
+ "description": "Abstract metric definition type",
2257
+ "oneOf": [
2258
+ {
2259
+ "$ref": "#/components/schemas/InlineMeasureDefinition"
2011
2260
  },
2012
- "auxMetrics": {
2013
- "type": "array",
2014
- "description": "Additional metrics to be included in the computation, but excluded from the analysis.",
2015
- "items": {
2016
- "$ref": "#/components/schemas/MeasureItem"
2017
- }
2018
- },
2019
- "sortDirection": {
2020
- "type": "string",
2021
- "description": "Sorting elements - ascending/descending order.",
2022
- "default": "DESC",
2023
- "enum": ["ASC", "DESC"]
2024
- }
2025
- }
2026
- },
2027
- "MeasureDefinition": {
2028
- "type": "object",
2029
- "description": "Abstract metric definition type",
2030
- "oneOf": [
2031
- {
2032
- "$ref": "#/components/schemas/InlineMeasureDefinition"
2033
- },
2034
- {
2035
- "$ref": "#/components/schemas/ArithmeticMeasureDefinition"
2261
+ {
2262
+ "$ref": "#/components/schemas/ArithmeticMeasureDefinition"
2036
2263
  },
2037
2264
  {
2038
2265
  "$ref": "#/components/schemas/SimpleMeasureDefinition"
@@ -2058,6 +2285,18 @@
2058
2285
  },
2059
2286
  "description": "Metric is a quantity that is calculated from the data."
2060
2287
  },
2288
+ "MeasureValueFilter": {
2289
+ "type": "object",
2290
+ "description": "Abstract filter definition type filtering by the value of the metric.",
2291
+ "oneOf": [
2292
+ {
2293
+ "$ref": "#/components/schemas/ComparisonMeasureValueFilter"
2294
+ },
2295
+ {
2296
+ "$ref": "#/components/schemas/RangeMeasureValueFilter"
2297
+ }
2298
+ ]
2299
+ },
2061
2300
  "NegativeAttributeFilter": {
2062
2301
  "required": ["negativeAttributeFilter"],
2063
2302
  "type": "object",
@@ -2083,6 +2322,49 @@
2083
2322
  },
2084
2323
  "description": "Filter able to limit element values by label and related selected negated elements."
2085
2324
  },
2325
+ "OutlierDetectionRequest": {
2326
+ "required": ["dateAttribute", "granularity", "measures", "sensitivity"],
2327
+ "type": "object",
2328
+ "properties": {
2329
+ "measures": {
2330
+ "minItems": 1,
2331
+ "type": "array",
2332
+ "items": {
2333
+ "$ref": "#/components/schemas/MeasureItem"
2334
+ }
2335
+ },
2336
+ "dateAttribute": {
2337
+ "$ref": "#/components/schemas/AttributeItem"
2338
+ },
2339
+ "filters": {
2340
+ "type": "array",
2341
+ "description": "Optional filters to apply",
2342
+ "items": {
2343
+ "oneOf": [
2344
+ {
2345
+ "$ref": "#/components/schemas/AbstractMeasureValueFilter"
2346
+ },
2347
+ {
2348
+ "$ref": "#/components/schemas/FilterDefinitionForSimpleMeasure"
2349
+ },
2350
+ {
2351
+ "$ref": "#/components/schemas/InlineFilterDefinition"
2352
+ }
2353
+ ]
2354
+ }
2355
+ },
2356
+ "sensitivity": {
2357
+ "type": "string",
2358
+ "description": "Sensitivity level for outlier detection",
2359
+ "enum": ["LOW", "MEDIUM", "HIGH"]
2360
+ },
2361
+ "granularity": {
2362
+ "type": "string",
2363
+ "description": "Date granularity for anomaly detection. Only time-based granularities are supported (HOUR, DAY, WEEK, MONTH, QUARTER, YEAR).",
2364
+ "enum": ["HOUR", "DAY", "WEEK", "MONTH", "QUARTER", "YEAR"]
2365
+ }
2366
+ }
2367
+ },
2086
2368
  "PopDataset": {
2087
2369
  "required": ["dataset", "periodsAgo"],
2088
2370
  "type": "object",
@@ -2197,6 +2479,97 @@
2197
2479
  },
2198
2480
  "description": "Filter able to limit element values by label and related selected elements."
2199
2481
  },
2482
+ "RangeMeasureValueFilter": {
2483
+ "required": ["rangeMeasureValueFilter"],
2484
+ "type": "object",
2485
+ "properties": {
2486
+ "rangeMeasureValueFilter": {
2487
+ "required": ["from", "operator", "to", "measure"],
2488
+ "type": "object",
2489
+ "properties": {
2490
+ "dimensionality": {
2491
+ "type": "array",
2492
+ "description": "References to the attributes to be used when filtering.",
2493
+ "items": {
2494
+ "$ref": "#/components/schemas/AfmIdentifier"
2495
+ }
2496
+ },
2497
+ "treatNullValuesAs": {
2498
+ "type": "number",
2499
+ "description": "A value that will be substituted for null values in the metric for the comparisons.",
2500
+ "example": 0
2501
+ },
2502
+ "operator": {
2503
+ "type": "string",
2504
+ "example": "BETWEEN",
2505
+ "enum": ["BETWEEN", "NOT_BETWEEN"]
2506
+ },
2507
+ "from": {
2508
+ "type": "number",
2509
+ "example": 100
2510
+ },
2511
+ "to": {
2512
+ "type": "number",
2513
+ "example": 999
2514
+ },
2515
+ "localIdentifier": {
2516
+ "type": "string"
2517
+ },
2518
+ "applyOnResult": {
2519
+ "type": "boolean"
2520
+ },
2521
+ "measure": {
2522
+ "$ref": "#/components/schemas/AfmIdentifier"
2523
+ }
2524
+ }
2525
+ }
2526
+ },
2527
+ "description": "Filter the result by comparing specified metric to given range of values."
2528
+ },
2529
+ "RankingFilter": {
2530
+ "required": ["rankingFilter"],
2531
+ "type": "object",
2532
+ "properties": {
2533
+ "rankingFilter": {
2534
+ "required": ["measures", "operator", "value"],
2535
+ "type": "object",
2536
+ "properties": {
2537
+ "dimensionality": {
2538
+ "type": "array",
2539
+ "description": "References to the attributes to be used when filtering.",
2540
+ "items": {
2541
+ "$ref": "#/components/schemas/AfmIdentifier"
2542
+ }
2543
+ },
2544
+ "measures": {
2545
+ "type": "array",
2546
+ "description": "References to the metrics to be used when filtering.",
2547
+ "items": {
2548
+ "$ref": "#/components/schemas/AfmIdentifier"
2549
+ }
2550
+ },
2551
+ "operator": {
2552
+ "type": "string",
2553
+ "description": "The type of ranking to use, TOP or BOTTOM.",
2554
+ "enum": ["TOP", "BOTTOM"]
2555
+ },
2556
+ "value": {
2557
+ "type": "integer",
2558
+ "description": "Number of top/bottom values to filter.",
2559
+ "format": "int32",
2560
+ "example": 5
2561
+ },
2562
+ "localIdentifier": {
2563
+ "type": "string"
2564
+ },
2565
+ "applyOnResult": {
2566
+ "type": "boolean"
2567
+ }
2568
+ }
2569
+ }
2570
+ },
2571
+ "description": "Filter the result on top/bottom N values according to given metric(s)."
2572
+ },
2200
2573
  "RelativeDateFilter": {
2201
2574
  "required": ["relativeDateFilter"],
2202
2575
  "type": "object",
@@ -2304,6 +2677,37 @@
2304
2677
  },
2305
2678
  "description": "Metric defined by referencing a MAQL metric or an LDM fact object with aggregation."
2306
2679
  },
2680
+ "OutlierDetectionResponse": {
2681
+ "required": ["links"],
2682
+ "type": "object",
2683
+ "properties": {
2684
+ "links": {
2685
+ "$ref": "#/components/schemas/ExecutionLinks"
2686
+ }
2687
+ }
2688
+ },
2689
+ "KeyDriversRequest": {
2690
+ "required": ["metric"],
2691
+ "type": "object",
2692
+ "properties": {
2693
+ "metric": {
2694
+ "$ref": "#/components/schemas/MeasureItem"
2695
+ },
2696
+ "auxMetrics": {
2697
+ "type": "array",
2698
+ "description": "Additional metrics to be included in the computation, but excluded from the analysis.",
2699
+ "items": {
2700
+ "$ref": "#/components/schemas/MeasureItem"
2701
+ }
2702
+ },
2703
+ "sortDirection": {
2704
+ "type": "string",
2705
+ "description": "Sorting elements - ascending/descending order.",
2706
+ "default": "DESC",
2707
+ "enum": ["ASC", "DESC"]
2708
+ }
2709
+ }
2710
+ },
2307
2711
  "AttributeFormat": {
2308
2712
  "required": ["locale", "pattern"],
2309
2713
  "type": "object",
@@ -2354,359 +2758,119 @@
2354
2758
  "DAY_OF_WEEK",
2355
2759
  "DAY_OF_MONTH",
2356
2760
  "DAY_OF_QUARTER",
2357
- "DAY_OF_YEAR",
2358
- "WEEK_OF_YEAR",
2359
- "MONTH_OF_YEAR",
2360
- "QUARTER_OF_YEAR",
2361
- "FISCAL_MONTH",
2362
- "FISCAL_QUARTER",
2363
- "FISCAL_YEAR"
2364
- ]
2365
- },
2366
- "format": {
2367
- "$ref": "#/components/schemas/AttributeFormat"
2368
- },
2369
- "valueType": {
2370
- "type": "string",
2371
- "enum": [
2372
- "TEXT",
2373
- "HYPERLINK",
2374
- "GEO",
2375
- "GEO_LONGITUDE",
2376
- "GEO_LATITUDE",
2377
- "GEO_AREA",
2378
- "IMAGE"
2379
- ]
2380
- }
2381
- }
2382
- },
2383
- "KeyDriversResponse": {
2384
- "required": ["dimensions", "links"],
2385
- "type": "object",
2386
- "properties": {
2387
- "dimensions": {
2388
- "type": "array",
2389
- "items": {
2390
- "$ref": "#/components/schemas/KeyDriversDimension"
2391
- }
2392
- },
2393
- "links": {
2394
- "$ref": "#/components/schemas/ExecutionLinks"
2395
- }
2396
- }
2397
- },
2398
- "RestApiIdentifier": {
2399
- "required": ["id", "type"],
2400
- "type": "object",
2401
- "properties": {
2402
- "id": {
2403
- "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
2404
- "type": "string",
2405
- "example": "sample_item.price"
2406
- },
2407
- "type": {
2408
- "type": "string",
2409
- "example": "fact"
2410
- }
2411
- },
2412
- "description": "Object identifier."
2413
- },
2414
- "AbstractMeasureValueFilter": {
2415
- "type": "object",
2416
- "oneOf": [
2417
- {
2418
- "$ref": "#/components/schemas/ComparisonMeasureValueFilter"
2419
- },
2420
- {
2421
- "$ref": "#/components/schemas/RangeMeasureValueFilter"
2422
- },
2423
- {
2424
- "$ref": "#/components/schemas/RankingFilter"
2425
- }
2426
- ]
2427
- },
2428
- "AttributeItem": {
2429
- "required": ["label", "localIdentifier"],
2430
- "type": "object",
2431
- "properties": {
2432
- "localIdentifier": {
2433
- "pattern": "^[.a-zA-Z0-9_-]+$",
2434
- "type": "string",
2435
- "description": "Local identifier of the attribute. This can be used to reference the attribute in other parts of the execution definition.",
2436
- "example": "attribute_1"
2437
- },
2438
- "label": {
2439
- "$ref": "#/components/schemas/AfmObjectIdentifierLabel"
2440
- },
2441
- "showAllValues": {
2442
- "type": "boolean",
2443
- "description": "Indicates whether to show all values of given attribute even if the data bound to those values is not available.",
2444
- "default": false
2445
- }
2446
- }
2447
- },
2448
- "ChangeAnalysisRequest": {
2449
- "required": ["analyzedPeriod", "dateAttribute", "measure", "referencePeriod"],
2450
- "type": "object",
2451
- "properties": {
2452
- "measure": {
2453
- "$ref": "#/components/schemas/MeasureItem"
2454
- },
2455
- "dateAttribute": {
2456
- "$ref": "#/components/schemas/AttributeItem"
2457
- },
2458
- "referencePeriod": {
2459
- "type": "string",
2460
- "description": "The reference time period (e.g., '2025-01')"
2461
- },
2462
- "analyzedPeriod": {
2463
- "type": "string",
2464
- "description": "The analyzed time period (e.g., '2025-02')"
2465
- },
2466
- "attributes": {
2467
- "type": "array",
2468
- "description": "Attributes to analyze for significant changes. If empty, valid attributes will be automatically discovered.",
2469
- "items": {
2470
- "$ref": "#/components/schemas/AttributeItem"
2471
- }
2472
- },
2473
- "filters": {
2474
- "type": "array",
2475
- "description": "Optional filters to apply.",
2476
- "items": {
2477
- "oneOf": [
2478
- {
2479
- "$ref": "#/components/schemas/AbstractMeasureValueFilter"
2480
- },
2481
- {
2482
- "$ref": "#/components/schemas/FilterDefinitionForSimpleMeasure"
2483
- },
2484
- {
2485
- "$ref": "#/components/schemas/InlineFilterDefinition"
2486
- }
2487
- ]
2488
- }
2489
- },
2490
- "auxMeasures": {
2491
- "type": "array",
2492
- "description": "Auxiliary measures",
2493
- "items": {
2494
- "$ref": "#/components/schemas/MeasureItem"
2495
- }
2496
- },
2497
- "useSmartAttributeSelection": {
2498
- "type": "boolean",
2499
- "description": "Whether to use smart attribute selection (LLM-based) instead of discovering all valid attributes. If true, GenAI will intelligently select the most relevant attributes for change analysis. If false or not set, all valid attributes will be discovered using Calcique. Smart attribute selection applies only when no attributes are provided.",
2500
- "default": false
2501
- }
2502
- },
2503
- "description": "Request for change analysis computation"
2504
- },
2505
- "ComparisonMeasureValueFilter": {
2506
- "required": ["comparisonMeasureValueFilter"],
2507
- "type": "object",
2508
- "properties": {
2509
- "comparisonMeasureValueFilter": {
2510
- "required": ["operator", "value", "measure"],
2511
- "type": "object",
2512
- "properties": {
2513
- "dimensionality": {
2514
- "type": "array",
2515
- "description": "References to the attributes to be used when filtering.",
2516
- "items": {
2517
- "$ref": "#/components/schemas/AfmIdentifier"
2518
- }
2519
- },
2520
- "treatNullValuesAs": {
2521
- "type": "number",
2522
- "description": "A value that will be substituted for null values in the metric for the comparisons.",
2523
- "example": 0
2524
- },
2525
- "operator": {
2526
- "type": "string",
2527
- "example": "GREATER_THAN",
2528
- "enum": [
2529
- "GREATER_THAN",
2530
- "GREATER_THAN_OR_EQUAL_TO",
2531
- "LESS_THAN",
2532
- "LESS_THAN_OR_EQUAL_TO",
2533
- "EQUAL_TO",
2534
- "NOT_EQUAL_TO"
2535
- ]
2536
- },
2537
- "value": {
2538
- "type": "number",
2539
- "example": 1327
2540
- },
2541
- "localIdentifier": {
2542
- "type": "string"
2543
- },
2544
- "applyOnResult": {
2545
- "type": "boolean"
2546
- },
2547
- "measure": {
2548
- "$ref": "#/components/schemas/AfmIdentifier"
2549
- }
2550
- }
2551
- }
2552
- },
2553
- "description": "Filter the result by comparing specified metric to given constant value, using given comparison operator."
2554
- },
2555
- "FilterDefinition": {
2556
- "type": "object",
2557
- "description": "Abstract filter definition type",
2558
- "oneOf": [
2559
- {
2560
- "$ref": "#/components/schemas/InlineFilterDefinition"
2561
- },
2562
- {
2563
- "$ref": "#/components/schemas/RankingFilter"
2564
- },
2565
- {
2566
- "$ref": "#/components/schemas/ComparisonMeasureValueFilter"
2567
- },
2568
- {
2569
- "$ref": "#/components/schemas/RangeMeasureValueFilter"
2570
- },
2571
- {
2572
- "$ref": "#/components/schemas/AbsoluteDateFilter"
2573
- },
2574
- {
2575
- "$ref": "#/components/schemas/RelativeDateFilter"
2761
+ "DAY_OF_YEAR",
2762
+ "WEEK_OF_YEAR",
2763
+ "MONTH_OF_YEAR",
2764
+ "QUARTER_OF_YEAR",
2765
+ "FISCAL_MONTH",
2766
+ "FISCAL_QUARTER",
2767
+ "FISCAL_YEAR"
2768
+ ]
2576
2769
  },
2577
- {
2578
- "$ref": "#/components/schemas/NegativeAttributeFilter"
2770
+ "format": {
2771
+ "$ref": "#/components/schemas/AttributeFormat"
2579
2772
  },
2580
- {
2581
- "$ref": "#/components/schemas/PositiveAttributeFilter"
2773
+ "valueType": {
2774
+ "type": "string",
2775
+ "enum": [
2776
+ "TEXT",
2777
+ "HYPERLINK",
2778
+ "GEO",
2779
+ "GEO_LONGITUDE",
2780
+ "GEO_LATITUDE",
2781
+ "GEO_AREA",
2782
+ "IMAGE"
2783
+ ]
2582
2784
  }
2583
- ]
2785
+ }
2584
2786
  },
2585
- "InlineFilterDefinition": {
2586
- "required": ["inline"],
2787
+ "KeyDriversResponse": {
2788
+ "required": ["dimensions", "links"],
2587
2789
  "type": "object",
2588
2790
  "properties": {
2589
- "inline": {
2590
- "required": ["filter"],
2591
- "type": "object",
2592
- "properties": {
2593
- "filter": {
2594
- "type": "string",
2595
- "description": "MAQL query representing the filter."
2596
- },
2597
- "localIdentifier": {
2598
- "type": "string"
2599
- },
2600
- "applyOnResult": {
2601
- "type": "boolean"
2602
- }
2791
+ "dimensions": {
2792
+ "type": "array",
2793
+ "items": {
2794
+ "$ref": "#/components/schemas/KeyDriversDimension"
2603
2795
  }
2604
- }
2605
- },
2606
- "description": "Filter in form of direct MAQL query."
2607
- },
2608
- "MeasureValueFilter": {
2609
- "type": "object",
2610
- "description": "Abstract filter definition type filtering by the value of the metric.",
2611
- "oneOf": [
2612
- {
2613
- "$ref": "#/components/schemas/ComparisonMeasureValueFilter"
2614
2796
  },
2615
- {
2616
- "$ref": "#/components/schemas/RangeMeasureValueFilter"
2797
+ "links": {
2798
+ "$ref": "#/components/schemas/ExecutionLinks"
2617
2799
  }
2618
- ]
2800
+ }
2619
2801
  },
2620
- "RangeMeasureValueFilter": {
2621
- "required": ["rangeMeasureValueFilter"],
2802
+ "RestApiIdentifier": {
2803
+ "required": ["id", "type"],
2622
2804
  "type": "object",
2623
2805
  "properties": {
2624
- "rangeMeasureValueFilter": {
2625
- "required": ["from", "operator", "to", "measure"],
2626
- "type": "object",
2627
- "properties": {
2628
- "dimensionality": {
2629
- "type": "array",
2630
- "description": "References to the attributes to be used when filtering.",
2631
- "items": {
2632
- "$ref": "#/components/schemas/AfmIdentifier"
2633
- }
2634
- },
2635
- "treatNullValuesAs": {
2636
- "type": "number",
2637
- "description": "A value that will be substituted for null values in the metric for the comparisons.",
2638
- "example": 0
2639
- },
2640
- "operator": {
2641
- "type": "string",
2642
- "example": "BETWEEN",
2643
- "enum": ["BETWEEN", "NOT_BETWEEN"]
2644
- },
2645
- "from": {
2646
- "type": "number",
2647
- "example": 100
2648
- },
2649
- "to": {
2650
- "type": "number",
2651
- "example": 999
2652
- },
2653
- "localIdentifier": {
2654
- "type": "string"
2655
- },
2656
- "applyOnResult": {
2657
- "type": "boolean"
2658
- },
2659
- "measure": {
2660
- "$ref": "#/components/schemas/AfmIdentifier"
2661
- }
2662
- }
2806
+ "id": {
2807
+ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
2808
+ "type": "string",
2809
+ "example": "sample_item.price"
2810
+ },
2811
+ "type": {
2812
+ "type": "string",
2813
+ "example": "fact"
2663
2814
  }
2664
2815
  },
2665
- "description": "Filter the result by comparing specified metric to given range of values."
2816
+ "description": "Object identifier."
2666
2817
  },
2667
- "RankingFilter": {
2668
- "required": ["rankingFilter"],
2818
+ "ChangeAnalysisRequest": {
2819
+ "required": ["analyzedPeriod", "dateAttribute", "measure", "referencePeriod"],
2669
2820
  "type": "object",
2670
2821
  "properties": {
2671
- "rankingFilter": {
2672
- "required": ["measures", "operator", "value"],
2673
- "type": "object",
2674
- "properties": {
2675
- "dimensionality": {
2676
- "type": "array",
2677
- "description": "References to the attributes to be used when filtering.",
2678
- "items": {
2679
- "$ref": "#/components/schemas/AfmIdentifier"
2680
- }
2681
- },
2682
- "measures": {
2683
- "type": "array",
2684
- "description": "References to the metrics to be used when filtering.",
2685
- "items": {
2686
- "$ref": "#/components/schemas/AfmIdentifier"
2822
+ "measure": {
2823
+ "$ref": "#/components/schemas/MeasureItem"
2824
+ },
2825
+ "dateAttribute": {
2826
+ "$ref": "#/components/schemas/AttributeItem"
2827
+ },
2828
+ "referencePeriod": {
2829
+ "type": "string",
2830
+ "description": "The reference time period (e.g., '2025-01')"
2831
+ },
2832
+ "analyzedPeriod": {
2833
+ "type": "string",
2834
+ "description": "The analyzed time period (e.g., '2025-02')"
2835
+ },
2836
+ "attributes": {
2837
+ "type": "array",
2838
+ "description": "Attributes to analyze for significant changes. If empty, valid attributes will be automatically discovered.",
2839
+ "items": {
2840
+ "$ref": "#/components/schemas/AttributeItem"
2841
+ }
2842
+ },
2843
+ "filters": {
2844
+ "type": "array",
2845
+ "description": "Optional filters to apply.",
2846
+ "items": {
2847
+ "oneOf": [
2848
+ {
2849
+ "$ref": "#/components/schemas/AbstractMeasureValueFilter"
2850
+ },
2851
+ {
2852
+ "$ref": "#/components/schemas/FilterDefinitionForSimpleMeasure"
2853
+ },
2854
+ {
2855
+ "$ref": "#/components/schemas/InlineFilterDefinition"
2687
2856
  }
2688
- },
2689
- "operator": {
2690
- "type": "string",
2691
- "description": "The type of ranking to use, TOP or BOTTOM.",
2692
- "enum": ["TOP", "BOTTOM"]
2693
- },
2694
- "value": {
2695
- "type": "integer",
2696
- "description": "Number of top/bottom values to filter.",
2697
- "format": "int32",
2698
- "example": 5
2699
- },
2700
- "localIdentifier": {
2701
- "type": "string"
2702
- },
2703
- "applyOnResult": {
2704
- "type": "boolean"
2705
- }
2857
+ ]
2858
+ }
2859
+ },
2860
+ "auxMeasures": {
2861
+ "type": "array",
2862
+ "description": "Auxiliary measures",
2863
+ "items": {
2864
+ "$ref": "#/components/schemas/MeasureItem"
2706
2865
  }
2866
+ },
2867
+ "useSmartAttributeSelection": {
2868
+ "type": "boolean",
2869
+ "description": "Whether to use smart attribute selection (LLM-based) instead of discovering all valid attributes. If true, GenAI will intelligently select the most relevant attributes for change analysis. If false or not set, all valid attributes will be discovered using Calcique. Smart attribute selection applies only when no attributes are provided.",
2870
+ "default": false
2707
2871
  }
2708
2872
  },
2709
- "description": "Filter the result on top/bottom N values according to given metric(s)."
2873
+ "description": "Request for change analysis computation"
2710
2874
  },
2711
2875
  "ChangeAnalysisResponse": {
2712
2876
  "required": ["links"],
@@ -3667,7 +3831,7 @@
3667
3831
  },
3668
3832
  "reasoning": {
3669
3833
  "type": "string",
3670
- "description": "If something is not working properly this field will contain explanation."
3834
+ "description": "DEPRECATED: Use top-level reasoning.steps instead. If something is not working properly this field will contain explanation."
3671
3835
  }
3672
3836
  }
3673
3837
  },
@@ -4080,6 +4244,9 @@
4080
4244
  "type": "string",
4081
4245
  "description": "User feedback.",
4082
4246
  "enum": ["POSITIVE", "NEGATIVE", "NONE"]
4247
+ },
4248
+ "reasoning": {
4249
+ "$ref": "#/components/schemas/Reasoning"
4083
4250
  }
4084
4251
  },
4085
4252
  "description": "List of chat history interactions."
@@ -4193,7 +4360,7 @@
4193
4360
  },
4194
4361
  "reasoning": {
4195
4362
  "type": "string",
4196
- "description": "Reasoning from LLM. Description of how and why the answer was generated."
4363
+ "description": "DEPRECATED: Use top-level reasoning.steps instead. Reasoning from LLM. Description of how and why the answer was generated."
4197
4364
  },
4198
4365
  "suggestions": {
4199
4366
  "type": "array",
@@ -4316,7 +4483,7 @@
4316
4483
  },
4317
4484
  "reasoning": {
4318
4485
  "type": "string",
4319
- "description": "Reasoning from LLM. Description of how and why the answer was generated."
4486
+ "description": "DEPRECATED: Use top-level reasoning.steps instead. Reasoning from LLM. Description of how and why the answer was generated."
4320
4487
  }
4321
4488
  },
4322
4489
  "description": "List of objects found by similarity search and post-processed by LLM."
@@ -4348,6 +4515,42 @@
4348
4515
  },
4349
4516
  "description": "List of metrics to be used in the new visualization"
4350
4517
  },
4518
+ "Reasoning": {
4519
+ "required": ["steps"],
4520
+ "type": "object",
4521
+ "properties": {
4522
+ "steps": {
4523
+ "type": "array",
4524
+ "description": "Steps taken during processing, showing the AI's reasoning process.",
4525
+ "items": {
4526
+ "$ref": "#/components/schemas/ReasoningStep"
4527
+ }
4528
+ },
4529
+ "answer": {
4530
+ "type": "string",
4531
+ "description": "Final answer/reasoning from the use case result."
4532
+ }
4533
+ },
4534
+ "description": "Reasoning wrapper containing steps taken during request handling."
4535
+ },
4536
+ "ReasoningStep": {
4537
+ "required": ["thoughts", "title"],
4538
+ "type": "object",
4539
+ "properties": {
4540
+ "title": {
4541
+ "type": "string",
4542
+ "description": "Title describing this reasoning step."
4543
+ },
4544
+ "thoughts": {
4545
+ "type": "array",
4546
+ "description": "Detailed thoughts/messages within this step.",
4547
+ "items": {
4548
+ "$ref": "#/components/schemas/Thought"
4549
+ }
4550
+ }
4551
+ },
4552
+ "description": "Steps taken during processing, showing the AI's reasoning process."
4553
+ },
4351
4554
  "RouteResult": {
4352
4555
  "required": ["reasoning", "useCase"],
4353
4556
  "type": "object",
@@ -4388,6 +4591,17 @@
4388
4591
  },
4389
4592
  "description": "List of suggestions for next steps. Filled when no visualization was created, suggests alternatives."
4390
4593
  },
4594
+ "Thought": {
4595
+ "required": ["text"],
4596
+ "type": "object",
4597
+ "properties": {
4598
+ "text": {
4599
+ "type": "string",
4600
+ "description": "The text content of this thought."
4601
+ }
4602
+ },
4603
+ "description": "Detailed thoughts/messages within this step."
4604
+ },
4391
4605
  "ChatResult": {
4392
4606
  "type": "object",
4393
4607
  "properties": {
@@ -4421,6 +4635,9 @@
4421
4635
  "chatHistoryInteractionId": {
4422
4636
  "type": "string",
4423
4637
  "description": "Chat History interaction ID. Unique ID for each interaction."
4638
+ },
4639
+ "reasoning": {
4640
+ "$ref": "#/components/schemas/Reasoning"
4424
4641
  }
4425
4642
  }
4426
4643
  },
@@ -4603,6 +4820,30 @@
4603
4820
  }
4604
4821
  }
4605
4822
  },
4823
+ "OutlierDetectionResult": {
4824
+ "required": ["attribute", "values"],
4825
+ "type": "object",
4826
+ "properties": {
4827
+ "attribute": {
4828
+ "type": "array",
4829
+ "items": {
4830
+ "type": "string"
4831
+ }
4832
+ },
4833
+ "values": {
4834
+ "type": "object",
4835
+ "additionalProperties": {
4836
+ "type": "array",
4837
+ "nullable": true,
4838
+ "items": {
4839
+ "type": "number",
4840
+ "nullable": true
4841
+ }
4842
+ },
4843
+ "nullable": true
4844
+ }
4845
+ }
4846
+ },
4606
4847
  "KeyDriversResult": {
4607
4848
  "required": ["data"],
4608
4849
  "type": "object",