@epilot/sdk 2.20.77 → 2.20.79

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 (152) hide show
  1. package/definitions/integration-toolkit.json +251 -63
  2. package/definitions/journey-runtime.json +1 -1
  3. package/definitions/journey.json +399 -13
  4. package/definitions/validation-rules.json +12 -4
  5. package/dist/apis/access-token.cjs +6 -6
  6. package/dist/apis/access-token.js +1 -1
  7. package/dist/apis/address-suggestions.cjs +6 -6
  8. package/dist/apis/address-suggestions.js +1 -1
  9. package/dist/apis/address.cjs +6 -6
  10. package/dist/apis/address.js +1 -1
  11. package/dist/apis/ai-agents.cjs +6 -6
  12. package/dist/apis/ai-agents.js +1 -1
  13. package/dist/apis/app.cjs +6 -6
  14. package/dist/apis/app.js +1 -1
  15. package/dist/apis/audit-logs.cjs +6 -6
  16. package/dist/apis/audit-logs.js +1 -1
  17. package/dist/apis/automation.cjs +6 -6
  18. package/dist/apis/automation.js +1 -1
  19. package/dist/apis/billing.cjs +6 -6
  20. package/dist/apis/billing.js +1 -1
  21. package/dist/apis/blueprint-manifest.cjs +6 -6
  22. package/dist/apis/blueprint-manifest.js +1 -1
  23. package/dist/apis/calendar.cjs +6 -6
  24. package/dist/apis/calendar.js +1 -1
  25. package/dist/apis/chat.cjs +6 -6
  26. package/dist/apis/chat.js +1 -1
  27. package/dist/apis/configuration-hub.cjs +6 -6
  28. package/dist/apis/configuration-hub.js +1 -1
  29. package/dist/apis/consent.cjs +6 -6
  30. package/dist/apis/consent.js +1 -1
  31. package/dist/apis/customer-portal.cjs +6 -6
  32. package/dist/apis/customer-portal.js +1 -1
  33. package/dist/apis/dashboard.cjs +6 -6
  34. package/dist/apis/dashboard.js +1 -1
  35. package/dist/apis/data-governance.cjs +6 -6
  36. package/dist/apis/data-governance.js +1 -1
  37. package/dist/apis/deduplication.cjs +6 -6
  38. package/dist/apis/deduplication.js +1 -1
  39. package/dist/apis/design.cjs +6 -6
  40. package/dist/apis/design.js +1 -1
  41. package/dist/apis/document.cjs +6 -6
  42. package/dist/apis/document.js +1 -1
  43. package/dist/apis/email-settings.cjs +6 -6
  44. package/dist/apis/email-settings.js +1 -1
  45. package/dist/apis/email-template.cjs +6 -6
  46. package/dist/apis/email-template.js +1 -1
  47. package/dist/apis/entity-mapping.cjs +6 -6
  48. package/dist/apis/entity-mapping.js +1 -1
  49. package/dist/apis/entity.cjs +6 -6
  50. package/dist/apis/entity.js +1 -1
  51. package/dist/apis/environments.cjs +6 -6
  52. package/dist/apis/environments.js +1 -1
  53. package/dist/apis/event-catalog.cjs +6 -6
  54. package/dist/apis/event-catalog.js +1 -1
  55. package/dist/apis/external-values.cjs +6 -6
  56. package/dist/apis/external-values.js +1 -1
  57. package/dist/apis/file.cjs +6 -6
  58. package/dist/apis/file.js +1 -1
  59. package/dist/apis/iban.cjs +6 -6
  60. package/dist/apis/iban.js +1 -1
  61. package/dist/apis/identity.cjs +6 -6
  62. package/dist/apis/identity.js +1 -1
  63. package/dist/apis/integration-toolkit.cjs +14 -10
  64. package/dist/apis/integration-toolkit.d.cts +2 -2
  65. package/dist/apis/integration-toolkit.d.ts +2 -2
  66. package/dist/apis/integration-toolkit.js +9 -5
  67. package/dist/apis/journey.cjs +8 -8
  68. package/dist/apis/journey.d.cts +2 -2
  69. package/dist/apis/journey.d.ts +2 -2
  70. package/dist/apis/journey.js +2 -2
  71. package/dist/apis/kanban.cjs +6 -6
  72. package/dist/apis/kanban.js +1 -1
  73. package/dist/apis/message.cjs +6 -6
  74. package/dist/apis/message.js +1 -1
  75. package/dist/apis/metering.cjs +6 -6
  76. package/dist/apis/metering.js +1 -1
  77. package/dist/apis/notes.cjs +6 -6
  78. package/dist/apis/notes.js +1 -1
  79. package/dist/apis/notification.cjs +6 -6
  80. package/dist/apis/notification.js +1 -1
  81. package/dist/apis/organization.cjs +6 -6
  82. package/dist/apis/organization.js +1 -1
  83. package/dist/apis/partner-directory.cjs +6 -6
  84. package/dist/apis/partner-directory.js +1 -1
  85. package/dist/apis/permissions.cjs +6 -6
  86. package/dist/apis/permissions.js +1 -1
  87. package/dist/apis/phone-integration.cjs +6 -6
  88. package/dist/apis/phone-integration.js +1 -1
  89. package/dist/apis/pricing-tier.cjs +6 -6
  90. package/dist/apis/pricing-tier.js +1 -1
  91. package/dist/apis/pricing.cjs +6 -6
  92. package/dist/apis/pricing.js +1 -1
  93. package/dist/apis/purpose.cjs +6 -6
  94. package/dist/apis/purpose.js +1 -1
  95. package/dist/apis/query.cjs +6 -6
  96. package/dist/apis/query.js +1 -1
  97. package/dist/apis/sandbox.cjs +6 -6
  98. package/dist/apis/sandbox.js +1 -1
  99. package/dist/apis/sharing.cjs +6 -6
  100. package/dist/apis/sharing.js +1 -1
  101. package/dist/apis/snapshot.cjs +6 -6
  102. package/dist/apis/snapshot.js +1 -1
  103. package/dist/apis/submission.cjs +6 -6
  104. package/dist/apis/submission.js +1 -1
  105. package/dist/apis/target.cjs +6 -6
  106. package/dist/apis/target.js +1 -1
  107. package/dist/apis/targeting.cjs +6 -6
  108. package/dist/apis/targeting.js +1 -1
  109. package/dist/apis/template-variables.cjs +6 -6
  110. package/dist/apis/template-variables.js +1 -1
  111. package/dist/apis/user.cjs +6 -6
  112. package/dist/apis/user.js +1 -1
  113. package/dist/apis/validation-rules.cjs +6 -6
  114. package/dist/apis/validation-rules.d.cts +2 -2
  115. package/dist/apis/validation-rules.d.ts +2 -2
  116. package/dist/apis/validation-rules.js +1 -1
  117. package/dist/apis/webhooks.cjs +6 -6
  118. package/dist/apis/webhooks.js +1 -1
  119. package/dist/apis/workflow-definition.cjs +6 -6
  120. package/dist/apis/workflow-definition.js +1 -1
  121. package/dist/apis/workflow.cjs +6 -6
  122. package/dist/apis/workflow.js +1 -1
  123. package/dist/{chunk-RZJMF6WE.cjs → chunk-4G44P2X4.cjs} +4 -4
  124. package/dist/{chunk-C6T52ZOY.js → chunk-5Z7XQQT2.js} +4 -4
  125. package/dist/{chunk-I3ZZES76.js → chunk-NQBHADQX.js} +1 -1
  126. package/dist/{chunk-QYHNZLHS.cjs → chunk-PK5IH3WQ.cjs} +1 -1
  127. package/dist/index.cjs +10 -10
  128. package/dist/index.d.cts +3 -3
  129. package/dist/index.d.ts +3 -3
  130. package/dist/index.js +2 -2
  131. package/dist/integration-toolkit-3XNG4PL5.cjs +7 -0
  132. package/dist/integration-toolkit-VLTS5HKV.js +7 -0
  133. package/dist/{integration-toolkit.d-l5cgwHLa.d.cts → integration-toolkit.d-BGF0LVB7.d.cts} +587 -85
  134. package/dist/{integration-toolkit.d-l5cgwHLa.d.ts → integration-toolkit.d-BGF0LVB7.d.ts} +587 -85
  135. package/dist/journey-LAEXXNCD.js +7 -0
  136. package/dist/journey-RKBZQRPL.cjs +7 -0
  137. package/dist/{journey-runtime-KZUPV4XH.cjs → journey-runtime-2N77HRB6.cjs} +2 -2
  138. package/dist/{journey-runtime-AQH7EG4C.js → journey-runtime-YJ5G4IG2.js} +1 -1
  139. package/dist/{journey.d-CMtM6U3Y.d.cts → journey.d-5GpTnSld.d.cts} +261 -80
  140. package/dist/{journey.d-CMtM6U3Y.d.ts → journey.d-5GpTnSld.d.ts} +261 -80
  141. package/dist/{validation-rules-QYVRILMT.cjs → validation-rules-2XORVEWP.cjs} +1 -1
  142. package/dist/{validation-rules-D4OW6VYI.js → validation-rules-Y5BLH5AA.js} +1 -1
  143. package/dist/{validation-rules.d-C1OtLama.d.ts → validation-rules.d-Dw7Qn8_e.d.cts} +88 -40
  144. package/dist/{validation-rules.d-C1OtLama.d.cts → validation-rules.d-Dw7Qn8_e.d.ts} +88 -40
  145. package/docs/integration-toolkit.md +88 -270
  146. package/docs/journey.md +217 -38
  147. package/docs/validation-rules.md +87 -50
  148. package/package.json +1 -1
  149. package/dist/integration-toolkit-FI32O7II.cjs +0 -7
  150. package/dist/integration-toolkit-MHULDW3E.js +0 -7
  151. package/dist/journey-JDIVUY7T.cjs +0 -7
  152. package/dist/journey-PBOMOJ5G.js +0 -7
@@ -10,10 +10,16 @@ declare namespace Components {
10
10
  export type CorrelationWaitRejected = Schemas.ErrorResponseBase;
11
11
  export interface ERPUpdatesResponse {
12
12
  /**
13
- * The request's correlation id, echoed, or the one generated for it when the caller omitted it. This is the id to pass to `GET /v3/erp/updates/events?correlation_id=...` to wait for these events. Omitted when the request carried no correlation id and none was generated (v1 and v2).
13
+ * The request's correlation id, echoed, or the one generated for it when the caller omitted it. This is the id to pass to `GET /v3/erp/updates/events?correlation_id=...` to wait for these events. v3 and v2 generate one when the request has none, so they always return it, except that v2 omits it for an empty `correlation_id`. v1 never generates one: it echoes a non-empty `meta.correlation_id` and otherwise omits the field.
14
14
  *
15
15
  */
16
16
  correlation_id?: string;
17
+ correlation_close?: /**
18
+ * What became of the request's `correlation_complete`. Present exactly when the
19
+ * request carried `correlation_complete: true`; absent otherwise.
20
+ *
21
+ */
22
+ Schemas.CorrelationCloseResult;
17
23
  results?: {
18
24
  /**
19
25
  * ID of the processed event
@@ -24,7 +30,7 @@ declare namespace Components {
24
30
  */
25
31
  status: "success" | "error" | "skipped" | "ignored";
26
32
  /**
27
- * Whether the event was PROCESSED as interactive - its processing record exists and the correlation wait works on it. Present only when interactive processing was requested or the use case is configured `always`. `true` with a `lane` other than `interactive` means the organization was over its rate and the event was carried on its normal lane; the wait still works, it is just slower. `false` means the use case does not allow interactive processing, and `message` says so.
33
+ * Whether the event was PROCESSED as interactive - its processing record exists and the correlation wait works on it. Present only when interactive processing was requested or the use case is configured `always`. `true` with a `lane` other than `interactive` means the organization was over its rate and the event was carried on its normal lane; the wait still works, it is just slower. `false` means the event was processed on its normal lane and cannot be waited on, and `message` says why: the use case does not allow interactive processing; the event's correlation id is not 1-255 letters, digits, hyphens and underscores (only on an `always` use case - a request that asks for interactive with such an id is a 400); the correlation is at its event limit or belongs to another integration; or interactive processing is unavailable.
28
34
  *
29
35
  */
30
36
  interactive?: boolean;
@@ -38,10 +44,16 @@ declare namespace Components {
38
44
  }
39
45
  export interface ERPUpdatesRetryableResponse {
40
46
  /**
41
- * The request's correlation id, echoed, or the one generated for it when the caller omitted it. This is the id to pass to `GET /v3/erp/updates/events?correlation_id=...` to wait for these events. Omitted when the request carried no correlation id and none was generated (v1 and v2).
47
+ * The request's correlation id, echoed, or the one generated for it when the caller omitted it. This is the id to pass to `GET /v3/erp/updates/events?correlation_id=...` to wait for these events. v3 and v2 generate one when the request has none, so they always return it, except that v2 omits it for an empty `correlation_id`. v1 never generates one: it echoes a non-empty `meta.correlation_id` and otherwise omits the field.
42
48
  *
43
49
  */
44
50
  correlation_id?: string;
51
+ correlation_close?: /**
52
+ * What became of the request's `correlation_complete`. Present exactly when the
53
+ * request carried `correlation_complete: true`; absent otherwise.
54
+ *
55
+ */
56
+ Schemas.CorrelationCloseResult;
45
57
  results?: {
46
58
  /**
47
59
  * ID of the processed event
@@ -52,7 +64,7 @@ declare namespace Components {
52
64
  */
53
65
  status: "success" | "error" | "skipped" | "ignored";
54
66
  /**
55
- * Whether the event was PROCESSED as interactive - its processing record exists and the correlation wait works on it. Present only when interactive processing was requested or the use case is configured `always`. `true` with a `lane` other than `interactive` means the organization was over its rate and the event was carried on its normal lane; the wait still works, it is just slower. `false` means the use case does not allow interactive processing, and `message` says so.
67
+ * Whether the event was PROCESSED as interactive - its processing record exists and the correlation wait works on it. Present only when interactive processing was requested or the use case is configured `always`. `true` with a `lane` other than `interactive` means the organization was over its rate and the event was carried on its normal lane; the wait still works, it is just slower. `false` means the event was processed on its normal lane and cannot be waited on, and `message` says why: the use case does not allow interactive processing; the event's correlation id is not 1-255 letters, digits, hyphens and underscores (only on an `always` use case - a request that asks for interactive with such an id is a 400); the correlation is at its event limit or belongs to another integration; or interactive processing is unavailable.
56
68
  *
57
69
  */
58
70
  interactive?: boolean;
@@ -1382,6 +1394,50 @@ declare namespace Components {
1382
1394
  */
1383
1395
  latest_types_package_name?: string;
1384
1396
  }
1397
+ /**
1398
+ * What became of the request's `correlation_complete`. Present exactly when the
1399
+ * request carried `correlation_complete: true`; absent otherwise.
1400
+ *
1401
+ */
1402
+ export interface CorrelationCloseResult {
1403
+ /**
1404
+ * - `applied` - the correlation is closed: by this request, before it (closing
1405
+ * twice is a no-op), or created closed and empty by a request without events.
1406
+ * - `rate_limited` - a request without events found no correlation and the
1407
+ * organization was over its interactive rate (or the rate could not be
1408
+ * checked), so the correlation was not created. Send the close again a few
1409
+ * seconds later; until then a waiter on it is not told that nothing is
1410
+ * coming.
1411
+ * - `ignored` - the close was not applied; `reasons` says why and what to do.
1412
+ * Each such close also raises a `CORRELATION_CLOSE_IGNORED` monitoring
1413
+ * warning with the same reasons.
1414
+ *
1415
+ */
1416
+ outcome: "applied" | "rate_limited" | "ignored";
1417
+ /**
1418
+ * Why the close was not applied, each cause once. Absent when `applied`.
1419
+ *
1420
+ * - `retry_requested` - the response is a 422 or 429; the retry carries
1421
+ * `correlation_complete` again and closes then.
1422
+ * - `queue_refused` - the queue refused an event of the request; send the
1423
+ * close again once every event is accepted.
1424
+ * - `rate_limited`, `rate_limit_unavailable` - see `outcome: rate_limited`.
1425
+ * - `other_integration` - the correlation belongs to another integration.
1426
+ * - `events_under_own_correlation_ids`, `events_duplicate`,
1427
+ * `events_not_configured`, `events_not_interactive`, `events_unrecorded` -
1428
+ * the correlation does not exist and this request, which carries events,
1429
+ * recorded none under it, so there was nothing to close.
1430
+ * - `close_failed` - the close could not be written; send it again.
1431
+ * - `interactive_unavailable` - interactive processing is not available, so
1432
+ * there is no correlation to close.
1433
+ *
1434
+ */
1435
+ reasons?: ("retry_requested" | "queue_refused" | "events_under_own_correlation_ids" | "events_duplicate" | "events_not_configured" | "events_not_interactive" | "events_unrecorded" | "rate_limited" | "rate_limit_unavailable" | "other_integration" | "close_failed" | "interactive_unavailable")[];
1436
+ /**
1437
+ * The reasons as text. Absent when `applied`.
1438
+ */
1439
+ message?: string;
1440
+ }
1385
1441
  /**
1386
1442
  * One correlation's summary.
1387
1443
  */
@@ -1393,31 +1449,81 @@ declare namespace Components {
1393
1449
  */
1394
1450
  closed: boolean;
1395
1451
  closed_at?: string; // date-time
1452
+ /**
1453
+ * The correlation is complete — closed, and every event it received before
1454
+ * completing has finished (or it was closed having received none). FINAL once
1455
+ * `true`: the field to read for "is it done", on the listing as on a wait.
1456
+ * Do not derive it from `events_done >= events_received`: a late event
1457
+ * raises `events_received` after completion without reopening anything.
1458
+ *
1459
+ */
1460
+ complete: boolean;
1461
+ /**
1462
+ * When the correlation became complete. Present exactly when `complete` is
1463
+ * `true` (except on correlations completed before 2026-10-14); the
1464
+ * correlation's `use_cases`, `entities` and `completion` are frozen at this
1465
+ * instant.
1466
+ *
1467
+ */
1468
+ completed_at?: string; // date-time
1396
1469
  events_received: number;
1397
1470
  /**
1398
1471
  * Events that reached a terminal status, failed ones included.
1399
1472
  */
1400
1473
  events_done: number;
1401
1474
  /**
1402
- * Events that arrived after the correlation was closed.
1475
+ * Events that arrived after the correlation was closed. Those that arrived
1476
+ * after it completed are counted here and in `events_received` /
1477
+ * `events_done`, but not in `use_cases` or `entities`.
1478
+ *
1403
1479
  */
1404
1480
  late_events: number;
1481
+ /**
1482
+ * When the first event of the correlation was accepted. Absent while none
1483
+ * was — a correlation created by a zero-event close.
1484
+ *
1485
+ */
1405
1486
  first_ingested_at?: string; // date-time
1406
1487
  last_done_at?: string; // date-time
1488
+ /**
1489
+ * Per use case counts, frozen at `completed_at`.
1490
+ */
1407
1491
  use_cases: /* How many of a correlation's events belong to one use case, and how they ended. */ CorrelationUseCaseCounts[];
1408
1492
  /**
1409
- * Every entity the correlation's events wrote.
1493
+ * Every entity the correlation's events wrote before it completed, one entry
1494
+ * per entity with its writes merged (see `operation` and `unique_ids`).
1495
+ * A correlation lists at most 200 entity writes; see `entities_omitted`.
1496
+ *
1410
1497
  */
1411
1498
  entities: /* An entity an interactive event wrote. */ ErpUpdateProcessedEntity[];
1412
1499
  /**
1413
- * Every failure in the correlation, whatever `completion` says.
1500
+ * Entity writes of the correlation's events that are not in `entities`,
1501
+ * because the list was full (at most 200), or because an event's record could
1502
+ * not be written and the event ended `error` with `PROCESSING_STATE_LIMIT`.
1503
+ * The entities may well have been written; they are only missing from the
1504
+ * list, so a `wait_for_entities` requirement cannot be met by them — one that
1505
+ * no listed entity satisfies is undecided instead (see
1506
+ * `undecided_entity_requirements`). Present only when there are any.
1507
+ *
1508
+ */
1509
+ entities_omitted?: number;
1510
+ /**
1511
+ * The correlation's first 50 failures, whatever `completion` says.
1512
+ * `errors_total` counts them all.
1513
+ *
1414
1514
  */
1415
1515
  errors: /* A failure nothing will retry. */ ErpUpdateProcessingError[];
1516
+ /**
1517
+ * Every failure in the correlation, including those not listed in `errors` (the first 50 are) and those of events that arrived after completion (`after_completion`), which do not change the answer.
1518
+ */
1519
+ errors_total: number;
1416
1520
  }
1417
1521
  export interface CorrelationStatusList {
1418
1522
  results: /* One correlation's summary. */ CorrelationStatus[];
1419
1523
  /**
1420
- * Cursor for the next page, or null when there are no more rows.
1524
+ * Cursor for the next page; null when there are no more rows. Only null
1525
+ * ends the listing: a short or even empty page can still carry a cursor.
1526
+ *
1421
1527
  */
1422
1528
  next_cursor: string | null;
1423
1529
  /**
@@ -1456,6 +1562,13 @@ declare namespace Components {
1456
1562
  * The selector key that is not a unique id of `slug`.
1457
1563
  */
1458
1564
  rejected_key?: string;
1565
+ /**
1566
+ * The refused `wait_for_use_cases` entry, as passed: one that is not a use
1567
+ * case slug, or a slug no inbound use case of the organization (or of the
1568
+ * correlation's integration) has.
1569
+ *
1570
+ */
1571
+ use_case_slug?: string;
1459
1572
  /**
1460
1573
  * Every unique id of `slug` across the organization's inbound use cases —
1461
1574
  * the keys a selector on `slug` may name. Empty when no use case writes it.
@@ -1474,30 +1587,95 @@ declare namespace Components {
1474
1587
  */
1475
1588
  closed: boolean;
1476
1589
  closed_at?: string; // date-time
1590
+ /**
1591
+ * The correlation is complete — closed, and every event it received before
1592
+ * completing has finished (or it was closed having received none). FINAL once
1593
+ * `true`: the field to read for "is it done", on the listing as on a wait.
1594
+ * Do not derive it from `events_done >= events_received`: a late event
1595
+ * raises `events_received` after completion without reopening anything.
1596
+ *
1597
+ */
1598
+ complete: boolean;
1599
+ /**
1600
+ * When the correlation became complete. Present exactly when `complete` is
1601
+ * `true` (except on correlations completed before 2026-10-14); the
1602
+ * correlation's `use_cases`, `entities` and `completion` are frozen at this
1603
+ * instant.
1604
+ *
1605
+ */
1606
+ completed_at?: string; // date-time
1477
1607
  events_received: number;
1478
1608
  /**
1479
1609
  * Events that reached a terminal status, failed ones included.
1480
1610
  */
1481
1611
  events_done: number;
1482
1612
  /**
1483
- * Events that arrived after the correlation was closed.
1613
+ * Events that arrived after the correlation was closed. Those that arrived
1614
+ * after it completed are counted here and in `events_received` /
1615
+ * `events_done`, but not in `use_cases` or `entities`.
1616
+ *
1484
1617
  */
1485
1618
  late_events: number;
1619
+ /**
1620
+ * When the first event of the correlation was accepted. Absent while none
1621
+ * was — a correlation created by a zero-event close.
1622
+ *
1623
+ */
1486
1624
  first_ingested_at?: string; // date-time
1487
1625
  last_done_at?: string; // date-time
1626
+ /**
1627
+ * Per use case counts, frozen at `completed_at`.
1628
+ */
1488
1629
  use_cases: /* How many of a correlation's events belong to one use case, and how they ended. */ CorrelationUseCaseCounts[];
1489
1630
  /**
1490
- * Every entity the correlation's events wrote.
1631
+ * Every entity the correlation's events wrote before it completed, one entry
1632
+ * per entity with its writes merged (see `operation` and `unique_ids`).
1633
+ * A correlation lists at most 200 entity writes; see `entities_omitted`.
1634
+ *
1491
1635
  */
1492
1636
  entities: /* An entity an interactive event wrote. */ ErpUpdateProcessedEntity[];
1493
1637
  /**
1494
- * Every failure in the correlation, whatever `completion` says.
1638
+ * Entity writes of the correlation's events that are not in `entities`,
1639
+ * because the list was full (at most 200), or because an event's record could
1640
+ * not be written and the event ended `error` with `PROCESSING_STATE_LIMIT`.
1641
+ * The entities may well have been written; they are only missing from the
1642
+ * list, so a `wait_for_entities` requirement cannot be met by them — one that
1643
+ * no listed entity satisfies is undecided instead (see
1644
+ * `undecided_entity_requirements`). Present only when there are any.
1645
+ *
1646
+ */
1647
+ entities_omitted?: number;
1648
+ /**
1649
+ * The correlation's first 50 failures, whatever `completion` says.
1650
+ * `errors_total` counts them all.
1651
+ *
1495
1652
  */
1496
1653
  errors: /* A failure nothing will retry. */ ErpUpdateProcessingError[];
1654
+ /**
1655
+ * Every failure in the correlation, including those not listed in `errors` (the first 50 are) and those of events that arrived after completion (`after_completion`), which do not change the answer.
1656
+ */
1657
+ errors_total: number;
1497
1658
  /**
1498
1659
  * Why the wait ended. See the operation description.
1499
1660
  */
1500
1661
  completion: "requirements_met" | "complete" | "timeout" | "error";
1662
+ /**
1663
+ * The `wait_for_entities` requirements this record cannot decide, each
1664
+ * exactly as you passed it. Present only when the correlation omitted
1665
+ * entities (`entities_omitted`) and a requirement is satisfied by none of
1666
+ * the listed ones: the list holds at most 200 entity writes, so the entity
1667
+ * may well have been written, and an omitted one is never listed later.
1668
+ * Such a requirement is neither met nor missing — it never makes
1669
+ * `completion` `error`, and the wait still ends `complete` once the
1670
+ * correlation completes. Look the entity up yourself, e.g. by its unique
1671
+ * id through the entity API.
1672
+ *
1673
+ * example:
1674
+ * [
1675
+ * "contract[billing_account_number=4711]"
1676
+ * ]
1677
+ */
1678
+ undecided_entity_requirements?: string[];
1501
1679
  }
1502
1680
  /**
1503
1681
  * Register an already-uploaded file as an import. The use case is chosen later, via `:validate` — upload and interpretation are separate decisions.
@@ -2995,7 +3173,7 @@ declare namespace Components {
2995
3173
  * example:
2996
3174
  * customer-42
2997
3175
  */
2998
- group_id?: string;
3176
+ group_id?: string; // ^[!-~]+$
2999
3177
  /**
3000
3178
  * Optional per-event trace id. Overrides the request-level `correlation_id` for THIS event, so a batch carrying several distinct business operations keeps its traces segregated in monitoring instead of merged under one request-level id. When absent, the event inherits the request-level `correlation_id`.
3001
3179
  *
@@ -3081,7 +3259,7 @@ declare namespace Components {
3081
3259
  * example:
3082
3260
  * customer-42
3083
3261
  */
3084
- group_id?: string;
3262
+ group_id?: string; // ^[!-~]+$
3085
3263
  /**
3086
3264
  * Optional per-event trace id. Overrides the request-level `correlation_id` for THIS event, so a batch carrying several distinct business operations keeps its traces segregated in monitoring instead of merged under one request-level id. When absent, the event inherits the request-level `correlation_id`.
3087
3265
  *
@@ -3207,6 +3385,18 @@ declare namespace Components {
3207
3385
  * - `ATTRIBUTE_NOT_OVERRIDABLE` — the schema does not let a variant override this
3208
3386
  * attribute, so the mapped value would be discarded.
3209
3387
  * - `ATTRIBUTE_NOT_IN_SCHEMA` — the schema does not have the attribute at all.
3388
+ * - `VALID_FROM_NOT_MAPPED` — a conditional target maps no `valid_from`, so the variants
3389
+ * the file writes take effect immediately. One entry for the whole mapping:
3390
+ * `attributes` holds `valid_from` once per `entity` type.
3391
+ *
3392
+ * `UNIQUE_ID_NOT_IN_SCHEMA` (a blocker) — the mapping looks entities up by an attribute
3393
+ * their schema does not have: a target's own `unique_ids`, or those of a relation or
3394
+ * relation ref it sets. One entry for the whole mapping: `attributes` names every missing
3395
+ * attribute, each with the `entity` type it belongs to.
3396
+ * Such a lookup never finds anything, so every re-import would create the entities
3397
+ * again, and the engine refuses the relations; the file is not read. A looked-up schema
3398
+ * that does not exist is reported as `SCHEMA_NOT_FOUND`; one that cannot be read, or is
3399
+ * not the org's own, is left unchecked.
3210
3400
  *
3211
3401
  * The rest reject the mapping against the entity schemas, before the file is read, and
3212
3402
  * name the thing at fault in `subject`: `IS_CONDITIONAL_NOT_CONSTANT`,
@@ -3222,7 +3412,7 @@ declare namespace Components {
3222
3412
  * Enum of possible issue codes.
3223
3413
  *
3224
3414
  */
3225
- code: "UNIQUE_ID_COLUMN_MISSING" | "MAPPED_COLUMN_MISSING" | "MALFORMED_ROW" | "INVALID_ENCODING" | "EMPTY_FILE" | "TOO_MANY_ROWS" | "BLANK_ROWS_SKIPPED" | "TIER_ROWS_NOT_GROUPED" | "TIER_BANDS_CONFLICT" | "CONDITION_VALUE_MISSING" | "VARIANT_VALUE_CONFLICT" | "ATTRIBUTE_NOT_OVERRIDABLE" | "ATTRIBUTE_NOT_IN_SCHEMA" | "IS_CONDITIONAL_NOT_CONSTANT" | "SCHEMA_NOT_CONDITIONABLE" | "SCHEMA_NOT_FOUND" | "SCHEMA_DECLARES_NO_CONDITIONS" | "GROUPING_KEY_NOT_A_COLUMN" | "GROUPING_KEY_IS_SORT_COLUMN" | "CONDITIONAL_TARGET_MODE_UNSUPPORTED" | "VALUE_FORMAT_INVALID" | "MAPPING_EXPRESSION_FAILED" | "FROM_ROWS_EXPRESSION_FAILED";
3415
+ code: "UNIQUE_ID_COLUMN_MISSING" | "MAPPED_COLUMN_MISSING" | "MALFORMED_ROW" | "INVALID_ENCODING" | "EMPTY_FILE" | "TOO_MANY_ROWS" | "BLANK_ROWS_SKIPPED" | "TIER_ROWS_NOT_GROUPED" | "TIER_BANDS_CONFLICT" | "CONDITION_VALUE_MISSING" | "VARIANT_VALUE_CONFLICT" | "ATTRIBUTE_NOT_OVERRIDABLE" | "ATTRIBUTE_NOT_IN_SCHEMA" | "IS_CONDITIONAL_NOT_CONSTANT" | "SCHEMA_NOT_CONDITIONABLE" | "SCHEMA_NOT_FOUND" | "SCHEMA_DECLARES_NO_CONDITIONS" | "GROUPING_KEY_NOT_A_COLUMN" | "GROUPING_KEY_IS_SORT_COLUMN" | "CONDITIONAL_TARGET_MODE_UNSUPPORTED" | "UNIQUE_ID_NOT_IN_SCHEMA" | "VALUE_FORMAT_INVALID" | "MAPPING_EXPRESSION_FAILED" | "FROM_ROWS_EXPRESSION_FAILED" | "VALID_FROM_NOT_MAPPED";
3226
3416
  severity: "warning" | "blocking";
3227
3417
  /**
3228
3418
  * The columns this issue is about, at most one entry per column per entity.
@@ -3239,13 +3429,17 @@ declare namespace Components {
3239
3429
  entity?: string;
3240
3430
  }[];
3241
3431
  /**
3242
- * The mapping fields this issue is about, where the value is not a file column as it is: an expression builds it, or the expression fails. VALUE_FORMAT_INVALID (beside `columns`, which holds the values taken from a column as they are), MAPPING_EXPRESSION_FAILED and FROM_ROWS_EXPRESSION_FAILED.
3432
+ * The mapping fields this issue is about, where the value is not a file column as it is: an expression builds it, or the expression fails. VALUE_FORMAT_INVALID (beside `columns`, which holds the values taken from a column as they are), MAPPING_EXPRESSION_FAILED and FROM_ROWS_EXPRESSION_FAILED; on UNIQUE_ID_NOT_IN_SCHEMA, the unique identifiers that are not attributes of their entity type; on VALID_FROM_NOT_MAPPED, `valid_from` for each conditional entity type that does not map it.
3243
3433
  */
3244
3434
  attributes?: {
3245
3435
  /**
3246
3436
  * The attribute the mapping writes, like `unit_amount_decimal`.
3247
3437
  */
3248
3438
  name: string;
3439
+ /**
3440
+ * The entity type the attribute belongs to, where the issue spans several (UNIQUE_ID_NOT_IN_SCHEMA, VALID_FROM_NOT_MAPPED).
3441
+ */
3442
+ entity?: string;
3249
3443
  }[];
3250
3444
  /**
3251
3445
  * Up to five lines of the file this issue was seen on, as examples rather than the full list. The header is line 1. BLANK_ROWS_SKIPPED, VALUE_FORMAT_INVALID, MAPPING_EXPRESSION_FAILED, FROM_ROWS_EXPRESSION_FAILED, TIER_ROWS_NOT_GROUPED (where a variant's rows start again), TIER_BANDS_CONFLICT and VARIANT_VALUE_CONFLICT (the row at odds with the first).
@@ -3413,6 +3607,18 @@ declare namespace Components {
3413
3607
  * - `ATTRIBUTE_NOT_OVERRIDABLE` — the schema does not let a variant override this
3414
3608
  * attribute, so the mapped value would be discarded.
3415
3609
  * - `ATTRIBUTE_NOT_IN_SCHEMA` — the schema does not have the attribute at all.
3610
+ * - `VALID_FROM_NOT_MAPPED` — a conditional target maps no `valid_from`, so the variants
3611
+ * the file writes take effect immediately. One entry for the whole mapping:
3612
+ * `attributes` holds `valid_from` once per `entity` type.
3613
+ *
3614
+ * `UNIQUE_ID_NOT_IN_SCHEMA` (a blocker) — the mapping looks entities up by an attribute
3615
+ * their schema does not have: a target's own `unique_ids`, or those of a relation or
3616
+ * relation ref it sets. One entry for the whole mapping: `attributes` names every missing
3617
+ * attribute, each with the `entity` type it belongs to.
3618
+ * Such a lookup never finds anything, so every re-import would create the entities
3619
+ * again, and the engine refuses the relations; the file is not read. A looked-up schema
3620
+ * that does not exist is reported as `SCHEMA_NOT_FOUND`; one that cannot be read, or is
3621
+ * not the org's own, is left unchecked.
3416
3622
  *
3417
3623
  * The rest reject the mapping against the entity schemas, before the file is read, and
3418
3624
  * name the thing at fault in `subject`: `IS_CONDITIONAL_NOT_CONSTANT`,
@@ -3434,8 +3640,8 @@ declare namespace Components {
3434
3640
  integration_id?: string;
3435
3641
  /**
3436
3642
  * `accepted` until the mapping ran, `processing` while its writes run, then
3437
- * one of the terminal states: `done`, `partial` (some writes failed) or
3438
- * `error`.
3643
+ * one of the terminal states: `done`, `partial` (something was written but
3644
+ * a write or part of the mapping failed) or `error` (nothing was written).
3439
3645
  *
3440
3646
  */
3441
3647
  status: "accepted" | "processing" | "done" | "partial" | "error";
@@ -3466,8 +3672,31 @@ declare namespace Components {
3466
3672
  * The entity writes that have finished.
3467
3673
  */
3468
3674
  writes_done: number;
3675
+ /**
3676
+ * The entities the event wrote. An entity written without one of its
3677
+ * relations, because the payload lacked the related entity's unique
3678
+ * identifiers, is not listed; the event ends `partial` and `errors` names
3679
+ * the relation.
3680
+ *
3681
+ */
3469
3682
  entities: /* An entity an interactive event wrote. */ ErpUpdateProcessedEntity[];
3683
+ /**
3684
+ * Entity writes of the event that are not in `entities`: an event lists at
3685
+ * most 200. The entities were written all the same; they are only missing
3686
+ * from the list. Present only when there are any.
3687
+ *
3688
+ */
3689
+ entities_omitted?: number;
3690
+ /**
3691
+ * The event's first 10 failures. A failure repeated within one item of the
3692
+ * partner's data is listed once. `errors_total` counts them all.
3693
+ *
3694
+ */
3470
3695
  errors: /* A failure nothing will retry. */ ErpUpdateProcessingError[];
3696
+ /**
3697
+ * Every failure the event had, including those not listed in `errors`.
3698
+ */
3699
+ errors_total: number;
3471
3700
  }
3472
3701
  /**
3473
3702
  * An entity an interactive event wrote.
@@ -3484,16 +3713,27 @@ declare namespace Components {
3484
3713
  */
3485
3714
  _id: string;
3486
3715
  /**
3487
- * What the write did. `unchanged` means the entity already matched the
3488
- * event; it still counts as written.
3716
+ * What the writes did, merged over every write of the entity — by the event,
3717
+ * or on a correlation by all its events: `deleted` wins, then `created`,
3718
+ * `updated`, `unchanged`. So an entity the event (or the correlation) created
3719
+ * reads `created` however often it was written again, and one it deleted
3720
+ * reads `deleted`. `unchanged` means the entity already matched; it still
3721
+ * counts as written.
3489
3722
  *
3490
3723
  */
3491
3724
  operation: "created" | "updated" | "deleted" | "unchanged";
3492
3725
  /**
3493
- * The unique ids the entity was looked up by — exactly the use case's
3494
- * configured `unique_ids` for that entity and nothing else. These and `_id`
3726
+ * The unique ids the entity was looked up by — the use case's configured
3727
+ * `unique_ids` for that entity and nothing else, as far as they could be
3728
+ * recorded. A value longer than 256 UTF-16 code units, not counting
3729
+ * surrounding whitespace, is not recorded, and one write records its unique
3730
+ * ids, in key order, within 1,024 bytes: an id that would not fit is left
3731
+ * out. A selector cannot name an id that is not recorded. These and `_id`
3495
3732
  * are what a caller can tell several entities of one slug apart by, and the
3496
- * only attributes a `wait_for_entities` selector can match.
3733
+ * only attributes a `wait_for_entities` selector can match. On a correlation
3734
+ * they are the union over its events: two use cases that wrote one contact by
3735
+ * different unique ids both match. A unique id two events wrote with
3736
+ * different values shows one of them here, and a selector matches either.
3497
3737
  *
3498
3738
  * example:
3499
3739
  * {
@@ -3520,6 +3760,14 @@ declare namespace Components {
3520
3760
  */
3521
3761
  event_id?: string;
3522
3762
  occurred_at: string; // date-time
3763
+ /**
3764
+ * `true` on a correlation's error of an event that arrived after the
3765
+ * correlation completed. Listed for the record — while the list has room,
3766
+ * and counted in `errors_total` either way; it is not part of the
3767
+ * correlation's answer, which was final at `completed_at`. Absent otherwise.
3768
+ *
3769
+ */
3770
+ after_completion?: boolean;
3523
3771
  }
3524
3772
  export interface ErpUpdatesEventsV2Request {
3525
3773
  /**
@@ -3541,7 +3789,16 @@ declare namespace Components {
3541
3789
  */
3542
3790
  integration_id: string; // uuid
3543
3791
  /**
3544
- * Optional ID that identifies the specific request for debugging purposes
3792
+ * Optional ID that identifies the specific request. Generated when omitted
3793
+ * or empty, and returned in the response either way.
3794
+ *
3795
+ * Where it can be waited on - the request closes it with
3796
+ * `correlation_complete`, or an event that asks for `interactive` inherits
3797
+ * it - it must be 1-255 characters of letters, digits, hyphens and
3798
+ * underscores, or the request is a 400. The same rule applies to an
3799
+ * event's own `correlation_id` when that event asks for `interactive`.
3800
+ * Ids nobody can wait on are not checked.
3801
+ *
3545
3802
  */
3546
3803
  correlation_id?: string;
3547
3804
  /**
@@ -3566,11 +3823,13 @@ declare namespace Components {
3566
3823
  * - Up to 20 groups per integration are processed concurrently. Using
3567
3824
  * more distinct values than that yields no additional parallelism.
3568
3825
  * - Omit this field if strict per-integration ordering is required.
3826
+ * - 1 to 128 printable ASCII characters without spaces: letters, digits and
3827
+ * punctuation (`!` to `~`). Anything else is a 400.
3569
3828
  *
3570
3829
  * example:
3571
3830
  * customer-42
3572
3831
  */
3573
- group_id?: string;
3832
+ group_id?: string; // ^[!-~]+$
3574
3833
  /**
3575
3834
  * Request interactive processing for this request's events.
3576
3835
  *
@@ -3591,6 +3850,9 @@ declare namespace Components {
3591
3850
  * and nothing is lost: those results still say `interactive: true`, with
3592
3851
  * `lane` naming the queue that actually carried them, and the correlation can
3593
3852
  * still be waited on - it will simply take as long as a bulk event does.
3853
+ * Only events admitted as interactive count against that rate: an event
3854
+ * refused at ingest (422), skipped as a duplicate, or past its correlation's
3855
+ * event limit costs nothing. A request is admitted or spilled as a whole.
3594
3856
  *
3595
3857
  * Individual events may set their own `interactive`, which overrides this
3596
3858
  * request-level value for that event only.
@@ -3615,8 +3877,32 @@ declare namespace Components {
3615
3877
  * empty, so a waiter is told straight away that nothing is coming rather than
3616
3878
  * waiting for data that will never arrive.
3617
3879
  *
3880
+ * A request that carries events closes the correlation whenever it
3881
+ * exists - also when those events came back `skipped` as duplicates of
3882
+ * events already sent (a retry of the closing request), or were processed
3883
+ * on the normal lane - but never creates it: only a request with no events
3884
+ * does. A request with no events that creates the correlation costs one unit
3885
+ * of the organization's interactive rate; closing one that exists, or finding
3886
+ * it closed already, costs nothing. When the organization is over its rate,
3887
+ * it still closes a correlation that exists but creates none - send it again
3888
+ * a few seconds later. The close is not applied when the response asks for a retry (422 or
3889
+ * 429), when the queue refused one of the request's events, or when the
3890
+ * correlation does not exist and the request carries events or could not
3891
+ * pay for creating it; each of these raises a `CORRELATION_CLOSE_IGNORED`
3892
+ * monitoring warning naming the cause. The response says what became of
3893
+ * the close in `correlation_close` - `applied`, `rate_limited` (send it again
3894
+ * a few seconds later) or `ignored` with its `reasons`.
3895
+ *
3618
3896
  * Closing a correlation twice is a no-op. Events that arrive afterwards are
3619
- * still processed, and raise a `CORRELATION_LATE_EVENT` monitoring warning.
3897
+ * still processed, and raise a `CORRELATION_LATE_EVENT` monitoring warning;
3898
+ * once the correlation is complete they can no longer change its answer
3899
+ * (see `completion` on `GET /v3/erp/updates/events`).
3900
+ *
3901
+ * A correlation belongs to the integration whose event or close created it.
3902
+ * A close sent for another integration under the same id is not applied and
3903
+ * raises `CORRELATION_CLOSE_IGNORED`; an event sent for another integration
3904
+ * under it is processed normally, not interactively, and its result says
3905
+ * `interactive: false` with the reason.
3620
3906
  *
3621
3907
  * example:
3622
3908
  * true
@@ -3627,8 +3913,8 @@ declare namespace Components {
3627
3913
  * `correlation_complete` is `true` - a request that only closes a correlation
3628
3914
  * may send an empty array.
3629
3915
  *
3630
- * Note: `wait` is NOT accepted on this endpoint and returns 400. Ingest never
3631
- * blocks; poll `GET /v3/erp/updates/events` to wait for a correlation.
3916
+ * Note: ingest never blocks. A `wait` field, on the request or on an event, is
3917
+ * ignored; poll `GET /v3/erp/updates/events` to wait for a correlation.
3632
3918
  *
3633
3919
  */
3634
3920
  events: ErpEventV3[];
@@ -6213,17 +6499,19 @@ declare namespace Components {
6213
6499
  * with a fixed level (see the published code reference at
6214
6500
  * https://docs.epilot.io/docs/integrations/integration-toolkit/monitoring/codes).
6215
6501
  *
6216
- * This schema exists so consumers can import the union as a type. It is
6217
- * deliberately NOT applied to `MonitoringEventV2.code` or to the query filter:
6218
- * alongside these, the secure proxy emits an unbounded `HTTP_{status}` family for
6219
- * an upstream refusal, so constraining those fields to this enum would reject a
6220
- * legitimate value — `code` stays a plain string there on purpose.
6502
+ * This schema exists so consumers can import the union as a type. It never
6503
+ * constrains a field on its own: alongside these, the secure proxy emits an
6504
+ * unbounded `HTTP_{status}` family for an upstream refusal, so constraining a
6505
+ * code field to this enum would reject a legitimate value. `MonitoringEventV2.code`
6506
+ * references it only as one `anyOf` branch next to a plain string, which types the
6507
+ * field with the taxonomy without narrowing it; the query filter stays a plain
6508
+ * string.
6221
6509
  *
6222
6510
  * Kept in lock-step with the `MonitoringErrorCode` taxonomy in erp-utils by
6223
6511
  * `monitoring-code-enum.test.ts`, which fails if the two diverge.
6224
6512
  *
6225
6513
  */
6226
- export type MonitoringCode = "ACK_CONFIRMED" | "ACK_PENDING" | "ACK_TIMEOUT" | "ATTACHMENT_NOT_FOUND" | "ATTRIBUTE_TYPE_MISMATCH" | "CONDITIONAL_VARIANTS_WRITTEN" | "CONDITIONAL_VARIANT_WRITE_FAILED" | "CONDITIONAL_VARIANT_WRITE_WARNING" | "CORRELATION_CLOSED_EMPTY" | "CORRELATION_CLOSED_INCOMPLETE" | "CORRELATION_CLOSE_IGNORED" | "CORRELATION_COMPLETED" | "CORRELATION_EVENT_LIMIT_EXCEEDED" | "CORRELATION_ID_MISSING" | "CORRELATION_LATE_EVENT" | "CORRELATION_REQUIREMENT_FAILED" | "CORRELATION_WAIT_REJECTED" | "CORRELATION_WAIT_TIMEOUT" | "DEPRECATED_ENDPOINT" | "DIRECT_ENTITY_NOT_ALLOWED" | "DIRECT_PAYLOAD_INVALID" | "DIRECT_VERSION_UNSUPPORTED" | "DUPLICATE_EVENT" | "ENTITY_CREATED" | "ENTITY_DELETED" | "ENTITY_NO_OP" | "ENTITY_REFERENCE_NOT_FOUND" | "ENTITY_UPDATED" | "EVENT_NOT_CONFIGURED" | "EXTERNAL_API_ERROR" | "EXTERNAL_ERROR" | "EXTERNAL_INFO" | "EXTERNAL_SUCCESS" | "EXTERNAL_WARNING" | "FAN_OUT_EMPTY" | "FAN_OUT_INVALID_RESULT" | "FILE_EXTRACTION_FAILED" | "FILE_FETCH_FAILED" | "FILE_PROXY_OK" | "FILE_PROXY_UPLOADED" | "FILE_PROXY_UPLOAD_ENQUEUED" | "FILE_PROXY_UPLOAD_FAILED" | "FILE_PROXY_UPLOAD_RETRYING" | "FILE_TOO_LARGE" | "INTEGRATION_NOT_FOUND" | "INTERACTIVE_CROSS_LANE_WRITE" | "INTERACTIVE_NOT_ALLOWED" | "INTERACTIVE_RATE_LIMITED" | "INVALID_METER_READING_ATTRIBUTES" | "LOOKUP_UNMAPPED" | "MALFORMED_PAYLOAD" | "MAPPING_EXPRESSION_FAILED" | "METERING_API_ERROR" | "METER_READING_DELETED" | "METER_READING_GROUP_FAILED" | "METER_READING_GROUP_RETRYING" | "METER_READING_UPSERTED" | "MISSING_REQUIRED_PARAM" | "MISSING_UNIQUE_IDENTIFIERS" | "MSG_ACKED" | "MSG_DEAD_LETTERED" | "MSG_ENQUEUED" | "MSG_EXPIRED_UNPOLLED" | "MSG_HEAD_BLOCKED" | "MSG_LATE_ARRIVAL" | "OAUTH2_TOKEN_FAILURE" | "PAYLOAD_TOO_LARGE" | "PRUNE_SCOPE_COMPLETED" | "PRUNE_SCOPE_PARTIAL_FAILURE" | "RECURSION_DEPTH_EXCEEDED" | "RELATION_REF_ITEM_NOT_FOUND" | "RELATION_REF_VALUE_UNDEFINED" | "REQUIRED_PARAM_MISSING" | "SECURE_PROXY_DISABLED" | "SECURE_PROXY_DOMAIN_BLOCKED" | "SECURE_PROXY_DOMAIN_NOT_ALLOWED" | "SECURE_PROXY_ERROR" | "SECURE_PROXY_INVALID_CONFIG" | "SECURE_PROXY_INVALID_TYPE" | "SECURE_PROXY_INVALID_URL" | "SECURE_PROXY_IP_BLOCKED" | "SECURE_PROXY_IP_NOT_ALLOWED" | "SECURE_PROXY_NOT_FOUND" | "SECURE_PROXY_UNAVAILABLE" | "SIGNATURE_VERIFICATION_FAILED" | "SIGNATURE_VERIFICATION_UNAVAILABLE" | "SOFT_DELETED_ENTITY_MATCHED" | "STEP_DISABLED" | "TIMEOUT" | "UNIQUE_ID_LOOKUP_UNRESOLVABLE" | "UNIQUE_ID_MULTIPLE_MATCHES" | "UNIQUE_ID_NOT_IN_SCHEMA" | "UNKNOWN_ERROR" | "USE_CASE_DISABLED" | "USE_CASE_INVALID_TYPE" | "USE_CASE_MISSING_CONFIG" | "USE_CASE_NOT_FOUND" | "WEBHOOK_DELIVERED";
6514
+ export type MonitoringCode = "ACK_CONFIRMED" | "ACK_PENDING" | "ACK_TIMEOUT" | "ATTACHMENT_NOT_FOUND" | "ATTRIBUTE_TYPE_MISMATCH" | "CONDITIONAL_VARIANTS_WRITTEN" | "CONDITIONAL_VARIANT_WRITE_FAILED" | "CONDITIONAL_VARIANT_WRITE_WARNING" | "CORRELATION_CLOSED_EMPTY" | "CORRELATION_CLOSED_INCOMPLETE" | "CORRELATION_CLOSE_IGNORED" | "CORRELATION_COMPLETED" | "CORRELATION_EVENT_LIMIT_EXCEEDED" | "CORRELATION_ID_MISSING" | "CORRELATION_LATE_EVENT" | "CORRELATION_REQUIREMENT_FAILED" | "CORRELATION_WAIT_REJECTED" | "CORRELATION_WAIT_TIMEOUT" | "DEPRECATED_ENDPOINT" | "DIRECT_ENTITY_NOT_ALLOWED" | "DIRECT_PAYLOAD_INVALID" | "DIRECT_VERSION_UNSUPPORTED" | "DUPLICATE_EVENT" | "ENTITY_CREATED" | "ENTITY_DELETED" | "ENTITY_NO_OP" | "ENTITY_REFERENCE_NOT_FOUND" | "ENTITY_UPDATED" | "EVENT_NOT_CONFIGURED" | "EXTERNAL_API_ERROR" | "EXTERNAL_ERROR" | "EXTERNAL_INFO" | "EXTERNAL_SUCCESS" | "EXTERNAL_WARNING" | "FAN_OUT_EMPTY" | "FAN_OUT_INVALID_RESULT" | "FILE_EXTRACTION_FAILED" | "FILE_FETCH_FAILED" | "FILE_PROXY_OK" | "FILE_PROXY_UPLOADED" | "FILE_PROXY_UPLOAD_ENQUEUED" | "FILE_PROXY_UPLOAD_FAILED" | "FILE_PROXY_UPLOAD_RETRYING" | "FILE_TOO_LARGE" | "INTEGRATION_NOT_FOUND" | "INTERACTIVE_CROSS_LANE_WRITE" | "INTERACTIVE_NOT_ALLOWED" | "INTERACTIVE_RATE_LIMITED" | "INVALID_METER_READING_ATTRIBUTES" | "LOOKUP_UNMAPPED" | "MALFORMED_PAYLOAD" | "MAPPING_EXPRESSION_FAILED" | "METERING_API_ERROR" | "METER_READING_DELETED" | "METER_READING_GROUP_FAILED" | "METER_READING_GROUP_RETRYING" | "METER_READING_UPSERTED" | "MISSING_REQUIRED_PARAM" | "MISSING_UNIQUE_IDENTIFIERS" | "MSG_ACKED" | "MSG_DEAD_LETTERED" | "MSG_ENQUEUED" | "MSG_EXPIRED_UNPOLLED" | "MSG_HEAD_BLOCKED" | "MSG_LATE_ARRIVAL" | "OAUTH2_TOKEN_FAILURE" | "PAYLOAD_TOO_LARGE" | "PROCESSING_STATE_LIMIT" | "PRUNE_SCOPE_COMPLETED" | "PRUNE_SCOPE_PARTIAL_FAILURE" | "RECURSION_DEPTH_EXCEEDED" | "RELATION_REF_ITEM_NOT_FOUND" | "RELATION_REF_VALUE_UNDEFINED" | "REQUIRED_PARAM_MISSING" | "SECURE_PROXY_DISABLED" | "SECURE_PROXY_DOMAIN_BLOCKED" | "SECURE_PROXY_DOMAIN_NOT_ALLOWED" | "SECURE_PROXY_ERROR" | "SECURE_PROXY_INVALID_CONFIG" | "SECURE_PROXY_INVALID_TYPE" | "SECURE_PROXY_INVALID_URL" | "SECURE_PROXY_IP_BLOCKED" | "SECURE_PROXY_IP_NOT_ALLOWED" | "SECURE_PROXY_NOT_FOUND" | "SECURE_PROXY_UNAVAILABLE" | "SIGNATURE_VERIFICATION_FAILED" | "SIGNATURE_VERIFICATION_UNAVAILABLE" | "SOFT_DELETED_ENTITY_MATCHED" | "STEP_DISABLED" | "TIMEOUT" | "UNIQUE_ID_LOOKUP_UNRESOLVABLE" | "UNIQUE_ID_MULTIPLE_MATCHES" | "UNIQUE_ID_NOT_IN_SCHEMA" | "UNKNOWN_ERROR" | "USE_CASE_DISABLED" | "USE_CASE_INVALID_TYPE" | "USE_CASE_MISSING_CONFIG" | "USE_CASE_NOT_FOUND" | "WEBHOOK_DELIVERED";
6227
6515
  export interface MonitoringEventV2 {
6228
6516
  /**
6229
6517
  * Unique monitoring event ID
@@ -6258,9 +6546,26 @@ declare namespace Components {
6258
6546
  */
6259
6547
  level: "success" | "error" | "info" | "warning";
6260
6548
  /**
6261
- * Taxonomy code (e.g. OAUTH2_TOKEN_FAILURE, HTTP_502). Empty for success. One of `MonitoringCode`, or an `HTTP_{status}` family value from the secure proxy — which is why this is a string rather than that enum.
6549
+ * Taxonomy code (e.g. OAUTH2_TOKEN_FAILURE, HTTP_502). Empty for success. One of `MonitoringCode`, or an `HTTP_{status}` family value from the secure proxy — which is why the second branch is a plain string: the field is typed with the taxonomy without being narrowed to it.
6262
6550
  */
6263
- code?: string;
6551
+ code?: /* Taxonomy code (e.g. OAUTH2_TOKEN_FAILURE, HTTP_502). Empty for success. One of `MonitoringCode`, or an `HTTP_{status}` family value from the secure proxy — which is why the second branch is a plain string: the field is typed with the taxonomy without being narrowed to it. */ /**
6552
+ * The monitoring code taxonomy — every code the Integration Toolkit itself emits,
6553
+ * with a fixed level (see the published code reference at
6554
+ * https://docs.epilot.io/docs/integrations/integration-toolkit/monitoring/codes).
6555
+ *
6556
+ * This schema exists so consumers can import the union as a type. It never
6557
+ * constrains a field on its own: alongside these, the secure proxy emits an
6558
+ * unbounded `HTTP_{status}` family for an upstream refusal, so constraining a
6559
+ * code field to this enum would reject a legitimate value. `MonitoringEventV2.code`
6560
+ * references it only as one `anyOf` branch next to a plain string, which types the
6561
+ * field with the taxonomy without narrowing it; the query filter stays a plain
6562
+ * string.
6563
+ *
6564
+ * Kept in lock-step with the `MonitoringErrorCode` taxonomy in erp-utils by
6565
+ * `monitoring-code-enum.test.ts`, which fails if the two diverge.
6566
+ *
6567
+ */
6568
+ MonitoringCode | string;
6264
6569
  /**
6265
6570
  * Human-readable message. Empty when not applicable.
6266
6571
  */
@@ -6286,7 +6591,7 @@ declare namespace Components {
6286
6591
  */
6287
6592
  seen: number;
6288
6593
  /**
6289
- * Events that have reported something but no final outcome yet: only mapping or relation caveats so far (the success row comes last, from the final stage), or a failed attempt the queue will retry. An event stuck here with an old `last_activity_at` was most likely lost on its final attempt (processor crash) — a stall, not a slow run.
6594
+ * Events that have reported something but no final outcome yet: only mapping or relation caveats so far (the success row comes last, from the final stage), or a failed attempt the queue will retry. An event stuck here with an old `last_activity_at` was most likely lost on its final attempt (processor crash) — a stall, not a slow run. Includes split events still waiting on some of their writes.
6290
6595
  */
6291
6596
  in_flight: number;
6292
6597
  /**
@@ -6309,7 +6614,7 @@ declare namespace Components {
6309
6614
  * Settled events whose rows were all informational — deduplicated or skipped, nothing to apply.
6310
6615
  */
6311
6616
  info: number;
6312
- entries: /* The run's monitoring rows counted by level, retry markers included — the same rows its trace lists. Unlike the event counts above, one event can contribute many rows (one per entity written, plus every caveat and retry). */ MonitoringRunEntriesV2;
6617
+ entries: /* The run's monitoring rows counted by level — the rows its trace lists, correlation-level rows (wait outcomes, closes) included. Unlike the event counts above, one event can contribute many rows (one per entity written, plus every caveat and retry). Retry markers count under `retry` only, so a failed attempt that later succeeds is not an error; `total` is the sum of the others. */ MonitoringRunEntriesV2;
6313
6618
  /**
6314
6619
  * Newest row of any level under this run; null when nothing has reported yet.
6315
6620
  */
@@ -6322,14 +6627,24 @@ declare namespace Components {
6322
6627
  runs: /* Per-event completion of one run. Every count is in EVENTS (distinct `event_id`), never rows: `seen = in_flight + success + warning + error + info`. */ MonitoringRunCompletionV2[];
6323
6628
  }
6324
6629
  /**
6325
- * The run's monitoring rows counted by level, retry markers included — the same rows its trace lists. Unlike the event counts above, one event can contribute many rows (one per entity written, plus every caveat and retry).
6630
+ * The run's monitoring rows counted by level — the rows its trace lists, correlation-level rows (wait outcomes, closes) included. Unlike the event counts above, one event can contribute many rows (one per entity written, plus every caveat and retry). Retry markers count under `retry` only, so a failed attempt that later succeeds is not an error; `total` is the sum of the others.
6326
6631
  */
6327
6632
  export interface MonitoringRunEntriesV2 {
6328
6633
  total: number;
6634
+ /**
6635
+ * Error rows that will not be retried.
6636
+ */
6329
6637
  error: number;
6638
+ /**
6639
+ * Warning rows that are caveats, not retry markers.
6640
+ */
6330
6641
  warning: number;
6331
6642
  success: number;
6332
6643
  info: number;
6644
+ /**
6645
+ * Retry markers (`will_retry` in `detail`) — attempts the queue delivers again.
6646
+ */
6647
+ retry: number;
6333
6648
  }
6334
6649
  export interface MonitoringStats {
6335
6650
  /**
@@ -7877,6 +8192,17 @@ declare namespace Components {
7877
8192
  * Unique identifier mappings for the related entity
7878
8193
  */
7879
8194
  unique_ids: RelationUniqueIdField[];
8195
+ /**
8196
+ * The entity is incomplete without this relation. On an interactive event, a
8197
+ * relation that cannot be set — even because the payload carried no reference —
8198
+ * ends the event `partial` and leaves the entity out of `entities`. Without it,
8199
+ * a relation whose unique ids the payload left empty is intentionally unset: the
8200
+ * entity is written and reported without it. A relation whose reference the
8201
+ * payload sent only in part (one unique id present, another missing) is
8202
+ * unresolved either way. Bulk processing is the same with or without it.
8203
+ *
8204
+ */
8205
+ required?: boolean;
7880
8206
  }
7881
8207
  /**
7882
8208
  * Configuration for a single relation reference item
@@ -9763,11 +10089,11 @@ declare namespace Paths {
9763
10089
  namespace ListErpUpdateCorrelations {
9764
10090
  namespace Parameters {
9765
10091
  export type Cursor = string;
9766
- export type IntegrationId = string; // uuid
10092
+ export type IntegrationId = string; // uuid ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
9767
10093
  export type Limit = number;
9768
10094
  }
9769
10095
  export interface QueryParameters {
9770
- integration_id?: Parameters.IntegrationId /* uuid */;
10096
+ integration_id?: Parameters.IntegrationId /* uuid ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ */;
9771
10097
  limit?: Parameters.Limit;
9772
10098
  cursor?: Parameters.Cursor;
9773
10099
  }
@@ -10000,6 +10326,7 @@ declare namespace Paths {
10000
10326
  export type $200 = Components.Responses.ERPUpdatesResponse;
10001
10327
  export type $400 = Components.Responses.BadRequest;
10002
10328
  export type $401 = Components.Responses.Unauthorized;
10329
+ export type $403 = Components.Responses.Forbidden;
10003
10330
  export type $429 = Components.Responses.ERPUpdatesRetryableResponse;
10004
10331
  export type $500 = Components.Responses.InternalServerError;
10005
10332
  }
@@ -10010,6 +10337,7 @@ declare namespace Paths {
10010
10337
  export type $200 = Components.Responses.ERPUpdatesResponse;
10011
10338
  export type $400 = Components.Responses.BadRequest;
10012
10339
  export type $401 = Components.Responses.Unauthorized;
10340
+ export type $403 = Components.Responses.Forbidden;
10013
10341
  export type $404 = Components.Responses.NotFound;
10014
10342
  export type $429 = Components.Responses.ERPUpdatesRetryableResponse;
10015
10343
  export type $500 = Components.Responses.InternalServerError;
@@ -10021,6 +10349,7 @@ declare namespace Paths {
10021
10349
  export type $200 = Components.Responses.ERPUpdatesResponse;
10022
10350
  export type $400 = Components.Responses.BadRequest;
10023
10351
  export type $401 = Components.Responses.Unauthorized;
10352
+ export type $403 = Components.Responses.Forbidden;
10024
10353
  export type $404 = Components.Responses.NotFound;
10025
10354
  export type $429 = Components.Responses.ERPUpdatesRetryableResponse;
10026
10355
  export type $500 = Components.Responses.InternalServerError;
@@ -10482,7 +10811,15 @@ interface OperationMethods {
10482
10811
  /**
10483
10812
  * processErpUpdatesEvents - processErpUpdatesEvents
10484
10813
  *
10485
- * Handles updates from ERP systems and tracks them appropriately
10814
+ * Handles updates from ERP systems and tracks them appropriately.
10815
+ *
10816
+ * Requires the `integration:ingest` grant on the integration the app component is
10817
+ * mapped to, or on every integration (`integration:*`) for an app component
10818
+ * without an integration mapping; the wildcard grants `integration:*` and `*`
10819
+ * (the owner role) include it. Without it the request is refused with 403 before
10820
+ * any event is processed. *Being rolled out:* until a stage enforces it, a missing
10821
+ * grant is logged and the request is still processed.
10822
+ *
10486
10823
  */
10487
10824
  'processErpUpdatesEvents'(
10488
10825
  parameters?: Parameters<UnknownParamsObject> | null,
@@ -10496,6 +10833,11 @@ interface OperationMethods {
10496
10833
  * This is the v2 version that simplifies the API by accepting integration_id
10497
10834
  * instead of app_id and component_id.
10498
10835
  *
10836
+ * Requires the `integration:ingest` grant on `integration_id`; the wildcard grants
10837
+ * `integration:*` and `*` (the owner role) include it. Without it the request is
10838
+ * refused with 403 before any event is processed. *Being rolled out:* until a
10839
+ * stage enforces it, a missing grant is logged and the request is still processed.
10840
+ *
10499
10841
  */
10500
10842
  'processErpUpdatesEventsV2'(
10501
10843
  parameters?: Parameters<UnknownParamsObject> | null,
@@ -10525,14 +10867,32 @@ interface OperationMethods {
10525
10867
  * and every event it sent has finished. Nothing further can arrive, so the
10526
10868
  * wait ends even if a requirement is unmet. A correlation closed with zero
10527
10869
  * events is `complete` at once: the partner sent nothing and never will.
10870
+ * **`complete` is final.** From `completed_at` on, the correlation's answer
10871
+ * is frozen: an event that still arrives under it (a late event) is
10872
+ * processed and counted in `events_received`, `events_done` and
10873
+ * `late_events`, and its errors are listed with `after_completion: true`,
10874
+ * but it adds nothing to `use_cases` or `entities` and never changes
10875
+ * `completion` — every later read gives the answer the first one got.
10528
10876
  * - `error` — a requirement can no longer be met because an event it depends
10529
10877
  * on failed: every event of a required use case ended in error, or an
10530
10878
  * entity requirement is still missing when the correlation is complete and
10531
10879
  * one of its events failed. Without requirements, `error` means the
10532
- * correlation completed with failures.
10880
+ * correlation completed with failures. An event that ended `partial` counts
10881
+ * as failed here: a use case requirement is met only by an event that ended
10882
+ * `done`.
10533
10883
  * - `timeout` — the budget ran out first. The body still shows what has
10534
10884
  * landed so far; call again to keep waiting.
10535
10885
  *
10886
+ * **When `entities_omitted` is present, an entity requirement can be
10887
+ * undecided.** `entities` lists at most 200 entity writes; the rest are only
10888
+ * counted. An entity requirement that no listed entity satisfies may then still
10889
+ * have been written, so it is neither met nor missing: it is named in
10890
+ * `undecided_entity_requirements`, it never makes `completion` `error`, and the
10891
+ * wait still ends `complete` once the correlation completes (if every other
10892
+ * requirement is met, `complete` rather than `requirements_met`). Look such an
10893
+ * entity up yourself, e.g. by its unique id through the entity API. Use case
10894
+ * requirements are never undecided: their counts are never omitted.
10895
+ *
10536
10896
  * **Every requirement is met by the first matching event.** A use case
10537
10897
  * requirement is satisfied by the first event of that use case to finish, and
10538
10898
  * an entity requirement without a selector by the first entity of that slug;
@@ -10545,19 +10905,38 @@ interface OperationMethods {
10545
10905
  * precise tool: `contract[billing_account_number=4711]` is satisfied by that
10546
10906
  * contract and by nothing else.
10547
10907
  *
10908
+ * An event fails when nothing will retry what went wrong, including when its
10909
+ * mapping could not run or ran only in part: a disabled or unconfigured use
10910
+ * case, an item without its unique identifiers, a field or relation that could
10911
+ * not be mapped. Such an event ends `error` when it wrote nothing and `partial`
10912
+ * when it wrote something, and `errors` says why. A mapping that writes
10913
+ * nothing on purpose (an `enabled` expression that is false, an empty list)
10914
+ * ends `done`.
10915
+ *
10548
10916
  * A requirement is only as good as the use case configuration it refers to:
10549
10917
  * model one inbound use case per partner event type, and give every use case a
10550
- * slug. A use case without a slug cannot be named here.
10918
+ * slug. A legacy use case without a slug is counted, and can be named, only by
10919
+ * its use case id, which differs between environments.
10551
10920
  *
10552
10921
  * An unknown correlation, or one with no interactive events, reads as
10553
10922
  * `events_received: 0, closed: false` — "not yet" and "never" look the same,
10554
- * which is why `correlation_complete` exists.
10923
+ * which is why `correlation_complete` exists. Waiting on a correlation before
10924
+ * anything was sent under it is normal — mint the id, hand it to the partner,
10925
+ * wait — and the wait picks the correlation up as soon as its first event is
10926
+ * ingested.
10927
+ *
10928
+ * A correlation belongs to one integration: the one whose event (or close)
10929
+ * created it. Events and closes of another integration under the same id are
10930
+ * not applied to it — see `correlation_complete` and the event results.
10555
10931
  *
10556
10932
  * Waiting holds a connection, so concurrent waits are capped per organization
10557
- * and overall. Over the cap the call is refused with 429 and `Retry-After`;
10558
- * fall back to calls with `wait=0` (they never need a slot) or retry later.
10559
- * Calls that do not have to wait — `wait=0`, or a correlation that is already
10560
- * decided — are never refused.
10933
+ * and overall. A wait that starts before anything was sent under its
10934
+ * correlation counts against a separate, smaller per-organization cap instead,
10935
+ * for its whole duration, so waits on ids nothing is ever sent under cannot
10936
+ * crowd out waits on correlations that exist. Over a cap the call is refused
10937
+ * with 429 and `Retry-After`; fall back to calls with `wait=0` (they never need
10938
+ * a slot) or retry later. Calls that do not have to wait — `wait=0`, or a
10939
+ * correlation that is already decided — are never refused.
10561
10940
  *
10562
10941
  * Requires `integration:view` on the correlation's integration. The organization
10563
10942
  * is always the token's own, so no other organization's correlation is ever
@@ -10576,6 +10955,13 @@ interface OperationMethods {
10576
10955
  * This is the v3 version that removes the unused event_type field and renames object_type to event_name
10577
10956
  * to align with the integration UI naming.
10578
10957
  *
10958
+ * Requires the `integration:ingest` grant on `integration_id`; the wildcard grants
10959
+ * `integration:*` and `*` (the owner role) include it. Without it the request is
10960
+ * refused with 403 before anything is processed, charged to the interactive rate
10961
+ * limit or recorded — closing a correlation (`correlation_complete`) included.
10962
+ * *Being rolled out:* until a stage enforces it, a missing grant is logged and the
10963
+ * request is still processed.
10964
+ *
10579
10965
  */
10580
10966
  'processErpUpdatesEventsV3'(
10581
10967
  parameters?: Parameters<UnknownParamsObject> | null,
@@ -10613,8 +10999,12 @@ interface OperationMethods {
10613
10999
  * — and says so in `horizon_days`. Correlations older than that are not
10614
11000
  * returned, even when a wider range is being displayed.
10615
11001
  *
10616
- * Pass `next_cursor` back as `cursor` for the next page. A page can be shorter
10617
- * than `limit` and still have more behind it, so stop on `next_cursor: null`.
11002
+ * Pass `next_cursor` back as `cursor` for the next page. Only a null
11003
+ * `next_cursor` ends the listing: a page can be shorter than `limit`, even
11004
+ * empty, and still carry a cursor — a page filtered to an integration stops
11005
+ * after reading a bounded number of rows, whichever integration they belong
11006
+ * to. A cursor whose position has aged past the 7 days answers an empty last
11007
+ * page; a cursor this endpoint did not issue is a 400.
10618
11008
  *
10619
11009
  * Requires `integration:view` on `integration_id` when it is given, and on every
10620
11010
  * integration of the organization when it is not.
@@ -11043,9 +11433,13 @@ interface OperationMethods {
11043
11433
  /**
11044
11434
  * queryInboundMonitoringEvents - queryInboundMonitoringEvents
11045
11435
  *
11046
- * Query inbound monitoring events for a specific integration.
11047
- * Returns detailed information about inbound sync events from ERP systems,
11048
- * including success rates, error breakdowns, and processing metrics.
11436
+ * **Deprecated and no longer implemented.** The `erp_monitoring` table this
11437
+ * endpoint read has been retired in favour of the unified `erp_monitoring_v2`
11438
+ * table. The endpoint is kept only so existing clients do not 404; it always
11439
+ * responds `200` with an empty result and never reads any data.
11440
+ *
11441
+ * Use `POST /v2/integrations/{integrationId}/monitoring/events` instead,
11442
+ * filtered to `use_case_type: inbound`.
11049
11443
  *
11050
11444
  */
11051
11445
  'queryInboundMonitoringEvents'(
@@ -11056,9 +11450,13 @@ interface OperationMethods {
11056
11450
  /**
11057
11451
  * getMonitoringStats - getMonitoringStats
11058
11452
  *
11059
- * Get aggregated statistics for both inbound and outbound monitoring events for a specific integration.
11060
- * Returns summary metrics for inbound (ERP sync) and outbound (webhook delivery) events,
11061
- * including success/error counts and optional breakdowns.
11453
+ * **Deprecated and no longer implemented.** This endpoint aggregated the
11454
+ * retired `erp_monitoring` table and the webhook delivery log; both are
11455
+ * superseded by the unified `erp_monitoring_v2` table. The endpoint is kept
11456
+ * only so existing clients do not 404; it always responds `200` with zeroed
11457
+ * counters and never reads any data.
11458
+ *
11459
+ * Use `POST /v2/integrations/{integrationId}/monitoring/stats` instead.
11062
11460
  *
11063
11461
  */
11064
11462
  'getMonitoringStats'(
@@ -11069,9 +11467,13 @@ interface OperationMethods {
11069
11467
  /**
11070
11468
  * getMonitoringTimeSeries - getMonitoringTimeSeries
11071
11469
  *
11072
- * Get time-series aggregated event counts for monitoring charts.
11073
- * Returns pre-bucketed counts at configurable intervals for both inbound and outbound events.
11074
- * Maximum of 200 buckets per request. Returns 400 if the time range and interval would exceed this limit.
11470
+ * **Deprecated and no longer implemented.** This endpoint bucketed the
11471
+ * retired `erp_monitoring` table and the webhook delivery log; both are
11472
+ * superseded by the unified `erp_monitoring_v2` table. The endpoint is kept
11473
+ * only so existing clients do not 404; it always responds `200` with an empty
11474
+ * bucket list and never reads any data.
11475
+ *
11476
+ * Use `POST /v2/integrations/{integrationId}/monitoring/time-series` instead.
11075
11477
  *
11076
11478
  */
11077
11479
  'getMonitoringTimeSeries'(
@@ -11259,9 +11661,17 @@ interface OperationMethods {
11259
11661
  /**
11260
11662
  * queryOutboundMonitoringEvents - queryOutboundMonitoringEvents
11261
11663
  *
11262
- * Query outbound monitoring events for a specific integration.
11263
- * Returns detailed information about outbound event deliveries,
11264
- * filtered by event_name (event_catalog_event) linked to the integration's outbound use cases.
11664
+ * **Deprecated and no longer implemented.** This endpoint read the webhook
11665
+ * delivery log directly. The endpoint is kept only so existing clients do not
11666
+ * 404; it always responds `200` with an empty result and never reads any data.
11667
+ *
11668
+ * Use instead:
11669
+ * - `POST /v2/integrations/{integrationId}/monitoring/events` filtered to
11670
+ * `use_case_type: outbound` for the outcome of each delivery (level, code,
11671
+ * message, and URL, method and HTTP status in `detail`).
11672
+ * - The Webhooks API (`POST /v2/webhooks/configs/{configId}/events` and
11673
+ * `GET /v1/webhooks/configs/{configId}/events/{eventId}`) for a delivery's
11674
+ * full payload and HTTP response, and to replay it.
11265
11675
  *
11266
11676
  */
11267
11677
  'queryOutboundMonitoringEvents'(
@@ -11383,6 +11793,11 @@ interface OperationMethods {
11383
11793
  * **in flight**. A settled event's outcome is its worst terminal row — `error`
11384
11794
  * beats `warning` beats `success`.
11385
11795
  *
11796
+ * For an ERP file import, an event the mapping split into several writes (one row
11797
+ * writing a product and a price, say) settles only once every write has reported a
11798
+ * final result, whatever those results were; until then it is in flight. A write
11799
+ * lost without any result keeps its event in flight.
11800
+ *
11386
11801
  * Batched so a history page costs one request: pass every run on the page. A run
11387
11802
  * that has reported nothing yet comes back with `seen: 0`, never omitted.
11388
11803
  *
@@ -11610,7 +12025,15 @@ interface PathsDictionary {
11610
12025
  /**
11611
12026
  * processErpUpdatesEvents - processErpUpdatesEvents
11612
12027
  *
11613
- * Handles updates from ERP systems and tracks them appropriately
12028
+ * Handles updates from ERP systems and tracks them appropriately.
12029
+ *
12030
+ * Requires the `integration:ingest` grant on the integration the app component is
12031
+ * mapped to, or on every integration (`integration:*`) for an app component
12032
+ * without an integration mapping; the wildcard grants `integration:*` and `*`
12033
+ * (the owner role) include it. Without it the request is refused with 403 before
12034
+ * any event is processed. *Being rolled out:* until a stage enforces it, a missing
12035
+ * grant is logged and the request is still processed.
12036
+ *
11614
12037
  */
11615
12038
  'post'(
11616
12039
  parameters?: Parameters<UnknownParamsObject> | null,
@@ -11626,6 +12049,11 @@ interface PathsDictionary {
11626
12049
  * This is the v2 version that simplifies the API by accepting integration_id
11627
12050
  * instead of app_id and component_id.
11628
12051
  *
12052
+ * Requires the `integration:ingest` grant on `integration_id`; the wildcard grants
12053
+ * `integration:*` and `*` (the owner role) include it. Without it the request is
12054
+ * refused with 403 before any event is processed. *Being rolled out:* until a
12055
+ * stage enforces it, a missing grant is logged and the request is still processed.
12056
+ *
11629
12057
  */
11630
12058
  'post'(
11631
12059
  parameters?: Parameters<UnknownParamsObject> | null,
@@ -11641,6 +12069,13 @@ interface PathsDictionary {
11641
12069
  * This is the v3 version that removes the unused event_type field and renames object_type to event_name
11642
12070
  * to align with the integration UI naming.
11643
12071
  *
12072
+ * Requires the `integration:ingest` grant on `integration_id`; the wildcard grants
12073
+ * `integration:*` and `*` (the owner role) include it. Without it the request is
12074
+ * refused with 403 before anything is processed, charged to the interactive rate
12075
+ * limit or recorded — closing a correlation (`correlation_complete`) included.
12076
+ * *Being rolled out:* until a stage enforces it, a missing grant is logged and the
12077
+ * request is still processed.
12078
+ *
11644
12079
  */
11645
12080
  'post'(
11646
12081
  parameters?: Parameters<UnknownParamsObject> | null,
@@ -11670,14 +12105,32 @@ interface PathsDictionary {
11670
12105
  * and every event it sent has finished. Nothing further can arrive, so the
11671
12106
  * wait ends even if a requirement is unmet. A correlation closed with zero
11672
12107
  * events is `complete` at once: the partner sent nothing and never will.
12108
+ * **`complete` is final.** From `completed_at` on, the correlation's answer
12109
+ * is frozen: an event that still arrives under it (a late event) is
12110
+ * processed and counted in `events_received`, `events_done` and
12111
+ * `late_events`, and its errors are listed with `after_completion: true`,
12112
+ * but it adds nothing to `use_cases` or `entities` and never changes
12113
+ * `completion` — every later read gives the answer the first one got.
11673
12114
  * - `error` — a requirement can no longer be met because an event it depends
11674
12115
  * on failed: every event of a required use case ended in error, or an
11675
12116
  * entity requirement is still missing when the correlation is complete and
11676
12117
  * one of its events failed. Without requirements, `error` means the
11677
- * correlation completed with failures.
12118
+ * correlation completed with failures. An event that ended `partial` counts
12119
+ * as failed here: a use case requirement is met only by an event that ended
12120
+ * `done`.
11678
12121
  * - `timeout` — the budget ran out first. The body still shows what has
11679
12122
  * landed so far; call again to keep waiting.
11680
12123
  *
12124
+ * **When `entities_omitted` is present, an entity requirement can be
12125
+ * undecided.** `entities` lists at most 200 entity writes; the rest are only
12126
+ * counted. An entity requirement that no listed entity satisfies may then still
12127
+ * have been written, so it is neither met nor missing: it is named in
12128
+ * `undecided_entity_requirements`, it never makes `completion` `error`, and the
12129
+ * wait still ends `complete` once the correlation completes (if every other
12130
+ * requirement is met, `complete` rather than `requirements_met`). Look such an
12131
+ * entity up yourself, e.g. by its unique id through the entity API. Use case
12132
+ * requirements are never undecided: their counts are never omitted.
12133
+ *
11681
12134
  * **Every requirement is met by the first matching event.** A use case
11682
12135
  * requirement is satisfied by the first event of that use case to finish, and
11683
12136
  * an entity requirement without a selector by the first entity of that slug;
@@ -11690,19 +12143,38 @@ interface PathsDictionary {
11690
12143
  * precise tool: `contract[billing_account_number=4711]` is satisfied by that
11691
12144
  * contract and by nothing else.
11692
12145
  *
12146
+ * An event fails when nothing will retry what went wrong, including when its
12147
+ * mapping could not run or ran only in part: a disabled or unconfigured use
12148
+ * case, an item without its unique identifiers, a field or relation that could
12149
+ * not be mapped. Such an event ends `error` when it wrote nothing and `partial`
12150
+ * when it wrote something, and `errors` says why. A mapping that writes
12151
+ * nothing on purpose (an `enabled` expression that is false, an empty list)
12152
+ * ends `done`.
12153
+ *
11693
12154
  * A requirement is only as good as the use case configuration it refers to:
11694
12155
  * model one inbound use case per partner event type, and give every use case a
11695
- * slug. A use case without a slug cannot be named here.
12156
+ * slug. A legacy use case without a slug is counted, and can be named, only by
12157
+ * its use case id, which differs between environments.
11696
12158
  *
11697
12159
  * An unknown correlation, or one with no interactive events, reads as
11698
12160
  * `events_received: 0, closed: false` — "not yet" and "never" look the same,
11699
- * which is why `correlation_complete` exists.
12161
+ * which is why `correlation_complete` exists. Waiting on a correlation before
12162
+ * anything was sent under it is normal — mint the id, hand it to the partner,
12163
+ * wait — and the wait picks the correlation up as soon as its first event is
12164
+ * ingested.
12165
+ *
12166
+ * A correlation belongs to one integration: the one whose event (or close)
12167
+ * created it. Events and closes of another integration under the same id are
12168
+ * not applied to it — see `correlation_complete` and the event results.
11700
12169
  *
11701
12170
  * Waiting holds a connection, so concurrent waits are capped per organization
11702
- * and overall. Over the cap the call is refused with 429 and `Retry-After`;
11703
- * fall back to calls with `wait=0` (they never need a slot) or retry later.
11704
- * Calls that do not have to wait — `wait=0`, or a correlation that is already
11705
- * decided — are never refused.
12171
+ * and overall. A wait that starts before anything was sent under its
12172
+ * correlation counts against a separate, smaller per-organization cap instead,
12173
+ * for its whole duration, so waits on ids nothing is ever sent under cannot
12174
+ * crowd out waits on correlations that exist. Over a cap the call is refused
12175
+ * with 429 and `Retry-After`; fall back to calls with `wait=0` (they never need
12176
+ * a slot) or retry later. Calls that do not have to wait — `wait=0`, or a
12177
+ * correlation that is already decided — are never refused.
11706
12178
  *
11707
12179
  * Requires `integration:view` on the correlation's integration. The organization
11708
12180
  * is always the token's own, so no other organization's correlation is ever
@@ -11749,8 +12221,12 @@ interface PathsDictionary {
11749
12221
  * — and says so in `horizon_days`. Correlations older than that are not
11750
12222
  * returned, even when a wider range is being displayed.
11751
12223
  *
11752
- * Pass `next_cursor` back as `cursor` for the next page. A page can be shorter
11753
- * than `limit` and still have more behind it, so stop on `next_cursor: null`.
12224
+ * Pass `next_cursor` back as `cursor` for the next page. Only a null
12225
+ * `next_cursor` ends the listing: a page can be shorter than `limit`, even
12226
+ * empty, and still carry a cursor — a page filtered to an integration stops
12227
+ * after reading a bounded number of rows, whichever integration they belong
12228
+ * to. A cursor whose position has aged past the 7 days answers an empty last
12229
+ * page; a cursor this endpoint did not issue is a 400.
11754
12230
  *
11755
12231
  * Requires `integration:view` on `integration_id` when it is given, and on every
11756
12232
  * integration of the organization when it is not.
@@ -12221,9 +12697,13 @@ interface PathsDictionary {
12221
12697
  /**
12222
12698
  * queryInboundMonitoringEvents - queryInboundMonitoringEvents
12223
12699
  *
12224
- * Query inbound monitoring events for a specific integration.
12225
- * Returns detailed information about inbound sync events from ERP systems,
12226
- * including success rates, error breakdowns, and processing metrics.
12700
+ * **Deprecated and no longer implemented.** The `erp_monitoring` table this
12701
+ * endpoint read has been retired in favour of the unified `erp_monitoring_v2`
12702
+ * table. The endpoint is kept only so existing clients do not 404; it always
12703
+ * responds `200` with an empty result and never reads any data.
12704
+ *
12705
+ * Use `POST /v2/integrations/{integrationId}/monitoring/events` instead,
12706
+ * filtered to `use_case_type: inbound`.
12227
12707
  *
12228
12708
  */
12229
12709
  'post'(
@@ -12236,9 +12716,13 @@ interface PathsDictionary {
12236
12716
  /**
12237
12717
  * getMonitoringStats - getMonitoringStats
12238
12718
  *
12239
- * Get aggregated statistics for both inbound and outbound monitoring events for a specific integration.
12240
- * Returns summary metrics for inbound (ERP sync) and outbound (webhook delivery) events,
12241
- * including success/error counts and optional breakdowns.
12719
+ * **Deprecated and no longer implemented.** This endpoint aggregated the
12720
+ * retired `erp_monitoring` table and the webhook delivery log; both are
12721
+ * superseded by the unified `erp_monitoring_v2` table. The endpoint is kept
12722
+ * only so existing clients do not 404; it always responds `200` with zeroed
12723
+ * counters and never reads any data.
12724
+ *
12725
+ * Use `POST /v2/integrations/{integrationId}/monitoring/stats` instead.
12242
12726
  *
12243
12727
  */
12244
12728
  'post'(
@@ -12251,9 +12735,13 @@ interface PathsDictionary {
12251
12735
  /**
12252
12736
  * getMonitoringTimeSeries - getMonitoringTimeSeries
12253
12737
  *
12254
- * Get time-series aggregated event counts for monitoring charts.
12255
- * Returns pre-bucketed counts at configurable intervals for both inbound and outbound events.
12256
- * Maximum of 200 buckets per request. Returns 400 if the time range and interval would exceed this limit.
12738
+ * **Deprecated and no longer implemented.** This endpoint bucketed the
12739
+ * retired `erp_monitoring` table and the webhook delivery log; both are
12740
+ * superseded by the unified `erp_monitoring_v2` table. The endpoint is kept
12741
+ * only so existing clients do not 404; it always responds `200` with an empty
12742
+ * bucket list and never reads any data.
12743
+ *
12744
+ * Use `POST /v2/integrations/{integrationId}/monitoring/time-series` instead.
12257
12745
  *
12258
12746
  */
12259
12747
  'post'(
@@ -12461,9 +12949,17 @@ interface PathsDictionary {
12461
12949
  /**
12462
12950
  * queryOutboundMonitoringEvents - queryOutboundMonitoringEvents
12463
12951
  *
12464
- * Query outbound monitoring events for a specific integration.
12465
- * Returns detailed information about outbound event deliveries,
12466
- * filtered by event_name (event_catalog_event) linked to the integration's outbound use cases.
12952
+ * **Deprecated and no longer implemented.** This endpoint read the webhook
12953
+ * delivery log directly. The endpoint is kept only so existing clients do not
12954
+ * 404; it always responds `200` with an empty result and never reads any data.
12955
+ *
12956
+ * Use instead:
12957
+ * - `POST /v2/integrations/{integrationId}/monitoring/events` filtered to
12958
+ * `use_case_type: outbound` for the outcome of each delivery (level, code,
12959
+ * message, and URL, method and HTTP status in `detail`).
12960
+ * - The Webhooks API (`POST /v2/webhooks/configs/{configId}/events` and
12961
+ * `GET /v1/webhooks/configs/{configId}/events/{eventId}`) for a delivery's
12962
+ * full payload and HTTP response, and to replay it.
12467
12963
  *
12468
12964
  */
12469
12965
  'post'(
@@ -12599,6 +13095,11 @@ interface PathsDictionary {
12599
13095
  * **in flight**. A settled event's outcome is its worst terminal row — `error`
12600
13096
  * beats `warning` beats `success`.
12601
13097
  *
13098
+ * For an ERP file import, an event the mapping split into several writes (one row
13099
+ * writing a product and a price, say) settles only once every write has reported a
13100
+ * final result, whatever those results were; until then it is in flight. A write
13101
+ * lost without any result keeps its event in flight.
13102
+ *
12602
13103
  * Batched so a history page costs one request: pass every run on the page. A run
12603
13104
  * that has reported nothing yet comes back with `seen: 0`, never omitted.
12604
13105
  *
@@ -12837,6 +13338,7 @@ type AutoRefreshSettings = Components.Schemas.AutoRefreshSettings;
12837
13338
  type CommitTypesRequest = Components.Schemas.CommitTypesRequest;
12838
13339
  type CommitTypesResponse = Components.Schemas.CommitTypesResponse;
12839
13340
  type ConnectorConfig = Components.Schemas.ConnectorConfig;
13341
+ type CorrelationCloseResult = Components.Schemas.CorrelationCloseResult;
12840
13342
  type CorrelationStatus = Components.Schemas.CorrelationStatus;
12841
13343
  type CorrelationStatusList = Components.Schemas.CorrelationStatusList;
12842
13344
  type CorrelationUseCaseCounts = Components.Schemas.CorrelationUseCaseCounts;
@@ -13059,4 +13561,4 @@ type ValidateErpImportRequest = Components.Schemas.ValidateErpImportRequest;
13059
13561
  type WebhookDeliveryConfig = Components.Schemas.WebhookDeliveryConfig;
13060
13562
  type WebhookStatus = Components.Schemas.WebhookStatus;
13061
13563
 
13062
- export { type EnvVarRefConfig as $, type AccessLogEntry as A, type DirectMeterReadingOperation as B, type Client as C, type DeleteIntegrationAppMappingRequest as D, type DirectPayload as E, type DirectRelationItem as F, type DirectRelationRefItem as G, type DirectRelationRefValue as H, type DirectRelationValue as I, type DirectSimulationError as J, type DirectSimulationRequest as K, type DirectSimulationResponse as L, type DocumentationPage as M, type DocumentationPageSummary as N, type OperationMethods as O, Paths as P, type EmbeddedFileProxyUseCaseRequest as Q, type EmbeddedInboundUseCaseRequest as R, type EmbeddedManagedCallUseCaseRequest as S, type EmbeddedOutboundUseCaseRequest as T, type EmbeddedSecureProxyUseCaseRequest as U, type EmbeddedUseCaseRequest as V, type EmbeddedUseCaseRequestBase as W, type EntityPruneScopeUpdate as X, type EntitySyncState as Y, type EntitySyncStatusResponse as Z, type EntityUpdate as _, Components as a, type IntegrationSettings as a$, type EnvironmentFieldConfig as a0, type ErpEvent as a1, type ErpEventV3 as a2, type ErpImportDownload as a3, type ErpImportEntityDetail as a4, type ErpImportError as a5, type ErpImportFilePreview as a6, type ErpImportIssue as a7, type ErpImportJob as a8, type ErpImportList as a9, type GenerateTypesRequest as aA, type GenerateTypesResponse as aB, type GetMonitoringRunCompletionV2Request as aC, type GetMonitoringStatsRequest as aD, type GetMonitoringStatsV2Request as aE, type GetMonitoringTimeSeriesRequest as aF, type GetMonitoringTimeSeriesV2Request as aG, type InboundIntegrationEventConfiguration as aH, type InboundMonitoringEvent as aI, type InboundUseCase as aJ, type InboundUseCaseHistoryEntry as aK, type IngestExternalMonitoringEventsRequest as aL, type IngestExternalMonitoringEventsResponse as aM, type Integration as aN, type IntegrationAppMapping as aO, type IntegrationConfigurationV1 as aP, type IntegrationConfigurationV2 as aQ, type IntegrationEditableFields as aR, type IntegrationEntity as aS, type IntegrationEntityConditional as aT, type IntegrationEntityField as aU, type IntegrationEntityFromRows as aV, type IntegrationFieldV1 as aW, type IntegrationMap as aX, type IntegrationMeterReading as aY, type IntegrationNotificationConfig as aZ, type IntegrationObjectV1 as a_, type ErpImportProgress as aa, type ErpImportUseCaseSuggestion as ab, type ErpImportValidation as ac, type ErpUpdateEventStatus as ad, type ErpUpdateProcessedEntity as ae, type ErpUpdateProcessingError as af, type ErpUpdatesEventsV2Request as ag, type ErpUpdatesEventsV3Request as ah, type ErrorResponseBase as ai, type ExecuteErpImportRequest as aj, type ExternalMonitoringSpan as ak, type FileProxyAuth as al, type FileProxyDeliveryConfig as am, type FileProxyFanOutConfig as an, type FileProxyParam as ao, type FileProxyResponseConfig as ap, type FileProxySecureProxyAttachment as aq, type FileProxyStep as ar, type FileProxyUploadConfig as as, type FileProxyUrlConfig as at, type FileProxyUrlParam as au, type FileProxyUrlParams as av, type FileProxyUseCase as aw, type FileProxyUseCaseConfiguration as ax, type FileProxyUseCaseHistoryEntry as ay, type GenerateTypesPreviewResponse as az, type PathsDictionary as b, type RelationConfig as b$, type IntegrationWithUseCases as b0, type ManagedCallAuth as b1, type ManagedCallErrorResponse as b2, type ManagedCallExecuteRequest as b3, type ManagedCallExecuteResponse as b4, type ManagedCallOperation as b5, type ManagedCallOperationConfig as b6, type ManagedCallUseCase as b7, type ManagedCallUseCaseHistoryEntry as b8, type MappedFieldValue as b9, type OutboundDlqMessage as bA, type OutboundFileProxyTargetStatus as bB, type OutboundIntegrationEventConfiguration as bC, type OutboundMapping as bD, type OutboundMappingSimulationError as bE, type OutboundMessage as bF, type OutboundMonitoringEvent as bG, type OutboundPollStatus as bH, type OutboundStatusResponse as bI, type OutboundUseCase as bJ, type OutboundUseCaseHistoryEntry as bK, type OutboundUseCaseStatus as bL, type PollDeliveryConfig as bM, type PollOutboundMessagesRequest as bN, type PollOutboundMessagesResponse as bO, type PortalOrigin as bP, type PortalRefConfig as bQ, type PortalRefFilter as bR, type PruneScopeConfig as bS, type QueryAccessLogsRequest as bT, type QueryEventsRequest as bU, type QueryInboundMonitoringEventsRequest as bV, type QueryMonitoringEventsV2Request as bW, type QueryOutboundMonitoringEventsRequest as bX, type RedriveOutboundDlqRequest as bY, type RedriveOutboundDlqResponse as bZ, type RedriveOutboundDlqResult as b_, type MappingSimulationRequest as ba, type MappingSimulationResponse as bb, type MappingSimulationV2Request as bc, type MappingSimulationWarning as bd, type MeterReadingPruneScopeConfig as be, type MeterReadingPruneScopeUpdate as bf, type MeterReadingUpdate as bg, type MeterUniqueIdsConfig as bh, type MonitoringCode as bi, type MonitoringEventV2 as bj, type MonitoringRunCompletionV2 as bk, type MonitoringRunCompletionV2Response as bl, type MonitoringRunEntriesV2 as bm, type MonitoringStats as bn, type MonitoringStatsV2 as bo, type MonitoringTraceResponse as bp, type NotificationChannelSet as bq, type NotificationDigestConfig as br, type NotificationHistoryItem as bs, type NotificationHistoryResponse as bt, type NotificationRecipient as bu, type NotificationRule as bv, type NotificationRuleStatus as bw, type NotificationStatusResponse as bx, type OutboundConflict as by, type OutboundDlqListResponse as bz, type AckOutboundMessagesRequest as c, type RelationItemConfig as c0, type RelationRefItemConfig as c1, type RelationRefValueConfig as c2, type RelationRefsConfig as c3, type RelationUniqueIdField as c4, type RepeatableFieldType as c5, type ReplayEventsRequest as c6, type RuleBaselineBucket as c7, type RuleBaselineStatus as c8, type S3Reference as c9, type UpdateIntegrationRequest as cA, type UpdateManagedCallUseCaseRequest as cB, type UpdateOutboundUseCaseRequest as cC, type UpdateSecureProxyUseCaseRequest as cD, type UpdateUseCaseRequest as cE, type UpdateUseCaseRequestBase as cF, type UpsertDocumentationPageRequest as cG, type UpsertIntegrationWithUseCasesRequest as cH, type UseCase as cI, type UseCaseBase as cJ, type UseCaseHistoryEntry as cK, type UseCaseHistoryEntryBase as cL, type UseCaseTypePreview as cM, type ValidateErpImportRequest as cN, type WebhookDeliveryConfig as cO, type WebhookStatus as cP, type SecureProxyRequest as ca, type SecureProxyResponse as cb, type SecureProxySummary as cc, type SecureProxyUpstreamError as cd, type SecureProxyUseCase as ce, type SecureProxyUseCaseConfiguration as cf, type SecureProxyUseCaseHistoryEntry as cg, type SecureProxyWhitelist as ch, type SecureProxyWhitelistUpdate as ci, type SetIntegrationAppMappingRequest as cj, type SimulateOutboundMappingRequest as ck, type SimulateOutboundMappingResponse as cl, type SuggestErpImportUseCasesResponse as cm, type TestNotificationRequest as cn, type TestNotificationResponse as co, type TimeSeriesBreakdownItemV2 as cp, type TimeSeriesBucket as cq, type TimeSeriesBucketV2 as cr, type TriggerErpActionRequest as cs, type TriggerWebhookResp as ct, type TypeAnnotations as cu, type TypeDescriptor as cv, type UnblockOutboundStreamRequest as cw, type UnblockOutboundStreamResponse as cx, type UpdateFileProxyUseCaseRequest as cy, type UpdateInboundUseCaseRequest as cz, type AckOutboundMessagesResponse as d, type AckResult as e, type AutoRefreshSettings as f, type CommitTypesRequest as g, type CommitTypesResponse as h, type ConnectorConfig as i, type CorrelationStatus as j, type CorrelationStatusList as k, type CorrelationUseCaseCounts as l, type CorrelationWaitBadRequest as m, type CorrelationWaitResult as n, type CreateErpImportRequest as o, type CreateErpImportResponse as p, type CreateFileProxyUseCaseRequest as q, type CreateInboundUseCaseRequest as r, type CreateIntegrationRequest as s, type CreateManagedCallUseCaseRequest as t, type CreateOutboundUseCaseRequest as u, type CreateSecureProxyUseCaseRequest as v, type CreateUseCaseRequest as w, type CreateUseCaseRequestBase as x, type DeliveryConfig as y, type DirectEntityOperation as z };
13564
+ export { type EntityUpdate as $, type AccessLogEntry as A, type DirectEntityOperation as B, type Client as C, type DeleteIntegrationAppMappingRequest as D, type DirectMeterReadingOperation as E, type DirectPayload as F, type DirectRelationItem as G, type DirectRelationRefItem as H, type DirectRelationRefValue as I, type DirectRelationValue as J, type DirectSimulationError as K, type DirectSimulationRequest as L, type DirectSimulationResponse as M, type DocumentationPage as N, type OperationMethods as O, Paths as P, type DocumentationPageSummary as Q, type EmbeddedFileProxyUseCaseRequest as R, type EmbeddedInboundUseCaseRequest as S, type EmbeddedManagedCallUseCaseRequest as T, type EmbeddedOutboundUseCaseRequest as U, type EmbeddedSecureProxyUseCaseRequest as V, type EmbeddedUseCaseRequest as W, type EmbeddedUseCaseRequestBase as X, type EntityPruneScopeUpdate as Y, type EntitySyncState as Z, type EntitySyncStatusResponse as _, Components as a, type IntegrationObjectV1 as a$, type EnvVarRefConfig as a0, type EnvironmentFieldConfig as a1, type ErpEvent as a2, type ErpEventV3 as a3, type ErpImportDownload as a4, type ErpImportEntityDetail as a5, type ErpImportError as a6, type ErpImportFilePreview as a7, type ErpImportIssue as a8, type ErpImportJob as a9, type GenerateTypesPreviewResponse as aA, type GenerateTypesRequest as aB, type GenerateTypesResponse as aC, type GetMonitoringRunCompletionV2Request as aD, type GetMonitoringStatsRequest as aE, type GetMonitoringStatsV2Request as aF, type GetMonitoringTimeSeriesRequest as aG, type GetMonitoringTimeSeriesV2Request as aH, type InboundIntegrationEventConfiguration as aI, type InboundMonitoringEvent as aJ, type InboundUseCase as aK, type InboundUseCaseHistoryEntry as aL, type IngestExternalMonitoringEventsRequest as aM, type IngestExternalMonitoringEventsResponse as aN, type Integration as aO, type IntegrationAppMapping as aP, type IntegrationConfigurationV1 as aQ, type IntegrationConfigurationV2 as aR, type IntegrationEditableFields as aS, type IntegrationEntity as aT, type IntegrationEntityConditional as aU, type IntegrationEntityField as aV, type IntegrationEntityFromRows as aW, type IntegrationFieldV1 as aX, type IntegrationMap as aY, type IntegrationMeterReading as aZ, type IntegrationNotificationConfig as a_, type ErpImportList as aa, type ErpImportProgress as ab, type ErpImportUseCaseSuggestion as ac, type ErpImportValidation as ad, type ErpUpdateEventStatus as ae, type ErpUpdateProcessedEntity as af, type ErpUpdateProcessingError as ag, type ErpUpdatesEventsV2Request as ah, type ErpUpdatesEventsV3Request as ai, type ErrorResponseBase as aj, type ExecuteErpImportRequest as ak, type ExternalMonitoringSpan as al, type FileProxyAuth as am, type FileProxyDeliveryConfig as an, type FileProxyFanOutConfig as ao, type FileProxyParam as ap, type FileProxyResponseConfig as aq, type FileProxySecureProxyAttachment as ar, type FileProxyStep as as, type FileProxyUploadConfig as at, type FileProxyUrlConfig as au, type FileProxyUrlParam as av, type FileProxyUrlParams as aw, type FileProxyUseCase as ax, type FileProxyUseCaseConfiguration as ay, type FileProxyUseCaseHistoryEntry as az, type PathsDictionary as b, type RedriveOutboundDlqResult as b$, type IntegrationSettings as b0, type IntegrationWithUseCases as b1, type ManagedCallAuth as b2, type ManagedCallErrorResponse as b3, type ManagedCallExecuteRequest as b4, type ManagedCallExecuteResponse as b5, type ManagedCallOperation as b6, type ManagedCallOperationConfig as b7, type ManagedCallUseCase as b8, type ManagedCallUseCaseHistoryEntry as b9, type OutboundDlqListResponse as bA, type OutboundDlqMessage as bB, type OutboundFileProxyTargetStatus as bC, type OutboundIntegrationEventConfiguration as bD, type OutboundMapping as bE, type OutboundMappingSimulationError as bF, type OutboundMessage as bG, type OutboundMonitoringEvent as bH, type OutboundPollStatus as bI, type OutboundStatusResponse as bJ, type OutboundUseCase as bK, type OutboundUseCaseHistoryEntry as bL, type OutboundUseCaseStatus as bM, type PollDeliveryConfig as bN, type PollOutboundMessagesRequest as bO, type PollOutboundMessagesResponse as bP, type PortalOrigin as bQ, type PortalRefConfig as bR, type PortalRefFilter as bS, type PruneScopeConfig as bT, type QueryAccessLogsRequest as bU, type QueryEventsRequest as bV, type QueryInboundMonitoringEventsRequest as bW, type QueryMonitoringEventsV2Request as bX, type QueryOutboundMonitoringEventsRequest as bY, type RedriveOutboundDlqRequest as bZ, type RedriveOutboundDlqResponse as b_, type MappedFieldValue as ba, type MappingSimulationRequest as bb, type MappingSimulationResponse as bc, type MappingSimulationV2Request as bd, type MappingSimulationWarning as be, type MeterReadingPruneScopeConfig as bf, type MeterReadingPruneScopeUpdate as bg, type MeterReadingUpdate as bh, type MeterUniqueIdsConfig as bi, type MonitoringCode as bj, type MonitoringEventV2 as bk, type MonitoringRunCompletionV2 as bl, type MonitoringRunCompletionV2Response as bm, type MonitoringRunEntriesV2 as bn, type MonitoringStats as bo, type MonitoringStatsV2 as bp, type MonitoringTraceResponse as bq, type NotificationChannelSet as br, type NotificationDigestConfig as bs, type NotificationHistoryItem as bt, type NotificationHistoryResponse as bu, type NotificationRecipient as bv, type NotificationRule as bw, type NotificationRuleStatus as bx, type NotificationStatusResponse as by, type OutboundConflict as bz, type AckOutboundMessagesRequest as c, type RelationConfig as c0, type RelationItemConfig as c1, type RelationRefItemConfig as c2, type RelationRefValueConfig as c3, type RelationRefsConfig as c4, type RelationUniqueIdField as c5, type RepeatableFieldType as c6, type ReplayEventsRequest as c7, type RuleBaselineBucket as c8, type RuleBaselineStatus as c9, type UpdateInboundUseCaseRequest as cA, type UpdateIntegrationRequest as cB, type UpdateManagedCallUseCaseRequest as cC, type UpdateOutboundUseCaseRequest as cD, type UpdateSecureProxyUseCaseRequest as cE, type UpdateUseCaseRequest as cF, type UpdateUseCaseRequestBase as cG, type UpsertDocumentationPageRequest as cH, type UpsertIntegrationWithUseCasesRequest as cI, type UseCase as cJ, type UseCaseBase as cK, type UseCaseHistoryEntry as cL, type UseCaseHistoryEntryBase as cM, type UseCaseTypePreview as cN, type ValidateErpImportRequest as cO, type WebhookDeliveryConfig as cP, type WebhookStatus as cQ, type S3Reference as ca, type SecureProxyRequest as cb, type SecureProxyResponse as cc, type SecureProxySummary as cd, type SecureProxyUpstreamError as ce, type SecureProxyUseCase as cf, type SecureProxyUseCaseConfiguration as cg, type SecureProxyUseCaseHistoryEntry as ch, type SecureProxyWhitelist as ci, type SecureProxyWhitelistUpdate as cj, type SetIntegrationAppMappingRequest as ck, type SimulateOutboundMappingRequest as cl, type SimulateOutboundMappingResponse as cm, type SuggestErpImportUseCasesResponse as cn, type TestNotificationRequest as co, type TestNotificationResponse as cp, type TimeSeriesBreakdownItemV2 as cq, type TimeSeriesBucket as cr, type TimeSeriesBucketV2 as cs, type TriggerErpActionRequest as ct, type TriggerWebhookResp as cu, type TypeAnnotations as cv, type TypeDescriptor as cw, type UnblockOutboundStreamRequest as cx, type UnblockOutboundStreamResponse as cy, type UpdateFileProxyUseCaseRequest as cz, type AckOutboundMessagesResponse as d, type AckResult as e, type AutoRefreshSettings as f, type CommitTypesRequest as g, type CommitTypesResponse as h, type ConnectorConfig as i, type CorrelationCloseResult as j, type CorrelationStatus as k, type CorrelationStatusList as l, type CorrelationUseCaseCounts as m, type CorrelationWaitBadRequest as n, type CorrelationWaitResult as o, type CreateErpImportRequest as p, type CreateErpImportResponse as q, type CreateFileProxyUseCaseRequest as r, type CreateInboundUseCaseRequest as s, type CreateIntegrationRequest as t, type CreateManagedCallUseCaseRequest as u, type CreateOutboundUseCaseRequest as v, type CreateSecureProxyUseCaseRequest as w, type CreateUseCaseRequest as x, type CreateUseCaseRequestBase as y, type DeliveryConfig as z };