@epilot/sdk 2.4.4 → 2.6.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.
Files changed (215) hide show
  1. package/definitions/app.json +137 -58
  2. package/definitions/customer-portal-runtime.json +1 -1
  3. package/definitions/customer-portal.json +496 -24
  4. package/definitions/entity.json +185 -8
  5. package/definitions/integration-toolkit-runtime.json +1 -1
  6. package/definitions/integration-toolkit.json +480 -4
  7. package/definitions/metering-runtime.json +1 -1
  8. package/definitions/metering.json +728 -64
  9. package/definitions/webhooks-runtime.json +1 -1
  10. package/definitions/webhooks.json +134 -4
  11. package/dist/apis/access-token.cjs +6 -6
  12. package/dist/apis/access-token.js +1 -1
  13. package/dist/apis/address-suggestions.cjs +6 -6
  14. package/dist/apis/address-suggestions.js +1 -1
  15. package/dist/apis/address.cjs +6 -6
  16. package/dist/apis/address.js +1 -1
  17. package/dist/apis/ai-agents.cjs +6 -6
  18. package/dist/apis/ai-agents.js +1 -1
  19. package/dist/apis/app.cjs +8 -8
  20. package/dist/apis/app.d.cts +2 -2
  21. package/dist/apis/app.d.ts +2 -2
  22. package/dist/apis/app.js +2 -2
  23. package/dist/apis/audit-logs.cjs +6 -6
  24. package/dist/apis/audit-logs.js +1 -1
  25. package/dist/apis/automation.cjs +6 -6
  26. package/dist/apis/automation.js +1 -1
  27. package/dist/apis/billing.cjs +6 -6
  28. package/dist/apis/billing.js +1 -1
  29. package/dist/apis/blueprint-manifest.cjs +6 -6
  30. package/dist/apis/blueprint-manifest.js +1 -1
  31. package/dist/apis/calendar.cjs +6 -6
  32. package/dist/apis/calendar.js +1 -1
  33. package/dist/apis/configuration-hub.cjs +6 -6
  34. package/dist/apis/configuration-hub.js +1 -1
  35. package/dist/apis/consent.cjs +6 -6
  36. package/dist/apis/consent.js +1 -1
  37. package/dist/apis/customer-portal.cjs +8 -8
  38. package/dist/apis/customer-portal.d.cts +2 -2
  39. package/dist/apis/customer-portal.d.ts +2 -2
  40. package/dist/apis/customer-portal.js +2 -2
  41. package/dist/apis/dashboard.cjs +6 -6
  42. package/dist/apis/dashboard.js +1 -1
  43. package/dist/apis/data-governance.cjs +6 -6
  44. package/dist/apis/data-governance.js +1 -1
  45. package/dist/apis/deduplication.cjs +6 -6
  46. package/dist/apis/deduplication.js +1 -1
  47. package/dist/apis/design.cjs +6 -6
  48. package/dist/apis/design.js +1 -1
  49. package/dist/apis/document.cjs +6 -6
  50. package/dist/apis/document.js +1 -1
  51. package/dist/apis/email-settings.cjs +6 -6
  52. package/dist/apis/email-settings.js +1 -1
  53. package/dist/apis/email-template.cjs +6 -6
  54. package/dist/apis/email-template.js +1 -1
  55. package/dist/apis/entity-mapping.cjs +6 -6
  56. package/dist/apis/entity-mapping.js +1 -1
  57. package/dist/apis/entity.cjs +6 -6
  58. package/dist/apis/entity.d.cts +2 -2
  59. package/dist/apis/entity.d.ts +2 -2
  60. package/dist/apis/entity.js +1 -1
  61. package/dist/apis/environments.cjs +6 -6
  62. package/dist/apis/environments.js +1 -1
  63. package/dist/apis/event-catalog.cjs +6 -6
  64. package/dist/apis/event-catalog.js +1 -1
  65. package/dist/apis/file.cjs +6 -6
  66. package/dist/apis/file.js +1 -1
  67. package/dist/apis/iban.cjs +6 -6
  68. package/dist/apis/iban.js +1 -1
  69. package/dist/apis/integration-toolkit.cjs +8 -8
  70. package/dist/apis/integration-toolkit.d.cts +2 -2
  71. package/dist/apis/integration-toolkit.d.ts +2 -2
  72. package/dist/apis/integration-toolkit.js +2 -2
  73. package/dist/apis/journey.cjs +6 -6
  74. package/dist/apis/journey.js +1 -1
  75. package/dist/apis/kanban.cjs +6 -6
  76. package/dist/apis/kanban.js +1 -1
  77. package/dist/apis/message.cjs +6 -6
  78. package/dist/apis/message.js +1 -1
  79. package/dist/apis/metering.cjs +8 -8
  80. package/dist/apis/metering.d.cts +2 -2
  81. package/dist/apis/metering.d.ts +2 -2
  82. package/dist/apis/metering.js +2 -2
  83. package/dist/apis/notes.cjs +6 -6
  84. package/dist/apis/notes.d.cts +2 -2
  85. package/dist/apis/notes.d.ts +2 -2
  86. package/dist/apis/notes.js +1 -1
  87. package/dist/apis/notification.cjs +6 -6
  88. package/dist/apis/notification.js +1 -1
  89. package/dist/apis/organization.cjs +6 -6
  90. package/dist/apis/organization.js +1 -1
  91. package/dist/apis/partner-directory.cjs +6 -6
  92. package/dist/apis/partner-directory.js +1 -1
  93. package/dist/apis/permissions.cjs +6 -6
  94. package/dist/apis/permissions.js +1 -1
  95. package/dist/apis/pricing-tier.cjs +6 -6
  96. package/dist/apis/pricing-tier.js +1 -1
  97. package/dist/apis/pricing.cjs +6 -6
  98. package/dist/apis/pricing.js +1 -1
  99. package/dist/apis/purpose.cjs +6 -6
  100. package/dist/apis/purpose.js +1 -1
  101. package/dist/apis/query.cjs +6 -6
  102. package/dist/apis/query.js +1 -1
  103. package/dist/apis/sandbox.cjs +6 -6
  104. package/dist/apis/sandbox.js +1 -1
  105. package/dist/apis/sharing.cjs +6 -6
  106. package/dist/apis/sharing.js +1 -1
  107. package/dist/apis/submission.cjs +6 -6
  108. package/dist/apis/submission.js +1 -1
  109. package/dist/apis/target.cjs +6 -6
  110. package/dist/apis/target.js +1 -1
  111. package/dist/apis/targeting.cjs +6 -6
  112. package/dist/apis/targeting.js +1 -1
  113. package/dist/apis/template-variables.cjs +6 -6
  114. package/dist/apis/template-variables.js +1 -1
  115. package/dist/apis/user.cjs +6 -6
  116. package/dist/apis/user.js +1 -1
  117. package/dist/apis/validation-rules.cjs +6 -6
  118. package/dist/apis/validation-rules.js +1 -1
  119. package/dist/apis/webhooks.cjs +8 -8
  120. package/dist/apis/webhooks.d.cts +2 -2
  121. package/dist/apis/webhooks.d.ts +2 -2
  122. package/dist/apis/webhooks.js +2 -2
  123. package/dist/apis/workflow-definition.cjs +6 -6
  124. package/dist/apis/workflow-definition.js +1 -1
  125. package/dist/apis/workflow.cjs +6 -6
  126. package/dist/apis/workflow.js +1 -1
  127. package/dist/app-34OBBTA4.js +7 -0
  128. package/dist/app-SSF545U7.cjs +7 -0
  129. package/dist/app-runtime-AFNM67YN.cjs +5 -0
  130. package/dist/{app-runtime-U7RGV7KT.js → app-runtime-DBUXZL6E.js} +1 -1
  131. package/dist/{app.d-u7Dq42kU.d.cts → app.d--5n0FQQ4.d.cts} +377 -11
  132. package/dist/{app.d-u7Dq42kU.d.ts → app.d--5n0FQQ4.d.ts} +377 -11
  133. package/dist/bin/cli.js +1 -1
  134. package/dist/{chunk-JTFWOEZF.cjs → chunk-4FFGRWLS.cjs} +1 -1
  135. package/dist/chunk-56MMZJOD.js +14 -0
  136. package/dist/chunk-5OBMZHRL.cjs +14 -0
  137. package/dist/{chunk-L66IX6GX.cjs → chunk-KMVJYNLB.cjs} +1 -1
  138. package/dist/chunk-KYCVV2XE.cjs +14 -0
  139. package/dist/{chunk-TSV242UN.js → chunk-QNUU4TTU.js} +13 -13
  140. package/dist/chunk-RGO3LTAM.js +14 -0
  141. package/dist/{chunk-CD4OX2U6.cjs → chunk-SDIGGISZ.cjs} +13 -13
  142. package/dist/chunk-T6A22LSD.cjs +14 -0
  143. package/dist/chunk-WM74R3BD.js +14 -0
  144. package/dist/{chunk-LLZYRINH.js → chunk-Z4H2FZ2K.js} +1 -1
  145. package/dist/chunk-Z6HGUGXK.js +14 -0
  146. package/dist/customer-portal-5I7ZGQDU.cjs +7 -0
  147. package/dist/customer-portal-YL2YMPZL.js +7 -0
  148. package/dist/{customer-portal-runtime-PSM55KGU.js → customer-portal-runtime-N4NWQ67M.js} +1 -1
  149. package/dist/{customer-portal-runtime-DULJLR7F.cjs → customer-portal-runtime-OEXTSMSE.cjs} +2 -2
  150. package/dist/{customer-portal.d-DyZ2n2dW.d.cts → customer-portal.d-ChSEioI5.d.cts} +394 -9
  151. package/dist/{customer-portal.d-DyZ2n2dW.d.ts → customer-portal.d-ChSEioI5.d.ts} +394 -9
  152. package/dist/entity-SS36LQO6.cjs +7 -0
  153. package/dist/entity-Z4YWKDVG.js +7 -0
  154. package/dist/{entity.d-BHR9dEon.d.cts → entity.d-fospShiN.d.cts} +234 -169
  155. package/dist/{entity.d-BHR9dEon.d.ts → entity.d-fospShiN.d.ts} +234 -169
  156. package/dist/index.cjs +18 -18
  157. package/dist/index.d.cts +7 -7
  158. package/dist/index.d.ts +7 -7
  159. package/dist/index.js +6 -6
  160. package/dist/integration-toolkit-3I3IPVFN.cjs +7 -0
  161. package/dist/integration-toolkit-XAFQXNQY.js +7 -0
  162. package/dist/{integration-toolkit-runtime-5KG3LGXF.cjs → integration-toolkit-runtime-YHTU4X5J.cjs} +2 -2
  163. package/dist/{integration-toolkit-runtime-LYHFVIRW.js → integration-toolkit-runtime-YR4CIMKH.js} +1 -1
  164. package/dist/{integration-toolkit.d-Ry-KC9ow.d.cts → integration-toolkit.d-BstNqiJb.d.cts} +460 -20
  165. package/dist/{integration-toolkit.d-Ry-KC9ow.d.ts → integration-toolkit.d-BstNqiJb.d.ts} +460 -20
  166. package/dist/{js-yaml-UPZKYVRY.js → js-yaml-DLCVPJ7G.js} +17 -15
  167. package/dist/metering-3IUSYAGN.js +7 -0
  168. package/dist/metering-MHBFU7QH.cjs +7 -0
  169. package/dist/{webhooks-runtime-EBM4M3SU.cjs → metering-runtime-IUZJHBVS.cjs} +2 -2
  170. package/dist/{metering-runtime-NJ6NEUMB.js → metering-runtime-KZMJKKUZ.js} +1 -1
  171. package/dist/{metering.d-DvtPv7wk.d.ts → metering.d-CUICZDiL.d.cts} +718 -130
  172. package/dist/{metering.d-DvtPv7wk.d.cts → metering.d-CUICZDiL.d.ts} +718 -130
  173. package/dist/notes-K2IIFCX3.cjs +7 -0
  174. package/dist/notes-Q7JGS7O3.js +7 -0
  175. package/dist/{notes.d-BC-scR42.d.cts → notes.d-BcV_m5fe.d.cts} +33 -11
  176. package/dist/{notes.d-BC-scR42.d.ts → notes.d-BcV_m5fe.d.ts} +33 -11
  177. package/dist/{pricing-XAET4G7T.cjs → pricing-FODHQFCB.cjs} +1 -1
  178. package/dist/{pricing-G67CH3XH.js → pricing-XRIDVZFC.js} +1 -1
  179. package/dist/webhooks-NZ3TM3AY.cjs +7 -0
  180. package/dist/webhooks-XLBUXXCS.js +7 -0
  181. package/dist/{metering-runtime-HAIWXZXJ.cjs → webhooks-runtime-QVAFNBDW.cjs} +2 -2
  182. package/dist/{webhooks-runtime-XCQYIGQK.js → webhooks-runtime-UYTPQQVG.js} +1 -1
  183. package/dist/{webhooks.d-pLHIL_io.d.cts → webhooks.d-D79qib9f.d.cts} +115 -5
  184. package/dist/{webhooks.d-pLHIL_io.d.ts → webhooks.d-D79qib9f.d.ts} +115 -5
  185. package/docs/app.md +244 -9
  186. package/docs/customer-portal.md +340 -113
  187. package/docs/entity.md +65 -0
  188. package/docs/integration-toolkit.md +334 -19
  189. package/docs/metering.md +570 -48
  190. package/docs/notes.md +19 -12
  191. package/docs/pricing.md +3 -1
  192. package/docs/webhooks.md +49 -0
  193. package/package.json +1 -1
  194. package/dist/app-5KSVSKDU.js +0 -7
  195. package/dist/app-PL3IOROO.cjs +0 -7
  196. package/dist/app-runtime-SSNHSBR7.cjs +0 -5
  197. package/dist/chunk-265TE2OV.js +0 -14
  198. package/dist/chunk-2MMSXUOL.cjs +0 -14
  199. package/dist/chunk-4ZMLRFDX.cjs +0 -14
  200. package/dist/chunk-A7AAVJGM.js +0 -14
  201. package/dist/chunk-GVNT76UU.js +0 -14
  202. package/dist/chunk-HHMXS5NC.cjs +0 -14
  203. package/dist/chunk-U4PUHKZC.js +0 -14
  204. package/dist/customer-portal-5LMHNBMD.cjs +0 -7
  205. package/dist/customer-portal-RZACUF4N.js +0 -7
  206. package/dist/entity-H6ESUH3Y.js +0 -7
  207. package/dist/entity-ZVDKWQSF.cjs +0 -7
  208. package/dist/integration-toolkit-FRPFOYT2.js +0 -7
  209. package/dist/integration-toolkit-VNMDI55O.cjs +0 -7
  210. package/dist/metering-DZNZPPY6.cjs +0 -7
  211. package/dist/metering-KOSCPPKB.js +0 -7
  212. package/dist/notes-3AO5GXIT.js +0 -7
  213. package/dist/notes-MPWOQC5J.cjs +0 -7
  214. package/dist/webhooks-H3RT33BF.cjs +0 -7
  215. package/dist/webhooks-RTOU3MS5.js +0 -7
@@ -102,6 +102,8 @@ const { data } = await customerPortalClient.upsertPortal(...)
102
102
  - [`validateToken`](#validatetoken)
103
103
  - [`revokeToken`](#revoketoken)
104
104
  - [`getConsumption`](#getconsumption)
105
+ - [`prepareVisualizationExport`](#preparevisualizationexport)
106
+ - [`getVisualizationMetadata`](#getvisualizationmetadata)
105
107
  - [`getCosts`](#getcosts)
106
108
  - [`getPrices`](#getprices)
107
109
  - [`getResolvedSeamlessLink`](#getresolvedseamlesslink)
@@ -248,8 +250,12 @@ const { data } = await customerPortalClient.upsertPortal(...)
248
250
  - [`ExtensionHookSelection`](#extensionhookselection)
249
251
  - [`PublicExtensionCapabilities`](#publicextensioncapabilities)
250
252
  - [`DataRetrievalItem`](#dataretrievalitem)
253
+ - [`PublicAppDetails`](#publicappdetails)
251
254
  - [`PublicExtensionDetails`](#publicextensiondetails)
252
255
  - [`PublicDataRetrievalHookDetails`](#publicdataretrievalhookdetails)
256
+ - [`VisualizationMetadata`](#visualizationmetadata)
257
+ - [`VisualizationTypeOption`](#visualizationtypeoption)
258
+ - [`VisualizationDataRange`](#visualizationdatarange)
253
259
  - [`PublicContractIdentificationDetails`](#publiccontractidentificationdetails)
254
260
  - [`PublicMeterReadingPlausibilityCheckDetails`](#publicmeterreadingplausibilitycheckdetails)
255
261
  - [`Extension`](#extension)
@@ -260,6 +266,8 @@ const { data } = await customerPortalClient.upsertPortal(...)
260
266
  - [`ExtensionHookMeterReadingPlausibilityCheck`](#extensionhookmeterreadingplausibilitycheck)
261
267
  - [`ExtensionHookPriceDataRetrieval`](#extensionhookpricedataretrieval)
262
268
  - [`ExtensionHookConsumptionDataRetrieval`](#extensionhookconsumptiondataretrieval)
269
+ - [`ExtensionHookDataExport`](#extensionhookdataexport)
270
+ - [`ExtensionHookVisualizationMetadata`](#extensionhookvisualizationmetadata)
263
271
  - [`ExtensionHookCostDataRetrieval`](#extensionhookcostdataretrieval)
264
272
  - [`SecureProxyConfig`](#secureproxyconfig)
265
273
  - [`ExtensionAuthBlock`](#extensionauthblock)
@@ -1299,74 +1307,45 @@ const { data } = await client.getPublicPortalExtensionDetails({
1299
1307
  {
1300
1308
  "consumptionDataRetrieval": [
1301
1309
  {
1302
- "extension": {
1303
- "id": "string",
1304
- "name": {
1305
- "en": "string"
1306
- }
1307
- },
1308
- "hook": {
1309
- "id": "string",
1310
- "name": {
1311
- "en": "string"
1312
- },
1313
- "intervals": ["string"]
1314
- }
1310
+ "app": {},
1311
+ "extension": {},
1312
+ "hook": {}
1313
+ }
1314
+ ],
1315
+ "dataExport": [
1316
+ {
1317
+ "app": {},
1318
+ "extension": {},
1319
+ "hook": {}
1315
1320
  }
1316
1321
  ],
1317
1322
  "priceDataRetrieval": [
1318
1323
  {
1319
- "extension": {
1320
- "id": "string",
1321
- "name": {
1322
- "en": "string"
1323
- }
1324
- },
1325
- "hook": {
1326
- "id": "string",
1327
- "name": {
1328
- "en": "string"
1329
- },
1330
- "intervals": ["string"]
1331
- }
1324
+ "app": {},
1325
+ "extension": {},
1326
+ "hook": {}
1332
1327
  }
1333
1328
  ],
1334
1329
  "costDataRetrieval": [
1335
1330
  {
1336
- "extension": {
1337
- "id": "string",
1338
- "name": {
1339
- "en": "string"
1340
- }
1341
- },
1342
- "hook": {
1343
- "id": "string",
1344
- "name": {
1345
- "en": "string"
1346
- },
1347
- "intervals": ["string"]
1348
- }
1331
+ "app": {},
1332
+ "extension": {},
1333
+ "hook": {}
1349
1334
  }
1350
1335
  ],
1351
1336
  "contractIdentification": {
1352
1337
  "extension": {
1353
1338
  "id": "string",
1354
- "name": {
1355
- "en": "string"
1356
- }
1339
+ "name": {}
1357
1340
  },
1358
1341
  "hook": {
1359
- "explanation": {
1360
- "en": "This process will give you access to all Contracts kept"
1361
- }
1342
+ "explanation": {}
1362
1343
  }
1363
1344
  },
1364
1345
  "meterReadingPlausibilityCheck": {
1365
1346
  "extension": {
1366
1347
  "id": "string",
1367
- "name": {
1368
- "en": "string"
1369
- }
1348
+ "name": {}
1370
1349
  },
1371
1350
  "hook": {
1372
1351
  "plausibility_mode": "check"
@@ -1510,74 +1489,45 @@ const { data } = await client.getPublicPortalExtensionDetailsV3({
1510
1489
  {
1511
1490
  "consumptionDataRetrieval": [
1512
1491
  {
1513
- "extension": {
1514
- "id": "string",
1515
- "name": {
1516
- "en": "string"
1517
- }
1518
- },
1519
- "hook": {
1520
- "id": "string",
1521
- "name": {
1522
- "en": "string"
1523
- },
1524
- "intervals": ["string"]
1525
- }
1492
+ "app": {},
1493
+ "extension": {},
1494
+ "hook": {}
1495
+ }
1496
+ ],
1497
+ "dataExport": [
1498
+ {
1499
+ "app": {},
1500
+ "extension": {},
1501
+ "hook": {}
1526
1502
  }
1527
1503
  ],
1528
1504
  "priceDataRetrieval": [
1529
1505
  {
1530
- "extension": {
1531
- "id": "string",
1532
- "name": {
1533
- "en": "string"
1534
- }
1535
- },
1536
- "hook": {
1537
- "id": "string",
1538
- "name": {
1539
- "en": "string"
1540
- },
1541
- "intervals": ["string"]
1542
- }
1506
+ "app": {},
1507
+ "extension": {},
1508
+ "hook": {}
1543
1509
  }
1544
1510
  ],
1545
1511
  "costDataRetrieval": [
1546
1512
  {
1547
- "extension": {
1548
- "id": "string",
1549
- "name": {
1550
- "en": "string"
1551
- }
1552
- },
1553
- "hook": {
1554
- "id": "string",
1555
- "name": {
1556
- "en": "string"
1557
- },
1558
- "intervals": ["string"]
1559
- }
1513
+ "app": {},
1514
+ "extension": {},
1515
+ "hook": {}
1560
1516
  }
1561
1517
  ],
1562
1518
  "contractIdentification": {
1563
1519
  "extension": {
1564
1520
  "id": "string",
1565
- "name": {
1566
- "en": "string"
1567
- }
1521
+ "name": {}
1568
1522
  },
1569
1523
  "hook": {
1570
- "explanation": {
1571
- "en": "This process will give you access to all Contracts kept"
1572
- }
1524
+ "explanation": {}
1573
1525
  }
1574
1526
  },
1575
1527
  "meterReadingPlausibilityCheck": {
1576
1528
  "extension": {
1577
1529
  "id": "string",
1578
- "name": {
1579
- "en": "string"
1580
- }
1530
+ "name": {}
1581
1531
  },
1582
1532
  "hook": {
1583
1533
  "plausibility_mode": "check"
@@ -1619,7 +1569,7 @@ const { data } = await client.getConsumption({
1619
1569
  "timestamp": "1970-01-01T00:00:00.000Z",
1620
1570
  "value": 0,
1621
1571
  "type": "nt",
1622
- "aggregation_method": "sum"
1572
+ "unit": "kWh"
1623
1573
  }
1624
1574
  ]
1625
1575
  }
@@ -1629,6 +1579,89 @@ const { data } = await client.getConsumption({
1629
1579
 
1630
1580
  ---
1631
1581
 
1582
+ ### `prepareVisualizationExport`
1583
+
1584
+ Prepare Visualization Export
1585
+
1586
+ `POST /v2/portal/visualization:export`
1587
+
1588
+ ```ts
1589
+ const { data } = await client.prepareVisualizationExport(
1590
+ null,
1591
+ {
1592
+ app_id: 'string',
1593
+ extension_id: 'string',
1594
+ hook_id: 'string',
1595
+ from: '1970-01-01T00:00:00.000Z',
1596
+ to: '1970-01-01T00:00:00.000Z',
1597
+ context_entities: [
1598
+ {
1599
+ entity_id: '5da0a718-c822-403d-9f5d-20d4584e0528',
1600
+ entity_schema: 'contract'
1601
+ }
1602
+ ]
1603
+ },
1604
+ )
1605
+ ```
1606
+
1607
+ <details>
1608
+ <summary>Response</summary>
1609
+
1610
+ ```json
1611
+ {
1612
+ "download_url": "string",
1613
+ "filename": "string",
1614
+ "content_type": "text/csv",
1615
+ "expires_at": "1970-01-01T00:00:00.000Z"
1616
+ }
1617
+ ```
1618
+
1619
+ </details>
1620
+
1621
+ ---
1622
+
1623
+ ### `getVisualizationMetadata`
1624
+
1625
+ Get Visualization Metadata
1626
+
1627
+ `GET /v2/portal/visualization/metadata`
1628
+
1629
+ ```ts
1630
+ const { data } = await client.getVisualizationMetadata({
1631
+ app_id: 'example',
1632
+ extensionId: 'example',
1633
+ context_entities: 'example',
1634
+ })
1635
+ ```
1636
+
1637
+ <details>
1638
+ <summary>Response</summary>
1639
+
1640
+ ```json
1641
+ {
1642
+ "type_options": [
1643
+ {
1644
+ "id": "string",
1645
+ "label": {},
1646
+ "aggregation_group": "string",
1647
+ "statistical_method": "sum",
1648
+ "unit": "string",
1649
+ "color": "primary",
1650
+ "precision": 0
1651
+ }
1652
+ ],
1653
+ "intervals": ["PT15M"],
1654
+ "data_range": {
1655
+ "from": "1970-01-01T00:00:00.000Z",
1656
+ "to": "1970-01-01T00:00:00.000Z"
1657
+ }
1658
+ }
1659
+ ```
1660
+
1661
+ </details>
1662
+
1663
+ ---
1664
+
1632
1665
  ### `getCosts`
1633
1666
 
1634
1667
  Get Costs
@@ -2927,6 +2960,8 @@ const { data } = await client.getPublicPortalWidgetsV3({
2927
2960
 
2928
2961
  ```json
2929
2962
  {
2963
+ "portal_sk_v3": "string",
2964
+ "is_v3_item": true,
2930
2965
  "widgets": [
2931
2966
  {
2932
2967
  "id": "string",
@@ -2982,6 +3017,8 @@ const { data } = await client.getPortalWidgetsV3({
2982
3017
 
2983
3018
  ```json
2984
3019
  {
3020
+ "portal_sk_v3": "string",
3021
+ "is_v3_item": true,
2985
3022
  "widgets": [
2986
3023
  {
2987
3024
  "id": "string",
@@ -3031,6 +3068,8 @@ const { data } = await client.upsertPortalWidgetV3(
3031
3068
  portal_id: 'example',
3032
3069
  },
3033
3070
  {
3071
+ portal_sk_v3: 'string',
3072
+ is_v3_item: true,
3034
3073
  widgets: [
3035
3074
  {
3036
3075
  id: 'string',
@@ -3071,6 +3110,8 @@ const { data } = await client.upsertPortalWidgetV3(
3071
3110
 
3072
3111
  ```json
3073
3112
  {
3113
+ "portal_sk_v3": "string",
3114
+ "is_v3_item": true,
3074
3115
  "widgets": [
3075
3116
  {
3076
3117
  "id": "string",
@@ -5342,7 +5383,8 @@ const { data } = await client.uploadMeterReadingPhoto(
5342
5383
  },
5343
5384
  "reading": "000123.45",
5344
5385
  "sector": "water",
5345
- "meter_numbers": ["00123456"]
5386
+ "meter_numbers": ["00123456"],
5387
+ "file_id": "abc123def456"
5346
5388
  }
5347
5389
  }
5348
5390
  ```
@@ -5651,7 +5693,8 @@ const { data } = await client.getPortalPage({
5651
5693
  "is_deleted": false,
5652
5694
  "id": "c495fef9-eeca-4019-a989-8390dcd9825b",
5653
5695
  "last_modified_at": "2021-02-09T12:41:43.662Z",
5654
- "portal_id": "453ad7bf-86d5-46c8-8252-bcc868df5e3c"
5696
+ "portal_id": "453ad7bf-86d5-46c8-8252-bcc868df5e3c",
5697
+ "past_routes": ["old-dashboard", "home"]
5655
5698
  }
5656
5699
  ```
5657
5700
 
@@ -5732,7 +5775,8 @@ const { data } = await client.updatePortalPage(
5732
5775
  "is_deleted": false,
5733
5776
  "id": "c495fef9-eeca-4019-a989-8390dcd9825b",
5734
5777
  "last_modified_at": "2021-02-09T12:41:43.662Z",
5735
- "portal_id": "453ad7bf-86d5-46c8-8252-bcc868df5e3c"
5778
+ "portal_id": "453ad7bf-86d5-46c8-8252-bcc868df5e3c",
5779
+ "past_routes": ["old-dashboard", "home"]
5736
5780
  }
5737
5781
  ```
5738
5782
 
@@ -5803,7 +5847,8 @@ const { data } = await client.getPortalPages({
5803
5847
  "is_deleted": false,
5804
5848
  "id": "c495fef9-eeca-4019-a989-8390dcd9825b",
5805
5849
  "last_modified_at": "2021-02-09T12:41:43.662Z",
5806
- "portal_id": "453ad7bf-86d5-46c8-8252-bcc868df5e3c"
5850
+ "portal_id": "453ad7bf-86d5-46c8-8252-bcc868df5e3c",
5851
+ "past_routes": ["old-dashboard", "home"]
5807
5852
  }
5808
5853
  ]
5809
5854
  ```
@@ -5885,7 +5930,8 @@ const { data } = await client.createPortalPage(
5885
5930
  "is_deleted": false,
5886
5931
  "id": "c495fef9-eeca-4019-a989-8390dcd9825b",
5887
5932
  "last_modified_at": "2021-02-09T12:41:43.662Z",
5888
- "portal_id": "453ad7bf-86d5-46c8-8252-bcc868df5e3c"
5933
+ "portal_id": "453ad7bf-86d5-46c8-8252-bcc868df5e3c",
5934
+ "past_routes": ["old-dashboard", "home"]
5889
5935
  }
5890
5936
  ```
5891
5937
 
@@ -5940,7 +5986,8 @@ const { data } = await client.getPublicPages({
5940
5986
  "is_deleted": false,
5941
5987
  "id": "c495fef9-eeca-4019-a989-8390dcd9825b",
5942
5988
  "last_modified_at": "2021-02-09T12:41:43.662Z",
5943
- "portal_id": "453ad7bf-86d5-46c8-8252-bcc868df5e3c"
5989
+ "portal_id": "453ad7bf-86d5-46c8-8252-bcc868df5e3c",
5990
+ "past_routes": ["old-dashboard", "home"]
5944
5991
  }
5945
5992
  ]
5946
5993
  ```
@@ -5988,7 +6035,8 @@ const { data } = await client.interpolatePortalPages(
5988
6035
  is_deleted: false,
5989
6036
  id: 'c495fef9-eeca-4019-a989-8390dcd9825b',
5990
6037
  last_modified_at: '2021-02-09T12:41:43.662Z',
5991
- portal_id: '453ad7bf-86d5-46c8-8252-bcc868df5e3c'
6038
+ portal_id: '453ad7bf-86d5-46c8-8252-bcc868df5e3c',
6039
+ past_routes: ['old-dashboard', 'home']
5992
6040
  }
5993
6041
  ],
5994
6042
  context_entities: [
@@ -6035,7 +6083,8 @@ const { data } = await client.interpolatePortalPages(
6035
6083
  "is_deleted": false,
6036
6084
  "id": "c495fef9-eeca-4019-a989-8390dcd9825b",
6037
6085
  "last_modified_at": "2021-02-09T12:41:43.662Z",
6038
- "portal_id": "453ad7bf-86d5-46c8-8252-bcc868df5e3c"
6086
+ "portal_id": "453ad7bf-86d5-46c8-8252-bcc868df5e3c",
6087
+ "past_routes": ["old-dashboard", "home"]
6039
6088
  }
6040
6089
  ]
6041
6090
  ```
@@ -6087,7 +6136,8 @@ const { data } = await client.getDefaultPages()
6087
6136
  "is_deleted": false,
6088
6137
  "id": "c495fef9-eeca-4019-a989-8390dcd9825b",
6089
6138
  "last_modified_at": "2021-02-09T12:41:43.662Z",
6090
- "portal_id": "453ad7bf-86d5-46c8-8252-bcc868df5e3c"
6139
+ "portal_id": "453ad7bf-86d5-46c8-8252-bcc868df5e3c",
6140
+ "past_routes": ["old-dashboard", "home"]
6091
6141
  }
6092
6142
  ]
6093
6143
  ```
@@ -6901,7 +6951,8 @@ const { data } = await client.createPortalConfig(
6901
6951
  "is_deleted": false,
6902
6952
  "id": "c495fef9-eeca-4019-a989-8390dcd9825b",
6903
6953
  "last_modified_at": "2021-02-09T12:41:43.662Z",
6904
- "portal_id": "453ad7bf-86d5-46c8-8252-bcc868df5e3c"
6954
+ "portal_id": "453ad7bf-86d5-46c8-8252-bcc868df5e3c",
6955
+ "past_routes": ["old-dashboard", "home"]
6905
6956
  }
6906
6957
  ]
6907
6958
  }
@@ -7140,7 +7191,8 @@ const { data } = await client.getPortalConfigV3({
7140
7191
  "is_deleted": false,
7141
7192
  "id": "c495fef9-eeca-4019-a989-8390dcd9825b",
7142
7193
  "last_modified_at": "2021-02-09T12:41:43.662Z",
7143
- "portal_id": "453ad7bf-86d5-46c8-8252-bcc868df5e3c"
7194
+ "portal_id": "453ad7bf-86d5-46c8-8252-bcc868df5e3c",
7195
+ "past_routes": ["old-dashboard", "home"]
7144
7196
  }
7145
7197
  ]
7146
7198
  }
@@ -7375,7 +7427,8 @@ const { data } = await client.putPortalConfig(
7375
7427
  is_deleted: false,
7376
7428
  id: 'c495fef9-eeca-4019-a989-8390dcd9825b',
7377
7429
  last_modified_at: '2021-02-09T12:41:43.662Z',
7378
- portal_id: '453ad7bf-86d5-46c8-8252-bcc868df5e3c'
7430
+ portal_id: '453ad7bf-86d5-46c8-8252-bcc868df5e3c',
7431
+ past_routes: ['old-dashboard', 'home']
7379
7432
  }
7380
7433
  ]
7381
7434
  },
@@ -7599,7 +7652,8 @@ const { data } = await client.putPortalConfig(
7599
7652
  "is_deleted": false,
7600
7653
  "id": "c495fef9-eeca-4019-a989-8390dcd9825b",
7601
7654
  "last_modified_at": "2021-02-09T12:41:43.662Z",
7602
- "portal_id": "453ad7bf-86d5-46c8-8252-bcc868df5e3c"
7655
+ "portal_id": "453ad7bf-86d5-46c8-8252-bcc868df5e3c",
7656
+ "past_routes": ["old-dashboard", "home"]
7603
7657
  }
7604
7658
  ]
7605
7659
  }
@@ -7955,7 +8009,8 @@ const { data } = await client.clonePortalConfig(
7955
8009
  "is_deleted": false,
7956
8010
  "id": "c495fef9-eeca-4019-a989-8390dcd9825b",
7957
8011
  "last_modified_at": "2021-02-09T12:41:43.662Z",
7958
- "portal_id": "453ad7bf-86d5-46c8-8252-bcc868df5e3c"
8012
+ "portal_id": "453ad7bf-86d5-46c8-8252-bcc868df5e3c",
8013
+ "past_routes": ["old-dashboard", "home"]
7959
8014
  }
7960
8015
  ]
7961
8016
  }
@@ -8637,6 +8692,8 @@ type PortalConfig = {
8637
8692
 
8638
8693
  ```ts
8639
8694
  type UpsertPortalWidget = {
8695
+ portal_sk_v3?: string
8696
+ is_v3_item?: boolean
8640
8697
  widgets: Array<{
8641
8698
  id: string
8642
8699
  type: "ACTION_WIDGET" | "CONTENT_WIDGET" | "ENTITY_WIDGET" | "TEASER_WIDGET" | "DOCUMENT_WIDGET" | "PAYMENT_WIDGET" | "METER_READING_WIDGET" | "METER_CHART_WIDGET" | "CAMPAIGN_WIDGET" | "PRODUCT_RECOMMENDATIONS_WIDGET"
@@ -8734,8 +8791,6 @@ type UpsertPortalWidget = {
8734
8791
  subHeadline?: {
8735
8792
  en?: { ... }
8736
8793
  de?: { ... }
8737
- }
8738
- schema?: string
8739
8794
  // ...
8740
8795
  }
8741
8796
  ```
@@ -10052,6 +10107,26 @@ type ExtensionHookSelection = {
10052
10107
  ```ts
10053
10108
  type PublicExtensionCapabilities = {
10054
10109
  consumptionDataRetrieval?: Array<{
10110
+ app?: {
10111
+ app_id?: { ... }
10112
+ name?: { ... }
10113
+ }
10114
+ extension?: {
10115
+ id?: { ... }
10116
+ name?: { ... }
10117
+ }
10118
+ hook?: {
10119
+ id?: { ... }
10120
+ name?: { ... }
10121
+ intervals?: { ... }
10122
+ block_types?: { ... }
10123
+ }
10124
+ }>
10125
+ dataExport?: Array<{
10126
+ app?: {
10127
+ app_id?: { ... }
10128
+ name?: { ... }
10129
+ }
10055
10130
  extension?: {
10056
10131
  id?: { ... }
10057
10132
  name?: { ... }
@@ -10060,9 +10135,14 @@ type PublicExtensionCapabilities = {
10060
10135
  id?: { ... }
10061
10136
  name?: { ... }
10062
10137
  intervals?: { ... }
10138
+ block_types?: { ... }
10063
10139
  }
10064
10140
  }>
10065
10141
  priceDataRetrieval?: Array<{
10142
+ app?: {
10143
+ app_id?: { ... }
10144
+ name?: { ... }
10145
+ }
10066
10146
  extension?: {
10067
10147
  id?: { ... }
10068
10148
  name?: { ... }
@@ -10071,9 +10151,14 @@ type PublicExtensionCapabilities = {
10071
10151
  id?: { ... }
10072
10152
  name?: { ... }
10073
10153
  intervals?: { ... }
10154
+ block_types?: { ... }
10074
10155
  }
10075
10156
  }>
10076
10157
  costDataRetrieval?: Array<{
10158
+ app?: {
10159
+ app_id?: { ... }
10160
+ name?: { ... }
10161
+ }
10077
10162
  extension?: {
10078
10163
  id?: { ... }
10079
10164
  name?: { ... }
@@ -10082,6 +10167,7 @@ type PublicExtensionCapabilities = {
10082
10167
  id?: { ... }
10083
10168
  name?: { ... }
10084
10169
  intervals?: { ... }
10170
+ block_types?: { ... }
10085
10171
  }
10086
10172
  }>
10087
10173
  contractIdentification?: {
@@ -10109,6 +10195,12 @@ type PublicExtensionCapabilities = {
10109
10195
 
10110
10196
  ```ts
10111
10197
  type DataRetrievalItem = {
10198
+ app?: {
10199
+ app_id?: string
10200
+ name?: {
10201
+ en: { ... }
10202
+ }
10203
+ }
10112
10204
  extension?: {
10113
10205
  id?: string
10114
10206
  name?: {
@@ -10121,6 +10213,18 @@ type DataRetrievalItem = {
10121
10213
  en: { ... }
10122
10214
  }
10123
10215
  intervals?: string[]
10216
+ block_types?: string[]
10217
+ }
10218
+ }
10219
+ ```
10220
+
10221
+ ### `PublicAppDetails`
10222
+
10223
+ ```ts
10224
+ type PublicAppDetails = {
10225
+ app_id?: string
10226
+ name?: {
10227
+ en: string
10124
10228
  }
10125
10229
  }
10126
10230
  ```
@@ -10145,6 +10249,56 @@ type PublicDataRetrievalHookDetails = {
10145
10249
  en: string
10146
10250
  }
10147
10251
  intervals?: string[]
10252
+ block_types?: string[]
10253
+ }
10254
+ ```
10255
+
10256
+ ### `VisualizationMetadata`
10257
+
10258
+ Runtime metadata describing how a visualization should be rendered for a given portal context. Returned by `GET /v2/portal/visualization/metadata`.
10259
+
10260
+
10261
+ ```ts
10262
+ type VisualizationMetadata = {
10263
+ type_options?: Array<{
10264
+ id: string
10265
+ label?: Record<string, string>
10266
+ aggregation_group?: string
10267
+ statistical_method?: "sum" | "average" | "min" | "max"
10268
+ unit?: string
10269
+ color?: "primary" | "slate" | "mauve" | "orange" | "red" | "tomato" | "amber" | "green" | "blue"
10270
+ precision?: number
10271
+ }>
10272
+ intervals?: "PT15M" | "PT1H" | "P1D" | "P1M"[]
10273
+ data_range?: {
10274
+ from?: string // date-time
10275
+ to?: string // date-time
10276
+ }
10277
+ }
10278
+ ```
10279
+
10280
+ ### `VisualizationTypeOption`
10281
+
10282
+ ```ts
10283
+ type VisualizationTypeOption = {
10284
+ id: string
10285
+ label?: Record<string, string>
10286
+ aggregation_group?: string
10287
+ statistical_method?: "sum" | "average" | "min" | "max"
10288
+ unit?: string
10289
+ color?: "primary" | "slate" | "mauve" | "orange" | "red" | "tomato" | "amber" | "green" | "blue"
10290
+ precision?: number
10291
+ }
10292
+ ```
10293
+
10294
+ ### `VisualizationDataRange`
10295
+
10296
+ Earliest / latest timestamps for which data is available in the current context.
10297
+
10298
+ ```ts
10299
+ type VisualizationDataRange = {
10300
+ from?: string // date-time
10301
+ to?: string // date-time
10148
10302
  }
10149
10303
  ```
10150
10304
 
@@ -10459,6 +10613,77 @@ type ExtensionHookConsumptionDataRetrieval = {
10459
10613
  }
10460
10614
  ```
10461
10615
 
10616
+ ### `ExtensionHookDataExport`
10617
+
10618
+ Generic data export hook. When configured on a visualization block, the portal delegates the export action (e.g. CSV/Excel/PDF download) to the configured external source instead of generating the file itself. Can be used by any block that supports export — consumption charts, dynamic tariff charts,
10619
+
10620
+ ```ts
10621
+ type ExtensionHookDataExport = {
10622
+ type: "dataExport"
10623
+ block_types?: string[]
10624
+ auth?: {
10625
+ method?: string
10626
+ url: string
10627
+ params?: Record<string, string>
10628
+ headers?: Record<string, string>
10629
+ body?: Record<string, string>
10630
+ cache?: {
10631
+ key: { ... }
10632
+ ttl: { ... }
10633
+ }
10634
+ }
10635
+ call: {
10636
+ method?: string
10637
+ url: string
10638
+ params?: Record<string, string>
10639
+ headers?: Record<string, string>
10640
+ body?: Record<string, string>
10641
+ }
10642
+ use_static_ips?: boolean
10643
+ secure_proxy?: {
10644
+ integration_id: string // uuid
10645
+ use_case_slug: string
10646
+ }
10647
+ }
10648
+ ```
10649
+
10650
+ ### `ExtensionHookVisualizationMetadata`
10651
+
10652
+ Hook that returns runtime metadata describing how a visualization should be rendered for a given portal context. Invoked by the portal before fetching data, with the same context the data hook receives.
10653
+
10654
+
10655
+ ```ts
10656
+ type ExtensionHookVisualizationMetadata = {
10657
+ type: "visualizationMetadata"
10658
+ auth?: {
10659
+ method?: string
10660
+ url: string
10661
+ params?: Record<string, string>
10662
+ headers?: Record<string, string>
10663
+ body?: Record<string, string>
10664
+ cache?: {
10665
+ key: { ... }
10666
+ ttl: { ... }
10667
+ }
10668
+ }
10669
+ call: {
10670
+ method?: string
10671
+ url: string
10672
+ params?: Record<string, string>
10673
+ headers?: Record<string, string>
10674
+ body?: Record<string, string>
10675
+ }
10676
+ resolved?: {
10677
+ dataPath?: string
10678
+ }
10679
+ use_static_ips?: boolean
10680
+ secure_proxy?: {
10681
+ integration_id: string // uuid
10682
+ use_case_slug: string
10683
+ }
10684
+ }
10685
+ ```
10686
+
10462
10687
  ### `ExtensionHookCostDataRetrieval`
10463
10688
 
10464
10689
  Hook that will allow using the specified source as data for consumption visualizations. This hook is triggered to fetch the data. Format of the request and response has to follow the following specification: TBD. The expected response to the call is:
@@ -10608,6 +10833,7 @@ type MeterReadingPhotoData = {
10608
10833
  reading?: string
10609
10834
  sector?: string
10610
10835
  meter_numbers?: string[]
10836
+ file_id?: string
10611
10837
  }
10612
10838
  ```
10613
10839
 
@@ -11038,6 +11264,7 @@ type Page = {
11038
11264
  id?: string // uuid
11039
11265
  last_modified_at?: string // date-time
11040
11266
  portal_id?: string
11267
+ past_routes?: string[]
11041
11268
  }
11042
11269
  ```
11043
11270