@epilot/sdk 2.10.1 → 2.10.3

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 (131) hide show
  1. package/definitions/customer-portal-runtime.json +1 -1
  2. package/definitions/customer-portal.json +1180 -45
  3. package/definitions/focus-pocus-runtime.json +1 -0
  4. package/definitions/focus-pocus.json +757 -0
  5. package/dist/apis/access-token.cjs +6 -6
  6. package/dist/apis/access-token.js +1 -1
  7. package/dist/apis/address-suggestions.cjs +6 -6
  8. package/dist/apis/address-suggestions.js +1 -1
  9. package/dist/apis/address.cjs +6 -6
  10. package/dist/apis/address.js +1 -1
  11. package/dist/apis/ai-agents.cjs +6 -6
  12. package/dist/apis/ai-agents.js +1 -1
  13. package/dist/apis/app.cjs +6 -6
  14. package/dist/apis/app.js +1 -1
  15. package/dist/apis/audit-logs.cjs +6 -6
  16. package/dist/apis/audit-logs.js +1 -1
  17. package/dist/apis/automation.cjs +6 -6
  18. package/dist/apis/automation.js +1 -1
  19. package/dist/apis/billing.cjs +6 -6
  20. package/dist/apis/billing.js +1 -1
  21. package/dist/apis/blueprint-manifest.cjs +6 -6
  22. package/dist/apis/blueprint-manifest.js +1 -1
  23. package/dist/apis/calendar.cjs +6 -6
  24. package/dist/apis/calendar.js +1 -1
  25. package/dist/apis/configuration-hub.cjs +6 -6
  26. package/dist/apis/configuration-hub.js +1 -1
  27. package/dist/apis/consent.cjs +6 -6
  28. package/dist/apis/consent.js +1 -1
  29. package/dist/apis/customer-portal.cjs +8 -8
  30. package/dist/apis/customer-portal.d.cts +2 -2
  31. package/dist/apis/customer-portal.d.ts +2 -2
  32. package/dist/apis/customer-portal.js +2 -2
  33. package/dist/apis/dashboard.cjs +6 -6
  34. package/dist/apis/dashboard.js +1 -1
  35. package/dist/apis/data-governance.cjs +6 -6
  36. package/dist/apis/data-governance.js +1 -1
  37. package/dist/apis/deduplication.cjs +6 -6
  38. package/dist/apis/deduplication.js +1 -1
  39. package/dist/apis/design.cjs +6 -6
  40. package/dist/apis/design.js +1 -1
  41. package/dist/apis/document.cjs +6 -6
  42. package/dist/apis/document.js +1 -1
  43. package/dist/apis/email-settings.cjs +6 -6
  44. package/dist/apis/email-settings.js +1 -1
  45. package/dist/apis/email-template.cjs +6 -6
  46. package/dist/apis/email-template.js +1 -1
  47. package/dist/apis/entity-mapping.cjs +6 -6
  48. package/dist/apis/entity-mapping.js +1 -1
  49. package/dist/apis/entity.cjs +6 -6
  50. package/dist/apis/entity.js +1 -1
  51. package/dist/apis/environments.cjs +6 -6
  52. package/dist/apis/environments.js +1 -1
  53. package/dist/apis/event-catalog.cjs +6 -6
  54. package/dist/apis/event-catalog.js +1 -1
  55. package/dist/apis/file.cjs +6 -6
  56. package/dist/apis/file.js +1 -1
  57. package/dist/apis/iban.cjs +6 -6
  58. package/dist/apis/iban.js +1 -1
  59. package/dist/apis/integration-toolkit.cjs +6 -6
  60. package/dist/apis/integration-toolkit.js +1 -1
  61. package/dist/apis/journey.cjs +6 -6
  62. package/dist/apis/journey.js +1 -1
  63. package/dist/apis/kanban.cjs +6 -6
  64. package/dist/apis/kanban.js +1 -1
  65. package/dist/apis/message.cjs +6 -6
  66. package/dist/apis/message.js +1 -1
  67. package/dist/apis/metering.cjs +6 -6
  68. package/dist/apis/metering.js +1 -1
  69. package/dist/apis/notes.cjs +6 -6
  70. package/dist/apis/notes.js +1 -1
  71. package/dist/apis/notification.cjs +6 -6
  72. package/dist/apis/notification.js +1 -1
  73. package/dist/apis/organization.cjs +6 -6
  74. package/dist/apis/organization.js +1 -1
  75. package/dist/apis/partner-directory.cjs +6 -6
  76. package/dist/apis/partner-directory.js +1 -1
  77. package/dist/apis/permissions.cjs +6 -6
  78. package/dist/apis/permissions.js +1 -1
  79. package/dist/apis/pricing-tier.cjs +6 -6
  80. package/dist/apis/pricing-tier.js +1 -1
  81. package/dist/apis/pricing.cjs +6 -6
  82. package/dist/apis/pricing.js +1 -1
  83. package/dist/apis/purpose.cjs +6 -6
  84. package/dist/apis/purpose.js +1 -1
  85. package/dist/apis/query.cjs +6 -6
  86. package/dist/apis/query.js +1 -1
  87. package/dist/apis/sandbox.cjs +6 -6
  88. package/dist/apis/sandbox.js +1 -1
  89. package/dist/apis/sharing.cjs +6 -6
  90. package/dist/apis/sharing.js +1 -1
  91. package/dist/apis/snapshot.cjs +6 -6
  92. package/dist/apis/snapshot.js +1 -1
  93. package/dist/apis/submission.cjs +6 -6
  94. package/dist/apis/submission.js +1 -1
  95. package/dist/apis/target.cjs +6 -6
  96. package/dist/apis/target.js +1 -1
  97. package/dist/apis/targeting.cjs +6 -6
  98. package/dist/apis/targeting.js +1 -1
  99. package/dist/apis/template-variables.cjs +6 -6
  100. package/dist/apis/template-variables.js +1 -1
  101. package/dist/apis/user.cjs +6 -6
  102. package/dist/apis/user.js +1 -1
  103. package/dist/apis/validation-rules.cjs +6 -6
  104. package/dist/apis/validation-rules.js +1 -1
  105. package/dist/apis/webhooks.cjs +6 -6
  106. package/dist/apis/webhooks.js +1 -1
  107. package/dist/apis/workflow-definition.cjs +6 -6
  108. package/dist/apis/workflow-definition.js +1 -1
  109. package/dist/apis/workflow.cjs +6 -6
  110. package/dist/apis/workflow.js +1 -1
  111. package/dist/{chunk-HB6KHEKG.cjs → chunk-ESCPKTPT.cjs} +2 -2
  112. package/dist/chunk-JBPITLKN.cjs +14 -0
  113. package/dist/{chunk-H3ZV5T3V.js → chunk-K732EC6B.js} +2 -2
  114. package/dist/chunk-LSMVZMBY.js +14 -0
  115. package/dist/customer-portal-EJBJ4BNI.cjs +7 -0
  116. package/dist/customer-portal-ZVST2CTU.js +7 -0
  117. package/dist/{customer-portal-runtime-TDHV2YVY.js → customer-portal-runtime-C6ZIKX2V.js} +1 -1
  118. package/dist/{customer-portal-runtime-HA6CPWB4.cjs → customer-portal-runtime-M7O3RDJ5.cjs} +2 -2
  119. package/dist/{customer-portal.d-BRwiQehb.d.cts → customer-portal.d-JUlTCfGt.d.cts} +852 -8
  120. package/dist/{customer-portal.d-BRwiQehb.d.ts → customer-portal.d-JUlTCfGt.d.ts} +852 -8
  121. package/dist/index.cjs +10 -10
  122. package/dist/index.d.cts +1 -1
  123. package/dist/index.d.ts +1 -1
  124. package/dist/index.js +2 -2
  125. package/dist/js-yaml-DLCVPJ7G.js +0 -0
  126. package/docs/customer-portal.md +709 -35
  127. package/package.json +12 -11
  128. package/dist/chunk-5ZXGKLB6.cjs +0 -14
  129. package/dist/chunk-774ASAAH.js +0 -14
  130. package/dist/customer-portal-4DXHY42V.js +0 -7
  131. package/dist/customer-portal-5OSGSYGF.cjs +0 -7
@@ -37,6 +37,8 @@ const { data } = await customerPortalClient.upsertPortal(...)
37
37
  - [`getAllPortalConfigs`](#getallportalconfigs)
38
38
  - [`upsertEmailTemplates`](#upsertemailtemplates)
39
39
  - [`getEmailTemplates`](#getemailtemplates)
40
+ - [`migrateEmailTemplateReferences`](#migrateemailtemplatereferences)
41
+ - [`listEmailTemplateReferences`](#listemailtemplatereferences)
40
42
  - [`upsertEmailTemplatesByPortalId`](#upsertemailtemplatesbyportalid)
41
43
  - [`getEmailTemplatesByPortalId`](#getemailtemplatesbyportalid)
42
44
  - [`getPortalWidgetsV3`](#getportalwidgetsv3)
@@ -74,6 +76,8 @@ const { data } = await customerPortalClient.upsertPortal(...)
74
76
  - [`swapPortalConfig`](#swapportalconfig)
75
77
  - [`clonePortalConfig`](#cloneportalconfig)
76
78
  - [`verifyDns`](#verifydns)
79
+ - [`getMobileConfig`](#getmobileconfig)
80
+ - [`putMobileConfig`](#putmobileconfig)
77
81
 
78
82
  **Public**
79
83
  - [`createUserV3`](#createuserv3)
@@ -116,6 +120,7 @@ const { data } = await customerPortalClient.upsertPortal(...)
116
120
  - [`updatePortalUser`](#updateportaluser)
117
121
  - [`deletePortalUser`](#deleteportaluser)
118
122
  - [`updatePortalUserEmail`](#updateportaluseremail)
123
+ - [`changePortalUserPassword`](#changeportaluserpassword)
119
124
  - [`postOrderAcceptance`](#postorderacceptance)
120
125
  - [`addContractByIdentifiers`](#addcontractbyidentifiers)
121
126
  - [`validateCadenceEntityEditRules`](#validatecadenceentityeditrules)
@@ -165,6 +170,10 @@ const { data } = await customerPortalClient.upsertPortal(...)
165
170
  - [`ssoLoginV3`](#ssologinv3)
166
171
 
167
172
  **Schemas**
173
+ - [`MobileBuildStatus`](#mobilebuildstatus)
174
+ - [`MobileBranding`](#mobilebranding)
175
+ - [`MobileConfig`](#mobileconfig)
176
+ - [`MobileConfigUpdate`](#mobileconfigupdate)
168
177
  - [`ContextEntity`](#contextentity)
169
178
  - [`ContextEntities`](#contextentities)
170
179
  - [`ErrorResp`](#errorresp)
@@ -257,6 +266,10 @@ const { data } = await customerPortalClient.upsertPortal(...)
257
266
  - [`ExtensionConfig`](#extensionconfig)
258
267
  - [`ExtensionHookSelection`](#extensionhookselection)
259
268
  - [`PublicExtensionCapabilities`](#publicextensioncapabilities)
269
+ - [`PublicSelfManagementExplanation`](#publicselfmanagementexplanation)
270
+ - [`PublicChangeEmailDetails`](#publicchangeemaildetails)
271
+ - [`PublicChangePasswordDetails`](#publicchangepassworddetails)
272
+ - [`PublicDeleteAccountDetails`](#publicdeleteaccountdetails)
260
273
  - [`DataRetrievalItem`](#dataretrievalitem)
261
274
  - [`PublicAppDetails`](#publicappdetails)
262
275
  - [`PublicExtensionDetails`](#publicextensiondetails)
@@ -277,6 +290,9 @@ const { data } = await customerPortalClient.upsertPortal(...)
277
290
  - [`ExtensionHookDataExport`](#extensionhookdataexport)
278
291
  - [`ExtensionHookVisualizationMetadata`](#extensionhookvisualizationmetadata)
279
292
  - [`ExtensionHookCostDataRetrieval`](#extensionhookcostdataretrieval)
293
+ - [`ExtensionHookChangeEmail`](#extensionhookchangeemail)
294
+ - [`ExtensionHookChangePassword`](#extensionhookchangepassword)
295
+ - [`ExtensionHookDeleteAccount`](#extensionhookdeleteaccount)
280
296
  - [`SecureProxyConfig`](#secureproxyconfig)
281
297
  - [`ExtensionAuthBlock`](#extensionauthblock)
282
298
  - [`Direction`](#direction)
@@ -358,7 +374,8 @@ const { data } = await client.upsertPortal(
358
374
  attribute_mappings: { /* ... */ },
359
375
  entity_matching: { /* ... */ },
360
376
  oidc_config: { /* ... */ },
361
- mobile_oidc_config: { /* ... */ }
377
+ mobile_oidc_config: { /* ... */ },
378
+ expose_client_secret: false
362
379
  }
363
380
  ],
364
381
  enabled: true,
@@ -394,7 +411,8 @@ const { data } = await client.upsertPortal(
394
411
  },
395
412
  entry_point: 'PASSWORD',
396
413
  preferred_sso_providers: ['office-365-login'],
397
- auto_redirect_to_sso: true
414
+ auto_redirect_to_sso: true,
415
+ prevent_user_enumeration: true
398
416
  },
399
417
  cognito_details: {
400
418
  cognito_user_pool_client_id: '6bsd0jkgoie74k2i8mrhc1vest',
@@ -583,7 +601,8 @@ const { data } = await client.upsertPortal(
583
601
  },
584
602
  "entry_point": "PASSWORD",
585
603
  "preferred_sso_providers": ["office-365-login"],
586
- "auto_redirect_to_sso": true
604
+ "auto_redirect_to_sso": true,
605
+ "prevent_user_enumeration": true
587
606
  },
588
607
  "cognito_details": {
589
608
  "cognito_user_pool_client_id": "6bsd0jkgoie74k2i8mrhc1vest",
@@ -909,7 +928,8 @@ const { data } = await client.getPortalConfigByDomain({
909
928
  },
910
929
  "entry_point": "PASSWORD",
911
930
  "preferred_sso_providers": ["office-365-login"],
912
- "auto_redirect_to_sso": true
931
+ "auto_redirect_to_sso": true,
932
+ "prevent_user_enumeration": true
913
933
  },
914
934
  "cognito_details": {
915
935
  "cognito_user_pool_client_id": "6bsd0jkgoie74k2i8mrhc1vest",
@@ -1138,7 +1158,8 @@ const { data } = await client.getPortalConfig({
1138
1158
  },
1139
1159
  "entry_point": "PASSWORD",
1140
1160
  "preferred_sso_providers": ["office-365-login"],
1141
- "auto_redirect_to_sso": true
1161
+ "auto_redirect_to_sso": true,
1162
+ "prevent_user_enumeration": true
1142
1163
  },
1143
1164
  "cognito_details": {
1144
1165
  "cognito_user_pool_client_id": "6bsd0jkgoie74k2i8mrhc1vest",
@@ -1509,6 +1530,50 @@ const { data } = await client.getPublicPortalExtensionDetails({
1509
1530
  "hook": {
1510
1531
  "plausibility_mode": "check"
1511
1532
  }
1533
+ },
1534
+ "changeEmail": {
1535
+ "app": {
1536
+ "app_id": "string",
1537
+ "name": {}
1538
+ },
1539
+ "extension": {
1540
+ "id": "string",
1541
+ "name": {}
1542
+ },
1543
+ "hook": {
1544
+ "id": "string",
1545
+ "require_password_confirmation": true,
1546
+ "explanation": {}
1547
+ }
1548
+ },
1549
+ "changePassword": {
1550
+ "app": {
1551
+ "app_id": "string",
1552
+ "name": {}
1553
+ },
1554
+ "extension": {
1555
+ "id": "string",
1556
+ "name": {}
1557
+ },
1558
+ "hook": {
1559
+ "id": "string",
1560
+ "require_new_password": false,
1561
+ "explanation": {}
1562
+ }
1563
+ },
1564
+ "deleteAccount": {
1565
+ "app": {
1566
+ "app_id": "string",
1567
+ "name": {}
1568
+ },
1569
+ "extension": {
1570
+ "id": "string",
1571
+ "name": {}
1572
+ },
1573
+ "hook": {
1574
+ "id": "string",
1575
+ "explanation": {}
1576
+ }
1512
1577
  }
1513
1578
  }
1514
1579
  ```
@@ -1699,6 +1764,50 @@ const { data } = await client.getPublicPortalExtensionDetailsV3({
1699
1764
  "hook": {
1700
1765
  "plausibility_mode": "check"
1701
1766
  }
1767
+ },
1768
+ "changeEmail": {
1769
+ "app": {
1770
+ "app_id": "string",
1771
+ "name": {}
1772
+ },
1773
+ "extension": {
1774
+ "id": "string",
1775
+ "name": {}
1776
+ },
1777
+ "hook": {
1778
+ "id": "string",
1779
+ "require_password_confirmation": true,
1780
+ "explanation": {}
1781
+ }
1782
+ },
1783
+ "changePassword": {
1784
+ "app": {
1785
+ "app_id": "string",
1786
+ "name": {}
1787
+ },
1788
+ "extension": {
1789
+ "id": "string",
1790
+ "name": {}
1791
+ },
1792
+ "hook": {
1793
+ "id": "string",
1794
+ "require_new_password": false,
1795
+ "explanation": {}
1796
+ }
1797
+ },
1798
+ "deleteAccount": {
1799
+ "app": {
1800
+ "app_id": "string",
1801
+ "name": {}
1802
+ },
1803
+ "extension": {
1804
+ "id": "string",
1805
+ "name": {}
1806
+ },
1807
+ "hook": {
1808
+ "id": "string",
1809
+ "explanation": {}
1810
+ }
1702
1811
  }
1703
1812
  }
1704
1813
  ```
@@ -2088,7 +2197,8 @@ const { data } = await client.getPublicPortalConfig({
2088
2197
  },
2089
2198
  "entry_point": "PASSWORD",
2090
2199
  "preferred_sso_providers": ["office-365-login"],
2091
- "auto_redirect_to_sso": true
2200
+ "auto_redirect_to_sso": true,
2201
+ "prevent_user_enumeration": true
2092
2202
  },
2093
2203
  "cognito_details": {
2094
2204
  "cognito_user_pool_client_id": "6bsd0jkgoie74k2i8mrhc1vest",
@@ -2317,7 +2427,8 @@ const { data } = await client.getOrgPortalConfig({
2317
2427
  },
2318
2428
  "entry_point": "PASSWORD",
2319
2429
  "preferred_sso_providers": ["office-365-login"],
2320
- "auto_redirect_to_sso": true
2430
+ "auto_redirect_to_sso": true,
2431
+ "prevent_user_enumeration": true
2321
2432
  },
2322
2433
  "cognito_details": {
2323
2434
  "cognito_user_pool_client_id": "6bsd0jkgoie74k2i8mrhc1vest",
@@ -2489,7 +2600,8 @@ const { data } = await client.getOrgPortalConfig({
2489
2600
  "mobile_oidc_config": {},
2490
2601
  "provider_type": "OIDC",
2491
2602
  "attribute_mappings": {},
2492
- "entity_matching": {}
2603
+ "entity_matching": {},
2604
+ "expose_client_secret": false
2493
2605
  }
2494
2606
  ],
2495
2607
  "certificate_details": {
@@ -2554,7 +2666,8 @@ const { data } = await client.getPublicPortalConfigV3({
2554
2666
  },
2555
2667
  "entry_point": "PASSWORD",
2556
2668
  "preferred_sso_providers": ["office-365-login"],
2557
- "auto_redirect_to_sso": true
2669
+ "auto_redirect_to_sso": true,
2670
+ "prevent_user_enumeration": true
2558
2671
  },
2559
2672
  "cognito_details": {
2560
2673
  "cognito_user_pool_client_id": "6bsd0jkgoie74k2i8mrhc1vest",
@@ -2783,7 +2896,8 @@ const { data } = await client.getOrgPortalConfigV3({
2783
2896
  },
2784
2897
  "entry_point": "PASSWORD",
2785
2898
  "preferred_sso_providers": ["office-365-login"],
2786
- "auto_redirect_to_sso": true
2899
+ "auto_redirect_to_sso": true,
2900
+ "prevent_user_enumeration": true
2787
2901
  },
2788
2902
  "cognito_details": {
2789
2903
  "cognito_user_pool_client_id": "6bsd0jkgoie74k2i8mrhc1vest",
@@ -2955,7 +3069,8 @@ const { data } = await client.getOrgPortalConfigV3({
2955
3069
  "mobile_oidc_config": {},
2956
3070
  "provider_type": "OIDC",
2957
3071
  "attribute_mappings": {},
2958
- "entity_matching": {}
3072
+ "entity_matching": {},
3073
+ "expose_client_secret": false
2959
3074
  }
2960
3075
  ],
2961
3076
  "certificate_details": {
@@ -3143,6 +3258,74 @@ const { data } = await client.getEmailTemplates({
3143
3258
 
3144
3259
  ---
3145
3260
 
3261
+ ### `migrateEmailTemplateReferences`
3262
+
3263
+ Walk every email-template config row in the caller's org and re-point any
3264
+ field on `email_templates` that currently references `source_template_id`
3265
+ at `destination_template_id`. Intended to be called
3266
+
3267
+ `POST /v3/portal/email-templates:migrate-references`
3268
+
3269
+ ```ts
3270
+ const { data } = await client.migrateEmailTemplateReferences(
3271
+ null,
3272
+ {
3273
+ source_template_id: 'string',
3274
+ destination_template_id: 'string'
3275
+ },
3276
+ )
3277
+ ```
3278
+
3279
+ <details>
3280
+ <summary>Response</summary>
3281
+
3282
+ ```json
3283
+ {
3284
+ "migrated_portal_count": 2,
3285
+ "migrated_portal_ids": ["string"],
3286
+ "failed_portal_ids": ["string"]
3287
+ }
3288
+ ```
3289
+
3290
+ </details>
3291
+
3292
+ ---
3293
+
3294
+ ### `listEmailTemplateReferences`
3295
+
3296
+ Read-only sibling of migrateEmailTemplateReferences. Lists every portal in
3297
+ the caller's org whose `email_templates` config references `template_id`,
3298
+ without rewriting anything. Used by the email-templ
3299
+
3300
+ `POST /v3/portal/email-templates:list-references`
3301
+
3302
+ ```ts
3303
+ const { data } = await client.listEmailTemplateReferences(
3304
+ null,
3305
+ {
3306
+ template_id: 'string'
3307
+ },
3308
+ )
3309
+ ```
3310
+
3311
+ <details>
3312
+ <summary>Response</summary>
3313
+
3314
+ ```json
3315
+ {
3316
+ "portals": [
3317
+ {
3318
+ "id": "string",
3319
+ "name": "string"
3320
+ }
3321
+ ]
3322
+ }
3323
+ ```
3324
+
3325
+ </details>
3326
+
3327
+ ---
3328
+
3146
3329
  ### `upsertEmailTemplatesByPortalId`
3147
3330
 
3148
3331
  Upserts the email templates of a portal by portal ID
@@ -4011,7 +4194,8 @@ const { data } = await client.checkContactExists(
4011
4194
  contract: {
4012
4195
  contract_number: '123456'
4013
4196
  }
4014
- }
4197
+ },
4198
+ trigger_identifiers_check: true
4015
4199
  },
4016
4200
  )
4017
4201
  ```
@@ -4022,7 +4206,8 @@ const { data } = await client.checkContactExists(
4022
4206
  ```json
4023
4207
  {
4024
4208
  "exists": true,
4025
- "contactId": "5da0a718-c822-403d-9f5d-20d4584e0528"
4209
+ "contactId": "5da0a718-c822-403d-9f5d-20d4584e0528",
4210
+ "reason": "TIMEOUT"
4026
4211
  }
4027
4212
  ```
4028
4213
 
@@ -4054,7 +4239,8 @@ const { data } = await client.checkContactExistsV3(
4054
4239
  contract: {
4055
4240
  contract_number: '123456'
4056
4241
  }
4057
- }
4242
+ },
4243
+ trigger_identifiers_check: true
4058
4244
  },
4059
4245
  )
4060
4246
  ```
@@ -4066,7 +4252,8 @@ const { data } = await client.checkContactExistsV3(
4066
4252
  {
4067
4253
  "exists": true,
4068
4254
  "contactId": "5da0a718-c822-403d-9f5d-20d4584e0528",
4069
- "accountId": "5da0a718-c822-403d-9f5d-20d4584e0528"
4255
+ "accountId": "5da0a718-c822-403d-9f5d-20d4584e0528",
4256
+ "reason": "TIMEOUT"
4070
4257
  }
4071
4258
  ```
4072
4259
 
@@ -4285,6 +4472,35 @@ const { data } = await client.updatePortalUserEmail(
4285
4472
 
4286
4473
  ---
4287
4474
 
4475
+ ### `changePortalUserPassword`
4476
+
4477
+ Hand over a password change to the third-party system configured via the `changePassword` portal extension hook.
4478
+ Only available when such a hook is configured for the portal; the built-in password cha
4479
+
4480
+ `PUT /v2/portal/user/change/password`
4481
+
4482
+ ```ts
4483
+ const { data } = await client.changePortalUserPassword(
4484
+ null,
4485
+ {
4486
+ new_password: 'string'
4487
+ },
4488
+ )
4489
+ ```
4490
+
4491
+ <details>
4492
+ <summary>Response</summary>
4493
+
4494
+ ```json
4495
+ {
4496
+ "message": "string"
4497
+ }
4498
+ ```
4499
+
4500
+ </details>
4501
+
4502
+ ---
4503
+
4288
4504
  ### `resendConfirmationEmail`
4289
4505
 
4290
4506
  Resend confirmation email
@@ -7012,7 +7228,8 @@ const { data } = await client.createPortalConfig(
7012
7228
  attribute_mappings: { /* ... */ },
7013
7229
  entity_matching: { /* ... */ },
7014
7230
  oidc_config: { /* ... */ },
7015
- mobile_oidc_config: { /* ... */ }
7231
+ mobile_oidc_config: { /* ... */ },
7232
+ expose_client_secret: false
7016
7233
  }
7017
7234
  ],
7018
7235
  enabled: true,
@@ -7048,7 +7265,8 @@ const { data } = await client.createPortalConfig(
7048
7265
  },
7049
7266
  entry_point: 'PASSWORD',
7050
7267
  preferred_sso_providers: ['office-365-login'],
7051
- auto_redirect_to_sso: true
7268
+ auto_redirect_to_sso: true,
7269
+ prevent_user_enumeration: true
7052
7270
  },
7053
7271
  cognito_details: {
7054
7272
  cognito_user_pool_client_id: '6bsd0jkgoie74k2i8mrhc1vest',
@@ -7251,7 +7469,8 @@ const { data } = await client.createPortalConfig(
7251
7469
  "attribute_mappings": {},
7252
7470
  "entity_matching": {},
7253
7471
  "oidc_config": {},
7254
- "mobile_oidc_config": {}
7472
+ "mobile_oidc_config": {},
7473
+ "expose_client_secret": false
7255
7474
  }
7256
7475
  ],
7257
7476
  "enabled": true,
@@ -7287,7 +7506,8 @@ const { data } = await client.createPortalConfig(
7287
7506
  },
7288
7507
  "entry_point": "PASSWORD",
7289
7508
  "preferred_sso_providers": ["office-365-login"],
7290
- "auto_redirect_to_sso": true
7509
+ "auto_redirect_to_sso": true,
7510
+ "prevent_user_enumeration": true
7291
7511
  },
7292
7512
  "cognito_details": {
7293
7513
  "cognito_user_pool_client_id": "6bsd0jkgoie74k2i8mrhc1vest",
@@ -7525,7 +7745,8 @@ const { data } = await client.getPortalConfigV3({
7525
7745
  "attribute_mappings": {},
7526
7746
  "entity_matching": {},
7527
7747
  "oidc_config": {},
7528
- "mobile_oidc_config": {}
7748
+ "mobile_oidc_config": {},
7749
+ "expose_client_secret": false
7529
7750
  }
7530
7751
  ],
7531
7752
  "enabled": true,
@@ -7561,7 +7782,8 @@ const { data } = await client.getPortalConfigV3({
7561
7782
  },
7562
7783
  "entry_point": "PASSWORD",
7563
7784
  "preferred_sso_providers": ["office-365-login"],
7564
- "auto_redirect_to_sso": true
7785
+ "auto_redirect_to_sso": true,
7786
+ "prevent_user_enumeration": true
7565
7787
  },
7566
7788
  "cognito_details": {
7567
7789
  "cognito_user_pool_client_id": "6bsd0jkgoie74k2i8mrhc1vest",
@@ -7764,6 +7986,7 @@ Updates a specific portal configuration by ID.
7764
7986
  const { data } = await client.putPortalConfig(
7765
7987
  {
7766
7988
  portal_id: 'example',
7989
+ page_upsert_mode: 'example',
7767
7990
  },
7768
7991
  {
7769
7992
  entity_actions: [
@@ -7794,7 +8017,8 @@ const { data } = await client.putPortalConfig(
7794
8017
  attribute_mappings: { /* ... */ },
7795
8018
  entity_matching: { /* ... */ },
7796
8019
  oidc_config: { /* ... */ },
7797
- mobile_oidc_config: { /* ... */ }
8020
+ mobile_oidc_config: { /* ... */ },
8021
+ expose_client_secret: false
7798
8022
  }
7799
8023
  ],
7800
8024
  enabled: true,
@@ -7830,7 +8054,8 @@ const { data } = await client.putPortalConfig(
7830
8054
  },
7831
8055
  entry_point: 'PASSWORD',
7832
8056
  preferred_sso_providers: ['office-365-login'],
7833
- auto_redirect_to_sso: true
8057
+ auto_redirect_to_sso: true,
8058
+ prevent_user_enumeration: true
7834
8059
  },
7835
8060
  cognito_details: {
7836
8061
  cognito_user_pool_client_id: '6bsd0jkgoie74k2i8mrhc1vest',
@@ -8054,7 +8279,8 @@ const { data } = await client.putPortalConfig(
8054
8279
  "attribute_mappings": {},
8055
8280
  "entity_matching": {},
8056
8281
  "oidc_config": {},
8057
- "mobile_oidc_config": {}
8282
+ "mobile_oidc_config": {},
8283
+ "expose_client_secret": false
8058
8284
  }
8059
8285
  ],
8060
8286
  "enabled": true,
@@ -8090,7 +8316,8 @@ const { data } = await client.putPortalConfig(
8090
8316
  },
8091
8317
  "entry_point": "PASSWORD",
8092
8318
  "preferred_sso_providers": ["office-365-login"],
8093
- "auto_redirect_to_sso": true
8319
+ "auto_redirect_to_sso": true,
8320
+ "prevent_user_enumeration": true
8094
8321
  },
8095
8322
  "cognito_details": {
8096
8323
  "cognito_user_pool_client_id": "6bsd0jkgoie74k2i8mrhc1vest",
@@ -8453,7 +8680,8 @@ const { data } = await client.clonePortalConfig(
8453
8680
  "attribute_mappings": {},
8454
8681
  "entity_matching": {},
8455
8682
  "oidc_config": {},
8456
- "mobile_oidc_config": {}
8683
+ "mobile_oidc_config": {},
8684
+ "expose_client_secret": false
8457
8685
  }
8458
8686
  ],
8459
8687
  "enabled": true,
@@ -8489,7 +8717,8 @@ const { data } = await client.clonePortalConfig(
8489
8717
  },
8490
8718
  "entry_point": "PASSWORD",
8491
8719
  "preferred_sso_providers": ["office-365-login"],
8492
- "auto_redirect_to_sso": true
8720
+ "auto_redirect_to_sso": true,
8721
+ "prevent_user_enumeration": true
8493
8722
  },
8494
8723
  "cognito_details": {
8495
8724
  "cognito_user_pool_client_id": "6bsd0jkgoie74k2i8mrhc1vest",
@@ -8905,8 +9134,273 @@ const { data } = await client.portalProxyExecute(
8905
9134
 
8906
9135
  ---
8907
9136
 
9137
+ ### `getMobileConfig`
9138
+
9139
+ Returns the portal's mobile app configuration. By default the response is build-ready (resolved): base info (display_name from the portal name, app_host from the domain, environment) and branding (log
9140
+
9141
+ `GET /v1/portal/mobile-config`
9142
+
9143
+ ```ts
9144
+ const { data } = await client.getMobileConfig({
9145
+ portal_id: 'example',
9146
+ raw: true,
9147
+ })
9148
+ ```
9149
+
9150
+ <details>
9151
+ <summary>Response</summary>
9152
+
9153
+ ```json
9154
+ {
9155
+ "portal_id": "string",
9156
+ "enabled": true,
9157
+ "display_name": "string",
9158
+ "app_host": "string",
9159
+ "environment": "prod",
9160
+ "branding": {
9161
+ "app_icon": "string",
9162
+ "splash": "string",
9163
+ "splash_dark": "string",
9164
+ "icon_background_color": "string",
9165
+ "splash_background_color": "string",
9166
+ "splash_background_color_dark": "string"
9167
+ },
9168
+ "ios": {
9169
+ "bundle_id": "string",
9170
+ "team_id": "string",
9171
+ "credentials_status": "not_configured",
9172
+ "app_store_id": "string",
9173
+ "store_url": "string",
9174
+ "last_build": {
9175
+ "version": "string",
9176
+ "build_number": 0,
9177
+ "track": "string",
9178
+ "status": "building",
9179
+ "updated_at": "1970-01-01T00:00:00.000Z",
9180
+ "error": "string"
9181
+ }
9182
+ },
9183
+ "android": {
9184
+ "package_name": "string",
9185
+ "credentials_status": "not_configured",
9186
+ "upload_key_status": "not_configured",
9187
+ "store_url": "string",
9188
+ "last_build": {
9189
+ "version": "string",
9190
+ "build_number": 0,
9191
+ "track": "string",
9192
+ "status": "building",
9193
+ "updated_at": "1970-01-01T00:00:00.000Z",
9194
+ "error": "string"
9195
+ }
9196
+ }
9197
+ }
9198
+ ```
9199
+
9200
+ </details>
9201
+
9202
+ ---
9203
+
9204
+ ### `putMobileConfig`
9205
+
9206
+ Merges the provided fields into the portal's mobile app configuration
9207
+ (deep merge). Only mobile_config is modified; all other portal settings
9208
+ are left untouched.
9209
+
9210
+ `PUT /v1/portal/mobile-config`
9211
+
9212
+ ```ts
9213
+ const { data } = await client.putMobileConfig(
9214
+ {
9215
+ portal_id: 'example',
9216
+ },
9217
+ {
9218
+ enabled: true,
9219
+ ios: {
9220
+ bundle_id: 'string',
9221
+ team_id: 'string',
9222
+ store_url: 'string',
9223
+ app_store_id: 'string'
9224
+ },
9225
+ android: {
9226
+ package_name: 'string',
9227
+ store_url: 'string'
9228
+ },
9229
+ branding: {
9230
+ app_icon: 'string',
9231
+ splash: 'string',
9232
+ splash_dark: 'string',
9233
+ icon_background_color: 'string',
9234
+ splash_background_color: 'string',
9235
+ splash_background_color_dark: 'string'
9236
+ }
9237
+ },
9238
+ )
9239
+ ```
9240
+
9241
+ <details>
9242
+ <summary>Response</summary>
9243
+
9244
+ ```json
9245
+ {
9246
+ "portal_id": "string",
9247
+ "enabled": true,
9248
+ "display_name": "string",
9249
+ "app_host": "string",
9250
+ "environment": "prod",
9251
+ "branding": {
9252
+ "app_icon": "string",
9253
+ "splash": "string",
9254
+ "splash_dark": "string",
9255
+ "icon_background_color": "string",
9256
+ "splash_background_color": "string",
9257
+ "splash_background_color_dark": "string"
9258
+ },
9259
+ "ios": {
9260
+ "bundle_id": "string",
9261
+ "team_id": "string",
9262
+ "credentials_status": "not_configured",
9263
+ "app_store_id": "string",
9264
+ "store_url": "string",
9265
+ "last_build": {
9266
+ "version": "string",
9267
+ "build_number": 0,
9268
+ "track": "string",
9269
+ "status": "building",
9270
+ "updated_at": "1970-01-01T00:00:00.000Z",
9271
+ "error": "string"
9272
+ }
9273
+ },
9274
+ "android": {
9275
+ "package_name": "string",
9276
+ "credentials_status": "not_configured",
9277
+ "upload_key_status": "not_configured",
9278
+ "store_url": "string",
9279
+ "last_build": {
9280
+ "version": "string",
9281
+ "build_number": 0,
9282
+ "track": "string",
9283
+ "status": "building",
9284
+ "updated_at": "1970-01-01T00:00:00.000Z",
9285
+ "error": "string"
9286
+ }
9287
+ }
9288
+ }
9289
+ ```
9290
+
9291
+ </details>
9292
+
9293
+ ---
9294
+
8908
9295
  ## Schemas
8909
9296
 
9297
+ ### `MobileBuildStatus`
9298
+
9299
+ Latest build/upload status for a platform (system-written).
9300
+
9301
+ ```ts
9302
+ type MobileBuildStatus = {
9303
+ version?: string
9304
+ build_number?: number
9305
+ track?: string
9306
+ status?: "building" | "uploaded" | "failed"
9307
+ updated_at?: string // date-time
9308
+ error?: string
9309
+ }
9310
+ ```
9311
+
9312
+ ### `MobileBranding`
9313
+
9314
+ ```ts
9315
+ type MobileBranding = {
9316
+ app_icon?: string
9317
+ splash?: string
9318
+ splash_dark?: string
9319
+ icon_background_color?: string
9320
+ splash_background_color?: string
9321
+ splash_background_color_dark?: string
9322
+ }
9323
+ ```
9324
+
9325
+ ### `MobileConfig`
9326
+
9327
+ Mobile app configuration for the portal. Stored inside the portal's config object. Identifiers/branding are non-secret; signing credentials live in a secure store, never here.
9328
+
9329
+ ```ts
9330
+ type MobileConfig = {
9331
+ portal_id?: string
9332
+ enabled?: boolean
9333
+ display_name?: string
9334
+ app_host?: string
9335
+ environment?: "prod" | "staging" | "dev"
9336
+ branding?: {
9337
+ app_icon?: string
9338
+ splash?: string
9339
+ splash_dark?: string
9340
+ icon_background_color?: string
9341
+ splash_background_color?: string
9342
+ splash_background_color_dark?: string
9343
+ }
9344
+ ios?: {
9345
+ bundle_id?: string
9346
+ team_id?: string
9347
+ credentials_status?: "not_configured" | "configured"
9348
+ app_store_id?: string
9349
+ store_url?: string
9350
+ last_build?: {
9351
+ version?: { ... }
9352
+ build_number?: { ... }
9353
+ track?: { ... }
9354
+ status?: { ... }
9355
+ updated_at?: { ... }
9356
+ error?: { ... }
9357
+ }
9358
+ }
9359
+ android?: {
9360
+ package_name?: string
9361
+ credentials_status?: "not_configured" | "configured"
9362
+ upload_key_status?: "not_configured" | "generated" | "enrolled"
9363
+ store_url?: string
9364
+ last_build?: {
9365
+ version?: { ... }
9366
+ build_number?: { ... }
9367
+ track?: { ... }
9368
+ status?: { ... }
9369
+ updated_at?: { ... }
9370
+ error?: { ... }
9371
+ }
9372
+ }
9373
+ }
9374
+ ```
9375
+
9376
+ ### `MobileConfigUpdate`
9377
+
9378
+ Editable mobile fields for PUT. Only mobile-relevant settings + app branding can be changed. Portal-derived values (display_name, app_host), the portal logo, and system-written fields (credentials_status, app_store_id, last_build, …) are ignored if sent.
9379
+
9380
+ ```ts
9381
+ type MobileConfigUpdate = {
9382
+ enabled?: boolean
9383
+ ios?: {
9384
+ bundle_id?: string
9385
+ team_id?: string
9386
+ store_url?: string
9387
+ app_store_id?: string
9388
+ }
9389
+ android?: {
9390
+ package_name?: string
9391
+ store_url?: string
9392
+ }
9393
+ branding?: {
9394
+ app_icon?: string
9395
+ splash?: string
9396
+ splash_dark?: string
9397
+ icon_background_color?: string
9398
+ splash_background_color?: string
9399
+ splash_background_color_dark?: string
9400
+ }
9401
+ }
9402
+ ```
9403
+
8910
9404
  ### `ContextEntity`
8911
9405
 
8912
9406
  An entity reference for context-aware operations
@@ -9114,6 +9608,7 @@ type UpdateOnlyPortalConfigAttributes = {
9114
9608
  client_id?: { ... }
9115
9609
  client_secret?: { ... }
9116
9610
  }
9611
+ expose_client_secret?: boolean
9117
9612
  }>
9118
9613
  }
9119
9614
  ```
@@ -9156,6 +9651,7 @@ type CommonConfigAttributes = {
9156
9651
  entry_point?: "PASSWORD" | "SSO"
9157
9652
  preferred_sso_providers?: string[]
9158
9653
  auto_redirect_to_sso?: boolean
9654
+ prevent_user_enumeration?: boolean
9159
9655
  }
9160
9656
  cognito_details?: {
9161
9657
  cognito_user_pool_client_id?: string
@@ -9220,7 +9716,6 @@ type CommonConfigAttributes = {
9220
9716
  title_path?: string
9221
9717
  }
9222
9718
  registration_identifiers?: Array<{
9223
- name?: string
9224
9719
  // ...
9225
9720
  }
9226
9721
  ```
@@ -9288,6 +9783,7 @@ type UpsertPortalConfig = {
9288
9783
  client_id?: { ... }
9289
9784
  client_secret?: { ... }
9290
9785
  }
9786
+ expose_client_secret?: boolean
9291
9787
  }>
9292
9788
  enabled?: boolean
9293
9789
  name?: string
@@ -9323,11 +9819,10 @@ type UpsertPortalConfig = {
9323
9819
  entry_point?: "PASSWORD" | "SSO"
9324
9820
  preferred_sso_providers?: string[]
9325
9821
  auto_redirect_to_sso?: boolean
9822
+ prevent_user_enumeration?: boolean
9326
9823
  }
9327
9824
  cognito_details?: {
9328
9825
  cognito_user_pool_client_id?: string
9329
- cognito_user_pool_arn?: string
9330
- cognito_user_pool_id?: string
9331
9826
  // ...
9332
9827
  }
9333
9828
  ```
@@ -9370,6 +9865,7 @@ type PortalConfig = {
9370
9865
  entry_point?: "PASSWORD" | "SSO"
9371
9866
  preferred_sso_providers?: string[]
9372
9867
  auto_redirect_to_sso?: boolean
9868
+ prevent_user_enumeration?: boolean
9373
9869
  }
9374
9870
  cognito_details?: {
9375
9871
  cognito_user_pool_client_id?: string
@@ -9434,7 +9930,6 @@ type PortalConfig = {
9434
9930
  title_path?: string
9435
9931
  }
9436
9932
  registration_identifiers?: Array<{
9437
- name?: string
9438
9933
  // ...
9439
9934
  }
9440
9935
  ```
@@ -9903,6 +10398,7 @@ type ContactCountRequest = {
9903
10398
  type ContactExistsRequest = {
9904
10399
  org_id: string
9905
10400
  registration_identifiers: Record<string, Record<string, string>>
10401
+ trigger_identifiers_check?: boolean
9906
10402
  }
9907
10403
  ```
9908
10404
 
@@ -10980,6 +11476,65 @@ type PublicExtensionCapabilities = {
10980
11476
  plausibility_mode?: { ... }
10981
11477
  }
10982
11478
  }
11479
+ changeEmail?: {
11480
+ app?: {
11481
+ app_id?: { ... }
11482
+ name?: { ... }
11483
+ }
11484
+ extension?: {
11485
+ id?: { ... }
11486
+ name?: { ... }
11487
+ }
11488
+ hook?: {
11489
+ id?: { ... }
11490
+ require_password_confirmation?: { ... }
11491
+ explanation?: { ... }
11492
+ // ...
11493
+ }
11494
+ ```
11495
+
11496
+ ### `PublicSelfManagementExplanation`
11497
+
11498
+ Explanation of the hook.
11499
+
11500
+ ```ts
11501
+ type PublicSelfManagementExplanation = {
11502
+ en: string
11503
+ }
11504
+ ```
11505
+
11506
+ ### `PublicChangeEmailDetails`
11507
+
11508
+ ```ts
11509
+ type PublicChangeEmailDetails = {
11510
+ id?: string
11511
+ require_password_confirmation?: boolean
11512
+ explanation?: {
11513
+ en: string
11514
+ }
11515
+ }
11516
+ ```
11517
+
11518
+ ### `PublicChangePasswordDetails`
11519
+
11520
+ ```ts
11521
+ type PublicChangePasswordDetails = {
11522
+ id?: string
11523
+ require_new_password?: boolean
11524
+ explanation?: {
11525
+ en: string
11526
+ }
11527
+ }
11528
+ ```
11529
+
11530
+ ### `PublicDeleteAccountDetails`
11531
+
11532
+ ```ts
11533
+ type PublicDeleteAccountDetails = {
11534
+ id?: string
11535
+ explanation?: {
11536
+ en: string
11537
+ }
10983
11538
  }
10984
11539
  ```
10985
11540
 
@@ -11535,6 +12090,124 @@ type ExtensionHookCostDataRetrieval = {
11535
12090
  }
11536
12091
  ```
11537
12092
 
12093
+ ### `ExtensionHookChangeEmail`
12094
+
12095
+ Hook that replaces the built-in change email functionality for portal users. When configured, the portal does not change the user's login email itself. Instead, this hook makes an HTTP call to the third-party system, which is expected to handle the email change (most likely by sending the user instr
12096
+
12097
+ ```ts
12098
+ type ExtensionHookChangeEmail = {
12099
+ type: "changeEmail"
12100
+ require_password_confirmation?: boolean
12101
+ explanation?: {
12102
+ en: string
12103
+ }
12104
+ auth?: {
12105
+ method?: string
12106
+ url: string
12107
+ params?: Record<string, string>
12108
+ headers?: Record<string, string>
12109
+ body?: Record<string, string>
12110
+ cache?: {
12111
+ key: { ... }
12112
+ ttl: { ... }
12113
+ }
12114
+ }
12115
+ call: {
12116
+ method?: string
12117
+ url: string
12118
+ params?: Record<string, string>
12119
+ headers: Record<string, string>
12120
+ body?: object
12121
+ }
12122
+ resolved?: {
12123
+ error_message_path?: string
12124
+ }
12125
+ secure_proxy?: {
12126
+ integration_id: string // uuid
12127
+ use_case_slug: string
12128
+ }
12129
+ }
12130
+ ```
12131
+
12132
+ ### `ExtensionHookChangePassword`
12133
+
12134
+ Hook that replaces the built-in change password functionality for portal users. When configured, the portal does not change the user's password itself. Instead, this hook makes an HTTP call to the third-party system, which is expected to handle the password change (most likely by sending the user in
12135
+
12136
+ ```ts
12137
+ type ExtensionHookChangePassword = {
12138
+ type: "changePassword"
12139
+ require_new_password?: boolean
12140
+ explanation?: {
12141
+ en: string
12142
+ }
12143
+ auth?: {
12144
+ method?: string
12145
+ url: string
12146
+ params?: Record<string, string>
12147
+ headers?: Record<string, string>
12148
+ body?: Record<string, string>
12149
+ cache?: {
12150
+ key: { ... }
12151
+ ttl: { ... }
12152
+ }
12153
+ }
12154
+ call: {
12155
+ method?: string
12156
+ url: string
12157
+ params?: Record<string, string>
12158
+ headers: Record<string, string>
12159
+ body?: object
12160
+ }
12161
+ resolved?: {
12162
+ error_message_path?: string
12163
+ }
12164
+ secure_proxy?: {
12165
+ integration_id: string // uuid
12166
+ use_case_slug: string
12167
+ }
12168
+ }
12169
+ ```
12170
+
12171
+ ### `ExtensionHookDeleteAccount`
12172
+
12173
+ Hook that replaces the built-in delete account functionality for portal users. When configured, the portal does not delete the user itself. Instead, this hook makes an HTTP call to the third-party system, which is expected to handle the deletion.
12174
+ The `deletion_mode` controls what the portal does aft
12175
+
12176
+ ```ts
12177
+ type ExtensionHookDeleteAccount = {
12178
+ type: "deleteAccount"
12179
+ deletion_mode?: "synchronous" | "asynchronous"
12180
+ explanation?: {
12181
+ en: string
12182
+ }
12183
+ auth?: {
12184
+ method?: string
12185
+ url: string
12186
+ params?: Record<string, string>
12187
+ headers?: Record<string, string>
12188
+ body?: Record<string, string>
12189
+ cache?: {
12190
+ key: { ... }
12191
+ ttl: { ... }
12192
+ }
12193
+ }
12194
+ call: {
12195
+ method?: string
12196
+ url: string
12197
+ params?: Record<string, string>
12198
+ headers: Record<string, string>
12199
+ body?: object
12200
+ }
12201
+ resolved?: {
12202
+ error_message_path?: string
12203
+ }
12204
+ secure_proxy?: {
12205
+ integration_id: string // uuid
12206
+ use_case_slug: string
12207
+ }
12208
+ }
12209
+ ```
12210
+
11538
12211
  ### `SecureProxyConfig`
11539
12212
 
11540
12213
  Configuration for routing requests through the ERP Integration secure proxy. Mutually exclusive with use_static_ips.
@@ -11744,6 +12417,7 @@ type ProviderConfig = {
11744
12417
  client_id?: string
11745
12418
  client_secret?: string
11746
12419
  }
12420
+ expose_client_secret?: boolean
11747
12421
  }
11748
12422
  ```
11749
12423
 
@@ -12142,6 +12816,7 @@ type CommonConfigAttributesV3 = {
12142
12816
  entry_point?: "PASSWORD" | "SSO"
12143
12817
  preferred_sso_providers?: string[]
12144
12818
  auto_redirect_to_sso?: boolean
12819
+ prevent_user_enumeration?: boolean
12145
12820
  }
12146
12821
  cognito_details?: {
12147
12822
  cognito_user_pool_client_id?: string
@@ -12206,7 +12881,6 @@ type CommonConfigAttributesV3 = {
12206
12881
  title_path?: string
12207
12882
  }
12208
12883
  registration_identifiers?: Array<{
12209
- name?: string
12210
12884
  // ...
12211
12885
  }
12212
12886
  ```
@@ -12282,6 +12956,7 @@ type UpsertPortalConfigV3 = {
12282
12956
  client_id?: { ... }
12283
12957
  client_secret?: { ... }
12284
12958
  }
12959
+ expose_client_secret?: boolean
12285
12960
  }>
12286
12961
  enabled?: boolean
12287
12962
  name?: string
@@ -12317,11 +12992,10 @@ type UpsertPortalConfigV3 = {
12317
12992
  entry_point?: "PASSWORD" | "SSO"
12318
12993
  preferred_sso_providers?: string[]
12319
12994
  auto_redirect_to_sso?: boolean
12995
+ prevent_user_enumeration?: boolean
12320
12996
  }
12321
12997
  cognito_details?: {
12322
12998
  cognito_user_pool_client_id?: string
12323
- cognito_user_pool_arn?: string
12324
- cognito_user_pool_id?: string
12325
12999
  // ...
12326
13000
  }
12327
13001
  ```
@@ -12412,6 +13086,7 @@ type PortalConfigV3 = {
12412
13086
  entry_point?: "PASSWORD" | "SSO"
12413
13087
  preferred_sso_providers?: string[]
12414
13088
  auto_redirect_to_sso?: boolean
13089
+ prevent_user_enumeration?: boolean
12415
13090
  }
12416
13091
  cognito_details?: {
12417
13092
  cognito_user_pool_client_id?: string
@@ -12428,7 +13103,6 @@ type PortalConfigV3 = {
12428
13103
  compromised_credentials_detection?: { ... }
12429
13104
  }
12430
13105
  password_policy?: {
12431
- minimum_length?: { ... }
12432
13106
  // ...
12433
13107
  }
12434
13108
  ```