@epilot/sdk 2.20.38 → 2.20.40

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 (150) hide show
  1. package/README.md +1 -0
  2. package/definitions/customer-portal-runtime.json +1 -1
  3. package/definitions/customer-portal.json +473 -68
  4. package/definitions/identity-runtime.json +1 -0
  5. package/definitions/identity.json +1546 -0
  6. package/dist/README-OSHX3IVR.cjs +7 -0
  7. package/dist/README-ZSJDIPZZ.js +7 -0
  8. package/dist/{_index-6FK4PV6Y.js → _index-UBUNWMRP.js} +3 -0
  9. package/dist/{_index-655GNTWT.cjs → _index-UWRY3DNX.cjs} +4 -1
  10. package/dist/apis/access-token.cjs +6 -6
  11. package/dist/apis/access-token.js +1 -1
  12. package/dist/apis/address-suggestions.cjs +6 -6
  13. package/dist/apis/address-suggestions.js +1 -1
  14. package/dist/apis/address.cjs +6 -6
  15. package/dist/apis/address.js +1 -1
  16. package/dist/apis/ai-agents.cjs +6 -6
  17. package/dist/apis/ai-agents.js +1 -1
  18. package/dist/apis/app.cjs +6 -6
  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 +6 -6
  51. package/dist/apis/email-settings.js +1 -1
  52. package/dist/apis/email-template.cjs +6 -6
  53. package/dist/apis/email-template.js +1 -1
  54. package/dist/apis/entity-mapping.cjs +6 -6
  55. package/dist/apis/entity-mapping.js +1 -1
  56. package/dist/apis/entity.cjs +6 -6
  57. package/dist/apis/entity.js +1 -1
  58. package/dist/apis/environments.cjs +6 -6
  59. package/dist/apis/environments.js +1 -1
  60. package/dist/apis/event-catalog.cjs +6 -6
  61. package/dist/apis/event-catalog.js +1 -1
  62. package/dist/apis/file.cjs +6 -6
  63. package/dist/apis/file.js +1 -1
  64. package/dist/apis/iban.cjs +6 -6
  65. package/dist/apis/iban.js +1 -1
  66. package/dist/apis/identity.cjs +38 -0
  67. package/dist/apis/identity.d.cts +18 -0
  68. package/dist/apis/identity.d.ts +18 -0
  69. package/dist/apis/identity.js +38 -0
  70. package/dist/apis/integration-toolkit.cjs +6 -6
  71. package/dist/apis/integration-toolkit.js +1 -1
  72. package/dist/apis/journey.cjs +6 -6
  73. package/dist/apis/journey.js +1 -1
  74. package/dist/apis/kanban.cjs +6 -6
  75. package/dist/apis/kanban.js +1 -1
  76. package/dist/apis/message.cjs +6 -6
  77. package/dist/apis/message.js +1 -1
  78. package/dist/apis/metering.cjs +6 -6
  79. package/dist/apis/metering.js +1 -1
  80. package/dist/apis/notes.cjs +6 -6
  81. package/dist/apis/notes.js +1 -1
  82. package/dist/apis/notification.cjs +6 -6
  83. package/dist/apis/notification.js +1 -1
  84. package/dist/apis/organization.cjs +6 -6
  85. package/dist/apis/organization.js +1 -1
  86. package/dist/apis/partner-directory.cjs +6 -6
  87. package/dist/apis/partner-directory.js +1 -1
  88. package/dist/apis/permissions.cjs +6 -6
  89. package/dist/apis/permissions.js +1 -1
  90. package/dist/apis/pricing-tier.cjs +6 -6
  91. package/dist/apis/pricing-tier.js +1 -1
  92. package/dist/apis/pricing.cjs +6 -6
  93. package/dist/apis/pricing.js +1 -1
  94. package/dist/apis/purpose.cjs +6 -6
  95. package/dist/apis/purpose.js +1 -1
  96. package/dist/apis/query.cjs +6 -6
  97. package/dist/apis/query.js +1 -1
  98. package/dist/apis/sandbox.cjs +6 -6
  99. package/dist/apis/sandbox.js +1 -1
  100. package/dist/apis/sharing.cjs +6 -6
  101. package/dist/apis/sharing.js +1 -1
  102. package/dist/apis/snapshot.cjs +6 -6
  103. package/dist/apis/snapshot.js +1 -1
  104. package/dist/apis/submission.cjs +6 -6
  105. package/dist/apis/submission.js +1 -1
  106. package/dist/apis/target.cjs +6 -6
  107. package/dist/apis/target.js +1 -1
  108. package/dist/apis/targeting.cjs +6 -6
  109. package/dist/apis/targeting.js +1 -1
  110. package/dist/apis/template-variables.cjs +6 -6
  111. package/dist/apis/template-variables.js +1 -1
  112. package/dist/apis/user.cjs +6 -6
  113. package/dist/apis/user.js +1 -1
  114. package/dist/apis/validation-rules.cjs +6 -6
  115. package/dist/apis/validation-rules.js +1 -1
  116. package/dist/apis/webhooks.cjs +6 -6
  117. package/dist/apis/webhooks.js +1 -1
  118. package/dist/apis/workflow-definition.cjs +6 -6
  119. package/dist/apis/workflow-definition.js +1 -1
  120. package/dist/apis/workflow.cjs +6 -6
  121. package/dist/apis/workflow.js +1 -1
  122. package/dist/chunk-3IBAPVLY.js +14 -0
  123. package/dist/{chunk-I67RRULD.js → chunk-DQ346MRA.js} +1 -1
  124. package/dist/{chunk-766NNARL.cjs → chunk-FBRDBE4Y.cjs} +1 -1
  125. package/dist/{chunk-6KBVDEXV.js → chunk-IF7LQ3EC.js} +6 -4
  126. package/dist/chunk-RPWTWCDC.cjs +14 -0
  127. package/dist/{chunk-H7SM2GBY.cjs → chunk-VZIJUUM7.cjs} +6 -4
  128. package/dist/customer-portal-TSJKBA37.js +7 -0
  129. package/dist/customer-portal-WOO2QDPR.cjs +7 -0
  130. package/dist/{customer-portal-runtime-5Z5NO6FH.js → customer-portal-runtime-CNW7NSCT.js} +1 -1
  131. package/dist/{customer-portal-runtime-5YBPM5TU.cjs → customer-portal-runtime-ZTLLE6CR.cjs} +2 -2
  132. package/dist/{customer-portal.d-DF4g7c3i.d.cts → customer-portal.d-3yCmlzXi.d.cts} +408 -306
  133. package/dist/{customer-portal.d-DF4g7c3i.d.ts → customer-portal.d-3yCmlzXi.d.ts} +408 -306
  134. package/dist/identity-EG35NBZW.js +7 -0
  135. package/dist/identity-XMX3VFXR.cjs +7 -0
  136. package/dist/identity-runtime-57DQPQWX.cjs +5 -0
  137. package/dist/identity-runtime-PFM5KQWA.js +5 -0
  138. package/dist/identity.d-BBL0NI_O.d.cts +1153 -0
  139. package/dist/identity.d-BBL0NI_O.d.ts +1153 -0
  140. package/dist/index.cjs +25 -17
  141. package/dist/index.d.cts +53 -51
  142. package/dist/index.d.ts +53 -51
  143. package/dist/index.js +18 -10
  144. package/docs/customer-portal.md +386 -10
  145. package/docs/identity.md +1279 -0
  146. package/package.json +10 -1
  147. package/dist/README-7F36AG5O.js +0 -7
  148. package/dist/README-I7JMAFA4.cjs +0 -7
  149. package/dist/customer-portal-2K3FXGI4.cjs +0 -7
  150. package/dist/customer-portal-QU3C24B4.js +0 -7
@@ -77,6 +77,7 @@ const { data } = await customerPortalClient.upsertPortal(...)
77
77
  - [`getPortalRevision`](#getportalrevision)
78
78
  - [`publishPortalRevision`](#publishportalrevision)
79
79
  - [`listAllPortalConfigs`](#listallportalconfigs)
80
+ - [`listPortalConfigSummaries`](#listportalconfigsummaries)
80
81
  - [`swapPortalConfig`](#swapportalconfig)
81
82
  - [`clonePortalConfig`](#cloneportalconfig)
82
83
  - [`verifyDns`](#verifydns)
@@ -193,6 +194,7 @@ const { data } = await customerPortalClient.upsertPortal(...)
193
194
  - [`MobileConfig`](#mobileconfig)
194
195
  - [`MobileConfigUpdate`](#mobileconfigupdate)
195
196
  - [`MobileOtaConfig`](#mobileotaconfig)
197
+ - [`NewDesignMigrationResult`](#newdesignmigrationresult)
196
198
  - [`OtaPortal`](#otaportal)
197
199
  - [`ContextEntity`](#contextentity)
198
200
  - [`ContextEntities`](#contextentities)
@@ -273,12 +275,16 @@ const { data } = await customerPortalClient.upsertPortal(...)
273
275
  - [`ActionLabel`](#actionlabel)
274
276
  - [`Rule`](#rule)
275
277
  - [`JourneyActions`](#journeyactions)
278
+ - [`JourneyContextUsagesRequest`](#journeycontextusagesrequest)
279
+ - [`JourneyContextUsagesResponse`](#journeycontextusagesresponse)
276
280
  - [`ExternalLink`](#externallink)
277
281
  - [`OutstandingTask`](#outstandingtask)
278
282
  - [`WorkflowExecution`](#workflowexecution)
279
283
  - [`WorkflowStep`](#workflowstep)
280
284
  - [`PortalWorkflow`](#portalworkflow)
281
285
  - [`PortalWorkflowStage`](#portalworkflowstage)
286
+ - [`PortalNameOverrides`](#portalnameoverrides)
287
+ - [`PortalDescriptionOverrides`](#portaldescriptionoverrides)
282
288
  - [`PortalWorkflowTask`](#portalworkflowtask)
283
289
  - [`EntityPortalWorkflows`](#entityportalworkflows)
284
290
  - [`PortalTaskConfig`](#portaltaskconfig)
@@ -365,6 +371,8 @@ const { data } = await customerPortalClient.upsertPortal(...)
365
371
  - [`PortalDataExportColumn`](#portaldataexportcolumn)
366
372
  - [`UpsertPortalConfigV3`](#upsertportalconfigv3)
367
373
  - [`PortalConfigV3`](#portalconfigv3)
374
+ - [`PortalFeatureSettings`](#portalfeaturesettings)
375
+ - [`PortalConfigSummaryV3`](#portalconfigsummaryv3)
368
376
  - [`JuiceSettings`](#juicesettings)
369
377
  - [`RevisionPageRequest`](#revisionpagerequest)
370
378
  - [`PortalRevisionRequest`](#portalrevisionrequest)
@@ -594,6 +602,7 @@ const { data } = await client.upsertPortal(
594
602
  description: 'string',
595
603
  authentication: 'login',
596
604
  token_ttl_seconds: 300,
605
+ identifiers: [ /* ... */ ],
597
606
  data_access: { /* ... */ }
598
607
  }
599
608
  ],
@@ -843,6 +852,7 @@ const { data } = await client.upsertPortal(
843
852
  "description": "string",
844
853
  "authentication": "login",
845
854
  "token_ttl_seconds": 300,
855
+ "identifiers": [],
846
856
  "data_access": {}
847
857
  }
848
858
  ],
@@ -1230,6 +1240,7 @@ const { data } = await client.getPortalConfigByDomain({
1230
1240
  "description": "string",
1231
1241
  "authentication": "login",
1232
1242
  "token_ttl_seconds": 300,
1243
+ "identifiers": [],
1233
1244
  "data_access": {}
1234
1245
  }
1235
1246
  ],
@@ -1520,6 +1531,7 @@ const { data } = await client.getPortalConfig({
1520
1531
  "description": "string",
1521
1532
  "authentication": "login",
1522
1533
  "token_ttl_seconds": 300,
1534
+ "identifiers": [],
1523
1535
  "data_access": {}
1524
1536
  }
1525
1537
  ],
@@ -2703,6 +2715,7 @@ const { data } = await client.getPublicPortalConfig({
2703
2715
  "description": "string",
2704
2716
  "authentication": "login",
2705
2717
  "token_ttl_seconds": 300,
2718
+ "identifiers": [],
2706
2719
  "data_access": {}
2707
2720
  }
2708
2721
  ],
@@ -2993,6 +3006,7 @@ const { data } = await client.getOrgPortalConfig({
2993
3006
  "description": "string",
2994
3007
  "authentication": "login",
2995
3008
  "token_ttl_seconds": 300,
3009
+ "identifiers": [],
2996
3010
  "data_access": {}
2997
3011
  }
2998
3012
  ],
@@ -3292,6 +3306,7 @@ const { data } = await client.getPublicPortalConfigV3({
3292
3306
  "description": "string",
3293
3307
  "authentication": "login",
3294
3308
  "token_ttl_seconds": 300,
3309
+ "identifiers": [],
3295
3310
  "data_access": {}
3296
3311
  }
3297
3312
  ],
@@ -3582,6 +3597,7 @@ const { data } = await client.getOrgPortalConfigV3({
3582
3597
  "description": "string",
3583
3598
  "authentication": "login",
3584
3599
  "token_ttl_seconds": 300,
3600
+ "identifiers": [],
3585
3601
  "data_access": {}
3586
3602
  }
3587
3603
  ],
@@ -4883,8 +4899,8 @@ const { data } = await client.checkContactExistsV3(
4883
4899
 
4884
4900
  ### `identifyContact`
4885
4901
 
4886
- Identify a contact by the portal's configured registration identifiers and, on a match,
4887
- issue a short-lived bearer token that acts as that contact.
4902
+ Identify a contact by the surface's identifiers and, on a match, issue a short-lived
4903
+ bearer token that acts as that contact.
4888
4904
 
4889
4905
  `POST /v3/portal/public/contact/identify`
4890
4906
 
@@ -6549,6 +6565,7 @@ const { data } = await client.searchPortalUserEntities(
6549
6565
  /* ... 1 more */
6550
6566
  ],
6551
6567
  targets: ['3ec28ab5-8598-41ef-9486-b57fca1d5e2a'],
6568
+ match_any_targets: ['3ec28ab5-8598-41ef-9486-b57fca1d5e2a', '5f2c1e7a-6b0d-4a8e-9c3f-1d2e3f4a5b6c'],
6552
6569
  include: ['active_workflow'],
6553
6570
  highlight: {}
6554
6571
  },
@@ -6861,6 +6878,7 @@ const { data } = await client.getEntityPortalWorkflows({
6861
6878
  "id": "string",
6862
6879
  "journeyId": "string",
6863
6880
  "name": "string",
6881
+ "portal_button_label": "string",
6864
6882
  "complete_task_automatically": true
6865
6883
  }
6866
6884
  },
@@ -6872,6 +6890,7 @@ const { data } = await client.getEntityPortalWorkflows({
6872
6890
  "id": "string",
6873
6891
  "journeyId": "string",
6874
6892
  "name": "string",
6893
+ "portal_button_label": "string",
6875
6894
  "complete_task_automatically": true
6876
6895
  }
6877
6896
  },
@@ -6879,6 +6898,7 @@ const { data } = await client.getEntityPortalWorkflows({
6879
6898
  "id": "string",
6880
6899
  "journeyId": "string",
6881
6900
  "name": "string",
6901
+ "portal_button_label": "string",
6882
6902
  "complete_task_automatically": true
6883
6903
  },
6884
6904
  "assigned_to": ["string"],
@@ -6895,9 +6915,21 @@ const { data } = await client.getEntityPortalWorkflows({
6895
6915
  "name": "string",
6896
6916
  "description": "string",
6897
6917
  "status": "COMPLETED",
6898
- "completed_at": "string"
6918
+ "completed_at": "string",
6919
+ "portal_names": {
6920
+ "ecp": "string",
6921
+ "installer": "string"
6922
+ },
6923
+ "portal_descriptions": {
6924
+ "ecp": "string",
6925
+ "installer": "string"
6926
+ }
6899
6927
  }
6900
- ]
6928
+ ],
6929
+ "portal_titles": {
6930
+ "ecp": "string",
6931
+ "installer": "string"
6932
+ }
6901
6933
  }
6902
6934
  ]
6903
6935
  }
@@ -6972,6 +7004,7 @@ const { data } = await client.getEntityPortalWorkflowsBatch(
6972
7004
  "id": "string",
6973
7005
  "journeyId": "string",
6974
7006
  "name": "string",
7007
+ "portal_button_label": "string",
6975
7008
  "complete_task_automatically": true
6976
7009
  }
6977
7010
  },
@@ -6983,6 +7016,7 @@ const { data } = await client.getEntityPortalWorkflowsBatch(
6983
7016
  "id": "string",
6984
7017
  "journeyId": "string",
6985
7018
  "name": "string",
7019
+ "portal_button_label": "string",
6986
7020
  "complete_task_automatically": true
6987
7021
  }
6988
7022
  },
@@ -6990,6 +7024,7 @@ const { data } = await client.getEntityPortalWorkflowsBatch(
6990
7024
  "id": "string",
6991
7025
  "journeyId": "string",
6992
7026
  "name": "string",
7027
+ "portal_button_label": "string",
6993
7028
  "complete_task_automatically": true
6994
7029
  },
6995
7030
  "assigned_to": ["string"],
@@ -7006,9 +7041,21 @@ const { data } = await client.getEntityPortalWorkflowsBatch(
7006
7041
  "name": "string",
7007
7042
  "description": "string",
7008
7043
  "status": "COMPLETED",
7009
- "completed_at": "string"
7044
+ "completed_at": "string",
7045
+ "portal_names": {
7046
+ "ecp": "string",
7047
+ "installer": "string"
7048
+ },
7049
+ "portal_descriptions": {
7050
+ "ecp": "string",
7051
+ "installer": "string"
7052
+ }
7010
7053
  }
7011
- ]
7054
+ ],
7055
+ "portal_titles": {
7056
+ "ecp": "string",
7057
+ "installer": "string"
7058
+ }
7012
7059
  }
7013
7060
  ]
7014
7061
  }
@@ -8657,6 +8704,7 @@ const { data } = await client.createPortalConfig(
8657
8704
  description: 'string',
8658
8705
  authentication: 'login',
8659
8706
  token_ttl_seconds: 300,
8707
+ identifiers: [ /* ... */ ],
8660
8708
  data_access: { /* ... */ }
8661
8709
  }
8662
8710
  ],
@@ -8948,6 +8996,7 @@ const { data } = await client.createPortalConfig(
8948
8996
  "description": "string",
8949
8997
  "authentication": "login",
8950
8998
  "token_ttl_seconds": 300,
8999
+ "identifiers": [],
8951
9000
  "data_access": {}
8952
9001
  }
8953
9002
  ],
@@ -9275,6 +9324,7 @@ const { data } = await client.getPortalConfigV3({
9275
9324
  "description": "string",
9276
9325
  "authentication": "login",
9277
9326
  "token_ttl_seconds": 300,
9327
+ "identifiers": [],
9278
9328
  "data_access": {}
9279
9329
  }
9280
9330
  ],
@@ -9599,6 +9649,7 @@ const { data } = await client.putPortalConfig(
9599
9649
  description: 'string',
9600
9650
  authentication: 'login',
9601
9651
  token_ttl_seconds: 300,
9652
+ identifiers: [ /* ... */ ],
9602
9653
  data_access: { /* ... */ }
9603
9654
  }
9604
9655
  ],
@@ -9911,6 +9962,7 @@ const { data } = await client.putPortalConfig(
9911
9962
  "description": "string",
9912
9963
  "authentication": "login",
9913
9964
  "token_ttl_seconds": 300,
9965
+ "identifiers": [],
9914
9966
  "data_access": {}
9915
9967
  }
9916
9968
  ],
@@ -10027,7 +10079,9 @@ const { data } = await client.putPortalConfig(
10027
10079
 
10028
10080
  ### `deletePortalConfig`
10029
10081
 
10030
- Deletes a specific portal configuration by ID.
10082
+ Deletes a specific portal configuration by ID, together with everything the portal owns:
10083
+ its pages, revisions, email templates and widget configuration. The custom domain network
10084
+ setup is torn down as
10031
10085
 
10032
10086
  `DELETE /v3/portal/config/{portal_id}`
10033
10087
 
@@ -10248,6 +10302,7 @@ const { data } = await client.createPortalRevision(
10248
10302
  description: 'string',
10249
10303
  authentication: 'login',
10250
10304
  token_ttl_seconds: 300,
10305
+ identifiers: [ /* ... */ ],
10251
10306
  data_access: { /* ... */ }
10252
10307
  }
10253
10308
  ],
@@ -10665,6 +10720,118 @@ const { data } = await client.listAllPortalConfigs()
10665
10720
 
10666
10721
  ---
10667
10722
 
10723
+ ### `listPortalConfigSummaries`
10724
+
10725
+ Lists the portals of the organization as lightweight summaries: the identifying,
10726
+ display and registration fields of each portal config, without pages, email
10727
+ templates, grants, feature flags, identity
10728
+
10729
+ `GET /v3/portal/configs/summaries`
10730
+
10731
+ ```ts
10732
+ const { data } = await client.listPortalConfigSummaries()
10733
+ ```
10734
+
10735
+ <details>
10736
+ <summary>Response</summary>
10737
+
10738
+ ```json
10739
+ {
10740
+ "data": [
10741
+ {
10742
+ "portal_id": "453ad7bf-86d5-46c8-8252-bcc868df5e3c",
10743
+ "organization_id": 12345,
10744
+ "origin": "string",
10745
+ "name": "string",
10746
+ "enabled": true,
10747
+ "domain": "string",
10748
+ "epilot_domain": "string",
10749
+ "is_epilot_domain": true,
10750
+ "dnsStatus": "CONFIGURING",
10751
+ "design_id": "5da0a718-c822-403d-9f5d-20d4584e0528",
10752
+ "logo_image": {
10753
+ "url": "https://epilot-bucket.s3.eu-central-1.amazonaws.com/12344/logo.png",
10754
+ "dark_url": "string"
10755
+ },
10756
+ "default_user_to_notify": {
10757
+ "onPendingUser": [
10758
+ {
10759
+ "type": "user",
10760
+ "user_id": "123456",
10761
+ "display_name": "John",
10762
+ "image_uri": {
10763
+ "original": "https://fuafjvoHKsu.cloudimg.io/v7/e-mage-sam-bucket-dev.s3.eu-central-1.amazonaws.com/files/fuafjvoHKsudhfagweucjasdvga/original",
10764
+ "thumbnail_32": "https://fuafjvoHKsu.cloudimg.io/v7/e-mage-sam-bucket-dev.s3.eu-central-1.amazonaws.com/files/fuafjvoHKsudhfagweucjasdvga/original?w=32&h=32",
10765
+ "thumbnail_64": "https://fuafjvoHKsu.cloudimg.io/v7/e-mage-sam-bucket-dev.s3.eu-central-1.amazonaws.com/files/fuafjvoHKsudhfagweucjasdvga/original?w=64&h=64",
10766
+ "key": "fuafjvoHKsudhfagweucjasdvga"
10767
+ },
10768
+ "org_id": "123",
10769
+ "email": "j.doe@epilot.cloud",
10770
+ "phone": "12345 67890"
10771
+ }
10772
+ ]
10773
+ },
10774
+ "feature_settings": {
10775
+ "start_page": true,
10776
+ "billing": true,
10777
+ "change_due_date": true,
10778
+ "new_design": true,
10779
+ "mcp_enabled": true,
10780
+ "mcp_grant_version": 0
10781
+ },
10782
+ "self_registration_setting": "ALLOW_WITH_CONTACT_CREATION",
10783
+ "self_registration_account_setting": "ALLOW_WITH_CREATION",
10784
+ "block_registration_if_portal_user_exists": true,
10785
+ "self_registration_entity": "contact",
10786
+ "user_account_self_management": true,
10787
+ "registration_identifiers": [
10788
+ {
10789
+ "name": "string",
10790
+ "schema": "contact"
10791
+ }
10792
+ ],
10793
+ "surfaces": [
10794
+ {
10795
+ "id": "website-journeys",
10796
+ "name": "Website journeys",
10797
+ "description": "string",
10798
+ "authentication": "login",
10799
+ "token_ttl_seconds": 300,
10800
+ "identifiers": [
10801
+ {
10802
+ "name": "customer_number",
10803
+ "schema": "contact"
10804
+ },
10805
+ {
10806
+ "name": "meter_number",
10807
+ "schema": "meter"
10808
+ }
10809
+ ],
10810
+ "data_access": {
10811
+ "entities": [
10812
+ {
10813
+ "schema": "contract",
10814
+ "target_ids": ["string"]
10815
+ }
10816
+ ],
10817
+ "role_id": "728:public_journeys_readonly"
10818
+ }
10819
+ }
10820
+ ],
10821
+ "is_dummy": true,
10822
+ "is_v3_item": true,
10823
+ "published_revision_id": "string",
10824
+ "_created_at": "1970-01-01T00:00:00.000Z",
10825
+ "_updated_at": "1970-01-01T00:00:00.000Z"
10826
+ }
10827
+ ]
10828
+ }
10829
+ ```
10830
+
10831
+ </details>
10832
+
10833
+ ---
10834
+
10668
10835
  ### `swapPortalConfig`
10669
10836
 
10670
10837
  Swaps the portal configuration of two portals.
@@ -10912,6 +11079,7 @@ const { data } = await client.clonePortalConfig(
10912
11079
  "description": "string",
10913
11080
  "authentication": "login",
10914
11081
  "token_ttl_seconds": 300,
11082
+ "identifiers": [],
10915
11083
  "data_access": {}
10916
11084
  }
10917
11085
  ],
@@ -11587,6 +11755,22 @@ type MobileOtaConfig = {
11587
11755
  }
11588
11756
  ```
11589
11757
 
11758
+ ### `NewDesignMigrationResult`
11759
+
11760
+ ```ts
11761
+ type NewDesignMigrationResult = {
11762
+ org_id?: string
11763
+ portal_id?: string
11764
+ origin?: string
11765
+ name?: string
11766
+ is_v3_item?: boolean
11767
+ dry_run?: boolean
11768
+ migrated?: boolean
11769
+ summary?: Record<string, unknown>
11770
+ before?: Record<string, unknown>
11771
+ }
11772
+ ```
11773
+
11590
11774
  ### `OtaPortal`
11591
11775
 
11592
11776
  A portal that has mobile OTA updates enabled.
@@ -12616,7 +12800,7 @@ type ContactExistsRequest = {
12616
12800
 
12617
12801
  ### `ContactIdentifyRequest`
12618
12802
 
12619
- ContactExistsRequest plus the surface the token is requested for.
12803
+ 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`.
12620
12804
 
12621
12805
 
12622
12806
  ```ts
@@ -12781,6 +12965,7 @@ Per-slug search configuration with scoped targets and templates
12781
12965
  type EntitySlugConfig = {
12782
12966
  slug: string
12783
12967
  targets?: string // uuid[]
12968
+ match_any_targets?: string // uuid[]
12784
12969
  templates?: Record<string, string>
12785
12970
  templates_ref?: {
12786
12971
  page_id?: string
@@ -13330,6 +13515,10 @@ type PortalSurface = {
13330
13515
  description?: string
13331
13516
  authentication: "login" | "registration_identifiers"
13332
13517
  token_ttl_seconds?: number
13518
+ identifiers?: Array<{
13519
+ name?: string
13520
+ schema?: string
13521
+ }>
13333
13522
  data_access?: {
13334
13523
  entities?: Array<{
13335
13524
  schema: { ... }
@@ -13412,6 +13601,39 @@ type JourneyActions = {
13412
13601
  }
13413
13602
  ```
13414
13603
 
13604
+ ### `JourneyContextUsagesRequest`
13605
+
13606
+ ```ts
13607
+ type JourneyContextUsagesRequest = {
13608
+ journey_id: string
13609
+ param_keys: string[]
13610
+ param_ids?: string[]
13611
+ }
13612
+ ```
13613
+
13614
+ ### `JourneyContextUsagesResponse`
13615
+
13616
+ ```ts
13617
+ type JourneyContextUsagesResponse = {
13618
+ status: "ok" | "partial"
13619
+ scanned: number
13620
+ usages: Array<{
13621
+ kind: "portal-config" | "portal-block" | "portal-widget"
13622
+ resource: {
13623
+ type: { ... }
13624
+ id: { ... }
13625
+ name?: { ... }
13626
+ }
13627
+ location: Record<string, unknown>
13628
+ matched_as: {
13629
+ dialect: { ... }
13630
+ token: { ... }
13631
+ at?: { ... }
13632
+ }
13633
+ }>
13634
+ }
13635
+ ```
13636
+
13415
13637
  ### `ExternalLink`
13416
13638
 
13417
13639
  ```ts
@@ -13508,6 +13730,7 @@ type PortalWorkflow = {
13508
13730
  id?: { ... }
13509
13731
  journeyId?: { ... }
13510
13732
  name?: { ... }
13733
+ portal_button_label?: { ... }
13511
13734
  complete_task_automatically?: { ... }
13512
13735
  }
13513
13736
  assigned_to?: string[]
@@ -13521,9 +13744,21 @@ type PortalWorkflow = {
13521
13744
  id: string
13522
13745
  name: string
13523
13746
  description?: string
13524
- status: "COMPLETED" | "IN_PROGRESS" | "UPCOMING"
13747
+ status: "COMPLETED" | "IN_PROGRESS" | "UPCOMING" | "NOT_REACHED"
13525
13748
  completed_at?: string
13749
+ portal_names?: {
13750
+ ecp?: { ... }
13751
+ installer?: { ... }
13752
+ }
13753
+ portal_descriptions?: {
13754
+ ecp?: { ... }
13755
+ installer?: { ... }
13756
+ }
13526
13757
  }>
13758
+ portal_titles?: {
13759
+ ecp?: string
13760
+ installer?: string
13761
+ }
13527
13762
  }
13528
13763
  ```
13529
13764
 
@@ -13539,8 +13774,47 @@ type PortalWorkflowStage = {
13539
13774
  id: string
13540
13775
  name: string
13541
13776
  description?: string
13542
- status: "COMPLETED" | "IN_PROGRESS" | "UPCOMING"
13777
+ status: "COMPLETED" | "IN_PROGRESS" | "UPCOMING" | "NOT_REACHED"
13543
13778
  completed_at?: string
13779
+ portal_names?: {
13780
+ ecp?: string
13781
+ installer?: string
13782
+ }
13783
+ portal_descriptions?: {
13784
+ ecp?: string
13785
+ installer?: string
13786
+ }
13787
+ }
13788
+ ```
13789
+
13790
+ ### `PortalNameOverrides`
13791
+
13792
+ Portal-facing overrides of a flow or stage title, configured per portal
13793
+ audience in the Flows Hub. Served unresolved because this endpoint asks
13794
+ the Workflows API for audience `all` — one cached response feeds blocks
13795
+ of both audiences, so each block picks its own override and falls back
13796
+ to `name` whe
13797
+
13798
+ ```ts
13799
+ type PortalNameOverrides = {
13800
+ ecp?: string
13801
+ installer?: string
13802
+ }
13803
+ ```
13804
+
13805
+ ### `PortalDescriptionOverrides`
13806
+
13807
+ Portal-facing overrides of a stage description, configured per portal
13808
+ audience in the Flows Hub. Served unresolved for the same reason as
13809
+ `PortalNameOverrides`; a block falls back to `description` when its
13810
+ audience's key is absent. The values are rich text, like `description`
13811
+ itself.
13812
+
13813
+
13814
+ ```ts
13815
+ type PortalDescriptionOverrides = {
13816
+ ecp?: string
13817
+ installer?: string
13544
13818
  }
13545
13819
  ```
13546
13820
 
@@ -13563,6 +13837,7 @@ type PortalWorkflowTask = {
13563
13837
  id?: { ... }
13564
13838
  journeyId?: { ... }
13565
13839
  name?: { ... }
13840
+ portal_button_label?: { ... }
13566
13841
  complete_task_automatically?: { ... }
13567
13842
  }
13568
13843
  }
@@ -13574,6 +13849,7 @@ type PortalWorkflowTask = {
13574
13849
  id?: { ... }
13575
13850
  journeyId?: { ... }
13576
13851
  name?: { ... }
13852
+ portal_button_label?: { ... }
13577
13853
  complete_task_automatically?: { ... }
13578
13854
  }
13579
13855
  }
@@ -13581,6 +13857,7 @@ type PortalWorkflowTask = {
13581
13857
  id?: string
13582
13858
  journeyId?: string
13583
13859
  name?: string
13860
+ portal_button_label?: string
13584
13861
  complete_task_automatically?: boolean
13585
13862
  }
13586
13863
  assigned_to?: string[]
@@ -13638,7 +13915,13 @@ type EntityPortalWorkflows = {
13638
13915
  description?: { ... }
13639
13916
  status: { ... }
13640
13917
  completed_at?: { ... }
13918
+ portal_names?: { ... }
13919
+ portal_descriptions?: { ... }
13641
13920
  }>
13921
+ portal_titles?: {
13922
+ ecp?: { ... }
13923
+ installer?: { ... }
13924
+ }
13642
13925
  }>
13643
13926
  }
13644
13927
  ```
@@ -13656,6 +13939,7 @@ type PortalTaskConfig = {
13656
13939
  id?: string
13657
13940
  journeyId?: string
13658
13941
  name?: string
13942
+ portal_button_label?: string
13659
13943
  complete_task_automatically?: boolean
13660
13944
  }
13661
13945
  }
@@ -13823,6 +14107,7 @@ type EntitySearchParams = {
13823
14107
  slug: string | string[] | Array<{
13824
14108
  slug: string
13825
14109
  targets?: string // uuid[]
14110
+ match_any_targets?: string // uuid[]
13826
14111
  templates?: Record<string, string>
13827
14112
  templates_ref?: {
13828
14113
  page_id?: { ... }
@@ -13853,6 +14138,7 @@ type EntitySearchParams = {
13853
14138
  filters?: object[]
13854
14139
  filters_context?: Record<string, boolean | string>[]
13855
14140
  targets?: string // uuid[]
14141
+ match_any_targets?: string // uuid[]
13856
14142
  include?: "active_workflow"[]
13857
14143
  highlight?: object
13858
14144
  }
@@ -15733,6 +16019,96 @@ type PortalConfigV3 = {
15733
16019
  }
15734
16020
  ```
15735
16021
 
16022
+ ### `PortalFeatureSettings`
16023
+
16024
+ Feature settings for the portal
16025
+
16026
+ ```ts
16027
+ type PortalFeatureSettings = {
16028
+ start_page?: boolean
16029
+ billing?: boolean
16030
+ change_due_date?: boolean
16031
+ new_design?: boolean
16032
+ mcp_enabled?: boolean
16033
+ mcp_grant_version?: number
16034
+ }
16035
+ ```
16036
+
16037
+ ### `PortalConfigSummaryV3`
16038
+
16039
+ Lightweight view of a portal config for lists and pickers. Carries the identifying,
16040
+ display and registration fields only. Pages, email templates, grants, feature flags,
16041
+ identity providers and certificate details are left out; read them per portal with
16042
+ `getPortalConfigV3`.
16043
+
16044
+
16045
+ ```ts
16046
+ type PortalConfigSummaryV3 = {
16047
+ portal_id?: string
16048
+ organization_id?: string
16049
+ origin?: string
16050
+ name?: string
16051
+ enabled?: boolean
16052
+ domain?: string
16053
+ epilot_domain?: string
16054
+ is_epilot_domain?: boolean
16055
+ dnsStatus?: "CONFIGURING" | "PENDING" | "SUCCEED" | "EXPIRED" | "NEW_CERT_IN_PROGRESS"
16056
+ design_id?: string // uuid
16057
+ logo_image?: {
16058
+ url?: string
16059
+ dark_url?: string
16060
+ }
16061
+ default_user_to_notify?: {
16062
+ onPendingUser?: Array<{
16063
+ type?: { ... }
16064
+ user_id?: { ... }
16065
+ display_name?: { ... }
16066
+ image_uri?: { ... }
16067
+ org_id?: { ... }
16068
+ email?: { ... }
16069
+ phone?: { ... }
16070
+ }>
16071
+ }
16072
+ feature_settings?: {
16073
+ start_page?: boolean
16074
+ billing?: boolean
16075
+ change_due_date?: boolean
16076
+ new_design?: boolean
16077
+ mcp_enabled?: boolean
16078
+ mcp_grant_version?: number
16079
+ }
16080
+ self_registration_setting?: "ALLOW_WITH_CONTACT_CREATION" | "ALLOW_WITHOUT_CONTACT_CREATION" | "DENY" | "ALWAYS_CREATE_CONTACT" | "DISALLOW_COMPLETELY" | "BLOCK_IF_PORTAL_USER_EXISTS"
16081
+ self_registration_account_setting?: "ALLOW_WITH_CREATION" | "DENY" | "ALWAYS_CREATE" | "BLOCK_IF_PORTAL_USER_EXISTS" | "DISALLOW_COMPLETELY"
16082
+ block_registration_if_portal_user_exists?: boolean
16083
+ self_registration_entity?: "contact" | "account"
16084
+ user_account_self_management?: boolean
16085
+ registration_identifiers?: Array<{
16086
+ name?: string
16087
+ schema?: string
16088
+ }>
16089
+ surfaces?: Array<{
16090
+ id: string
16091
+ name: string
16092
+ description?: string
16093
+ authentication: "login" | "registration_identifiers"
16094
+ token_ttl_seconds?: number
16095
+ identifiers?: Array<{
16096
+ name?: { ... }
16097
+ schema?: { ... }
16098
+ }>
16099
+ data_access?: {
16100
+ entities?: { ... }
16101
+ role_id?: { ... }
16102
+ }
16103
+ }>
16104
+ is_dummy?: boolean
16105
+ is_v3_item?: boolean
16106
+ published_revision_id?: string
16107
+ _created_at?: string // date-time
16108
+ _updated_at?: string // date-time
16109
+ }
16110
+ ```
16111
+
15736
16112
  ### `JuiceSettings`
15737
16113
 
15738
16114
  ```ts