@epilot/sdk 2.20.61 → 2.20.63

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 (178) hide show
  1. package/definitions/app.json +17 -44
  2. package/definitions/customer-portal-runtime.json +1 -1
  3. package/definitions/customer-portal.json +566 -14
  4. package/definitions/email-settings-runtime.json +1 -1
  5. package/definitions/email-settings.json +98 -36
  6. package/definitions/integration-toolkit-runtime.json +1 -1
  7. package/definitions/integration-toolkit.json +656 -2
  8. package/dist/apis/access-token.cjs +6 -6
  9. package/dist/apis/access-token.js +1 -1
  10. package/dist/apis/address-suggestions.cjs +6 -6
  11. package/dist/apis/address-suggestions.js +1 -1
  12. package/dist/apis/address.cjs +6 -6
  13. package/dist/apis/address.js +1 -1
  14. package/dist/apis/ai-agents.cjs +6 -6
  15. package/dist/apis/ai-agents.js +1 -1
  16. package/dist/apis/app.cjs +6 -6
  17. package/dist/apis/app.d.cts +2 -2
  18. package/dist/apis/app.d.ts +2 -2
  19. package/dist/apis/app.js +1 -1
  20. package/dist/apis/audit-logs.cjs +6 -6
  21. package/dist/apis/audit-logs.js +1 -1
  22. package/dist/apis/automation.cjs +6 -6
  23. package/dist/apis/automation.js +1 -1
  24. package/dist/apis/billing.cjs +6 -6
  25. package/dist/apis/billing.js +1 -1
  26. package/dist/apis/blueprint-manifest.cjs +6 -6
  27. package/dist/apis/blueprint-manifest.js +1 -1
  28. package/dist/apis/calendar.cjs +6 -6
  29. package/dist/apis/calendar.js +1 -1
  30. package/dist/apis/chat.cjs +6 -6
  31. package/dist/apis/chat.js +1 -1
  32. package/dist/apis/configuration-hub.cjs +6 -6
  33. package/dist/apis/configuration-hub.js +1 -1
  34. package/dist/apis/consent.cjs +6 -6
  35. package/dist/apis/consent.js +1 -1
  36. package/dist/apis/customer-portal.cjs +8 -8
  37. package/dist/apis/customer-portal.d.cts +2 -2
  38. package/dist/apis/customer-portal.d.ts +2 -2
  39. package/dist/apis/customer-portal.js +2 -2
  40. package/dist/apis/dashboard.cjs +6 -6
  41. package/dist/apis/dashboard.js +1 -1
  42. package/dist/apis/data-governance.cjs +6 -6
  43. package/dist/apis/data-governance.js +1 -1
  44. package/dist/apis/deduplication.cjs +6 -6
  45. package/dist/apis/deduplication.js +1 -1
  46. package/dist/apis/design.cjs +6 -6
  47. package/dist/apis/design.js +1 -1
  48. package/dist/apis/document.cjs +6 -6
  49. package/dist/apis/document.js +1 -1
  50. package/dist/apis/email-settings.cjs +8 -8
  51. package/dist/apis/email-settings.d.cts +2 -2
  52. package/dist/apis/email-settings.d.ts +2 -2
  53. package/dist/apis/email-settings.js +2 -2
  54. package/dist/apis/email-template.cjs +6 -6
  55. package/dist/apis/email-template.js +1 -1
  56. package/dist/apis/entity-mapping.cjs +6 -6
  57. package/dist/apis/entity-mapping.js +1 -1
  58. package/dist/apis/entity.cjs +6 -6
  59. package/dist/apis/entity.js +1 -1
  60. package/dist/apis/environments.cjs +6 -6
  61. package/dist/apis/environments.js +1 -1
  62. package/dist/apis/event-catalog.cjs +6 -6
  63. package/dist/apis/event-catalog.js +1 -1
  64. package/dist/apis/external-values.cjs +6 -6
  65. package/dist/apis/external-values.js +1 -1
  66. package/dist/apis/file.cjs +6 -6
  67. package/dist/apis/file.js +1 -1
  68. package/dist/apis/iban.cjs +6 -6
  69. package/dist/apis/iban.js +1 -1
  70. package/dist/apis/identity.cjs +6 -6
  71. package/dist/apis/identity.js +1 -1
  72. package/dist/apis/integration-toolkit.cjs +61 -9
  73. package/dist/apis/integration-toolkit.d.cts +2 -2
  74. package/dist/apis/integration-toolkit.d.ts +2 -2
  75. package/dist/apis/integration-toolkit.js +55 -3
  76. package/dist/apis/journey.cjs +6 -6
  77. package/dist/apis/journey.js +1 -1
  78. package/dist/apis/kanban.cjs +6 -6
  79. package/dist/apis/kanban.js +1 -1
  80. package/dist/apis/message.cjs +6 -6
  81. package/dist/apis/message.js +1 -1
  82. package/dist/apis/metering.cjs +6 -6
  83. package/dist/apis/metering.js +1 -1
  84. package/dist/apis/notes.cjs +6 -6
  85. package/dist/apis/notes.js +1 -1
  86. package/dist/apis/notification.cjs +6 -6
  87. package/dist/apis/notification.js +1 -1
  88. package/dist/apis/organization.cjs +6 -6
  89. package/dist/apis/organization.js +1 -1
  90. package/dist/apis/partner-directory.cjs +6 -6
  91. package/dist/apis/partner-directory.js +1 -1
  92. package/dist/apis/permissions.cjs +6 -6
  93. package/dist/apis/permissions.js +1 -1
  94. package/dist/apis/phone-integration.cjs +6 -6
  95. package/dist/apis/phone-integration.js +1 -1
  96. package/dist/apis/pricing-tier.cjs +6 -6
  97. package/dist/apis/pricing-tier.js +1 -1
  98. package/dist/apis/pricing.cjs +6 -6
  99. package/dist/apis/pricing.js +1 -1
  100. package/dist/apis/purpose.cjs +6 -6
  101. package/dist/apis/purpose.js +1 -1
  102. package/dist/apis/query.cjs +6 -6
  103. package/dist/apis/query.js +1 -1
  104. package/dist/apis/sandbox.cjs +6 -6
  105. package/dist/apis/sandbox.js +1 -1
  106. package/dist/apis/sharing.cjs +6 -6
  107. package/dist/apis/sharing.js +1 -1
  108. package/dist/apis/snapshot.cjs +6 -6
  109. package/dist/apis/snapshot.js +1 -1
  110. package/dist/apis/submission.cjs +6 -6
  111. package/dist/apis/submission.js +1 -1
  112. package/dist/apis/target.cjs +6 -6
  113. package/dist/apis/target.js +1 -1
  114. package/dist/apis/targeting.cjs +6 -6
  115. package/dist/apis/targeting.js +1 -1
  116. package/dist/apis/template-variables.cjs +6 -6
  117. package/dist/apis/template-variables.js +1 -1
  118. package/dist/apis/user.cjs +6 -6
  119. package/dist/apis/user.js +1 -1
  120. package/dist/apis/validation-rules.cjs +6 -6
  121. package/dist/apis/validation-rules.js +1 -1
  122. package/dist/apis/webhooks.cjs +6 -6
  123. package/dist/apis/webhooks.js +1 -1
  124. package/dist/apis/workflow-definition.cjs +6 -6
  125. package/dist/apis/workflow-definition.js +1 -1
  126. package/dist/apis/workflow.cjs +6 -6
  127. package/dist/apis/workflow.js +1 -1
  128. package/dist/app-CKQAJ7EE.js +7 -0
  129. package/dist/app-ERJHXY64.cjs +7 -0
  130. package/dist/{app.d-DbOr4uIC.d.cts → app.d-CZELwNO3.d.cts} +51 -27
  131. package/dist/{app.d-DbOr4uIC.d.ts → app.d-CZELwNO3.d.ts} +51 -27
  132. package/dist/{chunk-7HQ3GMYQ.js → chunk-2R4YLMDG.js} +1 -1
  133. package/dist/{chunk-6LYUL3EY.cjs → chunk-FUF6LZXH.cjs} +7 -7
  134. package/dist/chunk-I6IC54PD.js +14 -0
  135. package/dist/chunk-O2XK4VD5.js +14 -0
  136. package/dist/chunk-QDPZZUG3.cjs +14 -0
  137. package/dist/{chunk-OEDN6Y5U.js → chunk-SYTRHMOU.js} +7 -7
  138. package/dist/chunk-UP3ZIQHB.cjs +14 -0
  139. package/dist/{chunk-AWJHA3GG.cjs → chunk-YDFQ3LWN.cjs} +1 -1
  140. package/dist/customer-portal-2OT5REK6.cjs +7 -0
  141. package/dist/customer-portal-AO2K6VW2.js +7 -0
  142. package/dist/{customer-portal-runtime-ZTLLE6CR.cjs → customer-portal-runtime-ATHDYPZM.cjs} +2 -2
  143. package/dist/{customer-portal-runtime-CNW7NSCT.js → customer-portal-runtime-XISRWE3I.js} +1 -1
  144. package/dist/{customer-portal.d-COI3Xe4x.d.cts → customer-portal.d-CTIzvirI.d.cts} +652 -17
  145. package/dist/{customer-portal.d-COI3Xe4x.d.ts → customer-portal.d-CTIzvirI.d.ts} +652 -17
  146. package/dist/email-settings-42GUPANV.js +7 -0
  147. package/dist/email-settings-FCKYGFHW.cjs +7 -0
  148. package/dist/{email-settings-runtime-IW2AT2RB.cjs → email-settings-runtime-6ISOWOVN.cjs} +2 -2
  149. package/dist/{email-settings-runtime-YJYEC5AH.js → email-settings-runtime-7V5AFW3C.js} +1 -1
  150. package/dist/{email-settings.d-DX_nzlZk.d.cts → email-settings.d-dCUXyPAZ.d.cts} +131 -26
  151. package/dist/{email-settings.d-DX_nzlZk.d.ts → email-settings.d-dCUXyPAZ.d.ts} +131 -26
  152. package/dist/index.cjs +14 -14
  153. package/dist/index.d.cts +4 -4
  154. package/dist/index.d.ts +4 -4
  155. package/dist/index.js +4 -4
  156. package/dist/integration-toolkit-FI32O7II.cjs +7 -0
  157. package/dist/integration-toolkit-MHULDW3E.js +7 -0
  158. package/dist/{integration-toolkit-runtime-3PM3MBEF.cjs → integration-toolkit-runtime-CPJT7YCA.cjs} +2 -2
  159. package/dist/{integration-toolkit-runtime-3LKW4ORQ.js → integration-toolkit-runtime-ZEH6X2OD.js} +1 -1
  160. package/dist/{integration-toolkit.d-oORkWs_H.d.cts → integration-toolkit.d-l5cgwHLa.d.cts} +658 -3
  161. package/dist/{integration-toolkit.d-oORkWs_H.d.ts → integration-toolkit.d-l5cgwHLa.d.ts} +658 -3
  162. package/docs/app.md +10 -39
  163. package/docs/customer-portal.md +440 -73
  164. package/docs/email-settings.md +49 -25
  165. package/docs/integration-toolkit.md +423 -7
  166. package/package.json +1 -1
  167. package/dist/app-R2RDF74T.js +0 -7
  168. package/dist/app-YIP3MOGW.cjs +0 -7
  169. package/dist/chunk-DQ346MRA.js +0 -14
  170. package/dist/chunk-FBRDBE4Y.cjs +0 -14
  171. package/dist/chunk-MBWCGRCK.js +0 -14
  172. package/dist/chunk-Y7KWK5H2.cjs +0 -14
  173. package/dist/customer-portal-TSJKBA37.js +0 -7
  174. package/dist/customer-portal-WOO2QDPR.cjs +0 -7
  175. package/dist/email-settings-DGZKA6CU.js +0 -7
  176. package/dist/email-settings-VGU7323R.cjs +0 -7
  177. package/dist/integration-toolkit-AB3GZDWM.cjs +0 -7
  178. package/dist/integration-toolkit-L745CJ5G.js +0 -7
@@ -17,15 +17,72 @@ declare namespace Components {
17
17
  reason: "invalid_token";
18
18
  }
19
19
  export type Conflict = Schemas.ErrorResp;
20
+ export interface ContactAmbiguousMatch {
21
+ /**
22
+ * The HTTP status code, repeated in the body.
23
+ * example:
24
+ * 409
25
+ */
26
+ status: number;
27
+ /**
28
+ * Human-readable error message. For support, not for display to end customers.
29
+ */
30
+ error: string;
31
+ reason: "AMBIGUOUS_MATCH";
32
+ /**
33
+ * Correlation id of the ERP sync that was waited on.
34
+ */
35
+ correlation_id?: string; // ^[A-Za-z0-9_-]+$
36
+ }
20
37
  export interface ContractAssignmentConflict {
21
38
  /**
22
39
  * Error message
23
40
  */
24
41
  message?: string;
25
42
  /**
26
- * Reason why the contract is not assignable. If the reason is "MULTIPLE", the contract is not assignable because multiple contracts were found and the business logic does not allow it.
43
+ * Reason why the contract is not assignable.
44
+ * - `DRAFT`: the contract is still a draft.
45
+ * - `MULTIPLE`: multiple contracts were found and the business logic does not allow it.
46
+ * - `SELF_ASSIGNMENT_DISABLED`: the contract already has a contact assigned and
47
+ * self-assignment is disabled.
48
+ * - `AMBIGUOUS_MATCH`: the portal waited on the Integration Toolkit and the ERP
49
+ * delivered entities it cannot tell apart (several matching the selector, or
50
+ * contracts naming different customers). Nothing was assigned, and retrying
51
+ * will not help.
52
+ *
27
53
  */
28
- reason: "DRAFT" | "MULTIPLE";
54
+ reason: "DRAFT" | "MULTIPLE" | "SELF_ASSIGNMENT_DISABLED" | "AMBIGUOUS_MATCH";
55
+ /**
56
+ * The HTTP status code, repeated in the body.
57
+ * example:
58
+ * 409
59
+ */
60
+ status?: number;
61
+ /**
62
+ * Human-readable error message. For support, not for display to end customers.
63
+ */
64
+ error?: string;
65
+ /**
66
+ * Correlation id of the ERP sync that was waited on. Present only with `AMBIGUOUS_MATCH`.
67
+ */
68
+ correlation_id?: string; // ^[A-Za-z0-9_-]+$
69
+ }
70
+ export interface ContractAssignmentNotFound {
71
+ /**
72
+ * The HTTP status code, repeated in the body.
73
+ * example:
74
+ * 404
75
+ */
76
+ status: number;
77
+ /**
78
+ * Human-readable error message. For support, not for display to end customers.
79
+ */
80
+ error: string;
81
+ reason?: "TIMEOUT" | "INCOMPLETE";
82
+ /**
83
+ * Correlation id of the ERP sync that was waited on. Present with `TIMEOUT` and `INCOMPLETE`.
84
+ */
85
+ correlation_id?: string; // ^[A-Za-z0-9_-]+$
29
86
  }
30
87
  export type Forbidden = Schemas.ErrorResp;
31
88
  export type ForbiddenByRule = Schemas.ErrorResp | Schemas.FailedRuleErrorResp;
@@ -2170,6 +2227,19 @@ declare namespace Components {
2170
2227
  *
2171
2228
  */
2172
2229
  trigger_identifiers_check?: boolean;
2230
+ /**
2231
+ * Correlation id of an already triggered ERP sync, as returned by a previous call that
2232
+ * answered `reason: TIMEOUT`. Sent together with `trigger_identifiers_check: false` on a
2233
+ * retry so the portal keeps waiting on the same correlation instead of starting over.
2234
+ * Only used by portals configured with
2235
+ * `extension_hooks.registrationIdentifiersCheck.wait_for_toolkit`; ignored otherwise.
2236
+ * At most 255 letters, digits, hyphens and underscores: the toolkit's bound for a
2237
+ * correlation id and the charset it enforces on its identifiers.
2238
+ *
2239
+ * example:
2240
+ * 0199c0d5-6f1c-7a3b-9e21-9a9ce1d1b2c3
2241
+ */
2242
+ correlation_id?: string; // ^[A-Za-z0-9_-]+$
2173
2243
  }
2174
2244
  /**
2175
2245
  * ContactExistsRequest plus the surface the token is requested for. `registration_identifiers` carries the values of the surface's effective identifiers (keyed by schema, then attribute name): the surface's own `identifiers` when it configures any, otherwise the portal's `registration_identifiers`.
@@ -2208,6 +2278,19 @@ declare namespace Components {
2208
2278
  *
2209
2279
  */
2210
2280
  trigger_identifiers_check?: boolean;
2281
+ /**
2282
+ * Correlation id of an already triggered ERP sync, as returned by a previous call that
2283
+ * answered `reason: TIMEOUT`. Sent together with `trigger_identifiers_check: false` on a
2284
+ * retry so the portal keeps waiting on the same correlation instead of starting over.
2285
+ * Only used by portals configured with
2286
+ * `extension_hooks.registrationIdentifiersCheck.wait_for_toolkit`; ignored otherwise.
2287
+ * At most 255 letters, digits, hyphens and underscores: the toolkit's bound for a
2288
+ * correlation id and the charset it enforces on its identifiers.
2289
+ *
2290
+ * example:
2291
+ * 0199c0d5-6f1c-7a3b-9e21-9a9ce1d1b2c3
2292
+ */
2293
+ correlation_id?: string; // ^[A-Za-z0-9_-]+$
2211
2294
  /**
2212
2295
  * Id of the portal surface (see `surfaces` on the portal config) this token is
2213
2296
  * for. The surface must exist and use `authentication: registration_identifiers`;
@@ -2274,6 +2357,15 @@ declare namespace Components {
2274
2357
  * []
2275
2358
  */
2276
2359
  allowed_operations?: string[];
2360
+ /**
2361
+ * Whether the identified contact already has a portal user on this portal, so the caller
2362
+ * can skip offering account creation. Present only on a match; omitted when it could not
2363
+ * be determined.
2364
+ *
2365
+ * example:
2366
+ * false
2367
+ */
2368
+ has_portal_user?: boolean;
2277
2369
  /**
2278
2370
  * Present only when no token was issued. NOT_FOUND means the given identifiers did not
2279
2371
  * match any contact (definitive - the client should not retry). TIMEOUT means the contact
@@ -2282,6 +2374,13 @@ declare namespace Components {
2282
2374
  *
2283
2375
  */
2284
2376
  reason?: "TIMEOUT" | "NOT_FOUND";
2377
+ /**
2378
+ * Correlation id of the triggered ERP sync. Present only with `reason: TIMEOUT`, for
2379
+ * portals waiting on the Integration Toolkit (`wait_for_toolkit`). Send it back with
2380
+ * `trigger_identifiers_check: false` to keep waiting on the same correlation.
2381
+ *
2382
+ */
2383
+ correlation_id?: string; // ^[A-Za-z0-9_-]+$
2285
2384
  }
2286
2385
  export interface ContentWidget {
2287
2386
  id: string;
@@ -4138,12 +4237,35 @@ declare namespace Components {
4138
4237
  * Deprecated. Use `resolved.result` instead. Contact ID usually retrieved from the response body, e.g. `{{CallResponse.data.contact_id}}`. If no result is passed and the request suceeds, we attempt to resolve the Contact ID automatically. Supports variable interpolation.
4139
4238
  */
4140
4239
  result?: string;
4240
+ /**
4241
+ * Correlation id to wait for inbound ERP events under, resolved from the third-party
4242
+ * response, e.g. `{{CallResponse.data.acknowledgeId}}`. Only read when the portal is
4243
+ * configured to wait on the Integration Toolkit
4244
+ * (`extension_hooks.<hook>.wait_for_toolkit`).
4245
+ *
4246
+ * There is no default: unless a hook declares this, the portal waits on the id it
4247
+ * minted and handed the hook as `{{CorrelationId}}`, whatever the response carries. A
4248
+ * partner that pushes under that id leaves this unset; only a partner that pushes
4249
+ * under an id of its own declares where the response carries it. A declared id that
4250
+ * is absent from the response falls back to the minted one; one that is not a valid
4251
+ * correlation id (at most 255 letters, digits, `-` and `_`) is not waited on, and
4252
+ * the portal polls entity search instead.
4253
+ *
4254
+ */
4255
+ result_correlation_id?: string;
4141
4256
  };
4142
4257
  resolved?: {
4143
4258
  /**
4144
4259
  * Contract or Contact ID usually retrieved from the response body, e.g. `{{CallResponse.data.contact_id}}`. If no result is passed and the request suceeds, we attempt to resolve the Contact ID automatically. Supports variable interpolation. Supersedes the deprecated `call.result`.
4145
4260
  */
4146
4261
  result?: string;
4262
+ /**
4263
+ * Correlation id to wait for inbound ERP events under, resolved from the third-party
4264
+ * response, e.g. `{{CallResponse.data.acknowledgeId}}`. Supersedes
4265
+ * `call.result_correlation_id`. No default; see `call.result_correlation_id`.
4266
+ *
4267
+ */
4268
+ result_correlation_id?: string;
4147
4269
  /**
4148
4270
  * Optional path to a human-readable error message in the third-party response body, used when the call fails (non-2xx status).
4149
4271
  * If specified and the path resolves to a string, that message is forwarded to the end user instead of a generic error.
@@ -4593,12 +4715,35 @@ declare namespace Components {
4593
4715
  * Deprecated. Use `resolved.result` instead. Contact ID usually retrieved from the response body, e.g. `{{CallResponse.data.contact_id}}`. If no result is passed and the request suceeds, we attempt to resolve the Contact ID automatically. Supports variable interpolation.
4594
4716
  */
4595
4717
  result?: string;
4718
+ /**
4719
+ * Correlation id to wait for inbound ERP events under, resolved from the third-party
4720
+ * response, e.g. `{{CallResponse.data.acknowledgeId}}`. Only read when the portal is
4721
+ * configured to wait on the Integration Toolkit
4722
+ * (`extension_hooks.<hook>.wait_for_toolkit`).
4723
+ *
4724
+ * There is no default: unless a hook declares this, the portal waits on the id it
4725
+ * minted and handed the hook as `{{CorrelationId}}`, whatever the response carries. A
4726
+ * partner that pushes under that id leaves this unset; only a partner that pushes
4727
+ * under an id of its own declares where the response carries it. A declared id that
4728
+ * is absent from the response falls back to the minted one; one that is not a valid
4729
+ * correlation id (at most 255 letters, digits, `-` and `_`) is not waited on, and
4730
+ * the portal polls entity search instead.
4731
+ *
4732
+ */
4733
+ result_correlation_id?: string;
4596
4734
  };
4597
4735
  resolved?: {
4598
4736
  /**
4599
4737
  * Contact ID usually retrieved from the response body, e.g. `{{CallResponse.data.contact_id}}`. If no result is passed and the request suceeds, we attempt to resolve the Contact ID automatically. Supports variable interpolation. Supersedes the deprecated `call.result`.
4600
4738
  */
4601
4739
  result?: string;
4740
+ /**
4741
+ * Correlation id to wait for inbound ERP events under, resolved from the third-party
4742
+ * response, e.g. `{{CallResponse.data.acknowledgeId}}`. Supersedes
4743
+ * `call.result_correlation_id`. No default; see `call.result_correlation_id`.
4744
+ *
4745
+ */
4746
+ result_correlation_id?: string;
4602
4747
  /**
4603
4748
  * Optional path to a human-readable error message in the third-party response body, used when the call fails (non-2xx status).
4604
4749
  * If specified and the path resolves to a string, that message is forwarded to the end user instead of a generic error.
@@ -4629,6 +4774,137 @@ declare namespace Components {
4629
4774
  * The ID of the selected hook.
4630
4775
  */
4631
4776
  hook_id: string;
4777
+ /**
4778
+ * Opt in to waiting on the Integration Toolkit instead of polling entity search for the
4779
+ * data the ERP pushes after the hook returns. When true, the portal hands the hook a
4780
+ * correlation id (`{{CorrelationId}}`) and then asks the toolkit whether the entities it
4781
+ * needs have landed under that correlation. Off by default: a portal that does not set it
4782
+ * keeps polling entity search exactly as before.
4783
+ *
4784
+ * Only effective for hooks whose partner pushes through the Integration Toolkit and
4785
+ * echoes the correlation id. A hook that answers with an epilot contact id is fetched
4786
+ * directly, as today, whatever this flag says.
4787
+ *
4788
+ */
4789
+ wait_for_toolkit?: boolean;
4790
+ /**
4791
+ * The entities the portal waits for, keyed by entity slug. Configured explicitly per
4792
+ * hook: nothing is derived from the hook type or from the portal's identifier
4793
+ * configuration, and a hook that configures no requirement for the entity the portal
4794
+ * links does not wait at all - it keeps polling entity search exactly as before.
4795
+ *
4796
+ * A selector may only name an attribute that is literally a member of that entity
4797
+ * target's configured `unique_ids` in the inbound use case, because the toolkit reports
4798
+ * exactly those and nothing else. A selector on any other attribute can never match. A
4799
+ * toolkit that validates selectors rejects such a wait (400) with the slug, the key and
4800
+ * the keys it accepts; the portal logs that at error level with the hook it came from
4801
+ * and polls entity search for the request, so the customer is unaffected and never told.
4802
+ *
4803
+ * The slug the portal resolves its link target from is fixed by the hook, and a
4804
+ * requirement for it must be configured for the wait to happen at all:
4805
+ * `registrationIdentifiersCheck` resolves the contact, every `contractIdentification`
4806
+ * assignment mode resolves the contract (in the contact modes the linked contact is the
4807
+ * delivered contract's `customer`). Every other configured slug is evidence that the push
4808
+ * carried what it promised, and is never linked.
4809
+ *
4810
+ * Ignored unless `wait_for_toolkit` is true.
4811
+ *
4812
+ * Worked examples, verified against the live integration configuration. Each block is the
4813
+ * `wait_for_entities` of one hook selection, and each names the slug that hook links.
4814
+ *
4815
+ * Ratingen / Wilken add-contract hook (`contractIdentification`, `contact_to_portal_user`).
4816
+ * No value the user types is a unique id anywhere in the org - every one is a Wilken
4817
+ * surrogate `external_id` - so the contact cannot be selected by attribute at all. Wait on
4818
+ * the contract and link its `customer`; the identity-keyed contact is evidence that the
4819
+ * business partner landed, and is never linked.
4820
+ *
4821
+ * ```yaml
4822
+ * contract: {}
4823
+ * contact:
4824
+ * key: external_id # the PROFILE contact's unique id is external_id
4825
+ * from_caller_contact: external_id
4826
+ * ```
4827
+ *
4828
+ * WEMAG registration hook (`registrationIdentifiersCheck`). The contact's unique ids are
4829
+ * `customer_pin` and `reenumber`; `meter.external_id` and `meter.meter_number` are both
4830
+ * the `ZNR` the user types.
4831
+ *
4832
+ * ```yaml
4833
+ * contact:
4834
+ * key: reenumber
4835
+ * from_identifier: contact.complete_customer_number
4836
+ * split_on: "-" # "0002-<customer_pin>-<reenumber>"
4837
+ * part: 2
4838
+ * meter:
4839
+ * key: external_id
4840
+ * from_identifier: meter.meter_number
4841
+ * ```
4842
+ *
4843
+ * WEMAG add-contract hook (`contractIdentification`, `contact_to_portal_user`). The
4844
+ * contract's unique ids are `billing_account_number` (the `reenumber`, the same third
4845
+ * part of `complete_customer_number`) and `customer_number` (the PIN). Wait on the
4846
+ * contract of the typed Rechnungseinheit and link its `customer`.
4847
+ *
4848
+ * ```yaml
4849
+ * contract:
4850
+ * key: billing_account_number
4851
+ * from_identifier: contact.complete_customer_number
4852
+ * split_on: "-" # "0002-<customer_pin>-<reenumber>"
4853
+ * part: 2
4854
+ * meter:
4855
+ * key: external_id
4856
+ * from_identifier: meter.meter_number
4857
+ * ```
4858
+ *
4859
+ * Never `complete_customer_number` or `customer_number` on a WEMAG contact - neither is a
4860
+ * unique id there - and never `customer_pin` alone on a contact or `customer_number` alone
4861
+ * on a contract, both of which are the PIN and ambiguous, because one person has one
4862
+ * contact and one contract per Rechnungseinheit. Never a key-less `contract` either: WEMAG's
4863
+ * `EKM Anlagedaten` writes contracts of its own, keyed on `contract_number`.
4864
+ *
4865
+ * example:
4866
+ * {
4867
+ * "contract": {},
4868
+ * "contact": {
4869
+ * "key": "external_id",
4870
+ * "from_caller_contact": "external_id"
4871
+ * }
4872
+ * }
4873
+ */
4874
+ wait_for_entities?: {
4875
+ [name: string]: /**
4876
+ * One requirement of a hook's correlation wait, for the entity slug it is configured under.
4877
+ *
4878
+ * Without `key` the requirement is satisfied by any entity of that slug. That is safe for
4879
+ * evidence, and for a linked slug only where the inbound use case writes exactly one entity
4880
+ * of it per push - Wilken's `BusinessPartnerChanged` always writes two contacts, and WEMAG's
4881
+ * `DocumentChange` / `D3Metadata` write contacts under the same unique-id keys a registration
4882
+ * push uses - so a second match answers 409 rather than linking a guess.
4883
+ *
4884
+ * With `key`, the value comes from exactly one declared source, `from_identifier` or
4885
+ * `from_caller_contact`. A rule whose source has no value produces no wait at all, so the
4886
+ * hook keeps polling rather than waiting on a requirement that cannot be met.
4887
+ *
4888
+ */
4889
+ WaitForEntityRule;
4890
+ };
4891
+ /**
4892
+ * Inbound use case slugs the portal additionally waits for. A requirement is met once at
4893
+ * least one event of that use case slug has finished processing, whether or not it
4894
+ * produced an entity, so it covers pushes whose entity set varies and pushes whose
4895
+ * outcome is a file or a relation rather than an entity.
4896
+ *
4897
+ * Entity requirements stay primary - the portal links by entity id, so it always waits
4898
+ * for the entity it links. Use case slugs are an additional bar: when both are
4899
+ * configured, both must be met. Empty by default. Ignored unless `wait_for_toolkit` is
4900
+ * true.
4901
+ *
4902
+ * example:
4903
+ * [
4904
+ * "wilken_contract_changed"
4905
+ * ]
4906
+ */
4907
+ wait_for_use_cases?: string[];
4632
4908
  } | null;
4633
4909
  /**
4634
4910
  * Hook that returns runtime metadata describing how a visualization should be rendered for a given portal context. Invoked by the portal before fetching data, with the same context the data hook receives.
@@ -5197,7 +5473,7 @@ declare namespace Components {
5197
5473
  */
5198
5474
  scanned: number;
5199
5475
  usages: {
5200
- kind: "portal-config" | "portal-block" | "portal-widget";
5476
+ kind: "portal-config" | "portal-block";
5201
5477
  resource: {
5202
5478
  type: "portal";
5203
5479
  id: string;
@@ -5232,6 +5508,26 @@ declare namespace Components {
5232
5508
  * https://example.com
5233
5509
  */
5234
5510
  redirect_to?: string;
5511
+ /**
5512
+ * Portal name, served as the document title before the app boots
5513
+ * example:
5514
+ * Kundenportal
5515
+ */
5516
+ title?: string;
5517
+ /**
5518
+ * Whether the served document should carry a `noindex, nofollow` robots meta tag
5519
+ */
5520
+ prevent_indexing?: boolean;
5521
+ /**
5522
+ * Organization of the portal, used to preload its design from the served document
5523
+ * example:
5524
+ * 123
5525
+ */
5526
+ organization_id?: string;
5527
+ /**
5528
+ * Design of the portal, used to preload it from the served document
5529
+ */
5530
+ design_id?: string;
5235
5531
  }
5236
5532
  /**
5237
5533
  * The meter entity
@@ -7788,15 +8084,19 @@ declare namespace Components {
7788
8084
  */
7789
8085
  export interface PortalFeatureSettings {
7790
8086
  /**
7791
- * Start page feature flag
8087
+ * Retired, not read. A portal shows a start page by having a `dashboard` page.
7792
8088
  */
7793
8089
  start_page?: boolean;
7794
8090
  /**
7795
- * Billing feature flag
8091
+ * Retired, not read. Billing follows the organization's `commodity_billing` setting.
7796
8092
  */
7797
8093
  billing?: boolean;
7798
8094
  /**
7799
- * Change due date feature flag
8095
+ * Retired, not read. Billing pages and blocks follow the organization's `commodity_billing` setting.
8096
+ */
8097
+ commodity_billing?: boolean;
8098
+ /**
8099
+ * Retired, not read.
7800
8100
  */
7801
8101
  change_due_date?: boolean;
7802
8102
  /**
@@ -7811,6 +8111,14 @@ declare namespace Components {
7811
8111
  * Server-managed generation used to invalidate MCP grants after the connector is disabled or re-enabled
7812
8112
  */
7813
8113
  mcp_grant_version?: number;
8114
+ /**
8115
+ * Enable the portal copilot chat for this portal
8116
+ */
8117
+ portal_copilot?: boolean;
8118
+ /**
8119
+ * ID of the Agent Builder portal agent this portal's copilot chat runs, set by Agent Builder. When unset, or when the agent no longer exists in the portal's organization, the chat runs the default portal copilot.
8120
+ */
8121
+ portal_copilot_agent_id?: string;
7814
8122
  }
7815
8123
  /**
7816
8124
  * ID of the portal
@@ -7899,13 +8207,18 @@ declare namespace Components {
7899
8207
  */
7900
8208
  created_by?: string;
7901
8209
  /**
7902
- * Set at publish time only, and only when the publish request carried one. A revision can have been published and still have no name; `published_at` is the signal that a revision was live at some point, not this field.
8210
+ * Set at publish time when the publish request carries one, or by renaming the revision with `updatePortalRevision`. A revision can have been published and still have no name; `published_at` is the signal that a revision was live at some point, not this field.
7903
8211
  *
7904
8212
  * example:
7905
8213
  * FAQ page launch
7906
8214
  */
7907
8215
  name?: string;
7908
8216
  description?: string;
8217
+ source?: /**
8218
+ * Where a revision came from, when it was not saved in the builder. Not part of the portal config. The builder renders it in the viewer's language for an unnamed revision.
8219
+ *
8220
+ */
8221
+ RevisionSource;
7909
8222
  page_count: number;
7910
8223
  /**
7911
8224
  * The last time this revision was published. NOT the same question as `is_published`: a revision that was live yesterday still carries a `published_at`.
@@ -7974,13 +8287,18 @@ declare namespace Components {
7974
8287
  */
7975
8288
  created_by?: string;
7976
8289
  /**
7977
- * Set at publish time only, and only when the publish request carried one. A revision can have been published and still have no name; `published_at` is the signal that a revision was live at some point, not this field.
8290
+ * Set at publish time when the publish request carries one, or by renaming the revision with `updatePortalRevision`. A revision can have been published and still have no name; `published_at` is the signal that a revision was live at some point, not this field.
7978
8291
  *
7979
8292
  * example:
7980
8293
  * FAQ page launch
7981
8294
  */
7982
8295
  name?: string;
7983
8296
  description?: string;
8297
+ source?: /**
8298
+ * Where a revision came from, when it was not saved in the builder. Not part of the portal config. The builder renders it in the viewer's language for an unnamed revision.
8299
+ *
8300
+ */
8301
+ RevisionSource;
7984
8302
  page_count: number;
7985
8303
  /**
7986
8304
  * The last time this revision was published. NOT the same question as `is_published`: a revision that was live yesterday still carries a `published_at`.
@@ -8614,6 +8932,11 @@ declare namespace Components {
8614
8932
  [name: string]: Block;
8615
8933
  };
8616
8934
  based_on_revision_id?: string;
8935
+ revision_source?: /**
8936
+ * Where a revision came from, when it was not saved in the builder. Not part of the portal config. The builder renders it in the viewer's language for an unnamed revision.
8937
+ *
8938
+ */
8939
+ RevisionSource;
8617
8940
  pages: /**
8618
8941
  * A page inside a revision snapshot. `additionalProperties` is true on purpose — a page carries fields this schema does not name and they must survive into the snapshot and back onto the live page when it is published.
8619
8942
  *
@@ -8632,13 +8955,18 @@ declare namespace Components {
8632
8955
  */
8633
8956
  created_by?: string;
8634
8957
  /**
8635
- * Set at publish time only, and only when the publish request carried one. A revision can have been published and still have no name; `published_at` is the signal that a revision was live at some point, not this field.
8958
+ * Set at publish time when the publish request carries one, or by renaming the revision with `updatePortalRevision`. A revision can have been published and still have no name; `published_at` is the signal that a revision was live at some point, not this field.
8636
8959
  *
8637
8960
  * example:
8638
8961
  * FAQ page launch
8639
8962
  */
8640
8963
  name?: string;
8641
8964
  description?: string;
8965
+ source?: /**
8966
+ * Where a revision came from, when it was not saved in the builder. Not part of the portal config. The builder renders it in the viewer's language for an unnamed revision.
8967
+ *
8968
+ */
8969
+ RevisionSource;
8642
8970
  page_count: number;
8643
8971
  /**
8644
8972
  * The last time this revision was published. NOT the same question as `is_published`: a revision that was live yesterday still carries a `published_at`.
@@ -9825,6 +10153,14 @@ declare namespace Components {
9825
10153
  [name: string]: any;
9826
10154
  };
9827
10155
  }
10156
+ /**
10157
+ * Where a revision came from, when it was not saved in the builder. Not part of the portal config. The builder renders it in the viewer's language for an unnamed revision.
10158
+ *
10159
+ */
10160
+ export interface RevisionSource {
10161
+ type: "blueprint_sync";
10162
+ blueprint_title?: string;
10163
+ }
9828
10164
  export interface Rule {
9829
10165
  entity?: string | null;
9830
10166
  attribute?: string | null;
@@ -10063,10 +10399,52 @@ declare namespace Components {
10063
10399
  */
10064
10400
  status: string;
10065
10401
  }
10402
+ export interface SwapPortalReferenceGroup {
10403
+ /**
10404
+ * Items whose references now point at the target portal.
10405
+ */
10406
+ updated: SwapPortalReferenceItem[];
10407
+ /**
10408
+ * Items that reference the source portal but could not be updated.
10409
+ */
10410
+ failed: SwapPortalReferenceItem[];
10411
+ /**
10412
+ * Set when the items could not be listed, so none of them were checked.
10413
+ */
10414
+ list_error?: string;
10415
+ }
10416
+ export interface SwapPortalReferenceItem {
10417
+ /**
10418
+ * Journey id or automation flow id.
10419
+ */
10420
+ id: string;
10421
+ name?: string;
10422
+ /**
10423
+ * Where the reference sat in the item.
10424
+ * example:
10425
+ * [
10426
+ * "steps[0].uischema.elements[2].options.portalId"
10427
+ * ]
10428
+ */
10429
+ paths?: string[];
10430
+ /**
10431
+ * Why the update failed. Only set on failed items.
10432
+ */
10433
+ error?: string;
10434
+ }
10435
+ /**
10436
+ * Outcome of the `portal_references` swap option. Only present when that option was requested. The swap itself has already succeeded when this is returned, so failures here do not undo it.
10437
+ */
10438
+ export interface SwapPortalReferencesResult {
10439
+ journeys: SwapPortalReferenceGroup;
10440
+ automation_flows: SwapPortalReferenceGroup;
10441
+ }
10066
10442
  /**
10067
10443
  * Optional configuration item that a portal swap can additionally include. The swap always transfers the pages and the functional experience config that keep the portal working. These items are opt-in on top of that and are OFF by default. Domain and access/security settings (domain, cognito_details, auth_settings) can never be swapped and are therefore not part of this enum.
10444
+ * - `email_templates`: swap the email templates of the two portals.
10445
+ * - `portal_references`: after the swap, re-point configuration in other services from the source portal to the target portal: the portal on journey login (AuthControl) blocks and in file upload portal access, and the portal of automation flow portal triggers. One-directional: references to the target portal are left unchanged, because the target keeps its domain and users. System flows are not changed. Uses the caller's permissions; the outcome is returned in `portal_references`.
10068
10446
  */
10069
- export type SwappableConfig = "email_templates";
10447
+ export type SwappableConfig = "email_templates" | "portal_references";
10070
10448
  export type TariffType = "ht" | "nt";
10071
10449
  export interface TeaserWidget {
10072
10450
  id: string;
@@ -10207,6 +10585,15 @@ declare namespace Components {
10207
10585
  */
10208
10586
  ProviderConfig[];
10209
10587
  }
10588
+ export interface UpdatePortalRevisionRequest {
10589
+ /**
10590
+ * New label for the revision. Trimmed by the server; an empty name after trimming removes the revision's name.
10591
+ *
10592
+ * example:
10593
+ * FAQ page launch
10594
+ */
10595
+ name: string;
10596
+ }
10210
10597
  export interface UpsertPortalConfig {
10211
10598
  /**
10212
10599
  * Journey actions allowed on an entity by a portal user
@@ -11509,6 +11896,64 @@ declare namespace Components {
11509
11896
  */
11510
11897
  precision?: number;
11511
11898
  }
11899
+ /**
11900
+ * One requirement of a hook's correlation wait, for the entity slug it is configured under.
11901
+ *
11902
+ * Without `key` the requirement is satisfied by any entity of that slug. That is safe for
11903
+ * evidence, and for a linked slug only where the inbound use case writes exactly one entity
11904
+ * of it per push - Wilken's `BusinessPartnerChanged` always writes two contacts, and WEMAG's
11905
+ * `DocumentChange` / `D3Metadata` write contacts under the same unique-id keys a registration
11906
+ * push uses - so a second match answers 409 rather than linking a guess.
11907
+ *
11908
+ * With `key`, the value comes from exactly one declared source, `from_identifier` or
11909
+ * `from_caller_contact`. A rule whose source has no value produces no wait at all, so the
11910
+ * hook keeps polling rather than waiting on a requirement that cannot be met.
11911
+ *
11912
+ */
11913
+ export interface WaitForEntityRule {
11914
+ /**
11915
+ * Unique-id attribute the selector matches on. Must be a member of that entity target's
11916
+ * configured `unique_ids` in the inbound use case; the toolkit reports nothing else.
11917
+ *
11918
+ * example:
11919
+ * reenumber
11920
+ */
11921
+ key?: string;
11922
+ /**
11923
+ * Identifier the user submitted to take the value from, as `<schema>.<name>` - the same
11924
+ * schema and name the portal's `registration_identifiers` / `contract_identifiers` use.
11925
+ * Mutually exclusive with `from_caller_contact`.
11926
+ *
11927
+ * example:
11928
+ * contact.complete_customer_number
11929
+ */
11930
+ from_identifier?: string;
11931
+ /**
11932
+ * Attribute of the calling portal user's own contact to take the value from. Only
11933
+ * available to hooks called by a signed-in user. Mutually exclusive with
11934
+ * `from_identifier`.
11935
+ *
11936
+ * example:
11937
+ * external_id
11938
+ */
11939
+ from_caller_contact?: string;
11940
+ /**
11941
+ * Separator the source value is split on before `part` is taken, for identifiers that
11942
+ * carry a unique id inside a larger value the user types. WEMAG's
11943
+ * `complete_customer_number` is `"0002-<customer_pin>-<reenumber>"`, so splitting on `-`
11944
+ * and taking part 2 yields the contact's `reenumber` unique id.
11945
+ *
11946
+ * example:
11947
+ * -
11948
+ */
11949
+ split_on?: string;
11950
+ /**
11951
+ * Zero-based index of the part to use after splitting on `split_on`.
11952
+ * example:
11953
+ * 2
11954
+ */
11955
+ part?: number;
11956
+ }
11512
11957
  export interface WidgetAction {
11513
11958
  _id: string;
11514
11959
  type: "link" | "journey";
@@ -11630,6 +12075,12 @@ declare namespace Components {
11630
12075
  }
11631
12076
  declare namespace Paths {
11632
12077
  namespace AddContractByIdentifiers {
12078
+ namespace Parameters {
12079
+ export type CorrelationId = string; // ^[A-Za-z0-9_-]+$
12080
+ }
12081
+ export interface QueryParameters {
12082
+ correlation_id?: Parameters.CorrelationId /* ^[A-Za-z0-9_-]+$ */;
12083
+ }
11633
12084
  /**
11634
12085
  * Identifier-value pairs per schema to identify the contract
11635
12086
  * example:
@@ -11655,6 +12106,7 @@ declare namespace Paths {
11655
12106
  export type $400 = Components.Responses.InvalidRequest;
11656
12107
  export type $401 = Components.Responses.Unauthorized;
11657
12108
  export type $403 = Components.Responses.Forbidden;
12109
+ export type $404 = Components.Responses.ContractAssignmentNotFound;
11658
12110
  export type $409 = Components.Responses.ContractAssignmentConflict;
11659
12111
  export type $500 = Components.Responses.InternalServerError;
11660
12112
  }
@@ -11838,9 +12290,25 @@ declare namespace Paths {
11838
12290
  *
11839
12291
  */
11840
12292
  reason?: "TIMEOUT" | "NOT_FOUND";
12293
+ /**
12294
+ * Correlation id of the triggered ERP sync. Present only for portals waiting on
12295
+ * the Integration Toolkit (`wait_for_toolkit`). Send it back with
12296
+ * `trigger_identifiers_check: false` to keep waiting on the same correlation.
12297
+ *
12298
+ */
12299
+ correlation_id?: string; // ^[A-Za-z0-9_-]+$
12300
+ /**
12301
+ * Human-readable reason the identifiers did not resolve, when the portal knows
12302
+ * one. Set when the ERP finished sending for this correlation without the
12303
+ * entities the portal needs (e.g. "account data arrived, no contract"), so
12304
+ * support can tell a silent timeout from an incomplete delivery.
12305
+ *
12306
+ */
12307
+ message?: string;
11841
12308
  }
11842
12309
  export type $400 = Components.Responses.InvalidRequest;
11843
12310
  export type $404 = Components.Responses.NotFound;
12311
+ export type $409 = Components.Responses.ContactAmbiguousMatch;
11844
12312
  export type $429 = Components.Responses.TooManyRequests;
11845
12313
  export type $500 = Components.Responses.InternalServerError;
11846
12314
  }
@@ -11867,6 +12335,48 @@ declare namespace Paths {
11867
12335
  export type $500 = Components.Responses.InternalServerError;
11868
12336
  }
11869
12337
  }
12338
+ namespace CompleteTemporaryPassword {
12339
+ export interface RequestBody {
12340
+ /**
12341
+ * Organization ID
12342
+ * example:
12343
+ * 123
12344
+ */
12345
+ org_id: string;
12346
+ /**
12347
+ * ID of the portal the user belongs to
12348
+ * example:
12349
+ * 7hj28akg-97fb-4f5c-b2a1-3e4fbc1d8c7a
12350
+ */
12351
+ portal_id: string;
12352
+ /**
12353
+ * Email address of the portal user
12354
+ * example:
12355
+ * user@example.com
12356
+ */
12357
+ email: string;
12358
+ /**
12359
+ * Temporary password from the email
12360
+ */
12361
+ temporary_password: string;
12362
+ /**
12363
+ * New password, must match the portal's password policy
12364
+ */
12365
+ new_password: string;
12366
+ }
12367
+ namespace Responses {
12368
+ export interface $200 {
12369
+ /**
12370
+ * example:
12371
+ * Password set successfully.
12372
+ */
12373
+ message?: string;
12374
+ }
12375
+ export type $400 = Components.Responses.InvalidRequest;
12376
+ export type $429 = Components.Responses.TooManyRequests;
12377
+ export type $500 = Components.Responses.InternalServerError;
12378
+ }
12379
+ }
11870
12380
  namespace ConfigureDistribution {
11871
12381
  namespace Parameters {
11872
12382
  export type Origin = /* Origin of the portal */ Components.Schemas.Origin;
@@ -19032,9 +19542,18 @@ declare namespace Paths {
19032
19542
  */
19033
19543
  Components.Schemas.PortalId;
19034
19544
  /**
19035
- * Optional, opt-in configuration items to additionally swap on top of the always-swapped pages and functional config. Defaults to an empty list (nothing extra swapped). Domain and access/security settings can never be swapped.
19545
+ * Optional, opt-in configuration items to additionally swap on top of the always-swapped pages and functional config. Defaults to an empty list (nothing extra swapped). Domain and access/security settings can never be swapped. With `mode` the listed items are included in the draft revisions.
19546
+ */
19547
+ items_to_swap?: /**
19548
+ * Optional configuration item that a portal swap can additionally include. The swap always transfers the pages and the functional experience config that keep the portal working. These items are opt-in on top of that and are OFF by default. Domain and access/security settings (domain, cognito_details, auth_settings) can never be swapped and are therefore not part of this enum.
19549
+ * - `email_templates`: swap the email templates of the two portals.
19550
+ * - `portal_references`: after the swap, re-point configuration in other services from the source portal to the target portal: the portal on journey login (AuthControl) blocks and in file upload portal access, and the portal of automation flow portal triggers. One-directional: references to the target portal are left unchanged, because the target keeps its domain and users. System flows are not changed. Uses the caller's permissions; the outcome is returned in `portal_references`.
19551
+ */
19552
+ Components.Schemas.SwappableConfig[];
19553
+ /**
19554
+ * Requires portal versioning (flag on, V3 target portal), otherwise 400. `copy` saves an unpublished revision on the target holding the source's setup; neither portal changes live and the source is untouched. Omit for the original live swap. Cannot be combined with the `portal_references` item, which only applies to a live swap.
19036
19555
  */
19037
- items_to_swap?: /* Optional configuration item that a portal swap can additionally include. The swap always transfers the pages and the functional experience config that keep the portal working. These items are opt-in on top of that and are OFF by default. Domain and access/security settings (domain, cognito_details, auth_settings) can never be swapped and are therefore not part of this enum. */ Components.Schemas.SwappableConfig[];
19556
+ mode?: "copy";
19038
19557
  }
19039
19558
  namespace Responses {
19040
19559
  export interface $200 {
@@ -19043,6 +19562,19 @@ declare namespace Paths {
19043
19562
  * Domain and users swapped successfully.
19044
19563
  */
19045
19564
  message?: string;
19565
+ portal_references?: /* Outcome of the `portal_references` swap option. Only present when that option was requested. The swap itself has already succeeded when this is returned, so failures here do not undo it. */ Components.Schemas.SwapPortalReferencesResult;
19566
+ /**
19567
+ * Only with `mode`. The draft revision created on the target.
19568
+ */
19569
+ revisions?: {
19570
+ portal_id?: /**
19571
+ * ID of the portal
19572
+ * example:
19573
+ * 453ad7bf-86d5-46c8-8252-bcc868df5e3c
19574
+ */
19575
+ Components.Schemas.PortalId;
19576
+ revision_id?: string;
19577
+ }[];
19046
19578
  }
19047
19579
  export type $400 = Components.Responses.InvalidRequest;
19048
19580
  export type $401 = Components.Responses.Unauthorized;
@@ -19345,6 +19877,41 @@ declare namespace Paths {
19345
19877
  export type $500 = Components.Responses.InternalServerError;
19346
19878
  }
19347
19879
  }
19880
+ namespace UpdatePortalRevision {
19881
+ namespace Parameters {
19882
+ /**
19883
+ * example:
19884
+ * 5da0a718-c822-403d-9f5d-20d4584e0528
19885
+ */
19886
+ export type PortalId = string; // uuid
19887
+ /**
19888
+ * example:
19889
+ * 2026-08-25T14:03:11.482Z-a7f3c1d9
19890
+ */
19891
+ export type RevisionId = string;
19892
+ }
19893
+ export interface PathParameters {
19894
+ portal_id: /**
19895
+ * example:
19896
+ * 5da0a718-c822-403d-9f5d-20d4584e0528
19897
+ */
19898
+ Parameters.PortalId /* uuid */;
19899
+ revision_id: /**
19900
+ * example:
19901
+ * 2026-08-25T14:03:11.482Z-a7f3c1d9
19902
+ */
19903
+ Parameters.RevisionId;
19904
+ }
19905
+ export type RequestBody = Components.Schemas.UpdatePortalRevisionRequest;
19906
+ namespace Responses {
19907
+ export type $200 = Components.Schemas.PortalRevisionSummary;
19908
+ export type $400 = Components.Responses.InvalidRequest;
19909
+ export type $401 = Components.Responses.Unauthorized;
19910
+ export type $403 = Components.Responses.Forbidden;
19911
+ export type $404 = Components.Responses.NotFound;
19912
+ export type $500 = Components.Responses.InternalServerError;
19913
+ }
19914
+ }
19348
19915
  namespace UpdatePortalUser {
19349
19916
  export type RequestBody = Components.Schemas.Entity;
19350
19917
  namespace Responses {
@@ -20813,9 +21380,16 @@ interface OperationMethods {
20813
21380
  * addContractByIdentifiers - addContractByIdentifiers
20814
21381
  *
20815
21382
  * Self-assign contract(s) by pre-configured identifiers.
21383
+ *
21384
+ * When the portal is configured to wait on the Integration Toolkit
21385
+ * (`extension_hooks.contractIdentification.wait_for_toolkit`) and the ERP has not finished
21386
+ * sending within the request budget, the call fails with 404 and `reason: TIMEOUT`, carrying
21387
+ * the `correlation_id` of the triggered sync. Repeating the call with that `correlation_id`
21388
+ * keeps waiting on the same correlation without calling the third party again.
21389
+ *
20816
21390
  */
20817
21391
  'addContractByIdentifiers'(
20818
- parameters?: Parameters<UnknownParamsObject> | null,
21392
+ parameters?: Parameters<Paths.AddContractByIdentifiers.QueryParameters> | null,
20819
21393
  data?: Paths.AddContractByIdentifiers.RequestBody,
20820
21394
  config?: AxiosRequestConfig
20821
21395
  ): OperationResponse<Paths.AddContractByIdentifiers.Responses.$200>
@@ -21465,6 +22039,16 @@ interface OperationMethods {
21465
22039
  data?: any,
21466
22040
  config?: AxiosRequestConfig
21467
22041
  ): OperationResponse<Paths.GetUserEntryPoint.Responses.$200>
22042
+ /**
22043
+ * completeTemporaryPassword - completeTemporaryPassword
22044
+ *
22045
+ * Replaces a portal user's temporary password with the password they chose.
22046
+ */
22047
+ 'completeTemporaryPassword'(
22048
+ parameters?: Parameters<UnknownParamsObject> | null,
22049
+ data?: Paths.CompleteTemporaryPassword.RequestBody,
22050
+ config?: AxiosRequestConfig
22051
+ ): OperationResponse<Paths.CompleteTemporaryPassword.Responses.$200>
21468
22052
  /**
21469
22053
  * updateCampaignPortalBlockStatus - updateCampaignPortalBlockStatus
21470
22054
  *
@@ -21631,6 +22215,19 @@ interface OperationMethods {
21631
22215
  data?: any,
21632
22216
  config?: AxiosRequestConfig
21633
22217
  ): OperationResponse<Paths.GetPortalRevision.Responses.$200>
22218
+ /**
22219
+ * updatePortalRevision - updatePortalRevision
22220
+ *
22221
+ * Renames a revision without publishing it. Any revision can be renamed, published or not. Only the revision's `name` changes: its content, `published_at`, `published_by` and which revision is live stay as they are.
22222
+ *
22223
+ * The server trims `name`. An empty name after trimming removes the revision's name, and clients fall back to a label derived from `published_at` / `created_at`. A later publish without a `name` keeps the renamed name.
22224
+ *
22225
+ */
22226
+ 'updatePortalRevision'(
22227
+ parameters?: Parameters<Paths.UpdatePortalRevision.PathParameters> | null,
22228
+ data?: Paths.UpdatePortalRevision.RequestBody,
22229
+ config?: AxiosRequestConfig
22230
+ ): OperationResponse<Paths.UpdatePortalRevision.Responses.$200>
21634
22231
  /**
21635
22232
  * publishPortalRevision - publishPortalRevision
21636
22233
  *
@@ -21677,7 +22274,7 @@ interface OperationMethods {
21677
22274
  /**
21678
22275
  * swapPortalConfig - swapPortalConfig
21679
22276
  *
21680
- * Swaps the portal configuration of two portals.
22277
+ * Swaps the portal configuration of two portals. Without `mode` both portals exchange pages and experience config live, as before. With `mode: copy` (portal versioning only) nothing live changes: the source's setup is saved as an unpublished revision on the target to review and publish. Domain and access/security settings never move.
21681
22278
  */
21682
22279
  'swapPortalConfig'(
21683
22280
  parameters?: Parameters<UnknownParamsObject> | null,
@@ -22891,9 +23488,16 @@ interface PathsDictionary {
22891
23488
  * addContractByIdentifiers - addContractByIdentifiers
22892
23489
  *
22893
23490
  * Self-assign contract(s) by pre-configured identifiers.
23491
+ *
23492
+ * When the portal is configured to wait on the Integration Toolkit
23493
+ * (`extension_hooks.contractIdentification.wait_for_toolkit`) and the ERP has not finished
23494
+ * sending within the request budget, the call fails with 404 and `reason: TIMEOUT`, carrying
23495
+ * the `correlation_id` of the triggered sync. Repeating the call with that `correlation_id`
23496
+ * keeps waiting on the same correlation without calling the third party again.
23497
+ *
22894
23498
  */
22895
23499
  'post'(
22896
- parameters?: Parameters<UnknownParamsObject> | null,
23500
+ parameters?: Parameters<Paths.AddContractByIdentifiers.QueryParameters> | null,
22897
23501
  data?: Paths.AddContractByIdentifiers.RequestBody,
22898
23502
  config?: AxiosRequestConfig
22899
23503
  ): OperationResponse<Paths.AddContractByIdentifiers.Responses.$200>
@@ -23642,6 +24246,18 @@ interface PathsDictionary {
23642
24246
  config?: AxiosRequestConfig
23643
24247
  ): OperationResponse<Paths.GetUserEntryPoint.Responses.$200>
23644
24248
  }
24249
+ ['/v3/portal/public/user/temporary-password/complete']: {
24250
+ /**
24251
+ * completeTemporaryPassword - completeTemporaryPassword
24252
+ *
24253
+ * Replaces a portal user's temporary password with the password they chose.
24254
+ */
24255
+ 'post'(
24256
+ parameters?: Parameters<UnknownParamsObject> | null,
24257
+ data?: Paths.CompleteTemporaryPassword.RequestBody,
24258
+ config?: AxiosRequestConfig
24259
+ ): OperationResponse<Paths.CompleteTemporaryPassword.Responses.$200>
24260
+ }
23645
24261
  ['/v2/portal/campaign/{campaign_id}/entity:status']: {
23646
24262
  /**
23647
24263
  * updateCampaignPortalBlockStatus - updateCampaignPortalBlockStatus
@@ -23831,6 +24447,19 @@ interface PathsDictionary {
23831
24447
  data?: any,
23832
24448
  config?: AxiosRequestConfig
23833
24449
  ): OperationResponse<Paths.GetPortalRevision.Responses.$200>
24450
+ /**
24451
+ * updatePortalRevision - updatePortalRevision
24452
+ *
24453
+ * Renames a revision without publishing it. Any revision can be renamed, published or not. Only the revision's `name` changes: its content, `published_at`, `published_by` and which revision is live stay as they are.
24454
+ *
24455
+ * The server trims `name`. An empty name after trimming removes the revision's name, and clients fall back to a label derived from `published_at` / `created_at`. A later publish without a `name` keeps the renamed name.
24456
+ *
24457
+ */
24458
+ 'patch'(
24459
+ parameters?: Parameters<Paths.UpdatePortalRevision.PathParameters> | null,
24460
+ data?: Paths.UpdatePortalRevision.RequestBody,
24461
+ config?: AxiosRequestConfig
24462
+ ): OperationResponse<Paths.UpdatePortalRevision.Responses.$200>
23834
24463
  }
23835
24464
  ['/v3/portal/config/{portal_id}/publish']: {
23836
24465
  /**
@@ -23885,7 +24514,7 @@ interface PathsDictionary {
23885
24514
  /**
23886
24515
  * swapPortalConfig - swapPortalConfig
23887
24516
  *
23888
- * Swaps the portal configuration of two portals.
24517
+ * Swaps the portal configuration of two portals. Without `mode` both portals exchange pages and experience config live, as before. With `mode: copy` (portal versioning only) nothing live changes: the source's setup is saved as an unpublished revision on the target to review and publish. Domain and access/security settings never move.
23889
24518
  */
23890
24519
  'post'(
23891
24520
  parameters?: Parameters<UnknownParamsObject> | null,
@@ -24204,6 +24833,7 @@ type RegistrationIdentifier = Components.Schemas.RegistrationIdentifier;
24204
24833
  type ReimbursementEvent = Components.Schemas.ReimbursementEvent;
24205
24834
  type RevisionPage = Components.Schemas.RevisionPage;
24206
24835
  type RevisionPageRequest = Components.Schemas.RevisionPageRequest;
24836
+ type RevisionSource = Components.Schemas.RevisionSource;
24207
24837
  type Rule = Components.Schemas.Rule;
24208
24838
  type SAMLProviderConfig = Components.Schemas.SAMLProviderConfig;
24209
24839
  type SSOCallbackRequest = Components.Schemas.SSOCallbackRequest;
@@ -24218,12 +24848,16 @@ type Source = Components.Schemas.Source;
24218
24848
  type SupportReportType = Components.Schemas.SupportReportType;
24219
24849
  type SupportRequestAttachment = Components.Schemas.SupportRequestAttachment;
24220
24850
  type SupportRequestResult = Components.Schemas.SupportRequestResult;
24851
+ type SwapPortalReferenceGroup = Components.Schemas.SwapPortalReferenceGroup;
24852
+ type SwapPortalReferenceItem = Components.Schemas.SwapPortalReferenceItem;
24853
+ type SwapPortalReferencesResult = Components.Schemas.SwapPortalReferencesResult;
24221
24854
  type SwappableConfig = Components.Schemas.SwappableConfig;
24222
24855
  type TariffType = Components.Schemas.TariffType;
24223
24856
  type TeaserWidget = Components.Schemas.TeaserWidget;
24224
24857
  type TemplatesRef = Components.Schemas.TemplatesRef;
24225
24858
  type TriggerPortalFlow = Components.Schemas.TriggerPortalFlow;
24226
24859
  type UpdateOnlyPortalConfigAttributes = Components.Schemas.UpdateOnlyPortalConfigAttributes;
24860
+ type UpdatePortalRevisionRequest = Components.Schemas.UpdatePortalRevisionRequest;
24227
24861
  type UpsertPortalConfig = Components.Schemas.UpsertPortalConfig;
24228
24862
  type UpsertPortalConfigV3 = Components.Schemas.UpsertPortalConfigV3;
24229
24863
  type UpsertPortalWidget = Components.Schemas.UpsertPortalWidget;
@@ -24231,10 +24865,11 @@ type UserRequest = Components.Schemas.UserRequest;
24231
24865
  type VisualizationDataRange = Components.Schemas.VisualizationDataRange;
24232
24866
  type VisualizationMetadata = Components.Schemas.VisualizationMetadata;
24233
24867
  type VisualizationTypeOption = Components.Schemas.VisualizationTypeOption;
24868
+ type WaitForEntityRule = Components.Schemas.WaitForEntityRule;
24234
24869
  type WidgetAction = Components.Schemas.WidgetAction;
24235
24870
  type WidgetBase = Components.Schemas.WidgetBase;
24236
24871
  type WorfklowIdentifier = Components.Schemas.WorfklowIdentifier;
24237
24872
  type WorkflowExecution = Components.Schemas.WorkflowExecution;
24238
24873
  type WorkflowStep = Components.Schemas.WorkflowStep;
24239
24874
 
24240
- export { type EntityEditRule as $, type AcceptanceDecision as A, type Balance as B, type Client as C, type CommonConfigAttributes as D, type CommonConfigAttributesV3 as E, type Contact as F, type ContactCountRequest as G, type ContactExistsRequest as H, type ContactIdentifyRequest as I, type ContactIdentifyResponse as J, type ContentWidget as K, type ContextEntities as L, type ContextEntity as M, type Contract as N, type OperationMethods as O, Paths as P, type ContractIdentifier as Q, type CreateSupportRequest as R, type CreateUserRequest as S, type Currency as T, type DataRetrievalItem as U, DeleteEntityFile as V, type Direction as W, type DocumentWidget as X, type DomainSettings as Y, type EmailTemplates as Z, type Entity as _, Components as a, type Order as a$, type EntityFileCount as a0, type EntityGetParams as a1, type EntityId as a2, type EntityItem as a3, type EntityMatchingConfig as a4, type EntityPortalWorkflows as a5, type EntityResponse as a6, type EntityResponseGroupedWithHits as a7, type EntityResponseWithHits as a8, type EntitySearchParams as a9, type File as aA, type FileItem as aB, type FilePreviewResult as aC, type Grant as aD, type IdentifierAttribute as aE, type InstallmentEvent as aF, type JourneyActions as aG, type JourneyContextUsagesRequest as aH, type JourneyContextUsagesResponse as aI, type JuiceSettings as aJ, type Meter as aK, type MeterChartWidget as aL, type MeterReading as aM, type MeterReadingPhoto as aN, type MeterReadingPhotoData as aO, type MeterReadingWidget as aP, type MobileBranding as aQ, type MobileBuildStatus as aR, type MobileConfig as aS, type MobileConfigUpdate as aT, type MobileOtaConfig as aU, type MoblieOIDCConfig as aV, type NewDesignMigrationResult as aW, type NotificationTriggerConfig as aX, type OIDCProviderConfig as aY, type OIDCProviderMetadata as aZ, type Opportunity as a_, type EntitySlug as aa, type EntitySlugConfig as ab, type EntityTemplates as ac, type EntityWidget as ad, type ErrorResp as ae, type Exists as af, type Extension as ag, type ExtensionAuthBlock as ah, type ExtensionConfig as ai, type ExtensionHook as aj, type ExtensionHookChangeEmail as ak, type ExtensionHookChangePassword as al, type ExtensionHookConsumptionDataRetrieval as am, type ExtensionHookContractIdentification as an, type ExtensionHookCostDataRetrieval as ao, type ExtensionHookDataExport as ap, type ExtensionHookDeleteAccount as aq, type ExtensionHookMeterReadingPlausibilityCheck as ar, type ExtensionHookPriceDataRetrieval as as, type ExtensionHookRegistrationIdentifiersCheck as at, type ExtensionHookSelection as au, type ExtensionHookVisualizationMetadata as av, type ExtensionSeamlessLink as aw, type ExternalLink as ax, type ExtraSchemaAttributes as ay, type FailedRuleErrorResp as az, type PathsDictionary as b, SaveEntityFile as b$, type OrganizationSettings as b0, type Origin as b1, type OtaPortal as b2, type OutstandingTask as b3, type Page as b4, type PageRequest as b5, type PaymentWidget as b6, type PortalConfig as b7, type PortalConfigSummaryV3 as b8, type PortalConfigV3 as b9, type ProviderPublicConfigV3 as bA, type ProviderSlug as bB, type PublicAppDetails as bC, type PublicChangeEmailDetails as bD, type PublicChangePasswordDetails as bE, type PublicContractIdentificationDetails as bF, type PublicDataRetrievalHookDetails as bG, type PublicDeleteAccountDetails as bH, type PublicExtensionCapabilities as bI, type PublicExtensionDetails as bJ, type PublicIdentityProvider as bK, type PublicMeterReadingPlausibilityCheckDetails as bL, type PublicSelfManagementExplanation as bM, type PublishResult as bN, type PublishRevisionRequest as bO, type ReadBy as bP, type ReadingStatus as bQ, type Reason as bR, type RegistrationIdentifier as bS, type ReimbursementEvent as bT, type RevisionPage as bU, type RevisionPageRequest as bV, type Rule as bW, type SAMLProviderConfig as bX, type SSOCallbackRequest as bY, type SSOCallbackResponse as bZ, type SSOLoginToken as b_, type PortalDataExportColumn as ba, type PortalDescriptionOverrides as bb, type PortalFeatureSettings as bc, type PortalId as bd, type PortalNameOverrides as be, type PortalNotification as bf, type PortalRevision as bg, type PortalRevisionCreated as bh, type PortalRevisionList as bi, type PortalRevisionRequest as bj, type PortalRevisionSummary as bk, type PortalSurface as bl, type PortalSurfaceDataAccess as bm, type PortalSurfaceEntityAccess as bn, type PortalTaskConfig as bo, type PortalUser as bp, type PortalUserRegistrationStatus as bq, type PortalWidget as br, type PortalWorkflow as bs, type PortalWorkflowStage as bt, type PortalWorkflowTask as bu, type Product as bv, type ProductRecommendationsWidget as bw, type ProviderConfig as bx, type ProviderDisplayName as by, type ProviderPublicConfig as bz, type AccountExistsRequest as c, type SavePortalFile as c0, type Schema as c1, type SearchIncludes as c2, type SecureProxyConfig as c3, type Source as c4, type SupportReportType as c5, type SupportRequestAttachment as c6, type SupportRequestResult as c7, type SwappableConfig as c8, type TariffType as c9, type TeaserWidget as ca, type TemplatesRef as cb, type TriggerPortalFlow as cc, type UpdateOnlyPortalConfigAttributes as cd, type UpsertPortalConfig as ce, type UpsertPortalConfigV3 as cf, UpsertPortalWidget as cg, type UserRequest as ch, type VisualizationDataRange as ci, type VisualizationMetadata as cj, type VisualizationTypeOption as ck, type WidgetAction as cl, type WidgetBase as cm, type WorfklowIdentifier as cn, type WorkflowExecution as co, type WorkflowStep as cp, type ActionLabel as d, type ActionWidget as e, type Activity as f, type ActivityCallerContext as g, type ActivityId as h, type ActivityItem as i, type AdditionalContactAttribute as j, type AdminUser as k, type AllowedFileExtensions as l, type AttributeMappingConfig as m, type AuthConfig as n, type BaseBillingEvent as o, type BaseEntity as p, type BillingAccount as q, type BillingEvent as r, type Block as s, type BlockId as t, type BlockProps as u, type BlockRequest as v, type BlockType as w, type BusinessPartnerItem as x, type CampaignWidget as y, type CleverPvContext as z };
24875
+ export { type EntityEditRule as $, type AcceptanceDecision as A, type Balance as B, type Client as C, type CommonConfigAttributes as D, type CommonConfigAttributesV3 as E, type Contact as F, type ContactCountRequest as G, type ContactExistsRequest as H, type ContactIdentifyRequest as I, type ContactIdentifyResponse as J, type ContentWidget as K, type ContextEntities as L, type ContextEntity as M, type Contract as N, type OperationMethods as O, Paths as P, type ContractIdentifier as Q, type CreateSupportRequest as R, type CreateUserRequest as S, type Currency as T, type DataRetrievalItem as U, DeleteEntityFile as V, type Direction as W, type DocumentWidget as X, type DomainSettings as Y, type EmailTemplates as Z, type Entity as _, Components as a, type Order as a$, type EntityFileCount as a0, type EntityGetParams as a1, type EntityId as a2, type EntityItem as a3, type EntityMatchingConfig as a4, type EntityPortalWorkflows as a5, type EntityResponse as a6, type EntityResponseGroupedWithHits as a7, type EntityResponseWithHits as a8, type EntitySearchParams as a9, type File as aA, type FileItem as aB, type FilePreviewResult as aC, type Grant as aD, type IdentifierAttribute as aE, type InstallmentEvent as aF, type JourneyActions as aG, type JourneyContextUsagesRequest as aH, type JourneyContextUsagesResponse as aI, type JuiceSettings as aJ, type Meter as aK, type MeterChartWidget as aL, type MeterReading as aM, type MeterReadingPhoto as aN, type MeterReadingPhotoData as aO, type MeterReadingWidget as aP, type MobileBranding as aQ, type MobileBuildStatus as aR, type MobileConfig as aS, type MobileConfigUpdate as aT, type MobileOtaConfig as aU, type MoblieOIDCConfig as aV, type NewDesignMigrationResult as aW, type NotificationTriggerConfig as aX, type OIDCProviderConfig as aY, type OIDCProviderMetadata as aZ, type Opportunity as a_, type EntitySlug as aa, type EntitySlugConfig as ab, type EntityTemplates as ac, type EntityWidget as ad, type ErrorResp as ae, type Exists as af, type Extension as ag, type ExtensionAuthBlock as ah, type ExtensionConfig as ai, type ExtensionHook as aj, type ExtensionHookChangeEmail as ak, type ExtensionHookChangePassword as al, type ExtensionHookConsumptionDataRetrieval as am, type ExtensionHookContractIdentification as an, type ExtensionHookCostDataRetrieval as ao, type ExtensionHookDataExport as ap, type ExtensionHookDeleteAccount as aq, type ExtensionHookMeterReadingPlausibilityCheck as ar, type ExtensionHookPriceDataRetrieval as as, type ExtensionHookRegistrationIdentifiersCheck as at, type ExtensionHookSelection as au, type ExtensionHookVisualizationMetadata as av, type ExtensionSeamlessLink as aw, type ExternalLink as ax, type ExtraSchemaAttributes as ay, type FailedRuleErrorResp as az, type PathsDictionary as b, type SSOLoginToken as b$, type OrganizationSettings as b0, type Origin as b1, type OtaPortal as b2, type OutstandingTask as b3, type Page as b4, type PageRequest as b5, type PaymentWidget as b6, type PortalConfig as b7, type PortalConfigSummaryV3 as b8, type PortalConfigV3 as b9, type ProviderPublicConfigV3 as bA, type ProviderSlug as bB, type PublicAppDetails as bC, type PublicChangeEmailDetails as bD, type PublicChangePasswordDetails as bE, type PublicContractIdentificationDetails as bF, type PublicDataRetrievalHookDetails as bG, type PublicDeleteAccountDetails as bH, type PublicExtensionCapabilities as bI, type PublicExtensionDetails as bJ, type PublicIdentityProvider as bK, type PublicMeterReadingPlausibilityCheckDetails as bL, type PublicSelfManagementExplanation as bM, type PublishResult as bN, type PublishRevisionRequest as bO, type ReadBy as bP, type ReadingStatus as bQ, type Reason as bR, type RegistrationIdentifier as bS, type ReimbursementEvent as bT, type RevisionPage as bU, type RevisionPageRequest as bV, type RevisionSource as bW, type Rule as bX, type SAMLProviderConfig as bY, type SSOCallbackRequest as bZ, type SSOCallbackResponse as b_, type PortalDataExportColumn as ba, type PortalDescriptionOverrides as bb, type PortalFeatureSettings as bc, type PortalId as bd, type PortalNameOverrides as be, type PortalNotification as bf, type PortalRevision as bg, type PortalRevisionCreated as bh, type PortalRevisionList as bi, type PortalRevisionRequest as bj, type PortalRevisionSummary as bk, type PortalSurface as bl, type PortalSurfaceDataAccess as bm, type PortalSurfaceEntityAccess as bn, type PortalTaskConfig as bo, type PortalUser as bp, type PortalUserRegistrationStatus as bq, type PortalWidget as br, type PortalWorkflow as bs, type PortalWorkflowStage as bt, type PortalWorkflowTask as bu, type Product as bv, type ProductRecommendationsWidget as bw, type ProviderConfig as bx, type ProviderDisplayName as by, type ProviderPublicConfig as bz, type AccountExistsRequest as c, SaveEntityFile as c0, type SavePortalFile as c1, type Schema as c2, type SearchIncludes as c3, type SecureProxyConfig as c4, type Source as c5, type SupportReportType as c6, type SupportRequestAttachment as c7, type SupportRequestResult as c8, type SwapPortalReferenceGroup as c9, type SwapPortalReferenceItem as ca, type SwapPortalReferencesResult as cb, type SwappableConfig as cc, type TariffType as cd, type TeaserWidget as ce, type TemplatesRef as cf, type TriggerPortalFlow as cg, type UpdateOnlyPortalConfigAttributes as ch, type UpdatePortalRevisionRequest as ci, type UpsertPortalConfig as cj, type UpsertPortalConfigV3 as ck, UpsertPortalWidget as cl, type UserRequest as cm, type VisualizationDataRange as cn, type VisualizationMetadata as co, type VisualizationTypeOption as cp, type WaitForEntityRule as cq, type WidgetAction as cr, type WidgetBase as cs, type WorfklowIdentifier as ct, type WorkflowExecution as cu, type WorkflowStep as cv, type ActionLabel as d, type ActionWidget as e, type Activity as f, type ActivityCallerContext as g, type ActivityId as h, type ActivityItem as i, type AdditionalContactAttribute as j, type AdminUser as k, type AllowedFileExtensions as l, type AttributeMappingConfig as m, type AuthConfig as n, type BaseBillingEvent as o, type BaseEntity as p, type BillingAccount as q, type BillingEvent as r, type Block as s, type BlockId as t, type BlockProps as u, type BlockRequest as v, type BlockType as w, type BusinessPartnerItem as x, type CampaignWidget as y, type CleverPvContext as z };