@epilot/sdk 2.13.0 → 2.13.1

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 (126) hide show
  1. package/definitions/metering.json +6 -6
  2. package/definitions/webhooks.json +8 -4
  3. package/dist/apis/access-token.cjs +6 -6
  4. package/dist/apis/access-token.js +1 -1
  5. package/dist/apis/address-suggestions.cjs +6 -6
  6. package/dist/apis/address-suggestions.js +1 -1
  7. package/dist/apis/address.cjs +6 -6
  8. package/dist/apis/address.js +1 -1
  9. package/dist/apis/ai-agents.cjs +6 -6
  10. package/dist/apis/ai-agents.js +1 -1
  11. package/dist/apis/app.cjs +6 -6
  12. package/dist/apis/app.js +1 -1
  13. package/dist/apis/audit-logs.cjs +6 -6
  14. package/dist/apis/audit-logs.js +1 -1
  15. package/dist/apis/automation.cjs +6 -6
  16. package/dist/apis/automation.js +1 -1
  17. package/dist/apis/billing.cjs +6 -6
  18. package/dist/apis/billing.js +1 -1
  19. package/dist/apis/blueprint-manifest.cjs +6 -6
  20. package/dist/apis/blueprint-manifest.js +1 -1
  21. package/dist/apis/calendar.cjs +6 -6
  22. package/dist/apis/calendar.js +1 -1
  23. package/dist/apis/configuration-hub.cjs +6 -6
  24. package/dist/apis/configuration-hub.js +1 -1
  25. package/dist/apis/consent.cjs +6 -6
  26. package/dist/apis/consent.js +1 -1
  27. package/dist/apis/customer-portal.cjs +6 -6
  28. package/dist/apis/customer-portal.js +1 -1
  29. package/dist/apis/dashboard.cjs +6 -6
  30. package/dist/apis/dashboard.js +1 -1
  31. package/dist/apis/data-governance.cjs +6 -6
  32. package/dist/apis/data-governance.js +1 -1
  33. package/dist/apis/deduplication.cjs +6 -6
  34. package/dist/apis/deduplication.js +1 -1
  35. package/dist/apis/design.cjs +6 -6
  36. package/dist/apis/design.js +1 -1
  37. package/dist/apis/document.cjs +6 -6
  38. package/dist/apis/document.js +1 -1
  39. package/dist/apis/email-settings.cjs +6 -6
  40. package/dist/apis/email-settings.js +1 -1
  41. package/dist/apis/email-template.cjs +6 -6
  42. package/dist/apis/email-template.js +1 -1
  43. package/dist/apis/entity-mapping.cjs +6 -6
  44. package/dist/apis/entity-mapping.js +1 -1
  45. package/dist/apis/entity.cjs +6 -6
  46. package/dist/apis/entity.js +1 -1
  47. package/dist/apis/environments.cjs +6 -6
  48. package/dist/apis/environments.js +1 -1
  49. package/dist/apis/event-catalog.cjs +6 -6
  50. package/dist/apis/event-catalog.js +1 -1
  51. package/dist/apis/file.cjs +6 -6
  52. package/dist/apis/file.js +1 -1
  53. package/dist/apis/iban.cjs +6 -6
  54. package/dist/apis/iban.js +1 -1
  55. package/dist/apis/integration-toolkit.cjs +6 -6
  56. package/dist/apis/integration-toolkit.js +1 -1
  57. package/dist/apis/journey.cjs +6 -6
  58. package/dist/apis/journey.js +1 -1
  59. package/dist/apis/kanban.cjs +6 -6
  60. package/dist/apis/kanban.js +1 -1
  61. package/dist/apis/message.cjs +6 -6
  62. package/dist/apis/message.js +1 -1
  63. package/dist/apis/metering.cjs +6 -6
  64. package/dist/apis/metering.d.cts +2 -2
  65. package/dist/apis/metering.d.ts +2 -2
  66. package/dist/apis/metering.js +1 -1
  67. package/dist/apis/notes.cjs +6 -6
  68. package/dist/apis/notes.js +1 -1
  69. package/dist/apis/notification.cjs +6 -6
  70. package/dist/apis/notification.js +1 -1
  71. package/dist/apis/organization.cjs +6 -6
  72. package/dist/apis/organization.js +1 -1
  73. package/dist/apis/partner-directory.cjs +6 -6
  74. package/dist/apis/partner-directory.js +1 -1
  75. package/dist/apis/permissions.cjs +6 -6
  76. package/dist/apis/permissions.js +1 -1
  77. package/dist/apis/pricing-tier.cjs +6 -6
  78. package/dist/apis/pricing-tier.js +1 -1
  79. package/dist/apis/pricing.cjs +6 -6
  80. package/dist/apis/pricing.js +1 -1
  81. package/dist/apis/purpose.cjs +6 -6
  82. package/dist/apis/purpose.js +1 -1
  83. package/dist/apis/query.cjs +6 -6
  84. package/dist/apis/query.js +1 -1
  85. package/dist/apis/sandbox.cjs +6 -6
  86. package/dist/apis/sandbox.js +1 -1
  87. package/dist/apis/sharing.cjs +6 -6
  88. package/dist/apis/sharing.js +1 -1
  89. package/dist/apis/snapshot.cjs +6 -6
  90. package/dist/apis/snapshot.js +1 -1
  91. package/dist/apis/submission.cjs +6 -6
  92. package/dist/apis/submission.js +1 -1
  93. package/dist/apis/target.cjs +6 -6
  94. package/dist/apis/target.js +1 -1
  95. package/dist/apis/targeting.cjs +6 -6
  96. package/dist/apis/targeting.js +1 -1
  97. package/dist/apis/template-variables.cjs +6 -6
  98. package/dist/apis/template-variables.js +1 -1
  99. package/dist/apis/user.cjs +6 -6
  100. package/dist/apis/user.js +1 -1
  101. package/dist/apis/validation-rules.cjs +6 -6
  102. package/dist/apis/validation-rules.js +1 -1
  103. package/dist/apis/webhooks.cjs +6 -6
  104. package/dist/apis/webhooks.d.cts +2 -2
  105. package/dist/apis/webhooks.d.ts +2 -2
  106. package/dist/apis/webhooks.js +1 -1
  107. package/dist/apis/workflow-definition.cjs +6 -6
  108. package/dist/apis/workflow-definition.js +1 -1
  109. package/dist/apis/workflow.cjs +6 -6
  110. package/dist/apis/workflow.js +1 -1
  111. package/dist/{chunk-C35OPQHY.cjs → chunk-74EM6ZXK.cjs} +1 -1
  112. package/dist/{chunk-SQQJND25.js → chunk-UAND7NKG.js} +1 -1
  113. package/dist/index.cjs +8 -8
  114. package/dist/index.d.cts +2 -2
  115. package/dist/index.d.ts +2 -2
  116. package/dist/index.js +1 -1
  117. package/dist/metering-3K36TQ5Z.cjs +7 -0
  118. package/dist/metering-7T6NJRHT.js +7 -0
  119. package/dist/{metering.d-BrZWNonl.d.cts → metering.d-DoC7rUbS.d.cts} +9 -9
  120. package/dist/{metering.d-BrZWNonl.d.ts → metering.d-DoC7rUbS.d.ts} +9 -9
  121. package/dist/{webhooks.d-DytMQF8m.d.ts → webhooks.d-Bs6-AkzY.d.cts} +12 -0
  122. package/dist/{webhooks.d-DytMQF8m.d.cts → webhooks.d-Bs6-AkzY.d.ts} +12 -0
  123. package/docs/metering.md +21 -21
  124. package/package.json +1 -1
  125. package/dist/metering-KLRWUTAL.js +0 -7
  126. package/dist/metering-WU45K2JS.cjs +0 -7
@@ -1,7 +1,7 @@
1
1
  import { A as ApiHandle } from '../types-ChU9Acbv.js';
2
2
  export { T as TokenArg, a as authorize } from '../types-ChU9Acbv.js';
3
- import { C as Client } from '../webhooks.d-DytMQF8m.js';
4
- export { A as ApiKeyConfig, c as Auth, d as AuthType, B as BasicAuthConfig, e as BatchReplayRequest, a as Components, f as CustomHeader, g as CustomOAuthParameter, E as ErrorResp, h as EventConfigEntry, i as EventConfigResp, j as EventListResponse, k as ExampleRequest, l as ExampleResponse, m as ExecutionPayload, F as Filter, H as HttpMethod, M as Metadata, n as OAuthConfig, O as OperationMethods, P as Paths, b as PathsDictionary, o as PayloadConfiguration, p as PublicKeyResponse, R as ReplayRequest, S as SearchOptions, T as TestOAuthResponse, q as TriggerWebhookResp, W as WebhookCondition, r as WebhookConditionGroup, s as WebhookConfig, t as WebhookEvent } from '../webhooks.d-DytMQF8m.js';
3
+ import { C as Client } from '../webhooks.d-Bs6-AkzY.js';
4
+ export { A as ApiKeyConfig, c as Auth, d as AuthType, B as BasicAuthConfig, e as BatchReplayRequest, a as Components, f as CustomHeader, g as CustomOAuthParameter, E as ErrorResp, h as EventConfigEntry, i as EventConfigResp, j as EventListResponse, k as ExampleRequest, l as ExampleResponse, m as ExecutionPayload, F as Filter, H as HttpMethod, M as Metadata, n as OAuthConfig, O as OperationMethods, P as Paths, b as PathsDictionary, o as PayloadConfiguration, p as PublicKeyResponse, R as ReplayRequest, S as SearchOptions, T as TestOAuthResponse, q as TriggerWebhookResp, W as WebhookCondition, r as WebhookConditionGroup, s as WebhookConfig, t as WebhookEvent } from '../webhooks.d-Bs6-AkzY.js';
5
5
  export { OpenAPIClient } from 'openapi-client-axios';
6
6
  import 'axios';
7
7
 
@@ -6,7 +6,7 @@ import {
6
6
  createApiClient,
7
7
  createApiHandle,
8
8
  expand
9
- } from "../chunk-SQQJND25.js";
9
+ } from "../chunk-UAND7NKG.js";
10
10
  import "../chunk-YPSWSI3M.js";
11
11
 
12
12
  // src/apis/webhooks.ts
@@ -6,25 +6,25 @@ var _chunkQNSMYDKGcjs = require('../chunk-QNSMYDKG.cjs');
6
6
 
7
7
 
8
8
 
9
- var _chunkC35OPQHYcjs = require('../chunk-C35OPQHY.cjs');
9
+ var _chunk74EM6ZXKcjs = require('../chunk-74EM6ZXK.cjs');
10
10
  require('../chunk-NJK5F5TF.cjs');
11
11
 
12
12
  // src/apis/workflow-definition.ts
13
13
  var loadDefinition = () => {
14
14
  const mod = _chunkQNSMYDKGcjs.require_workflow_definition_runtime.call(void 0, );
15
- return _chunkC35OPQHYcjs.expand.call(void 0, _nullishCoalesce(mod.default, () => ( mod)));
15
+ return _chunk74EM6ZXKcjs.expand.call(void 0, _nullishCoalesce(mod.default, () => ( mod)));
16
16
  };
17
17
  var _instance = null;
18
18
  var resolve = () => {
19
19
  if (!_instance) {
20
20
  const def = loadDefinition();
21
- _instance = _chunkC35OPQHYcjs.createApiClient.call(void 0, { definition: def, apiName: "workflowDefinition" });
21
+ _instance = _chunk74EM6ZXKcjs.createApiClient.call(void 0, { definition: def, apiName: "workflowDefinition" });
22
22
  }
23
23
  return _instance;
24
24
  };
25
- var _handle = _chunkC35OPQHYcjs.createApiHandle.call(void 0, {
25
+ var _handle = _chunk74EM6ZXKcjs.createApiHandle.call(void 0, {
26
26
  resolveClient: resolve,
27
- createClient: () => _chunkC35OPQHYcjs.createApiClient.call(void 0, { definition: loadDefinition(), apiName: "workflowDefinition" }),
27
+ createClient: () => _chunk74EM6ZXKcjs.createApiClient.call(void 0, { definition: loadDefinition(), apiName: "workflowDefinition" }),
28
28
  apiName: "workflowDefinition"
29
29
  });
30
30
  var getClient = _handle.getClient;
@@ -35,4 +35,4 @@ var workflowDefinition = _handle;
35
35
 
36
36
 
37
37
 
38
- exports.authorize = _chunkC35OPQHYcjs.authorize; exports.createClient = createClient; exports.getClient = getClient; exports.workflowDefinition = workflowDefinition;
38
+ exports.authorize = _chunk74EM6ZXKcjs.authorize; exports.createClient = createClient; exports.getClient = getClient; exports.workflowDefinition = workflowDefinition;
@@ -6,7 +6,7 @@ import {
6
6
  createApiClient,
7
7
  createApiHandle,
8
8
  expand
9
- } from "../chunk-SQQJND25.js";
9
+ } from "../chunk-UAND7NKG.js";
10
10
  import "../chunk-YPSWSI3M.js";
11
11
 
12
12
  // src/apis/workflow-definition.ts
@@ -6,25 +6,25 @@ var _chunkPM25LLETcjs = require('../chunk-PM25LLET.cjs');
6
6
 
7
7
 
8
8
 
9
- var _chunkC35OPQHYcjs = require('../chunk-C35OPQHY.cjs');
9
+ var _chunk74EM6ZXKcjs = require('../chunk-74EM6ZXK.cjs');
10
10
  require('../chunk-NJK5F5TF.cjs');
11
11
 
12
12
  // src/apis/workflow.ts
13
13
  var loadDefinition = () => {
14
14
  const mod = _chunkPM25LLETcjs.require_workflow_runtime.call(void 0, );
15
- return _chunkC35OPQHYcjs.expand.call(void 0, _nullishCoalesce(mod.default, () => ( mod)));
15
+ return _chunk74EM6ZXKcjs.expand.call(void 0, _nullishCoalesce(mod.default, () => ( mod)));
16
16
  };
17
17
  var _instance = null;
18
18
  var resolve = () => {
19
19
  if (!_instance) {
20
20
  const def = loadDefinition();
21
- _instance = _chunkC35OPQHYcjs.createApiClient.call(void 0, { definition: def, apiName: "workflow" });
21
+ _instance = _chunk74EM6ZXKcjs.createApiClient.call(void 0, { definition: def, apiName: "workflow" });
22
22
  }
23
23
  return _instance;
24
24
  };
25
- var _handle = _chunkC35OPQHYcjs.createApiHandle.call(void 0, {
25
+ var _handle = _chunk74EM6ZXKcjs.createApiHandle.call(void 0, {
26
26
  resolveClient: resolve,
27
- createClient: () => _chunkC35OPQHYcjs.createApiClient.call(void 0, { definition: loadDefinition(), apiName: "workflow" }),
27
+ createClient: () => _chunk74EM6ZXKcjs.createApiClient.call(void 0, { definition: loadDefinition(), apiName: "workflow" }),
28
28
  apiName: "workflow"
29
29
  });
30
30
  var getClient = _handle.getClient;
@@ -35,4 +35,4 @@ var workflow = _handle;
35
35
 
36
36
 
37
37
 
38
- exports.authorize = _chunkC35OPQHYcjs.authorize; exports.createClient = createClient; exports.getClient = getClient; exports.workflow = workflow;
38
+ exports.authorize = _chunk74EM6ZXKcjs.authorize; exports.createClient = createClient; exports.getClient = getClient; exports.workflow = workflow;
@@ -6,7 +6,7 @@ import {
6
6
  createApiClient,
7
7
  createApiHandle,
8
8
  expand
9
- } from "../chunk-SQQJND25.js";
9
+ } from "../chunk-UAND7NKG.js";
10
10
  import "../chunk-YPSWSI3M.js";
11
11
 
12
12
  // src/apis/workflow.ts
@@ -60,7 +60,7 @@ var globImport_docs = _chunkNJK5F5TFcjs.__glob.call(void 0, {
60
60
  "./docs/journey.json": () => Promise.resolve().then(() => _interopRequireWildcard(require("./journey-LHVSSVTG.cjs"))),
61
61
  "./docs/kanban.json": () => Promise.resolve().then(() => _interopRequireWildcard(require("./kanban-FSATKIGH.cjs"))),
62
62
  "./docs/message.json": () => Promise.resolve().then(() => _interopRequireWildcard(require("./message-7LNAFKKV.cjs"))),
63
- "./docs/metering.json": () => Promise.resolve().then(() => _interopRequireWildcard(require("./metering-WU45K2JS.cjs"))),
63
+ "./docs/metering.json": () => Promise.resolve().then(() => _interopRequireWildcard(require("./metering-3K36TQ5Z.cjs"))),
64
64
  "./docs/notes.json": () => Promise.resolve().then(() => _interopRequireWildcard(require("./notes-SLEUSNP4.cjs"))),
65
65
  "./docs/notification.json": () => Promise.resolve().then(() => _interopRequireWildcard(require("./notification-R2XBHFEW.cjs"))),
66
66
  "./docs/organization.json": () => Promise.resolve().then(() => _interopRequireWildcard(require("./organization-RARYYG2E.cjs"))),
@@ -60,7 +60,7 @@ var globImport_docs = __glob({
60
60
  "./docs/journey.json": () => import("./journey-NXL264XW.js"),
61
61
  "./docs/kanban.json": () => import("./kanban-F22JXYCG.js"),
62
62
  "./docs/message.json": () => import("./message-6IFCB7GH.js"),
63
- "./docs/metering.json": () => import("./metering-KLRWUTAL.js"),
63
+ "./docs/metering.json": () => import("./metering-7T6NJRHT.js"),
64
64
  "./docs/notes.json": () => import("./notes-6JESMRLW.js"),
65
65
  "./docs/notification.json": () => import("./notification-PLIRHBNF.js"),
66
66
  "./docs/organization.json": () => import("./organization-ZERPH2IH.js"),
package/dist/index.cjs CHANGED
@@ -158,7 +158,7 @@ var _chunkDVM27A7Ecjs = require('./chunk-DVM27A7E.cjs');
158
158
 
159
159
 
160
160
 
161
- var _chunkC35OPQHYcjs = require('./chunk-C35OPQHY.cjs');
161
+ var _chunk74EM6ZXKcjs = require('./chunk-74EM6ZXK.cjs');
162
162
 
163
163
 
164
164
  var _chunkNJK5F5TFcjs = require('./chunk-NJK5F5TF.cjs');
@@ -225,7 +225,7 @@ var resolveClient = (params) => {
225
225
  }
226
226
  if (!entry.instance) {
227
227
  const definition = entry.loader();
228
- entry.instance = _chunkC35OPQHYcjs.createApiClient.call(void 0, {
228
+ entry.instance = _chunk74EM6ZXKcjs.createApiClient.call(void 0, {
229
229
  definition,
230
230
  token: state.token,
231
231
  headers: state.globalHeaders,
@@ -258,7 +258,7 @@ var resetAllClients = (registry) => {
258
258
  };
259
259
 
260
260
  // src/apis/_registry.ts
261
- var expandDef = (mod) => _chunkC35OPQHYcjs.expand.call(void 0, _nullishCoalesce(mod.default, () => ( mod)));
261
+ var expandDef = (mod) => _chunk74EM6ZXKcjs.expand.call(void 0, _nullishCoalesce(mod.default, () => ( mod)));
262
262
  var registerBuiltinApis = (registry) => {
263
263
  registerApi({
264
264
  registry,
@@ -601,9 +601,9 @@ var createSDK = () => {
601
601
  const available = [...registry.keys()].join(", ");
602
602
  throw new Error(`Unknown API: "${name}". Available: ${available}`);
603
603
  }
604
- return _chunkC35OPQHYcjs.createApiHandle.call(void 0, {
604
+ return _chunk74EM6ZXKcjs.createApiHandle.call(void 0, {
605
605
  resolveClient: () => resolveClient({ registry, name, state }),
606
- createClient: () => _chunkC35OPQHYcjs.createApiClient.call(void 0, { definition: entry.loader(), apiName: name }),
606
+ createClient: () => _chunk74EM6ZXKcjs.createApiClient.call(void 0, { definition: entry.loader(), apiName: name }),
607
607
  apiName: name
608
608
  });
609
609
  };
@@ -651,9 +651,9 @@ var createSDK = () => {
651
651
  return interceptorUse;
652
652
  }
653
653
  case "help":
654
- return (apiName) => _chunkC35OPQHYcjs.help.call(void 0, apiName);
654
+ return (apiName) => _chunk74EM6ZXKcjs.help.call(void 0, apiName);
655
655
  case "openapi":
656
- return (apiName) => _chunkC35OPQHYcjs.openapi.call(void 0, apiName);
656
+ return (apiName) => _chunk74EM6ZXKcjs.openapi.call(void 0, apiName);
657
657
  case "then":
658
658
  case "catch":
659
659
  case "finally":
@@ -683,4 +683,4 @@ var epilot = createSDK();
683
683
 
684
684
 
685
685
 
686
- exports.applyLargeResponseInterceptor = applyLargeResponseInterceptor; exports.applyRetryInterceptor = applyRetryInterceptor; exports.authorize = _chunkC35OPQHYcjs.authorize; exports.createSDK = createSDK; exports.epilot = epilot; exports.help = _chunkC35OPQHYcjs.help; exports.openapi = _chunkC35OPQHYcjs.openapi;
686
+ exports.applyLargeResponseInterceptor = applyLargeResponseInterceptor; exports.applyRetryInterceptor = applyRetryInterceptor; exports.authorize = _chunk74EM6ZXKcjs.authorize; exports.createSDK = createSDK; exports.epilot = epilot; exports.help = _chunk74EM6ZXKcjs.help; exports.openapi = _chunk74EM6ZXKcjs.openapi;
package/dist/index.d.cts CHANGED
@@ -33,7 +33,7 @@ import { C as Client$q } from './integration-toolkit.d-7q19qDTD.cjs';
33
33
  import { C as Client$r } from './journey.d-B1sOeMHw.cjs';
34
34
  import { C as Client$s } from './kanban.d-BHnSRCYW.cjs';
35
35
  import { C as Client$t } from './message.d-B5UuSqgw.cjs';
36
- import { C as Client$u } from './metering.d-BrZWNonl.cjs';
36
+ import { C as Client$u } from './metering.d-DoC7rUbS.cjs';
37
37
  import { C as Client$v } from './notes.d-rbcyHfiB.cjs';
38
38
  import { C as Client$w } from './notification.d-r89Jec85.cjs';
39
39
  import { C as Client$x } from './organization.d-DqwnNxMg.cjs';
@@ -51,7 +51,7 @@ import { C as Client$I } from './targeting.d-Bq3onSes.cjs';
51
51
  import { C as Client$J } from './template-variables.d-Ble9TSBa.cjs';
52
52
  import { C as Client$K } from './user.d-6bp0zEwE.cjs';
53
53
  import { C as Client$L } from './validation-rules.d-Db5c5zTf.cjs';
54
- import { C as Client$M } from './webhooks.d-DytMQF8m.cjs';
54
+ import { C as Client$M } from './webhooks.d-Bs6-AkzY.cjs';
55
55
  import { C as Client$N } from './workflow.d-5cyNJgVQ.cjs';
56
56
  import { C as Client$O } from './workflow-definition.d-CweGhhBU.cjs';
57
57
 
package/dist/index.d.ts CHANGED
@@ -33,7 +33,7 @@ import { C as Client$q } from './integration-toolkit.d-7q19qDTD.js';
33
33
  import { C as Client$r } from './journey.d-B1sOeMHw.js';
34
34
  import { C as Client$s } from './kanban.d-BHnSRCYW.js';
35
35
  import { C as Client$t } from './message.d-B5UuSqgw.js';
36
- import { C as Client$u } from './metering.d-BrZWNonl.js';
36
+ import { C as Client$u } from './metering.d-DoC7rUbS.js';
37
37
  import { C as Client$v } from './notes.d-rbcyHfiB.js';
38
38
  import { C as Client$w } from './notification.d-r89Jec85.js';
39
39
  import { C as Client$x } from './organization.d-DqwnNxMg.js';
@@ -51,7 +51,7 @@ import { C as Client$I } from './targeting.d-Bq3onSes.js';
51
51
  import { C as Client$J } from './template-variables.d-Ble9TSBa.js';
52
52
  import { C as Client$K } from './user.d-6bp0zEwE.js';
53
53
  import { C as Client$L } from './validation-rules.d-Db5c5zTf.js';
54
- import { C as Client$M } from './webhooks.d-DytMQF8m.js';
54
+ import { C as Client$M } from './webhooks.d-Bs6-AkzY.js';
55
55
  import { C as Client$N } from './workflow.d-5cyNJgVQ.js';
56
56
  import { C as Client$O } from './workflow-definition.d-CweGhhBU.js';
57
57
 
package/dist/index.js CHANGED
@@ -158,7 +158,7 @@ import {
158
158
  expand,
159
159
  help,
160
160
  openapi
161
- } from "./chunk-SQQJND25.js";
161
+ } from "./chunk-UAND7NKG.js";
162
162
  import {
163
163
  __require
164
164
  } from "./chunk-YPSWSI3M.js";
@@ -0,0 +1,7 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-NJK5F5TF.cjs');
2
+
3
+ // src/docs/metering.json
4
+ var metering_default = '# Metering API\n\n- **Base URL:** `https://metering.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/metering](https://docs.epilot.io/api/metering)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.metering.getCustomerMeters(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/metering\'\n\nconst meteringClient = getClient()\nauthorize(meteringClient, () => \'<token>\')\nconst { data } = await meteringClient.getCustomerMeters(...)\n```\n\n## Operations\n\n**ECP**\n- [`getCustomerMeters`](#getcustomermeters)\n- [`getMetersByContractId`](#getmetersbycontractid)\n- [`updateMeter`](#updatemeter)\n- [`getMeter`](#getmeter)\n- [`getMeterCounters`](#getmetercounters)\n- [`getCounterDetails`](#getcounterdetails)\n- [`createPortalMeterReadings`](#createportalmeterreadings)\n\n**ECP Admin**\n- [`createMeterReading`](#createmeterreading)\n- [`createMeterReadings`](#createmeterreadings)\n- [`batchWriteMeterReadings`](#batchwritemeterreadings)\n- [`createMeterReadingFromSubmission`](#createmeterreadingfromsubmission)\n- [`getAllowedReadingForMeter`](#getallowedreadingformeter)\n- [`createReadingWithMeter`](#createreadingwithmeter)\n- [`getReadingsByInterval`](#getreadingsbyinterval)\n- [`updateMeterReading`](#updatemeterreading)\n- [`deleteMeterReading`](#deletemeterreading)\n\n**Metering**\n- [`getReadingChangesets`](#getreadingchangesets)\n- [`applyReadingChangeset`](#applyreadingchangeset)\n- [`dismissReadingChangeset`](#dismissreadingchangeset)\n- [`updateReadingChangeset`](#updatereadingchangeset)\n\n**Schemas**\n- [`ErrorResp`](#errorresp)\n- [`EntityId`](#entityid)\n- [`EntitySlug`](#entityslug)\n- [`BaseEntity`](#baseentity)\n- [`Entity`](#entity)\n- [`EntityItem`](#entityitem)\n- [`Id`](#id)\n- [`EntityRelation`](#entityrelation)\n- [`Meter`](#meter)\n- [`Direction`](#direction)\n- [`TariffType`](#tarifftype)\n- [`Reason`](#reason)\n- [`ReasonString`](#reasonstring)\n- [`ReadBy`](#readby)\n- [`ReadingStatus`](#readingstatus)\n- [`Reading`](#reading)\n- [`MeterReading`](#meterreading)\n- [`PortalMeterReading`](#portalmeterreading)\n- [`BatchReadingBase`](#batchreadingbase)\n- [`CreateOrUpdateBatchReading`](#createorupdatebatchreading)\n- [`DeleteBatchReading`](#deletebatchreading)\n- [`BatchReading`](#batchreading)\n- [`UpdateMeterReading`](#updatemeterreading)\n- [`MeterCounter`](#metercounter)\n- [`CounterReadingOnSubmission`](#counterreadingonsubmission)\n- [`SubmissionMeterReading`](#submissionmeterreading)\n- [`Unit`](#unit)\n- [`Source`](#source)\n- [`ActionLabel`](#actionlabel)\n- [`Rule`](#rule)\n- [`JourneyActions`](#journeyactions)\n- [`ReadingWithMeter`](#readingwithmeter)\n- [`MeterReadingChangeset`](#meterreadingchangeset)\n- [`FuzzyConfig`](#fuzzyconfig)\n- [`ProposedReading`](#proposedreading)\n- [`ChangesetCreator`](#changesetcreator)\n- [`TimestampTolerance`](#timestamptolerance)\n- [`ActivityId`](#activityid)\n\n### `getCustomerMeters`\n\nRetrieves all meters associated with the authenticated portal customer.\n\n`GET /v1/metering/meter`\n\n```ts\nconst { data } = await client.getCustomerMeters({\n include_pending_changesets: true,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "data": [\n {\n "_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_title": "Example Entity",\n "_org": "123",\n "_tags": ["example", "mock"],\n "_created_at": "2021-02-09T12:41:43.662Z",\n "_updated_at": "2021-02-09T12:41:43.662Z",\n "_schema": "meter",\n "ma_lo_id": "A09-123",\n "status": "active",\n "meter_type": "three-phase-meter",\n "tariff_type": "Peak load tariff",\n "meter_number": "J-1093-1AK",\n "sector": "power",\n "location": [\n {\n "country": "Germany",\n "city": "Koln",\n "postal_code": 81475,\n "street": "Melateng\xFCrtel",\n "street_number": 71,\n "additional_info": "5. Etage",\n "_tags": ["billing", "delivery"]\n }\n ],\n "used_for": "Domestic Usage",\n "manufacturer": "Energy One",\n "calibration_date": "2022-10-10T00:00:00.000Z",\n "contract": {\n "$relation": [\n {\n "entity_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_slug": "contact"\n }\n ]\n },\n "customer": {\n "$relation": [\n {\n "entity_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_slug": "contact"\n }\n ]\n },\n "journey_actions": {\n "journey_id": "string",\n "action_label": {\n "en": "string",\n "de": "string"\n },\n "slug": "string",\n "rules": [\n {\n "entity": "string",\n "attribute": "string",\n "attribute_value": "string"\n }\n ]\n },\n "last_reading": "2022-10-10T00:00:00.000Z",\n "current_consumption": 100.5\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getMetersByContractId`\n\nRetrieves all meters associated with a given contract entity.\n\n`GET /v1/metering/contract/meters/{contract_id}`\n\n```ts\nconst { data } = await client.getMetersByContractId({\n contract_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "data": [\n {\n "_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_title": "Example Entity",\n "_org": "123",\n "_tags": ["example", "mock"],\n "_created_at": "2021-02-09T12:41:43.662Z",\n "_updated_at": "2021-02-09T12:41:43.662Z",\n "_schema": "meter",\n "ma_lo_id": "A09-123",\n "status": "active",\n "meter_type": "three-phase-meter",\n "tariff_type": "Peak load tariff",\n "meter_number": "J-1093-1AK",\n "sector": "power",\n "location": [\n {\n "country": "Germany",\n "city": "Koln",\n "postal_code": 81475,\n "street": "Melateng\xFCrtel",\n "street_number": 71,\n "additional_info": "5. Etage",\n "_tags": ["billing", "delivery"]\n }\n ],\n "used_for": "Domestic Usage",\n "manufacturer": "Energy One",\n "calibration_date": "2022-10-10T00:00:00.000Z",\n "contract": {\n "$relation": [\n {\n "entity_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_slug": "contact"\n }\n ]\n },\n "customer": {\n "$relation": [\n {\n "entity_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_slug": "contact"\n }\n ]\n }\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `updateMeter`\n\nPartially updates the details of a meter entity by ID.\n\n`PATCH /v1/metering/meter/{id}`\n\n```ts\nconst { data } = await client.updateMeter(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {},\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "data": {\n "_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_title": "Example Entity",\n "_org": "123",\n "_tags": ["example", "mock"],\n "_created_at": "2021-02-09T12:41:43.662Z",\n "_updated_at": "2021-02-09T12:41:43.662Z",\n "_schema": "meter",\n "ma_lo_id": "A09-123",\n "status": "active",\n "meter_type": "three-phase-meter",\n "tariff_type": "Peak load tariff",\n "meter_number": "J-1093-1AK",\n "sector": "power",\n "location": [\n {\n "country": "Germany",\n "city": "Koln",\n "postal_code": 81475,\n "street": "Melateng\xFCrtel",\n "street_number": 71,\n "additional_info": "5. Etage",\n "_tags": ["billing", "delivery"]\n }\n ],\n "used_for": "Domestic Usage",\n "manufacturer": "Energy One",\n "calibration_date": "2022-10-10T00:00:00.000Z",\n "contract": {\n "$relation": [\n {\n "entity_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_slug": "contact"\n }\n ]\n },\n "customer": {\n "$relation": [\n {\n "entity_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_slug": "contact"\n }\n ]\n }\n }\n}\n```\n\n</details>\n\n---\n\n### `getMeter`\n\nRetrieves the full details of a specific meter by ID, including related entities and available journey actions.\n\n`GET /v1/metering/meter/{id}`\n\n```ts\nconst { data } = await client.getMeter({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "data": {\n "entity": {\n "_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_title": "Example Entity",\n "_org": "123",\n "_tags": ["example", "mock"],\n "_created_at": "2021-02-09T12:41:43.662Z",\n "_updated_at": "2021-02-09T12:41:43.662Z",\n "_schema": "meter",\n "ma_lo_id": "A09-123",\n "status": "active",\n "meter_type": "three-phase-meter",\n "tariff_type": "Peak load tariff",\n "meter_number": "J-1093-1AK",\n "sector": "power",\n "location": [\n {\n "country": "Germany",\n "city": "Koln",\n "postal_code": 81475,\n "street": "Melateng\xFCrtel",\n "street_number": 71,\n "additional_info": "5. Etage",\n "_tags": ["billing", "delivery"]\n }\n ],\n "used_for": "Domestic Usage",\n "manufacturer": "Energy One",\n "calibration_date": "2022-10-10T00:00:00.000Z",\n "contract": {\n "$relation": [\n {\n "entity_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_slug": "contact"\n }\n ]\n },\n "customer": {\n "$relation": [\n {\n "entity_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_slug": "contact"\n }\n ]\n }\n },\n "journey_actions": {\n "journey_id": "string",\n "action_label": {\n "en": "string",\n "de": "string"\n },\n "slug": "string",\n "rules": [\n {\n "entity": "string",\n "attribute": "string",\n "attribute_value": "string"\n }\n ]\n },\n "relations": [\n {\n "_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_title": "Example Entity",\n "_org": "123",\n "_tags": ["example", "mock"],\n "_created_at": "2021-02-09T12:41:43.662Z",\n "_updated_at": "2021-02-09T12:41:43.662Z"\n }\n ]\n }\n}\n```\n\n</details>\n\n---\n\n### `getMeterCounters`\n\nRetrieves all meter counters associated with a given meter.\n\n`GET /v1/metering/counter`\n\n```ts\nconst { data } = await client.getMeterCounters({\n meter_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "data": [\n {\n "_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_title": "Example Entity",\n "_org": "123",\n "_tags": ["example", "mock"],\n "_created_at": "2021-02-09T12:41:43.662Z",\n "_updated_at": "2021-02-09T12:41:43.662Z",\n "_schema": "meter_counter",\n "obis_number": "A-34",\n "direction": "feed-in",\n "transformer_ratio": 70,\n "unit": "string",\n "forecast_reading_value": 270,\n "forecast_as_of": "2022-12-10T00:00:00.000Z",\n "current_consumption": 240,\n "last_reading": "2022-10-10T00:00:00.000Z",\n "conversion_factor": 3,\n "tariff_type": "ht"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getCounterDetails`\n\nRetrieves the full details of a single meter counter by its ID.\n\n`GET /v1/metering/counter/{counter_id}`\n\n```ts\nconst { data } = await client.getCounterDetails({\n counter_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "data": {\n "_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_title": "Example Entity",\n "_org": "123",\n "_tags": ["example", "mock"],\n "_created_at": "2021-02-09T12:41:43.662Z",\n "_updated_at": "2021-02-09T12:41:43.662Z",\n "_schema": "meter_counter",\n "obis_number": "A-34",\n "direction": "feed-in",\n "transformer_ratio": 70,\n "unit": "string",\n "forecast_reading_value": 270,\n "forecast_as_of": "2022-12-10T00:00:00.000Z",\n "current_consumption": 240,\n "last_reading": "2022-10-10T00:00:00.000Z",\n "conversion_factor": 3,\n "tariff_type": "ht"\n }\n}\n```\n\n</details>\n\n---\n\n### `createMeterReading`\n\nInserts a new meter reading.\n\n`POST /v1/metering/reading`\n\n```ts\nconst { data } = await client.createMeterReading(\n {\n direct: true,\n },\n {\n value: 240,\n read_by: \'John Doe\',\n reason: \'\',\n meter_id: \'3fa85f64-5717-4562-b3fc-2c963f66afa6\',\n counter_id: \'3fa85f64-5717-4562-b3fc-2c963f66afa6\',\n direction: \'feed-in\',\n timestamp: \'2022-10-10T00:00:00.000Z\',\n source: \'ECP\',\n status: \'valid\',\n external_id: \'string\',\n remark: \'Customer reported unusual consumption\',\n metadata: {\n registration_id: \'1234567890\',\n business_unit: \'ABC\'\n },\n note: \'string\',\n unit: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "data": {\n "value": 240,\n "read_by": "John Doe",\n "reason": "",\n "meter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "counter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "direction": "feed-in",\n "timestamp": "2022-10-10T00:00:00.000Z",\n "source": "ECP",\n "status": "valid",\n "external_id": "string",\n "remark": "Customer reported unusual consumption",\n "metadata": {\n "registration_id": "1234567890",\n "business_unit": "ABC"\n },\n "note": "string",\n "unit": "string"\n }\n}\n```\n\n</details>\n\n---\n\n### `createMeterReadings`\n\nInserts multiple meter readings at once. Limited to 100 readings per request.\n\n`POST /v1/metering/readings`\n\n```ts\nconst { data } = await client.createMeterReadings(\n {\n async: true,\n activity_id: \'example\',\n skip_validation: true,\n direct: true,\n create_ticket: true,\n },\n {\n readings: [\n {\n value: 240,\n read_by: \'John Doe\',\n reason: \'\',\n meter_id: \'3fa85f64-5717-4562-b3fc-2c963f66afa6\',\n counter_id: \'3fa85f64-5717-4562-b3fc-2c963f66afa6\',\n direction: \'feed-in\',\n timestamp: \'2022-10-10T00:00:00.000Z\',\n source: \'ECP\',\n status: \'valid\',\n external_id: \'string\',\n remark: \'Customer reported unusual consumption\',\n metadata: {\n registration_id: \'1234567890\',\n business_unit: \'ABC\'\n },\n note: \'string\',\n unit: \'string\'\n }\n ]\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "data": [\n {\n "value": 240,\n "read_by": "John Doe",\n "reason": "",\n "meter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "counter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "direction": "feed-in",\n "timestamp": "2022-10-10T00:00:00.000Z",\n "source": "ECP",\n "status": "valid",\n "external_id": "string",\n "remark": "Customer reported unusual consumption",\n "metadata": {\n "registration_id": "1234567890",\n "business_unit": "ABC"\n },\n "note": "string",\n "unit": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `createPortalMeterReadings`\n\nInserts multiple meter readings at once for a given meter via the end customer portal.\nLimited to 100 readings per request.\n\n`POST /v1/metering/readings/{meter_id}`\n\n```ts\nconst { data } = await client.createPortalMeterReadings(\n {\n meter_id: \'example\',\n direct: true,\n },\n {\n readings: [\n {\n value: 240,\n read_by: \'John Doe\',\n reason: \'\',\n meter_id: \'3fa85f64-5717-4562-b3fc-2c963f66afa6\',\n counter_id: \'3fa85f64-5717-4562-b3fc-2c963f66afa6\',\n direction: \'feed-in\',\n timestamp: \'2022-10-10T00:00:00.000Z\',\n source: \'ECP\',\n status: \'valid\',\n external_id: \'string\',\n remark: \'Customer reported unusual consumption\',\n metadata: {\n registration_id: \'1234567890\',\n business_unit: \'ABC\'\n },\n note: \'string\',\n unit: \'string\'\n }\n ]\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "data": [\n {\n "value": 240,\n "read_by": "John Doe",\n "reason": "",\n "meter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "counter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "direction": "feed-in",\n "timestamp": "2022-10-10T00:00:00.000Z",\n "source": "ECP",\n "status": "valid",\n "external_id": "string",\n "remark": "Customer reported unusual consumption",\n "metadata": {\n "registration_id": "1234567890",\n "business_unit": "ABC"\n },\n "note": "string",\n "unit": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `batchWriteMeterReadings`\n\nUpserts or deletes multiple meter readings at once. Limited to 100 readings per request.\n\n`POST /v2/metering/readings`\n\n```ts\nconst { data } = await client.batchWriteMeterReadings(\n {\n async: true,\n skip_validation: true,\n activity_id: \'example\',\n direct: true,\n create_ticket: true,\n },\n {\n identifiers: [\'string\'],\n readings: [\n {\n meter_id: \'3fa85f64-5717-4562-b3fc-2c963f66afa6\',\n counter_id: \'3fa85f64-5717-4562-b3fc-2c963f66afa6\',\n direction: \'feed-in\',\n timestamp: \'2022-10-10T10:00:00Z\',\n external_id: \'string\',\n metadata: {\n registration_id: \'1234567890\',\n business_unit: \'ABC\'\n },\n operation: \'create\',\n value: 240,\n source: \'ECP\',\n read_by: \'John Doe\',\n reason: \'\',\n status: \'valid\',\n remark: \'Customer reported unusual consumption\',\n note: \'string\',\n unit: \'string\'\n }\n ]\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "data": [\n {\n "value": 240,\n "read_by": "John Doe",\n "reason": "",\n "meter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "counter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "direction": "feed-in",\n "timestamp": "2022-10-10T00:00:00.000Z",\n "source": "ECP",\n "status": "valid",\n "external_id": "string",\n "remark": "Customer reported unusual consumption",\n "metadata": {\n "registration_id": "1234567890",\n "business_unit": "ABC"\n },\n "note": "string",\n "unit": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `createMeterReadingFromSubmission`\n\nCreates meter readings from a journey submission payload.\n\n`POST /v1/metering/reading/submission`\n\n```ts\nconst { data } = await client.createMeterReadingFromSubmission(\n null,\n {\n org_id: \'123\',\n entity: {\n _org: \'123\',\n meterReadings: [\n {\n meterId: \'string\',\n readings: [\n {\n counterId: \'string\',\n direction: \'feed-in\',\n unit: \'string\',\n value: 240\n }\n ],\n readingValue: 240,\n readingDate: \'2022-10-10T10:10:00.000Z\',\n readBy: \'John Doe\',\n reason: \'\',\n maloId: \'A09-123\',\n obisNumber: \'A-34\',\n readingUnit: \'string\',\n meterType: \'one_tariff\',\n feedInValue: 240,\n feedOutValue: 240,\n htValue: 240,\n ntValue: 240\n }\n ]\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "message": "Successfully Processed"\n}\n```\n\n</details>\n\n---\n\n### `getAllowedReadingForMeter`\n\nReturns the allowed min/max reading range for each counter of the given meter.\n\n`GET /v1/metering/allowed/reading/{meter_id}`\n\n```ts\nconst { data } = await client.getAllowedReadingForMeter({\n meter_id: \'example\',\n timestamp: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "data": [\n {\n "counter_id": "string",\n "min_value": 0,\n "max_value": 0\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `createReadingWithMeter`\n\nCreates a meter reading along with meter lookup or creation by MA-LO ID and OBIS number.\n\n`POST /v1/metering/reading/with-meter`\n\n```ts\nconst { data } = await client.createReadingWithMeter(\n null,\n {\n ma_lo_id: \'A09-123\',\n meter_id: \'string\',\n obis_number: \'A-34\',\n unit: \'string\',\n direction: \'feed-in\',\n tariff_type: \'ht\',\n value: 240,\n read_by: \'John Doe\',\n reason: \'\',\n timestamp: \'2022-10-10T10:10:00.000Z\',\n source: \'ECP\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "data": {\n "value": 240,\n "read_by": "John Doe",\n "reason": "",\n "meter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "counter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "direction": "feed-in",\n "timestamp": "2022-10-10T00:00:00.000Z",\n "source": "ECP",\n "status": "valid",\n "external_id": "string",\n "remark": "Customer reported unusual consumption",\n "metadata": {\n "registration_id": "1234567890",\n "business_unit": "ABC"\n },\n "note": "string",\n "unit": "string"\n }\n}\n```\n\n</details>\n\n---\n\n### `getReadingsByInterval`\n\nRetrieves all readings specified in an interval.\nIf the start_date and end_date are equal, then it returns the readings of the specified date.\nThe start_date should be less than or equal to the end_da\n\n`GET /v1/metering/reading/{meter_id}/{counter_id}`\n\n```ts\nconst { data } = await client.getReadingsByInterval({\n meter_id: \'example\',\n counter_id: \'example\',\n start_date: \'example\',\n end_date: \'example\',\n direction: \'example\',\n size: 1,\n from: 1,\n type: \'example\',\n sort: \'example\',\n include_pending_changesets: true,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "value": 240,\n "read_by": "John Doe",\n "reason": "",\n "meter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "counter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "direction": "feed-in",\n "timestamp": "2022-10-10T00:00:00.000Z",\n "source": "ECP",\n "status": "valid",\n "external_id": "string",\n "remark": "Customer reported unusual consumption",\n "metadata": {\n "registration_id": "1234567890",\n "business_unit": "ABC"\n },\n "note": "string",\n "unit": "string"\n }\n ],\n "hits": 120,\n "firstRecordCreatedAt": "2022-10-01T20:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `updateMeterReading`\n\nUpdates an existing meter reading identified by meter ID, counter ID, and timestamp.\n\n`PUT /v1/metering/reading/{meter_id}/{counter_id}`\n\n```ts\nconst { data } = await client.updateMeterReading(\n {\n meter_id: \'example\',\n counter_id: \'example\',\n timestamp: \'example\',\n },\n {\n value: 240,\n read_by: \'John Doe\',\n reason: \'string\',\n meter_id: \'3fa85f64-5717-4562-b3fc-2c963f66afa6\',\n counter_id: \'3fa85f64-5717-4562-b3fc-2c963f66afa6\',\n direction: \'feed-in\',\n timestamp: \'2022-10-10T00:00:00.000Z\',\n source: \'ECP\',\n status: \'valid\',\n external_id: \'string\',\n remark: \'Customer reported unusual consumption\',\n metadata: {\n registration_id: \'1234567890\',\n business_unit: \'ABC\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "data": {\n "value": 240,\n "read_by": "John Doe",\n "reason": "",\n "meter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "counter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "direction": "feed-in",\n "timestamp": "2022-10-10T00:00:00.000Z",\n "source": "ECP",\n "status": "valid",\n "external_id": "string",\n "remark": "Customer reported unusual consumption",\n "metadata": {\n "registration_id": "1234567890",\n "business_unit": "ABC"\n },\n "note": "string",\n "unit": "string"\n }\n}\n```\n\n</details>\n\n---\n\n### `deleteMeterReading`\n\nPermanently deletes a meter reading identified by meter ID, counter ID, and timestamp.\n\n`DELETE /v1/metering/reading/{meter_id}/{counter_id}`\n\n```ts\nconst { data } = await client.deleteMeterReading({\n meter_id: \'example\',\n counter_id: \'example\',\n timestamp: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "data": {\n "meterId": "string",\n "counterId": "string",\n "timestamp": "2022-10-01T20:00:00.000Z"\n }\n}\n```\n\n</details>\n\n---\n\n### `getReadingChangesets`\n\nList pending reading changesets for a counter\n\n`GET /v1/metering/reading/{meter_id}/{counter_id}/changesets`\n\n```ts\nconst { data } = await client.getReadingChangesets({\n meter_id: \'example\',\n counter_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "changesets": [\n {\n "changeset_id": "string",\n "meter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "counter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "proposed": {\n "value": 0,\n "direction": "feed-in",\n "timestamp": "1970-01-01T00:00:00.000Z",\n "reason": "string",\n "remark": "string",\n "read_by": "string",\n "status": "valid",\n "external_id": "string"\n },\n "previous": {\n "value": 0,\n "direction": "feed-in",\n "timestamp": "1970-01-01T00:00:00.000Z",\n "reason": "string",\n "remark": "string",\n "read_by": "string",\n "status": "valid",\n "external_id": "string"\n },\n "edit_mode": "external",\n "match_strategy": "exact",\n "timestamp_tolerance": "exact",\n "created_at": "1970-01-01T00:00:00.000Z",\n "created_by": {\n "type": "user",\n "id": "string"\n },\n "source": "360",\n "fuzzy_config": {\n "percentage_threshold": 0.01,\n "absolute_threshold": 0\n },\n "dismissed_reason": "string",\n "dismissed_at": "1970-01-01T00:00:00.000Z"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `applyReadingChangeset`\n\nApply (approve) a pending reading changeset\n\n`POST /v1/metering/reading/{meter_id}/{counter_id}/changesets/{changeset_id}:apply`\n\n```ts\nconst { data } = await client.applyReadingChangeset({\n meter_id: \'example\',\n counter_id: \'example\',\n changeset_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "reading": {\n "value": 240,\n "read_by": "John Doe",\n "reason": "",\n "meter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "counter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "direction": "feed-in",\n "timestamp": "2022-10-10T00:00:00.000Z",\n "source": "ECP",\n "status": "valid",\n "external_id": "string",\n "remark": "Customer reported unusual consumption",\n "metadata": {\n "registration_id": "1234567890",\n "business_unit": "ABC"\n },\n "note": "string",\n "unit": "string"\n },\n "changeset": {\n "changeset_id": "string",\n "meter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "counter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "proposed": {\n "value": 0,\n "direction": "feed-in",\n "timestamp": "1970-01-01T00:00:00.000Z",\n "reason": "string",\n "remark": "string",\n "read_by": "string",\n "status": "valid",\n "external_id": "string"\n },\n "previous": {\n "value": 0,\n "direction": "feed-in",\n "timestamp": "1970-01-01T00:00:00.000Z",\n "reason": "string",\n "remark": "string",\n "read_by": "string",\n "status": "valid",\n "external_id": "string"\n },\n "edit_mode": "external",\n "match_strategy": "exact",\n "timestamp_tolerance": "exact",\n "created_at": "1970-01-01T00:00:00.000Z",\n "created_by": {\n "type": "user",\n "id": "string"\n },\n "source": "360",\n "fuzzy_config": {\n "percentage_threshold": 0.01,\n "absolute_threshold": 0\n },\n "dismissed_reason": "string",\n "dismissed_at": "1970-01-01T00:00:00.000Z"\n }\n}\n```\n\n</details>\n\n---\n\n### `dismissReadingChangeset`\n\nDismiss (reject) a pending reading changeset\n\n`POST /v1/metering/reading/{meter_id}/{counter_id}/changesets/{changeset_id}:dismiss`\n\n```ts\nconst { data } = await client.dismissReadingChangeset(\n {\n meter_id: \'example\',\n counter_id: \'example\',\n changeset_id: \'example\',\n },\n {\n reason: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "changeset_id": "string",\n "meter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "counter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "proposed": {\n "value": 0,\n "direction": "feed-in",\n "timestamp": "1970-01-01T00:00:00.000Z",\n "reason": "string",\n "remark": "string",\n "read_by": "string",\n "status": "valid",\n "external_id": "string"\n },\n "previous": {\n "value": 0,\n "direction": "feed-in",\n "timestamp": "1970-01-01T00:00:00.000Z",\n "reason": "string",\n "remark": "string",\n "read_by": "string",\n "status": "valid",\n "external_id": "string"\n },\n "edit_mode": "external",\n "match_strategy": "exact",\n "timestamp_tolerance": "exact",\n "created_at": "1970-01-01T00:00:00.000Z",\n "created_by": {\n "type": "user",\n "id": "string"\n },\n "source": "360",\n "fuzzy_config": {\n "percentage_threshold": 0.01,\n "absolute_threshold": 0\n },\n "dismissed_reason": "string",\n "dismissed_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `updateReadingChangeset`\n\nEdit a pending reading changeset\n\n`PATCH /v1/metering/reading/{meter_id}/{counter_id}/changesets/{changeset_id}`\n\n```ts\nconst { data } = await client.updateReadingChangeset(\n {\n meter_id: \'example\',\n counter_id: \'example\',\n changeset_id: \'example\',\n },\n {\n proposed: {\n value: 0,\n direction: \'feed-in\',\n timestamp: \'1970-01-01T00:00:00.000Z\',\n reason: \'string\',\n remark: \'string\',\n read_by: \'string\',\n status: \'valid\',\n external_id: \'string\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "changeset_id": "string",\n "meter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "counter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "proposed": {\n "value": 0,\n "direction": "feed-in",\n "timestamp": "1970-01-01T00:00:00.000Z",\n "reason": "string",\n "remark": "string",\n "read_by": "string",\n "status": "valid",\n "external_id": "string"\n },\n "previous": {\n "value": 0,\n "direction": "feed-in",\n "timestamp": "1970-01-01T00:00:00.000Z",\n "reason": "string",\n "remark": "string",\n "read_by": "string",\n "status": "valid",\n "external_id": "string"\n },\n "edit_mode": "external",\n "match_strategy": "exact",\n "timestamp_tolerance": "exact",\n "created_at": "1970-01-01T00:00:00.000Z",\n "created_by": {\n "type": "user",\n "id": "string"\n },\n "source": "360",\n "fuzzy_config": {\n "percentage_threshold": 0.01,\n "absolute_threshold": 0\n },\n "dismissed_reason": "string",\n "dismissed_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `ErrorResp`\n\n```ts\ntype ErrorResp = {\n message?: string\n}\n```\n\n### `EntityId`\n\n```ts\ntype EntityId = string // uuid\n```\n\n### `EntitySlug`\n\nURL-friendly identifier for the entity schema\n\n```ts\ntype EntitySlug = string\n```\n\n### `BaseEntity`\n\n```ts\ntype BaseEntity = {\n _id: string // uuid\n _title: string\n _org: string\n _tags?: string[]\n _created_at: string // date-time\n _updated_at: string // date-time\n}\n```\n\n### `Entity`\n\n```ts\ntype Entity = Record<string, unknown>\n```\n\n### `EntityItem`\n\n```ts\ntype EntityItem = {\n _id: string // uuid\n _title: string\n _org: string\n _tags?: string[]\n _created_at: string // date-time\n _updated_at: string // date-time\n}\n```\n\n### `Id`\n\n```ts\ntype Id = string\n```\n\n### `EntityRelation`\n\n```ts\ntype EntityRelation = {\n entity_id?: string // uuid\n _slug?: "contact" | "contract"\n}\n```\n\n### `Meter`\n\n```ts\ntype Meter = {\n _id: string // uuid\n _title: string\n _org: string\n _tags?: string[]\n _created_at: string // date-time\n _updated_at: string // date-time\n _schema: "meter"\n ma_lo_id?: string\n status?: "active" | "decommissioned"\n meter_type?: "three-phase-meter" | "bellow-gas-meter" | "rotary-piston-meter" | "smart-meter" | "performance-meter" | "maximum-meter" | "turbine-gas-meter" | "ultrasonic-gas-meter" | "alternating-current-meter" | "modern-metering-system" | "intelligent-measuring-system" | "electronic-meter"\n tariff_type?: string\n meter_number?: string\n sector?: "power" | "water" | "gas" | "district_heating" | "waste_water"\n location?: object\n used_for?: string\n manufacturer?: string\n calibration_date?: string\n contract?: {\n $relation?: Array<{\n entity_id?: { ... }\n _slug?: { ... }\n }>\n }\n customer?: {\n $relation?: Array<{\n entity_id?: { ... }\n _slug?: { ... }\n }>\n }\n}\n```\n\n### `Direction`\n\n```ts\ntype Direction = "feed-in" | "feed-out"\n```\n\n### `TariffType`\n\n```ts\ntype TariffType = "ht" | "nt"\n```\n\n### `Reason`\n\nThe reason for recording the reading\nIf no reason is specified or left empty, the Epilot UI will show \'Regular\' as the default display text\n\n\n```ts\ntype Reason = "" | "regular" | "irregular" | "last" | "first" | "meter_change" | "contract_change" | "meter_adjustment"\n```\n\n### `ReasonString`\n\nThis field is deprecated. Please use the Reason enum instead.\n\n\n```ts\ntype ReasonString = string\n```\n\n### `ReadBy`\n\nThe person who recorded the reading\n\n```ts\ntype ReadBy = string\n```\n\n### `ReadingStatus`\n\n```ts\ntype ReadingStatus = "valid" | "in-validation" | "implausible" | null | ""\n```\n\n### `Reading`\n\n```ts\ntype Reading = {\n value: number\n read_by?: string\n reason?: "" | "regular" | "irregular" | "last" | "first" | "meter_change" | "contract_change" | "meter_adjustment"\n meter_id?: string // uuid\n counter_id?: string // uuid\n direction?: "feed-in" | "feed-out"\n timestamp?: string // date-time\n source: "ECP" | "ERP" | "360" | "journey-submission"\n status?: "valid" | "in-validation" | "implausible" | null | ""\n external_id?: string\n remark?: string\n metadata?: Record<string, string>\n note?: string\n unit?: string\n}\n```\n\n### `MeterReading`\n\n```ts\ntype MeterReading = {\n value: number\n read_by?: string\n reason?: "" | "regular" | "irregular" | "last" | "first" | "meter_change" | "contract_change" | "meter_adjustment"\n meter_id: string // uuid\n counter_id?: string // uuid\n direction?: "feed-in" | "feed-out"\n timestamp?: string // date-time\n source: "ECP" | "ERP" | "360" | "journey-submission"\n status?: "valid" | "in-validation" | "implausible" | null | ""\n external_id?: string\n remark?: string\n metadata?: Record<string, string>\n note?: string\n unit?: string\n}\n```\n\n### `PortalMeterReading`\n\n```ts\ntype PortalMeterReading = {\n value: number\n read_by?: string\n reason?: "" | "regular" | "irregular" | "last" | "first" | "meter_change" | "contract_change" | "meter_adjustment"\n meter_id?: string // uuid\n counter_id: string // uuid\n direction?: "feed-in" | "feed-out"\n timestamp?: string // date-time\n source: "ECP" | "ERP" | "360" | "journey-submission"\n status?: "valid" | "in-validation" | "implausible" | null | ""\n external_id?: string\n remark?: string\n metadata?: Record<string, string>\n note?: string\n unit?: string\n}\n```\n\n### `BatchReadingBase`\n\nBase properties shared by all batch reading operations\n\n```ts\ntype BatchReadingBase = {\n meter_id?: string // uuid\n counter_id?: string // uuid\n direction?: "feed-in" | "feed-out"\n timestamp?: string // date-time\n external_id?: string\n metadata?: Record<string, string>\n}\n```\n\n### `CreateOrUpdateBatchReading`\n\nSchema for create or update operations - requires value, source, and meter_id\n\n```ts\ntype CreateOrUpdateBatchReading = {\n meter_id: string // uuid\n counter_id?: string // uuid\n direction?: "feed-in" | "feed-out"\n timestamp?: string // date-time\n external_id?: string\n metadata?: Record<string, string>\n operation?: "create" | "update"\n value: number\n source: "ECP" | "ERP" | "360" | "journey-submission"\n read_by?: string\n reason?: "" | "regular" | "irregular" | "last" | "first" | "meter_change" | "contract_change" | "meter_adjustment"\n status?: "valid" | "in-validation" | "implausible" | null | ""\n remark?: string\n note?: string\n unit?: string\n}\n```\n\n### `DeleteBatchReading`\n\nSchema for delete operations - only requires identifier fields specified in the identifiers parameter\n\n```ts\ntype DeleteBatchReading = {\n meter_id?: string // uuid\n counter_id?: string // uuid\n direction?: "feed-in" | "feed-out"\n timestamp?: string // date-time\n external_id?: string\n metadata?: Record<string, string>\n operation: "delete"\n}\n```\n\n### `BatchReading`\n\nA meter reading for batch operations. The required fields depend on the operation:\n- create/update: requires value, source, and meter_id\n- delete: only requires the fields specified in the identifiers parameter\n\n\n```ts\ntype BatchReading = {\n meter_id: string // uuid\n counter_id?: string // uuid\n direction?: "feed-in" | "feed-out"\n timestamp?: string // date-time\n external_id?: string\n metadata?: Record<string, string>\n operation?: "create" | "update"\n value: number\n source: "ECP" | "ERP" | "360" | "journey-submission"\n read_by?: string\n reason?: "" | "regular" | "irregular" | "last" | "first" | "meter_change" | "contract_change" | "meter_adjustment"\n status?: "valid" | "in-validation" | "implausible" | null | ""\n remark?: string\n note?: string\n unit?: string\n} | {\n meter_id?: string // uuid\n counter_id?: string // uuid\n direction?: "feed-in" | "feed-out"\n timestamp?: string // date-time\n external_id?: string\n metadata?: Record<string, string>\n operation: "delete"\n}\n```\n\n### `UpdateMeterReading`\n\n```ts\ntype UpdateMeterReading = {\n value: number\n read_by?: string\n reason?: string\n meter_id: string // uuid\n counter_id?: string // uuid\n direction?: "feed-in" | "feed-out"\n timestamp?: string // date-time\n source: "ECP" | "ERP" | "360" | "journey-submission"\n status?: "valid" | "in-validation" | "implausible" | null | ""\n external_id?: string\n remark?: string\n metadata?: Record<string, string>\n}\n```\n\n### `MeterCounter`\n\n```ts\ntype MeterCounter = {\n _id: string // uuid\n _title: string\n _org: string\n _tags?: string[]\n _created_at: string // date-time\n _updated_at: string // date-time\n _schema: "meter_counter"\n obis_number?: string\n direction?: "feed-in" | "feed-out"\n transformer_ratio?: number\n unit?: string\n forecast_reading_value?: string\n forecast_as_of?: string\n current_consumption?: number\n last_reading?: string\n conversion_factor?: number\n tariff_type?: "ht" | "nt"\n}\n```\n\n### `CounterReadingOnSubmission`\n\n```ts\ntype CounterReadingOnSubmission = {\n counterId: string\n direction: "feed-in" | "feed-out"\n unit?: string\n value: number\n}\n```\n\n### `SubmissionMeterReading`\n\n```ts\ntype SubmissionMeterReading = {\n meterId: string\n readings?: Array<{\n counterId: string\n direction: "feed-in" | "feed-out"\n unit?: string\n value: number\n }>\n readingValue?: number\n readingDate?: string\n readBy?: string\n reason?: "" | "regular" | "irregular" | "last" | "first" | "meter_change" | "contract_change" | "meter_adjustment"\n maloId?: string\n obisNumber?: string\n readingUnit?: string\n meterType?: "one_tariff" | "two_tariff" | "bi_directional"\n feedInValue?: number\n feedOutValue?: number\n htValue?: number\n ntValue?: number\n}\n```\n\n### `Unit`\n\n```ts\ntype Unit = string\n```\n\n### `Source`\n\n```ts\ntype Source = "ECP" | "ERP" | "360" | "journey-submission"\n```\n\n### `ActionLabel`\n\n```ts\ntype ActionLabel = {\n en?: string\n de?: string\n}\n```\n\n### `Rule`\n\n```ts\ntype Rule = {\n entity?: string\n attribute?: string\n attribute_value?: string\n}\n```\n\n### `JourneyActions`\n\n```ts\ntype JourneyActions = {\n journey_id?: string\n action_label?: {\n en?: string\n de?: string\n }\n slug?: string\n rules?: Array<{\n entity?: string\n attribute?: string\n attribute_value?: string\n }>\n}\n```\n\n### `ReadingWithMeter`\n\n```ts\ntype ReadingWithMeter = {\n ma_lo_id?: string\n meter_id?: string\n obis_number?: string\n unit?: string\n direction?: "feed-in" | "feed-out"\n tariff_type?: "ht" | "nt"\n value?: number\n read_by?: string\n reason?: "" | "regular" | "irregular" | "last" | "first" | "meter_change" | "contract_change" | "meter_adjustment"\n timestamp?: string\n source?: "ECP" | "ERP" | "360" | "journey-submission"\n}\n```\n\n### `MeterReadingChangeset`\n\n```ts\ntype MeterReadingChangeset = {\n changeset_id: string\n meter_id?: string // uuid\n counter_id?: string // uuid\n proposed: {\n value: number\n direction?: "feed-in" | "feed-out"\n timestamp?: string // date-time\n reason?: string\n remark?: string\n read_by?: string\n status?: "valid" | "in-validation" | "implausible"\n external_id?: string\n }\n previous?: {\n value: number\n direction?: "feed-in" | "feed-out"\n timestamp?: string // date-time\n reason?: string\n remark?: string\n read_by?: string\n status?: "valid" | "in-validation" | "implausible"\n external_id?: string\n }\n edit_mode: "external" | "approval"\n match_strategy?: "exact" | "fuzzy"\n timestamp_tolerance?: "exact" | {\n type: "same-day"\n timezone?: string\n } | {\n type: "within-seconds"\n seconds: number\n }\n created_at: string // date-time\n created_by?: {\n type?: "user" | "portal_user" | "api_client" | "automation"\n id?: string\n }\n source?: "360" | "ECP" | "ERP" | "journey-submission"\n fuzzy_config?: {\n percentage_threshold?: number\n absolute_threshold?: number\n }\n dismissed_reason?: string\n dismissed_at?: string // date-time\n}\n```\n\n### `FuzzyConfig`\n\nNumeric-threshold fuzzy matching for meter reading auto-clear.\n\nNOTE: This is intentionally different from entity-api\'s FuzzyConfig. Entity-api\'s\nfuzzy strategies (suffix, digits_only, normalize_phone, ignore_fields,\ncontains_entry, regex) are designed for strings and structured objects (IBAN, phone\n\n```ts\ntype FuzzyConfig = {\n percentage_threshold?: number\n absolute_threshold?: number\n}\n```\n\n### `ProposedReading`\n\n```ts\ntype ProposedReading = {\n value: number\n direction?: "feed-in" | "feed-out"\n timestamp?: string // date-time\n reason?: string\n remark?: string\n read_by?: string\n status?: "valid" | "in-validation" | "implausible"\n external_id?: string\n}\n```\n\n### `ChangesetCreator`\n\n```ts\ntype ChangesetCreator = {\n type?: "user" | "portal_user" | "api_client" | "automation"\n id?: string\n}\n```\n\n### `TimestampTolerance`\n\nSlack on `reading.timestamp` when auto-clear matches an incoming reading\nagainst a pending changeset. Both sides reference the SAME physical\nmeter-read event \u2014 one as stored when the user submitted, the other as\nechoed back by the ERP. The tolerance accommodates round-trip format\ndrift between the t\n\n```ts\ntype TimestampTolerance = "exact" | {\n type: "same-day"\n timezone?: string\n} | {\n type: "within-seconds"\n seconds: number\n}\n```\n\n### `ActivityId`\n\nSee https://github.com/ulid/spec\n\n```ts\ntype ActivityId = string // ulid\n```\n';
5
+
6
+
7
+ exports.default = metering_default;
@@ -0,0 +1,7 @@
1
+ import "./chunk-YPSWSI3M.js";
2
+
3
+ // src/docs/metering.json
4
+ var metering_default = '# Metering API\n\n- **Base URL:** `https://metering.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/metering](https://docs.epilot.io/api/metering)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.metering.getCustomerMeters(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/metering\'\n\nconst meteringClient = getClient()\nauthorize(meteringClient, () => \'<token>\')\nconst { data } = await meteringClient.getCustomerMeters(...)\n```\n\n## Operations\n\n**ECP**\n- [`getCustomerMeters`](#getcustomermeters)\n- [`getMetersByContractId`](#getmetersbycontractid)\n- [`updateMeter`](#updatemeter)\n- [`getMeter`](#getmeter)\n- [`getMeterCounters`](#getmetercounters)\n- [`getCounterDetails`](#getcounterdetails)\n- [`createPortalMeterReadings`](#createportalmeterreadings)\n\n**ECP Admin**\n- [`createMeterReading`](#createmeterreading)\n- [`createMeterReadings`](#createmeterreadings)\n- [`batchWriteMeterReadings`](#batchwritemeterreadings)\n- [`createMeterReadingFromSubmission`](#createmeterreadingfromsubmission)\n- [`getAllowedReadingForMeter`](#getallowedreadingformeter)\n- [`createReadingWithMeter`](#createreadingwithmeter)\n- [`getReadingsByInterval`](#getreadingsbyinterval)\n- [`updateMeterReading`](#updatemeterreading)\n- [`deleteMeterReading`](#deletemeterreading)\n\n**Metering**\n- [`getReadingChangesets`](#getreadingchangesets)\n- [`applyReadingChangeset`](#applyreadingchangeset)\n- [`dismissReadingChangeset`](#dismissreadingchangeset)\n- [`updateReadingChangeset`](#updatereadingchangeset)\n\n**Schemas**\n- [`ErrorResp`](#errorresp)\n- [`EntityId`](#entityid)\n- [`EntitySlug`](#entityslug)\n- [`BaseEntity`](#baseentity)\n- [`Entity`](#entity)\n- [`EntityItem`](#entityitem)\n- [`Id`](#id)\n- [`EntityRelation`](#entityrelation)\n- [`Meter`](#meter)\n- [`Direction`](#direction)\n- [`TariffType`](#tarifftype)\n- [`Reason`](#reason)\n- [`ReasonString`](#reasonstring)\n- [`ReadBy`](#readby)\n- [`ReadingStatus`](#readingstatus)\n- [`Reading`](#reading)\n- [`MeterReading`](#meterreading)\n- [`PortalMeterReading`](#portalmeterreading)\n- [`BatchReadingBase`](#batchreadingbase)\n- [`CreateOrUpdateBatchReading`](#createorupdatebatchreading)\n- [`DeleteBatchReading`](#deletebatchreading)\n- [`BatchReading`](#batchreading)\n- [`UpdateMeterReading`](#updatemeterreading)\n- [`MeterCounter`](#metercounter)\n- [`CounterReadingOnSubmission`](#counterreadingonsubmission)\n- [`SubmissionMeterReading`](#submissionmeterreading)\n- [`Unit`](#unit)\n- [`Source`](#source)\n- [`ActionLabel`](#actionlabel)\n- [`Rule`](#rule)\n- [`JourneyActions`](#journeyactions)\n- [`ReadingWithMeter`](#readingwithmeter)\n- [`MeterReadingChangeset`](#meterreadingchangeset)\n- [`FuzzyConfig`](#fuzzyconfig)\n- [`ProposedReading`](#proposedreading)\n- [`ChangesetCreator`](#changesetcreator)\n- [`TimestampTolerance`](#timestamptolerance)\n- [`ActivityId`](#activityid)\n\n### `getCustomerMeters`\n\nRetrieves all meters associated with the authenticated portal customer.\n\n`GET /v1/metering/meter`\n\n```ts\nconst { data } = await client.getCustomerMeters({\n include_pending_changesets: true,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "data": [\n {\n "_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_title": "Example Entity",\n "_org": "123",\n "_tags": ["example", "mock"],\n "_created_at": "2021-02-09T12:41:43.662Z",\n "_updated_at": "2021-02-09T12:41:43.662Z",\n "_schema": "meter",\n "ma_lo_id": "A09-123",\n "status": "active",\n "meter_type": "three-phase-meter",\n "tariff_type": "Peak load tariff",\n "meter_number": "J-1093-1AK",\n "sector": "power",\n "location": [\n {\n "country": "Germany",\n "city": "Koln",\n "postal_code": 81475,\n "street": "Melateng\xFCrtel",\n "street_number": 71,\n "additional_info": "5. Etage",\n "_tags": ["billing", "delivery"]\n }\n ],\n "used_for": "Domestic Usage",\n "manufacturer": "Energy One",\n "calibration_date": "2022-10-10T00:00:00.000Z",\n "contract": {\n "$relation": [\n {\n "entity_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_slug": "contact"\n }\n ]\n },\n "customer": {\n "$relation": [\n {\n "entity_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_slug": "contact"\n }\n ]\n },\n "journey_actions": {\n "journey_id": "string",\n "action_label": {\n "en": "string",\n "de": "string"\n },\n "slug": "string",\n "rules": [\n {\n "entity": "string",\n "attribute": "string",\n "attribute_value": "string"\n }\n ]\n },\n "last_reading": "2022-10-10T00:00:00.000Z",\n "current_consumption": 100.5\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getMetersByContractId`\n\nRetrieves all meters associated with a given contract entity.\n\n`GET /v1/metering/contract/meters/{contract_id}`\n\n```ts\nconst { data } = await client.getMetersByContractId({\n contract_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "data": [\n {\n "_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_title": "Example Entity",\n "_org": "123",\n "_tags": ["example", "mock"],\n "_created_at": "2021-02-09T12:41:43.662Z",\n "_updated_at": "2021-02-09T12:41:43.662Z",\n "_schema": "meter",\n "ma_lo_id": "A09-123",\n "status": "active",\n "meter_type": "three-phase-meter",\n "tariff_type": "Peak load tariff",\n "meter_number": "J-1093-1AK",\n "sector": "power",\n "location": [\n {\n "country": "Germany",\n "city": "Koln",\n "postal_code": 81475,\n "street": "Melateng\xFCrtel",\n "street_number": 71,\n "additional_info": "5. Etage",\n "_tags": ["billing", "delivery"]\n }\n ],\n "used_for": "Domestic Usage",\n "manufacturer": "Energy One",\n "calibration_date": "2022-10-10T00:00:00.000Z",\n "contract": {\n "$relation": [\n {\n "entity_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_slug": "contact"\n }\n ]\n },\n "customer": {\n "$relation": [\n {\n "entity_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_slug": "contact"\n }\n ]\n }\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `updateMeter`\n\nPartially updates the details of a meter entity by ID.\n\n`PATCH /v1/metering/meter/{id}`\n\n```ts\nconst { data } = await client.updateMeter(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {},\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "data": {\n "_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_title": "Example Entity",\n "_org": "123",\n "_tags": ["example", "mock"],\n "_created_at": "2021-02-09T12:41:43.662Z",\n "_updated_at": "2021-02-09T12:41:43.662Z",\n "_schema": "meter",\n "ma_lo_id": "A09-123",\n "status": "active",\n "meter_type": "three-phase-meter",\n "tariff_type": "Peak load tariff",\n "meter_number": "J-1093-1AK",\n "sector": "power",\n "location": [\n {\n "country": "Germany",\n "city": "Koln",\n "postal_code": 81475,\n "street": "Melateng\xFCrtel",\n "street_number": 71,\n "additional_info": "5. Etage",\n "_tags": ["billing", "delivery"]\n }\n ],\n "used_for": "Domestic Usage",\n "manufacturer": "Energy One",\n "calibration_date": "2022-10-10T00:00:00.000Z",\n "contract": {\n "$relation": [\n {\n "entity_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_slug": "contact"\n }\n ]\n },\n "customer": {\n "$relation": [\n {\n "entity_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_slug": "contact"\n }\n ]\n }\n }\n}\n```\n\n</details>\n\n---\n\n### `getMeter`\n\nRetrieves the full details of a specific meter by ID, including related entities and available journey actions.\n\n`GET /v1/metering/meter/{id}`\n\n```ts\nconst { data } = await client.getMeter({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "data": {\n "entity": {\n "_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_title": "Example Entity",\n "_org": "123",\n "_tags": ["example", "mock"],\n "_created_at": "2021-02-09T12:41:43.662Z",\n "_updated_at": "2021-02-09T12:41:43.662Z",\n "_schema": "meter",\n "ma_lo_id": "A09-123",\n "status": "active",\n "meter_type": "three-phase-meter",\n "tariff_type": "Peak load tariff",\n "meter_number": "J-1093-1AK",\n "sector": "power",\n "location": [\n {\n "country": "Germany",\n "city": "Koln",\n "postal_code": 81475,\n "street": "Melateng\xFCrtel",\n "street_number": 71,\n "additional_info": "5. Etage",\n "_tags": ["billing", "delivery"]\n }\n ],\n "used_for": "Domestic Usage",\n "manufacturer": "Energy One",\n "calibration_date": "2022-10-10T00:00:00.000Z",\n "contract": {\n "$relation": [\n {\n "entity_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_slug": "contact"\n }\n ]\n },\n "customer": {\n "$relation": [\n {\n "entity_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_slug": "contact"\n }\n ]\n }\n },\n "journey_actions": {\n "journey_id": "string",\n "action_label": {\n "en": "string",\n "de": "string"\n },\n "slug": "string",\n "rules": [\n {\n "entity": "string",\n "attribute": "string",\n "attribute_value": "string"\n }\n ]\n },\n "relations": [\n {\n "_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_title": "Example Entity",\n "_org": "123",\n "_tags": ["example", "mock"],\n "_created_at": "2021-02-09T12:41:43.662Z",\n "_updated_at": "2021-02-09T12:41:43.662Z"\n }\n ]\n }\n}\n```\n\n</details>\n\n---\n\n### `getMeterCounters`\n\nRetrieves all meter counters associated with a given meter.\n\n`GET /v1/metering/counter`\n\n```ts\nconst { data } = await client.getMeterCounters({\n meter_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "data": [\n {\n "_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_title": "Example Entity",\n "_org": "123",\n "_tags": ["example", "mock"],\n "_created_at": "2021-02-09T12:41:43.662Z",\n "_updated_at": "2021-02-09T12:41:43.662Z",\n "_schema": "meter_counter",\n "obis_number": "A-34",\n "direction": "feed-in",\n "transformer_ratio": 70,\n "unit": "string",\n "forecast_reading_value": 270,\n "forecast_as_of": "2022-12-10T00:00:00.000Z",\n "current_consumption": 240,\n "last_reading": "2022-10-10T00:00:00.000Z",\n "conversion_factor": 3,\n "tariff_type": "ht"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getCounterDetails`\n\nRetrieves the full details of a single meter counter by its ID.\n\n`GET /v1/metering/counter/{counter_id}`\n\n```ts\nconst { data } = await client.getCounterDetails({\n counter_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "data": {\n "_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "_title": "Example Entity",\n "_org": "123",\n "_tags": ["example", "mock"],\n "_created_at": "2021-02-09T12:41:43.662Z",\n "_updated_at": "2021-02-09T12:41:43.662Z",\n "_schema": "meter_counter",\n "obis_number": "A-34",\n "direction": "feed-in",\n "transformer_ratio": 70,\n "unit": "string",\n "forecast_reading_value": 270,\n "forecast_as_of": "2022-12-10T00:00:00.000Z",\n "current_consumption": 240,\n "last_reading": "2022-10-10T00:00:00.000Z",\n "conversion_factor": 3,\n "tariff_type": "ht"\n }\n}\n```\n\n</details>\n\n---\n\n### `createMeterReading`\n\nInserts a new meter reading.\n\n`POST /v1/metering/reading`\n\n```ts\nconst { data } = await client.createMeterReading(\n {\n direct: true,\n },\n {\n value: 240,\n read_by: \'John Doe\',\n reason: \'\',\n meter_id: \'3fa85f64-5717-4562-b3fc-2c963f66afa6\',\n counter_id: \'3fa85f64-5717-4562-b3fc-2c963f66afa6\',\n direction: \'feed-in\',\n timestamp: \'2022-10-10T00:00:00.000Z\',\n source: \'ECP\',\n status: \'valid\',\n external_id: \'string\',\n remark: \'Customer reported unusual consumption\',\n metadata: {\n registration_id: \'1234567890\',\n business_unit: \'ABC\'\n },\n note: \'string\',\n unit: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "data": {\n "value": 240,\n "read_by": "John Doe",\n "reason": "",\n "meter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "counter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "direction": "feed-in",\n "timestamp": "2022-10-10T00:00:00.000Z",\n "source": "ECP",\n "status": "valid",\n "external_id": "string",\n "remark": "Customer reported unusual consumption",\n "metadata": {\n "registration_id": "1234567890",\n "business_unit": "ABC"\n },\n "note": "string",\n "unit": "string"\n }\n}\n```\n\n</details>\n\n---\n\n### `createMeterReadings`\n\nInserts multiple meter readings at once. Limited to 100 readings per request.\n\n`POST /v1/metering/readings`\n\n```ts\nconst { data } = await client.createMeterReadings(\n {\n async: true,\n activity_id: \'example\',\n skip_validation: true,\n direct: true,\n create_ticket: true,\n },\n {\n readings: [\n {\n value: 240,\n read_by: \'John Doe\',\n reason: \'\',\n meter_id: \'3fa85f64-5717-4562-b3fc-2c963f66afa6\',\n counter_id: \'3fa85f64-5717-4562-b3fc-2c963f66afa6\',\n direction: \'feed-in\',\n timestamp: \'2022-10-10T00:00:00.000Z\',\n source: \'ECP\',\n status: \'valid\',\n external_id: \'string\',\n remark: \'Customer reported unusual consumption\',\n metadata: {\n registration_id: \'1234567890\',\n business_unit: \'ABC\'\n },\n note: \'string\',\n unit: \'string\'\n }\n ]\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "data": [\n {\n "value": 240,\n "read_by": "John Doe",\n "reason": "",\n "meter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "counter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "direction": "feed-in",\n "timestamp": "2022-10-10T00:00:00.000Z",\n "source": "ECP",\n "status": "valid",\n "external_id": "string",\n "remark": "Customer reported unusual consumption",\n "metadata": {\n "registration_id": "1234567890",\n "business_unit": "ABC"\n },\n "note": "string",\n "unit": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `createPortalMeterReadings`\n\nInserts multiple meter readings at once for a given meter via the end customer portal.\nLimited to 100 readings per request.\n\n`POST /v1/metering/readings/{meter_id}`\n\n```ts\nconst { data } = await client.createPortalMeterReadings(\n {\n meter_id: \'example\',\n direct: true,\n },\n {\n readings: [\n {\n value: 240,\n read_by: \'John Doe\',\n reason: \'\',\n meter_id: \'3fa85f64-5717-4562-b3fc-2c963f66afa6\',\n counter_id: \'3fa85f64-5717-4562-b3fc-2c963f66afa6\',\n direction: \'feed-in\',\n timestamp: \'2022-10-10T00:00:00.000Z\',\n source: \'ECP\',\n status: \'valid\',\n external_id: \'string\',\n remark: \'Customer reported unusual consumption\',\n metadata: {\n registration_id: \'1234567890\',\n business_unit: \'ABC\'\n },\n note: \'string\',\n unit: \'string\'\n }\n ]\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "data": [\n {\n "value": 240,\n "read_by": "John Doe",\n "reason": "",\n "meter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "counter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "direction": "feed-in",\n "timestamp": "2022-10-10T00:00:00.000Z",\n "source": "ECP",\n "status": "valid",\n "external_id": "string",\n "remark": "Customer reported unusual consumption",\n "metadata": {\n "registration_id": "1234567890",\n "business_unit": "ABC"\n },\n "note": "string",\n "unit": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `batchWriteMeterReadings`\n\nUpserts or deletes multiple meter readings at once. Limited to 100 readings per request.\n\n`POST /v2/metering/readings`\n\n```ts\nconst { data } = await client.batchWriteMeterReadings(\n {\n async: true,\n skip_validation: true,\n activity_id: \'example\',\n direct: true,\n create_ticket: true,\n },\n {\n identifiers: [\'string\'],\n readings: [\n {\n meter_id: \'3fa85f64-5717-4562-b3fc-2c963f66afa6\',\n counter_id: \'3fa85f64-5717-4562-b3fc-2c963f66afa6\',\n direction: \'feed-in\',\n timestamp: \'2022-10-10T10:00:00Z\',\n external_id: \'string\',\n metadata: {\n registration_id: \'1234567890\',\n business_unit: \'ABC\'\n },\n operation: \'create\',\n value: 240,\n source: \'ECP\',\n read_by: \'John Doe\',\n reason: \'\',\n status: \'valid\',\n remark: \'Customer reported unusual consumption\',\n note: \'string\',\n unit: \'string\'\n }\n ]\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "data": [\n {\n "value": 240,\n "read_by": "John Doe",\n "reason": "",\n "meter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "counter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "direction": "feed-in",\n "timestamp": "2022-10-10T00:00:00.000Z",\n "source": "ECP",\n "status": "valid",\n "external_id": "string",\n "remark": "Customer reported unusual consumption",\n "metadata": {\n "registration_id": "1234567890",\n "business_unit": "ABC"\n },\n "note": "string",\n "unit": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `createMeterReadingFromSubmission`\n\nCreates meter readings from a journey submission payload.\n\n`POST /v1/metering/reading/submission`\n\n```ts\nconst { data } = await client.createMeterReadingFromSubmission(\n null,\n {\n org_id: \'123\',\n entity: {\n _org: \'123\',\n meterReadings: [\n {\n meterId: \'string\',\n readings: [\n {\n counterId: \'string\',\n direction: \'feed-in\',\n unit: \'string\',\n value: 240\n }\n ],\n readingValue: 240,\n readingDate: \'2022-10-10T10:10:00.000Z\',\n readBy: \'John Doe\',\n reason: \'\',\n maloId: \'A09-123\',\n obisNumber: \'A-34\',\n readingUnit: \'string\',\n meterType: \'one_tariff\',\n feedInValue: 240,\n feedOutValue: 240,\n htValue: 240,\n ntValue: 240\n }\n ]\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "message": "Successfully Processed"\n}\n```\n\n</details>\n\n---\n\n### `getAllowedReadingForMeter`\n\nReturns the allowed min/max reading range for each counter of the given meter.\n\n`GET /v1/metering/allowed/reading/{meter_id}`\n\n```ts\nconst { data } = await client.getAllowedReadingForMeter({\n meter_id: \'example\',\n timestamp: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "data": [\n {\n "counter_id": "string",\n "min_value": 0,\n "max_value": 0\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `createReadingWithMeter`\n\nCreates a meter reading along with meter lookup or creation by MA-LO ID and OBIS number.\n\n`POST /v1/metering/reading/with-meter`\n\n```ts\nconst { data } = await client.createReadingWithMeter(\n null,\n {\n ma_lo_id: \'A09-123\',\n meter_id: \'string\',\n obis_number: \'A-34\',\n unit: \'string\',\n direction: \'feed-in\',\n tariff_type: \'ht\',\n value: 240,\n read_by: \'John Doe\',\n reason: \'\',\n timestamp: \'2022-10-10T10:10:00.000Z\',\n source: \'ECP\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "data": {\n "value": 240,\n "read_by": "John Doe",\n "reason": "",\n "meter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "counter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "direction": "feed-in",\n "timestamp": "2022-10-10T00:00:00.000Z",\n "source": "ECP",\n "status": "valid",\n "external_id": "string",\n "remark": "Customer reported unusual consumption",\n "metadata": {\n "registration_id": "1234567890",\n "business_unit": "ABC"\n },\n "note": "string",\n "unit": "string"\n }\n}\n```\n\n</details>\n\n---\n\n### `getReadingsByInterval`\n\nRetrieves all readings specified in an interval.\nIf the start_date and end_date are equal, then it returns the readings of the specified date.\nThe start_date should be less than or equal to the end_da\n\n`GET /v1/metering/reading/{meter_id}/{counter_id}`\n\n```ts\nconst { data } = await client.getReadingsByInterval({\n meter_id: \'example\',\n counter_id: \'example\',\n start_date: \'example\',\n end_date: \'example\',\n direction: \'example\',\n size: 1,\n from: 1,\n type: \'example\',\n sort: \'example\',\n include_pending_changesets: true,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "value": 240,\n "read_by": "John Doe",\n "reason": "",\n "meter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "counter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "direction": "feed-in",\n "timestamp": "2022-10-10T00:00:00.000Z",\n "source": "ECP",\n "status": "valid",\n "external_id": "string",\n "remark": "Customer reported unusual consumption",\n "metadata": {\n "registration_id": "1234567890",\n "business_unit": "ABC"\n },\n "note": "string",\n "unit": "string"\n }\n ],\n "hits": 120,\n "firstRecordCreatedAt": "2022-10-01T20:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `updateMeterReading`\n\nUpdates an existing meter reading identified by meter ID, counter ID, and timestamp.\n\n`PUT /v1/metering/reading/{meter_id}/{counter_id}`\n\n```ts\nconst { data } = await client.updateMeterReading(\n {\n meter_id: \'example\',\n counter_id: \'example\',\n timestamp: \'example\',\n },\n {\n value: 240,\n read_by: \'John Doe\',\n reason: \'string\',\n meter_id: \'3fa85f64-5717-4562-b3fc-2c963f66afa6\',\n counter_id: \'3fa85f64-5717-4562-b3fc-2c963f66afa6\',\n direction: \'feed-in\',\n timestamp: \'2022-10-10T00:00:00.000Z\',\n source: \'ECP\',\n status: \'valid\',\n external_id: \'string\',\n remark: \'Customer reported unusual consumption\',\n metadata: {\n registration_id: \'1234567890\',\n business_unit: \'ABC\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "data": {\n "value": 240,\n "read_by": "John Doe",\n "reason": "",\n "meter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "counter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "direction": "feed-in",\n "timestamp": "2022-10-10T00:00:00.000Z",\n "source": "ECP",\n "status": "valid",\n "external_id": "string",\n "remark": "Customer reported unusual consumption",\n "metadata": {\n "registration_id": "1234567890",\n "business_unit": "ABC"\n },\n "note": "string",\n "unit": "string"\n }\n}\n```\n\n</details>\n\n---\n\n### `deleteMeterReading`\n\nPermanently deletes a meter reading identified by meter ID, counter ID, and timestamp.\n\n`DELETE /v1/metering/reading/{meter_id}/{counter_id}`\n\n```ts\nconst { data } = await client.deleteMeterReading({\n meter_id: \'example\',\n counter_id: \'example\',\n timestamp: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "data": {\n "meterId": "string",\n "counterId": "string",\n "timestamp": "2022-10-01T20:00:00.000Z"\n }\n}\n```\n\n</details>\n\n---\n\n### `getReadingChangesets`\n\nList pending reading changesets for a counter\n\n`GET /v1/metering/reading/{meter_id}/{counter_id}/changesets`\n\n```ts\nconst { data } = await client.getReadingChangesets({\n meter_id: \'example\',\n counter_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "changesets": [\n {\n "changeset_id": "string",\n "meter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "counter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "proposed": {\n "value": 0,\n "direction": "feed-in",\n "timestamp": "1970-01-01T00:00:00.000Z",\n "reason": "string",\n "remark": "string",\n "read_by": "string",\n "status": "valid",\n "external_id": "string"\n },\n "previous": {\n "value": 0,\n "direction": "feed-in",\n "timestamp": "1970-01-01T00:00:00.000Z",\n "reason": "string",\n "remark": "string",\n "read_by": "string",\n "status": "valid",\n "external_id": "string"\n },\n "edit_mode": "external",\n "match_strategy": "exact",\n "timestamp_tolerance": "exact",\n "created_at": "1970-01-01T00:00:00.000Z",\n "created_by": {\n "type": "user",\n "id": "string"\n },\n "source": "360",\n "fuzzy_config": {\n "percentage_threshold": 0.01,\n "absolute_threshold": 0\n },\n "dismissed_reason": "string",\n "dismissed_at": "1970-01-01T00:00:00.000Z"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `applyReadingChangeset`\n\nApply (approve) a pending reading changeset\n\n`POST /v1/metering/reading/{meter_id}/{counter_id}/changesets/{changeset_id}:apply`\n\n```ts\nconst { data } = await client.applyReadingChangeset({\n meter_id: \'example\',\n counter_id: \'example\',\n changeset_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "reading": {\n "value": 240,\n "read_by": "John Doe",\n "reason": "",\n "meter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "counter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "direction": "feed-in",\n "timestamp": "2022-10-10T00:00:00.000Z",\n "source": "ECP",\n "status": "valid",\n "external_id": "string",\n "remark": "Customer reported unusual consumption",\n "metadata": {\n "registration_id": "1234567890",\n "business_unit": "ABC"\n },\n "note": "string",\n "unit": "string"\n },\n "changeset": {\n "changeset_id": "string",\n "meter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "counter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "proposed": {\n "value": 0,\n "direction": "feed-in",\n "timestamp": "1970-01-01T00:00:00.000Z",\n "reason": "string",\n "remark": "string",\n "read_by": "string",\n "status": "valid",\n "external_id": "string"\n },\n "previous": {\n "value": 0,\n "direction": "feed-in",\n "timestamp": "1970-01-01T00:00:00.000Z",\n "reason": "string",\n "remark": "string",\n "read_by": "string",\n "status": "valid",\n "external_id": "string"\n },\n "edit_mode": "external",\n "match_strategy": "exact",\n "timestamp_tolerance": "exact",\n "created_at": "1970-01-01T00:00:00.000Z",\n "created_by": {\n "type": "user",\n "id": "string"\n },\n "source": "360",\n "fuzzy_config": {\n "percentage_threshold": 0.01,\n "absolute_threshold": 0\n },\n "dismissed_reason": "string",\n "dismissed_at": "1970-01-01T00:00:00.000Z"\n }\n}\n```\n\n</details>\n\n---\n\n### `dismissReadingChangeset`\n\nDismiss (reject) a pending reading changeset\n\n`POST /v1/metering/reading/{meter_id}/{counter_id}/changesets/{changeset_id}:dismiss`\n\n```ts\nconst { data } = await client.dismissReadingChangeset(\n {\n meter_id: \'example\',\n counter_id: \'example\',\n changeset_id: \'example\',\n },\n {\n reason: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "changeset_id": "string",\n "meter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "counter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "proposed": {\n "value": 0,\n "direction": "feed-in",\n "timestamp": "1970-01-01T00:00:00.000Z",\n "reason": "string",\n "remark": "string",\n "read_by": "string",\n "status": "valid",\n "external_id": "string"\n },\n "previous": {\n "value": 0,\n "direction": "feed-in",\n "timestamp": "1970-01-01T00:00:00.000Z",\n "reason": "string",\n "remark": "string",\n "read_by": "string",\n "status": "valid",\n "external_id": "string"\n },\n "edit_mode": "external",\n "match_strategy": "exact",\n "timestamp_tolerance": "exact",\n "created_at": "1970-01-01T00:00:00.000Z",\n "created_by": {\n "type": "user",\n "id": "string"\n },\n "source": "360",\n "fuzzy_config": {\n "percentage_threshold": 0.01,\n "absolute_threshold": 0\n },\n "dismissed_reason": "string",\n "dismissed_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `updateReadingChangeset`\n\nEdit a pending reading changeset\n\n`PATCH /v1/metering/reading/{meter_id}/{counter_id}/changesets/{changeset_id}`\n\n```ts\nconst { data } = await client.updateReadingChangeset(\n {\n meter_id: \'example\',\n counter_id: \'example\',\n changeset_id: \'example\',\n },\n {\n proposed: {\n value: 0,\n direction: \'feed-in\',\n timestamp: \'1970-01-01T00:00:00.000Z\',\n reason: \'string\',\n remark: \'string\',\n read_by: \'string\',\n status: \'valid\',\n external_id: \'string\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "changeset_id": "string",\n "meter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "counter_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "proposed": {\n "value": 0,\n "direction": "feed-in",\n "timestamp": "1970-01-01T00:00:00.000Z",\n "reason": "string",\n "remark": "string",\n "read_by": "string",\n "status": "valid",\n "external_id": "string"\n },\n "previous": {\n "value": 0,\n "direction": "feed-in",\n "timestamp": "1970-01-01T00:00:00.000Z",\n "reason": "string",\n "remark": "string",\n "read_by": "string",\n "status": "valid",\n "external_id": "string"\n },\n "edit_mode": "external",\n "match_strategy": "exact",\n "timestamp_tolerance": "exact",\n "created_at": "1970-01-01T00:00:00.000Z",\n "created_by": {\n "type": "user",\n "id": "string"\n },\n "source": "360",\n "fuzzy_config": {\n "percentage_threshold": 0.01,\n "absolute_threshold": 0\n },\n "dismissed_reason": "string",\n "dismissed_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `ErrorResp`\n\n```ts\ntype ErrorResp = {\n message?: string\n}\n```\n\n### `EntityId`\n\n```ts\ntype EntityId = string // uuid\n```\n\n### `EntitySlug`\n\nURL-friendly identifier for the entity schema\n\n```ts\ntype EntitySlug = string\n```\n\n### `BaseEntity`\n\n```ts\ntype BaseEntity = {\n _id: string // uuid\n _title: string\n _org: string\n _tags?: string[]\n _created_at: string // date-time\n _updated_at: string // date-time\n}\n```\n\n### `Entity`\n\n```ts\ntype Entity = Record<string, unknown>\n```\n\n### `EntityItem`\n\n```ts\ntype EntityItem = {\n _id: string // uuid\n _title: string\n _org: string\n _tags?: string[]\n _created_at: string // date-time\n _updated_at: string // date-time\n}\n```\n\n### `Id`\n\n```ts\ntype Id = string\n```\n\n### `EntityRelation`\n\n```ts\ntype EntityRelation = {\n entity_id?: string // uuid\n _slug?: "contact" | "contract"\n}\n```\n\n### `Meter`\n\n```ts\ntype Meter = {\n _id: string // uuid\n _title: string\n _org: string\n _tags?: string[]\n _created_at: string // date-time\n _updated_at: string // date-time\n _schema: "meter"\n ma_lo_id?: string\n status?: "active" | "decommissioned"\n meter_type?: "three-phase-meter" | "bellow-gas-meter" | "rotary-piston-meter" | "smart-meter" | "performance-meter" | "maximum-meter" | "turbine-gas-meter" | "ultrasonic-gas-meter" | "alternating-current-meter" | "modern-metering-system" | "intelligent-measuring-system" | "electronic-meter"\n tariff_type?: string\n meter_number?: string\n sector?: "power" | "water" | "gas" | "district_heating" | "waste_water"\n location?: object\n used_for?: string\n manufacturer?: string\n calibration_date?: string\n contract?: {\n $relation?: Array<{\n entity_id?: { ... }\n _slug?: { ... }\n }>\n }\n customer?: {\n $relation?: Array<{\n entity_id?: { ... }\n _slug?: { ... }\n }>\n }\n}\n```\n\n### `Direction`\n\n```ts\ntype Direction = "feed-in" | "feed-out"\n```\n\n### `TariffType`\n\n```ts\ntype TariffType = "ht" | "nt"\n```\n\n### `Reason`\n\nThe reason for recording the reading\nIf no reason is specified or left empty, the Epilot UI will show \'Regular\' as the default display text\n\n\n```ts\ntype Reason = "" | "regular" | "irregular" | "last" | "first" | "meter_change" | "contract_change" | "meter_adjustment"\n```\n\n### `ReasonString`\n\nThis field is deprecated. Please use the Reason enum instead.\n\n\n```ts\ntype ReasonString = string\n```\n\n### `ReadBy`\n\nThe person who recorded the reading\n\n```ts\ntype ReadBy = string\n```\n\n### `ReadingStatus`\n\n```ts\ntype ReadingStatus = "valid" | "in-validation" | "implausible" | null | ""\n```\n\n### `Reading`\n\n```ts\ntype Reading = {\n value: number\n read_by?: string\n reason?: "" | "regular" | "irregular" | "last" | "first" | "meter_change" | "contract_change" | "meter_adjustment"\n meter_id?: string // uuid\n counter_id?: string // uuid\n direction?: "feed-in" | "feed-out"\n timestamp?: string // date-time\n source: "ECP" | "ERP" | "360" | "journey-submission"\n status?: "valid" | "in-validation" | "implausible" | null | ""\n external_id?: string\n remark?: string\n metadata?: Record<string, string>\n note?: string\n unit?: string\n}\n```\n\n### `MeterReading`\n\n```ts\ntype MeterReading = {\n value: number\n read_by?: string\n reason?: "" | "regular" | "irregular" | "last" | "first" | "meter_change" | "contract_change" | "meter_adjustment"\n meter_id: string // uuid\n counter_id?: string // uuid\n direction?: "feed-in" | "feed-out"\n timestamp?: string // date-time\n source: "ECP" | "ERP" | "360" | "journey-submission"\n status?: "valid" | "in-validation" | "implausible" | null | ""\n external_id?: string\n remark?: string\n metadata?: Record<string, string>\n note?: string\n unit?: string\n}\n```\n\n### `PortalMeterReading`\n\n```ts\ntype PortalMeterReading = {\n value: number\n read_by?: string\n reason?: "" | "regular" | "irregular" | "last" | "first" | "meter_change" | "contract_change" | "meter_adjustment"\n meter_id?: string // uuid\n counter_id: string // uuid\n direction?: "feed-in" | "feed-out"\n timestamp?: string // date-time\n source: "ECP" | "ERP" | "360" | "journey-submission"\n status?: "valid" | "in-validation" | "implausible" | null | ""\n external_id?: string\n remark?: string\n metadata?: Record<string, string>\n note?: string\n unit?: string\n}\n```\n\n### `BatchReadingBase`\n\nBase properties shared by all batch reading operations\n\n```ts\ntype BatchReadingBase = {\n meter_id?: string // uuid\n counter_id?: string // uuid\n direction?: "feed-in" | "feed-out"\n timestamp?: string // date-time\n external_id?: string\n metadata?: Record<string, string>\n}\n```\n\n### `CreateOrUpdateBatchReading`\n\nSchema for create or update operations - requires value, source, and meter_id\n\n```ts\ntype CreateOrUpdateBatchReading = {\n meter_id: string // uuid\n counter_id?: string // uuid\n direction?: "feed-in" | "feed-out"\n timestamp?: string // date-time\n external_id?: string\n metadata?: Record<string, string>\n operation?: "create" | "update"\n value: number\n source: "ECP" | "ERP" | "360" | "journey-submission"\n read_by?: string\n reason?: "" | "regular" | "irregular" | "last" | "first" | "meter_change" | "contract_change" | "meter_adjustment"\n status?: "valid" | "in-validation" | "implausible" | null | ""\n remark?: string\n note?: string\n unit?: string\n}\n```\n\n### `DeleteBatchReading`\n\nSchema for delete operations - only requires identifier fields specified in the identifiers parameter\n\n```ts\ntype DeleteBatchReading = {\n meter_id?: string // uuid\n counter_id?: string // uuid\n direction?: "feed-in" | "feed-out"\n timestamp?: string // date-time\n external_id?: string\n metadata?: Record<string, string>\n operation: "delete"\n}\n```\n\n### `BatchReading`\n\nA meter reading for batch operations. The required fields depend on the operation:\n- create/update: requires value, source, and meter_id\n- delete: only requires the fields specified in the identifiers parameter\n\n\n```ts\ntype BatchReading = {\n meter_id: string // uuid\n counter_id?: string // uuid\n direction?: "feed-in" | "feed-out"\n timestamp?: string // date-time\n external_id?: string\n metadata?: Record<string, string>\n operation?: "create" | "update"\n value: number\n source: "ECP" | "ERP" | "360" | "journey-submission"\n read_by?: string\n reason?: "" | "regular" | "irregular" | "last" | "first" | "meter_change" | "contract_change" | "meter_adjustment"\n status?: "valid" | "in-validation" | "implausible" | null | ""\n remark?: string\n note?: string\n unit?: string\n} | {\n meter_id?: string // uuid\n counter_id?: string // uuid\n direction?: "feed-in" | "feed-out"\n timestamp?: string // date-time\n external_id?: string\n metadata?: Record<string, string>\n operation: "delete"\n}\n```\n\n### `UpdateMeterReading`\n\n```ts\ntype UpdateMeterReading = {\n value: number\n read_by?: string\n reason?: string\n meter_id: string // uuid\n counter_id?: string // uuid\n direction?: "feed-in" | "feed-out"\n timestamp?: string // date-time\n source: "ECP" | "ERP" | "360" | "journey-submission"\n status?: "valid" | "in-validation" | "implausible" | null | ""\n external_id?: string\n remark?: string\n metadata?: Record<string, string>\n}\n```\n\n### `MeterCounter`\n\n```ts\ntype MeterCounter = {\n _id: string // uuid\n _title: string\n _org: string\n _tags?: string[]\n _created_at: string // date-time\n _updated_at: string // date-time\n _schema: "meter_counter"\n obis_number?: string\n direction?: "feed-in" | "feed-out"\n transformer_ratio?: number\n unit?: string\n forecast_reading_value?: string\n forecast_as_of?: string\n current_consumption?: number\n last_reading?: string\n conversion_factor?: number\n tariff_type?: "ht" | "nt"\n}\n```\n\n### `CounterReadingOnSubmission`\n\n```ts\ntype CounterReadingOnSubmission = {\n counterId: string\n direction: "feed-in" | "feed-out"\n unit?: string\n value: number\n}\n```\n\n### `SubmissionMeterReading`\n\n```ts\ntype SubmissionMeterReading = {\n meterId: string\n readings?: Array<{\n counterId: string\n direction: "feed-in" | "feed-out"\n unit?: string\n value: number\n }>\n readingValue?: number\n readingDate?: string\n readBy?: string\n reason?: "" | "regular" | "irregular" | "last" | "first" | "meter_change" | "contract_change" | "meter_adjustment"\n maloId?: string\n obisNumber?: string\n readingUnit?: string\n meterType?: "one_tariff" | "two_tariff" | "bi_directional"\n feedInValue?: number\n feedOutValue?: number\n htValue?: number\n ntValue?: number\n}\n```\n\n### `Unit`\n\n```ts\ntype Unit = string\n```\n\n### `Source`\n\n```ts\ntype Source = "ECP" | "ERP" | "360" | "journey-submission"\n```\n\n### `ActionLabel`\n\n```ts\ntype ActionLabel = {\n en?: string\n de?: string\n}\n```\n\n### `Rule`\n\n```ts\ntype Rule = {\n entity?: string\n attribute?: string\n attribute_value?: string\n}\n```\n\n### `JourneyActions`\n\n```ts\ntype JourneyActions = {\n journey_id?: string\n action_label?: {\n en?: string\n de?: string\n }\n slug?: string\n rules?: Array<{\n entity?: string\n attribute?: string\n attribute_value?: string\n }>\n}\n```\n\n### `ReadingWithMeter`\n\n```ts\ntype ReadingWithMeter = {\n ma_lo_id?: string\n meter_id?: string\n obis_number?: string\n unit?: string\n direction?: "feed-in" | "feed-out"\n tariff_type?: "ht" | "nt"\n value?: number\n read_by?: string\n reason?: "" | "regular" | "irregular" | "last" | "first" | "meter_change" | "contract_change" | "meter_adjustment"\n timestamp?: string\n source?: "ECP" | "ERP" | "360" | "journey-submission"\n}\n```\n\n### `MeterReadingChangeset`\n\n```ts\ntype MeterReadingChangeset = {\n changeset_id: string\n meter_id?: string // uuid\n counter_id?: string // uuid\n proposed: {\n value: number\n direction?: "feed-in" | "feed-out"\n timestamp?: string // date-time\n reason?: string\n remark?: string\n read_by?: string\n status?: "valid" | "in-validation" | "implausible"\n external_id?: string\n }\n previous?: {\n value: number\n direction?: "feed-in" | "feed-out"\n timestamp?: string // date-time\n reason?: string\n remark?: string\n read_by?: string\n status?: "valid" | "in-validation" | "implausible"\n external_id?: string\n }\n edit_mode: "external" | "approval"\n match_strategy?: "exact" | "fuzzy"\n timestamp_tolerance?: "exact" | {\n type: "same-day"\n timezone?: string\n } | {\n type: "within-seconds"\n seconds: number\n }\n created_at: string // date-time\n created_by?: {\n type?: "user" | "portal_user" | "api_client" | "automation"\n id?: string\n }\n source?: "360" | "ECP" | "ERP" | "journey-submission"\n fuzzy_config?: {\n percentage_threshold?: number\n absolute_threshold?: number\n }\n dismissed_reason?: string\n dismissed_at?: string // date-time\n}\n```\n\n### `FuzzyConfig`\n\nNumeric-threshold fuzzy matching for meter reading auto-clear.\n\nNOTE: This is intentionally different from entity-api\'s FuzzyConfig. Entity-api\'s\nfuzzy strategies (suffix, digits_only, normalize_phone, ignore_fields,\ncontains_entry, regex) are designed for strings and structured objects (IBAN, phone\n\n```ts\ntype FuzzyConfig = {\n percentage_threshold?: number\n absolute_threshold?: number\n}\n```\n\n### `ProposedReading`\n\n```ts\ntype ProposedReading = {\n value: number\n direction?: "feed-in" | "feed-out"\n timestamp?: string // date-time\n reason?: string\n remark?: string\n read_by?: string\n status?: "valid" | "in-validation" | "implausible"\n external_id?: string\n}\n```\n\n### `ChangesetCreator`\n\n```ts\ntype ChangesetCreator = {\n type?: "user" | "portal_user" | "api_client" | "automation"\n id?: string\n}\n```\n\n### `TimestampTolerance`\n\nSlack on `reading.timestamp` when auto-clear matches an incoming reading\nagainst a pending changeset. Both sides reference the SAME physical\nmeter-read event \u2014 one as stored when the user submitted, the other as\nechoed back by the ERP. The tolerance accommodates round-trip format\ndrift between the t\n\n```ts\ntype TimestampTolerance = "exact" | {\n type: "same-day"\n timezone?: string\n} | {\n type: "within-seconds"\n seconds: number\n}\n```\n\n### `ActivityId`\n\nSee https://github.com/ulid/spec\n\n```ts\ntype ActivityId = string // ulid\n```\n';
5
+ export {
6
+ metering_default as default
7
+ };
@@ -495,7 +495,7 @@ declare namespace Components {
495
495
  /**
496
496
  * The calibration date of the meter
497
497
  * example:
498
- * 2022-10-10
498
+ * 2022-10-10T00:00:00.000Z
499
499
  */
500
500
  calibration_date?: string;
501
501
  /**
@@ -570,7 +570,7 @@ declare namespace Components {
570
570
  /**
571
571
  * The date as of which the forecast reading value is applicable
572
572
  * example:
573
- * 2022-12-10
573
+ * 2022-12-10T00:00:00.000Z
574
574
  */
575
575
  forecast_as_of?: string;
576
576
  /**
@@ -582,7 +582,7 @@ declare namespace Components {
582
582
  /**
583
583
  * The timestamp of the last reading
584
584
  * example:
585
- * 2022-10-10
585
+ * 2022-10-10T00:00:00.000Z
586
586
  */
587
587
  last_reading?: string;
588
588
  /**
@@ -618,7 +618,7 @@ declare namespace Components {
618
618
  /**
619
619
  * If the value is not provided, the system will be set with the time the request is processed.
620
620
  * example:
621
- * 2022-10-10
621
+ * 2022-10-10T00:00:00.000Z
622
622
  */
623
623
  timestamp?: string; // date-time
624
624
  source: Source;
@@ -748,7 +748,7 @@ declare namespace Components {
748
748
  /**
749
749
  * If the value is not provided, the system will be set with the time the request is processed.
750
750
  * example:
751
- * 2022-10-10
751
+ * 2022-10-10T00:00:00.000Z
752
752
  */
753
753
  timestamp?: string; // date-time
754
754
  source: Source;
@@ -830,7 +830,7 @@ declare namespace Components {
830
830
  /**
831
831
  * If the value is not provided, the system will be set with the time the request is processed.
832
832
  * example:
833
- * 2022-10-10
833
+ * 2022-10-10T00:00:00.000Z
834
834
  */
835
835
  timestamp?: string; // date-time
836
836
  /**
@@ -1121,7 +1121,7 @@ declare namespace Components {
1121
1121
  /**
1122
1122
  * If the value is not provided, the system will be set with the time the request is processed.
1123
1123
  * example:
1124
- * 2022-10-10
1124
+ * 2022-10-10T00:00:00.000Z
1125
1125
  */
1126
1126
  timestamp?: string; // date-time
1127
1127
  /**
@@ -1583,7 +1583,7 @@ declare namespace Paths {
1583
1583
  /**
1584
1584
  * The calibration date of the meter
1585
1585
  * example:
1586
- * 2022-10-10
1586
+ * 2022-10-10T00:00:00.000Z
1587
1587
  */
1588
1588
  calibration_date?: string;
1589
1589
  /**
@@ -1602,7 +1602,7 @@ declare namespace Paths {
1602
1602
  /**
1603
1603
  * The timestamp of the last reading
1604
1604
  * example:
1605
- * 2022-10-10
1605
+ * 2022-10-10T00:00:00.000Z
1606
1606
  */
1607
1607
  last_reading?: string;
1608
1608
  /**