@epilot/customer-portal-client 0.39.2 → 0.39.4

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.
package/dist/openapi.d.ts CHANGED
@@ -229,6 +229,22 @@ declare namespace Components {
229
229
  caller?: ActivityCallerContext;
230
230
  };
231
231
  }
232
+ /**
233
+ * A contact attribute that is collected from the user during self-registration
234
+ * and written onto the newly created contact, but is NOT used to identify
235
+ * an existing contact.
236
+ *
237
+ */
238
+ export interface AdditionalContactAttribute {
239
+ /**
240
+ * Name of the contact attribute
241
+ */
242
+ name: string;
243
+ /**
244
+ * Whether the user must provide a value for this attribute
245
+ */
246
+ required?: boolean;
247
+ }
232
248
  export interface AdminUser {
233
249
  [name: string]: any;
234
250
  /**
@@ -927,7 +943,7 @@ declare namespace Components {
927
943
  * example:
928
944
  * abc.com
929
945
  */
930
- domain: string;
946
+ domain?: string;
931
947
  /**
932
948
  * Mark true if the domain is an Epilot domain
933
949
  */
@@ -959,9 +975,21 @@ declare namespace Components {
959
975
  allowed_portal_entities?: string[];
960
976
  self_registration_setting?: "ALLOW_WITH_CONTACT_CREATION" | "ALLOW_WITHOUT_CONTACT_CREATION" | "DENY" | "ALWAYS_CREATE_CONTACT" | "DISALLOW_COMPLETELY" | "BLOCK_IF_PORTAL_USER_EXISTS";
961
977
  /**
962
- * Controls behavior of self-registration when account is used as the registration entity
978
+ * Controls behavior of self-registration when account is the registration
979
+ * entity. `BLOCK_IF_PORTAL_USER_EXISTS` matches an existing account and
980
+ * rejects the request when any portal user is already linked to that
981
+ * account (no creation). Blocking can also be enabled on the other
982
+ * non-create modes via `block_registration_if_portal_user_exists`.
983
+ *
984
+ */
985
+ self_registration_account_setting?: "ALLOW_WITH_CREATION" | "DENY" | "ALWAYS_CREATE" | "BLOCK_IF_PORTAL_USER_EXISTS" | "DISALLOW_COMPLETELY";
986
+ /**
987
+ * Account-mode only. Reject registration when the resolved account already
988
+ * has any portal user (any portal user whose mapped contact is linked to
989
+ * the account).
990
+ *
963
991
  */
964
- self_registration_account_setting?: "ALLOW_WITH_CONTACT_CREATION" | "DENY" | "ALWAYS_CREATE_CONTACT" | "DISALLOW_COMPLETELY";
992
+ block_registration_if_portal_user_exists?: boolean;
965
993
  /**
966
994
  * Entity type used as the primary identifier for self-registration
967
995
  */
@@ -1024,6 +1052,11 @@ declare namespace Components {
1024
1052
  * Decide whether to automatically redirect to the provider page during login, which would completely bypass showing the portal authentication page.
1025
1053
  */
1026
1054
  auto_redirect_to_sso?: boolean;
1055
+ /**
1056
+ * Opt-in. When true, suppresses responses that reveal whether a user exists for public, pre-authentication actions (the login entry-point check and self-registration), at the expense of some UX. Already-authenticated actions are unaffected. Default false.
1057
+ *
1058
+ */
1059
+ prevent_user_enumeration?: boolean;
1027
1060
  };
1028
1061
  /**
1029
1062
  * AWS Cognito Pool details for the portal
@@ -1249,6 +1282,49 @@ declare namespace Components {
1249
1282
  * ]
1250
1283
  */
1251
1284
  registration_identifiers?: ContractIdentifier[];
1285
+ /**
1286
+ * Account-mode only. Identifiers on the contact entity of the primarily
1287
+ * identified account. Used to pick an existing related contact within the
1288
+ * resolved account; if none matches, the values are written onto the new
1289
+ * contact that is created and linked to the account.
1290
+ *
1291
+ * example:
1292
+ * [
1293
+ * {
1294
+ * "name": "first_name",
1295
+ * "schema": "contact"
1296
+ * },
1297
+ * {
1298
+ * "name": "last_name",
1299
+ * "schema": "contact"
1300
+ * }
1301
+ * ]
1302
+ */
1303
+ contact_identifiers_for_account?: RegistrationIdentifier[];
1304
+ /**
1305
+ * Contact attributes collected from the user during self-registration that are
1306
+ * written onto the newly created contact but are not used to identify an
1307
+ * existing one.
1308
+ *
1309
+ * example:
1310
+ * [
1311
+ * {
1312
+ * "name": "first_name",
1313
+ * "required": true
1314
+ * },
1315
+ * {
1316
+ * "name": "last_name",
1317
+ * "required": true
1318
+ * }
1319
+ * ]
1320
+ */
1321
+ additional_contact_attributes?: /**
1322
+ * A contact attribute that is collected from the user during self-registration
1323
+ * and written onto the newly created contact, but is NOT used to identify
1324
+ * an existing contact.
1325
+ *
1326
+ */
1327
+ AdditionalContactAttribute[];
1252
1328
  /**
1253
1329
  * Journeys automatically opened on a portal user action
1254
1330
  */
@@ -1260,6 +1336,21 @@ declare namespace Components {
1260
1336
  * 5da0a718-c822-403d-9f5d-20d4584e0528
1261
1337
  */
1262
1338
  EntityId /* uuid */;
1339
+ /**
1340
+ * Context parameters forwarded to the journey when it is
1341
+ * auto-triggered. Values may contain handlebars templates
1342
+ * that reference the available context (e.g.
1343
+ * `{{contact._id}}`, `{{portal_user.email}}`,
1344
+ * `{{order._id}}`) — these are resolved at trigger time by
1345
+ * `GET /v2/portal/config/triggered-journeys/{trigger_name}`
1346
+ * using the caller's auth context plus runtime entities
1347
+ * supplied via the `context_entities` query param.
1348
+ *
1349
+ */
1350
+ context_params?: {
1351
+ key?: string;
1352
+ value?: string;
1353
+ }[];
1263
1354
  }[];
1264
1355
  /**
1265
1356
  * Rules for editing an entity by a portal user
@@ -1401,9 +1492,21 @@ declare namespace Components {
1401
1492
  allowed_portal_entities?: string[];
1402
1493
  self_registration_setting?: "ALLOW_WITH_CONTACT_CREATION" | "ALLOW_WITHOUT_CONTACT_CREATION" | "DENY" | "ALWAYS_CREATE_CONTACT" | "DISALLOW_COMPLETELY" | "BLOCK_IF_PORTAL_USER_EXISTS";
1403
1494
  /**
1404
- * Controls behavior of self-registration when account is used as the registration entity
1495
+ * Controls behavior of self-registration when account is the registration
1496
+ * entity. `BLOCK_IF_PORTAL_USER_EXISTS` matches an existing account and
1497
+ * rejects the request when any portal user is already linked to that
1498
+ * account (no creation). Blocking can also be enabled on the other
1499
+ * non-create modes via `block_registration_if_portal_user_exists`.
1500
+ *
1405
1501
  */
1406
- self_registration_account_setting?: "ALLOW_WITH_CONTACT_CREATION" | "DENY" | "ALWAYS_CREATE_CONTACT" | "DISALLOW_COMPLETELY";
1502
+ self_registration_account_setting?: "ALLOW_WITH_CREATION" | "DENY" | "ALWAYS_CREATE" | "BLOCK_IF_PORTAL_USER_EXISTS" | "DISALLOW_COMPLETELY";
1503
+ /**
1504
+ * Account-mode only. Reject registration when the resolved account already
1505
+ * has any portal user (any portal user whose mapped contact is linked to
1506
+ * the account).
1507
+ *
1508
+ */
1509
+ block_registration_if_portal_user_exists?: boolean;
1407
1510
  /**
1408
1511
  * Entity type used as the primary identifier for self-registration
1409
1512
  */
@@ -1466,6 +1569,11 @@ declare namespace Components {
1466
1569
  * Decide whether to automatically redirect to the provider page during login, which would completely bypass showing the portal authentication page.
1467
1570
  */
1468
1571
  auto_redirect_to_sso?: boolean;
1572
+ /**
1573
+ * Opt-in. When true, suppresses responses that reveal whether a user exists for public, pre-authentication actions (the login entry-point check and self-registration), at the expense of some UX. Already-authenticated actions are unaffected. Default false.
1574
+ *
1575
+ */
1576
+ prevent_user_enumeration?: boolean;
1469
1577
  };
1470
1578
  /**
1471
1579
  * AWS Cognito Pool details for the portal
@@ -1691,6 +1799,49 @@ declare namespace Components {
1691
1799
  * ]
1692
1800
  */
1693
1801
  registration_identifiers?: ContractIdentifier[];
1802
+ /**
1803
+ * Account-mode only. Identifiers on the contact entity of the primarily
1804
+ * identified account. Used to pick an existing related contact within the
1805
+ * resolved account; if none matches, the values are written onto the new
1806
+ * contact that is created and linked to the account.
1807
+ *
1808
+ * example:
1809
+ * [
1810
+ * {
1811
+ * "name": "first_name",
1812
+ * "schema": "contact"
1813
+ * },
1814
+ * {
1815
+ * "name": "last_name",
1816
+ * "schema": "contact"
1817
+ * }
1818
+ * ]
1819
+ */
1820
+ contact_identifiers_for_account?: RegistrationIdentifier[];
1821
+ /**
1822
+ * Contact attributes collected from the user during self-registration that are
1823
+ * written onto the newly created contact but are not used to identify an
1824
+ * existing one.
1825
+ *
1826
+ * example:
1827
+ * [
1828
+ * {
1829
+ * "name": "first_name",
1830
+ * "required": true
1831
+ * },
1832
+ * {
1833
+ * "name": "last_name",
1834
+ * "required": true
1835
+ * }
1836
+ * ]
1837
+ */
1838
+ additional_contact_attributes?: /**
1839
+ * A contact attribute that is collected from the user during self-registration
1840
+ * and written onto the newly created contact, but is NOT used to identify
1841
+ * an existing contact.
1842
+ *
1843
+ */
1844
+ AdditionalContactAttribute[];
1694
1845
  /**
1695
1846
  * Journeys automatically opened on a portal user action
1696
1847
  */
@@ -1702,6 +1853,21 @@ declare namespace Components {
1702
1853
  * 5da0a718-c822-403d-9f5d-20d4584e0528
1703
1854
  */
1704
1855
  EntityId /* uuid */;
1856
+ /**
1857
+ * Context parameters forwarded to the journey when it is
1858
+ * auto-triggered. Values may contain handlebars templates
1859
+ * that reference the available context (e.g.
1860
+ * `{{contact._id}}`, `{{portal_user.email}}`,
1861
+ * `{{order._id}}`) — these are resolved at trigger time by
1862
+ * `GET /v2/portal/config/triggered-journeys/{trigger_name}`
1863
+ * using the caller's auth context plus runtime entities
1864
+ * supplied via the `context_entities` query param.
1865
+ *
1866
+ */
1867
+ context_params?: {
1868
+ key?: string;
1869
+ value?: string;
1870
+ }[];
1705
1871
  }[];
1706
1872
  /**
1707
1873
  * Rules for editing an entity by a portal user
@@ -2213,6 +2379,36 @@ declare namespace Components {
2213
2379
  [name: string]: string;
2214
2380
  };
2215
2381
  };
2382
+ /**
2383
+ * Account-mode only. Values for the contact identifiers configured
2384
+ * under `contact_identifiers_for_account` on the portal. Used to
2385
+ * find an existing related contact within the resolved account, or
2386
+ * written onto the new contact if none matches.
2387
+ *
2388
+ * example:
2389
+ * {
2390
+ * "first_name": "John",
2391
+ * "last_name": "Doe"
2392
+ * }
2393
+ */
2394
+ contact_identifiers_for_account?: {
2395
+ [name: string]: string;
2396
+ };
2397
+ /**
2398
+ * Values for the contact attributes configured under
2399
+ * `additional_contact_attributes` on the portal. These are written
2400
+ * onto the newly created contact but are not used to identify an
2401
+ * existing one.
2402
+ *
2403
+ * example:
2404
+ * {
2405
+ * "first_name": "John",
2406
+ * "last_name": "Doe"
2407
+ * }
2408
+ */
2409
+ additional_contact_attributes?: {
2410
+ [name: string]: string;
2411
+ };
2216
2412
  /**
2217
2413
  * ID of the account
2218
2414
  */
@@ -3386,6 +3582,10 @@ declare namespace Components {
3386
3582
  /**
3387
3583
  * Optional path to the data (array) in the response. If omitted, the data is assumed to be on the top level.
3388
3584
  */
3585
+ data_path?: string;
3586
+ /**
3587
+ * Deprecated. Use `data_path` instead.
3588
+ */
3389
3589
  dataPath?: string;
3390
3590
  /**
3391
3591
  * Optional path to a human-readable error message in the third-party response body, used when the call fails (non-2xx status).
@@ -3394,7 +3594,7 @@ declare namespace Components {
3394
3594
  * example:
3395
3595
  * error.message
3396
3596
  */
3397
- errorMessagePath?: string;
3597
+ error_message_path?: string;
3398
3598
  };
3399
3599
  /**
3400
3600
  * Deprecated. Prefer `secure_proxy` instead.
@@ -3449,10 +3649,24 @@ declare namespace Components {
3449
3649
  [key: string]: any;
3450
3650
  };
3451
3651
  /**
3452
- * 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.
3652
+ * 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.
3453
3653
  */
3454
3654
  result?: string;
3455
3655
  };
3656
+ resolved?: {
3657
+ /**
3658
+ * 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`.
3659
+ */
3660
+ result?: string;
3661
+ /**
3662
+ * Optional path to a human-readable error message in the third-party response body, used when the call fails (non-2xx status).
3663
+ * If specified and the path resolves to a string, that message is forwarded to the end user instead of a generic error.
3664
+ *
3665
+ * example:
3666
+ * error.message
3667
+ */
3668
+ error_message_path?: string;
3669
+ };
3456
3670
  /**
3457
3671
  * Mode of contract assignment. See hook description for mode details.
3458
3672
  */
@@ -3523,6 +3737,10 @@ declare namespace Components {
3523
3737
  /**
3524
3738
  * Optional path to the data (array) in the response. If omitted, the data is assumed to be on the top level.
3525
3739
  */
3740
+ data_path?: string;
3741
+ /**
3742
+ * Deprecated. Use `data_path` instead.
3743
+ */
3526
3744
  dataPath?: string;
3527
3745
  /**
3528
3746
  * Optional path to a human-readable error message in the third-party response body, used when the call fails (non-2xx status).
@@ -3531,7 +3749,7 @@ declare namespace Components {
3531
3749
  * example:
3532
3750
  * error.message
3533
3751
  */
3534
- errorMessagePath?: string;
3752
+ error_message_path?: string;
3535
3753
  };
3536
3754
  /**
3537
3755
  * Deprecated. Prefer `secure_proxy` instead.
@@ -3593,7 +3811,7 @@ declare namespace Components {
3593
3811
  * example:
3594
3812
  * error.message
3595
3813
  */
3596
- errorMessagePath?: string;
3814
+ error_message_path?: string;
3597
3815
  };
3598
3816
  /**
3599
3817
  * Deprecated. Prefer `secure_proxy` instead.
@@ -3652,6 +3870,10 @@ declare namespace Components {
3652
3870
  * example:
3653
3871
  * data.results
3654
3872
  */
3873
+ data_path?: string;
3874
+ /**
3875
+ * Deprecated. Use `data_path` instead.
3876
+ */
3655
3877
  dataPath?: string;
3656
3878
  /**
3657
3879
  * Counter identifier(s) used to match against the meter's counters.
@@ -3695,7 +3917,7 @@ declare namespace Components {
3695
3917
  * example:
3696
3918
  * error.message
3697
3919
  */
3698
- errorMessagePath?: string;
3920
+ error_message_path?: string;
3699
3921
  };
3700
3922
  /**
3701
3923
  * Deprecated. Prefer `secure_proxy` instead.
@@ -3745,6 +3967,10 @@ declare namespace Components {
3745
3967
  /**
3746
3968
  * Optional path to the data (array) in the response. If omitted, the data is assumed to be on the top level.
3747
3969
  */
3970
+ data_path?: string;
3971
+ /**
3972
+ * Deprecated. Use `data_path` instead.
3973
+ */
3748
3974
  dataPath?: string;
3749
3975
  /**
3750
3976
  * Optional path to a human-readable error message in the third-party response body, used when the call fails (non-2xx status).
@@ -3753,7 +3979,7 @@ declare namespace Components {
3753
3979
  * example:
3754
3980
  * error.message
3755
3981
  */
3756
- errorMessagePath?: string;
3982
+ error_message_path?: string;
3757
3983
  };
3758
3984
  /**
3759
3985
  * Deprecated. Prefer `secure_proxy` instead.
@@ -3800,9 +4026,23 @@ declare namespace Components {
3800
4026
  [key: string]: any;
3801
4027
  };
3802
4028
  /**
3803
- * 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.
4029
+ * 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.
4030
+ */
4031
+ result?: string;
4032
+ };
4033
+ resolved?: {
4034
+ /**
4035
+ * 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`.
3804
4036
  */
3805
4037
  result?: string;
4038
+ /**
4039
+ * Optional path to a human-readable error message in the third-party response body, used when the call fails (non-2xx status).
4040
+ * If specified and the path resolves to a string, that message is forwarded to the end user instead of a generic error.
4041
+ *
4042
+ * example:
4043
+ * error.message
4044
+ */
4045
+ error_message_path?: string;
3806
4046
  };
3807
4047
  /**
3808
4048
  * Deprecated. Prefer `secure_proxy` instead.
@@ -3865,6 +4105,10 @@ declare namespace Components {
3865
4105
  /**
3866
4106
  * Optional path to the metadata object in the response. If omitted, the metadata is assumed to be on the top level.
3867
4107
  */
4108
+ data_path?: string;
4109
+ /**
4110
+ * Deprecated. Use `data_path` instead.
4111
+ */
3868
4112
  dataPath?: string;
3869
4113
  /**
3870
4114
  * Optional path to a human-readable error message in the third-party response body, used when the call fails (non-2xx status).
@@ -3873,7 +4117,7 @@ declare namespace Components {
3873
4117
  * example:
3874
4118
  * error.message
3875
4119
  */
3876
- errorMessagePath?: string;
4120
+ error_message_path?: string;
3877
4121
  };
3878
4122
  /**
3879
4123
  * Deprecated. Prefer `secure_proxy` instead.
@@ -4686,7 +4930,7 @@ declare namespace Components {
4686
4930
  */
4687
4931
  scope: string;
4688
4932
  metadata?: OIDCProviderMetadata;
4689
- prompt?: "login" | "select_account" | "consent";
4933
+ prompt?: "login" | "select_account" | "consent" | "signup";
4690
4934
  }
4691
4935
  export interface OIDCProviderMetadata {
4692
4936
  /**
@@ -5308,7 +5552,7 @@ declare namespace Components {
5308
5552
  * example:
5309
5553
  * abc.com
5310
5554
  */
5311
- domain: string;
5555
+ domain?: string;
5312
5556
  /**
5313
5557
  * Mark true if the domain is an Epilot domain
5314
5558
  */
@@ -5337,9 +5581,21 @@ declare namespace Components {
5337
5581
  allowed_portal_entities?: string[];
5338
5582
  self_registration_setting?: "ALLOW_WITH_CONTACT_CREATION" | "ALLOW_WITHOUT_CONTACT_CREATION" | "DENY" | "ALWAYS_CREATE_CONTACT" | "DISALLOW_COMPLETELY" | "BLOCK_IF_PORTAL_USER_EXISTS";
5339
5583
  /**
5340
- * Controls behavior of self-registration when account is used as the registration entity
5584
+ * Controls behavior of self-registration when account is the registration
5585
+ * entity. `BLOCK_IF_PORTAL_USER_EXISTS` matches an existing account and
5586
+ * rejects the request when any portal user is already linked to that
5587
+ * account (no creation). Blocking can also be enabled on the other
5588
+ * non-create modes via `block_registration_if_portal_user_exists`.
5589
+ *
5341
5590
  */
5342
- self_registration_account_setting?: "ALLOW_WITH_CONTACT_CREATION" | "DENY" | "ALWAYS_CREATE_CONTACT" | "DISALLOW_COMPLETELY";
5591
+ self_registration_account_setting?: "ALLOW_WITH_CREATION" | "DENY" | "ALWAYS_CREATE" | "BLOCK_IF_PORTAL_USER_EXISTS" | "DISALLOW_COMPLETELY";
5592
+ /**
5593
+ * Account-mode only. Reject registration when the resolved account already
5594
+ * has any portal user (any portal user whose mapped contact is linked to
5595
+ * the account).
5596
+ *
5597
+ */
5598
+ block_registration_if_portal_user_exists?: boolean;
5343
5599
  /**
5344
5600
  * Entity type used as the primary identifier for self-registration
5345
5601
  */
@@ -5402,6 +5658,11 @@ declare namespace Components {
5402
5658
  * Decide whether to automatically redirect to the provider page during login, which would completely bypass showing the portal authentication page.
5403
5659
  */
5404
5660
  auto_redirect_to_sso?: boolean;
5661
+ /**
5662
+ * Opt-in. When true, suppresses responses that reveal whether a user exists for public, pre-authentication actions (the login entry-point check and self-registration), at the expense of some UX. Already-authenticated actions are unaffected. Default false.
5663
+ *
5664
+ */
5665
+ prevent_user_enumeration?: boolean;
5405
5666
  };
5406
5667
  /**
5407
5668
  * AWS Cognito Pool details for the portal
@@ -5627,6 +5888,49 @@ declare namespace Components {
5627
5888
  * ]
5628
5889
  */
5629
5890
  registration_identifiers?: ContractIdentifier[];
5891
+ /**
5892
+ * Account-mode only. Identifiers on the contact entity of the primarily
5893
+ * identified account. Used to pick an existing related contact within the
5894
+ * resolved account; if none matches, the values are written onto the new
5895
+ * contact that is created and linked to the account.
5896
+ *
5897
+ * example:
5898
+ * [
5899
+ * {
5900
+ * "name": "first_name",
5901
+ * "schema": "contact"
5902
+ * },
5903
+ * {
5904
+ * "name": "last_name",
5905
+ * "schema": "contact"
5906
+ * }
5907
+ * ]
5908
+ */
5909
+ contact_identifiers_for_account?: RegistrationIdentifier[];
5910
+ /**
5911
+ * Contact attributes collected from the user during self-registration that are
5912
+ * written onto the newly created contact but are not used to identify an
5913
+ * existing one.
5914
+ *
5915
+ * example:
5916
+ * [
5917
+ * {
5918
+ * "name": "first_name",
5919
+ * "required": true
5920
+ * },
5921
+ * {
5922
+ * "name": "last_name",
5923
+ * "required": true
5924
+ * }
5925
+ * ]
5926
+ */
5927
+ additional_contact_attributes?: /**
5928
+ * A contact attribute that is collected from the user during self-registration
5929
+ * and written onto the newly created contact, but is NOT used to identify
5930
+ * an existing contact.
5931
+ *
5932
+ */
5933
+ AdditionalContactAttribute[];
5630
5934
  /**
5631
5935
  * Journeys automatically opened on a portal user action
5632
5936
  */
@@ -5638,6 +5942,21 @@ declare namespace Components {
5638
5942
  * 5da0a718-c822-403d-9f5d-20d4584e0528
5639
5943
  */
5640
5944
  EntityId /* uuid */;
5945
+ /**
5946
+ * Context parameters forwarded to the journey when it is
5947
+ * auto-triggered. Values may contain handlebars templates
5948
+ * that reference the available context (e.g.
5949
+ * `{{contact._id}}`, `{{portal_user.email}}`,
5950
+ * `{{order._id}}`) — these are resolved at trigger time by
5951
+ * `GET /v2/portal/config/triggered-journeys/{trigger_name}`
5952
+ * using the caller's auth context plus runtime entities
5953
+ * supplied via the `context_entities` query param.
5954
+ *
5955
+ */
5956
+ context_params?: {
5957
+ key?: string;
5958
+ value?: string;
5959
+ }[];
5641
5960
  }[];
5642
5961
  /**
5643
5962
  * Rules for editing an entity by a portal user
@@ -5874,9 +6193,21 @@ declare namespace Components {
5874
6193
  allowed_portal_entities?: string[];
5875
6194
  self_registration_setting?: "ALLOW_WITH_CONTACT_CREATION" | "ALLOW_WITHOUT_CONTACT_CREATION" | "DENY" | "ALWAYS_CREATE_CONTACT" | "DISALLOW_COMPLETELY" | "BLOCK_IF_PORTAL_USER_EXISTS";
5876
6195
  /**
5877
- * Controls behavior of self-registration when account is used as the registration entity
6196
+ * Controls behavior of self-registration when account is the registration
6197
+ * entity. `BLOCK_IF_PORTAL_USER_EXISTS` matches an existing account and
6198
+ * rejects the request when any portal user is already linked to that
6199
+ * account (no creation). Blocking can also be enabled on the other
6200
+ * non-create modes via `block_registration_if_portal_user_exists`.
6201
+ *
6202
+ */
6203
+ self_registration_account_setting?: "ALLOW_WITH_CREATION" | "DENY" | "ALWAYS_CREATE" | "BLOCK_IF_PORTAL_USER_EXISTS" | "DISALLOW_COMPLETELY";
6204
+ /**
6205
+ * Account-mode only. Reject registration when the resolved account already
6206
+ * has any portal user (any portal user whose mapped contact is linked to
6207
+ * the account).
6208
+ *
5878
6209
  */
5879
- self_registration_account_setting?: "ALLOW_WITH_CONTACT_CREATION" | "DENY" | "ALWAYS_CREATE_CONTACT" | "DISALLOW_COMPLETELY";
6210
+ block_registration_if_portal_user_exists?: boolean;
5880
6211
  /**
5881
6212
  * Entity type used as the primary identifier for self-registration
5882
6213
  */
@@ -5939,6 +6270,11 @@ declare namespace Components {
5939
6270
  * Decide whether to automatically redirect to the provider page during login, which would completely bypass showing the portal authentication page.
5940
6271
  */
5941
6272
  auto_redirect_to_sso?: boolean;
6273
+ /**
6274
+ * Opt-in. When true, suppresses responses that reveal whether a user exists for public, pre-authentication actions (the login entry-point check and self-registration), at the expense of some UX. Already-authenticated actions are unaffected. Default false.
6275
+ *
6276
+ */
6277
+ prevent_user_enumeration?: boolean;
5942
6278
  };
5943
6279
  /**
5944
6280
  * AWS Cognito Pool details for the portal
@@ -6164,6 +6500,49 @@ declare namespace Components {
6164
6500
  * ]
6165
6501
  */
6166
6502
  registration_identifiers?: ContractIdentifier[];
6503
+ /**
6504
+ * Account-mode only. Identifiers on the contact entity of the primarily
6505
+ * identified account. Used to pick an existing related contact within the
6506
+ * resolved account; if none matches, the values are written onto the new
6507
+ * contact that is created and linked to the account.
6508
+ *
6509
+ * example:
6510
+ * [
6511
+ * {
6512
+ * "name": "first_name",
6513
+ * "schema": "contact"
6514
+ * },
6515
+ * {
6516
+ * "name": "last_name",
6517
+ * "schema": "contact"
6518
+ * }
6519
+ * ]
6520
+ */
6521
+ contact_identifiers_for_account?: RegistrationIdentifier[];
6522
+ /**
6523
+ * Contact attributes collected from the user during self-registration that are
6524
+ * written onto the newly created contact but are not used to identify an
6525
+ * existing one.
6526
+ *
6527
+ * example:
6528
+ * [
6529
+ * {
6530
+ * "name": "first_name",
6531
+ * "required": true
6532
+ * },
6533
+ * {
6534
+ * "name": "last_name",
6535
+ * "required": true
6536
+ * }
6537
+ * ]
6538
+ */
6539
+ additional_contact_attributes?: /**
6540
+ * A contact attribute that is collected from the user during self-registration
6541
+ * and written onto the newly created contact, but is NOT used to identify
6542
+ * an existing contact.
6543
+ *
6544
+ */
6545
+ AdditionalContactAttribute[];
6167
6546
  /**
6168
6547
  * Journeys automatically opened on a portal user action
6169
6548
  */
@@ -6175,6 +6554,21 @@ declare namespace Components {
6175
6554
  * 5da0a718-c822-403d-9f5d-20d4584e0528
6176
6555
  */
6177
6556
  EntityId /* uuid */;
6557
+ /**
6558
+ * Context parameters forwarded to the journey when it is
6559
+ * auto-triggered. Values may contain handlebars templates
6560
+ * that reference the available context (e.g.
6561
+ * `{{contact._id}}`, `{{portal_user.email}}`,
6562
+ * `{{order._id}}`) — these are resolved at trigger time by
6563
+ * `GET /v2/portal/config/triggered-journeys/{trigger_name}`
6564
+ * using the caller's auth context plus runtime entities
6565
+ * supplied via the `context_entities` query param.
6566
+ *
6567
+ */
6568
+ context_params?: {
6569
+ key?: string;
6570
+ value?: string;
6571
+ }[];
6178
6572
  }[];
6179
6573
  /**
6180
6574
  * Rules for editing an entity by a portal user
@@ -6623,6 +7017,7 @@ declare namespace Components {
6623
7017
  priceDataRetrieval?: DataRetrievalItem[];
6624
7018
  costDataRetrieval?: DataRetrievalItem[];
6625
7019
  contractIdentification?: {
7020
+ app?: PublicAppDetails;
6626
7021
  extension?: PublicExtensionDetails;
6627
7022
  hook?: PublicContractIdentificationDetails;
6628
7023
  };
@@ -7201,7 +7596,7 @@ declare namespace Components {
7201
7596
  * example:
7202
7597
  * abc.com
7203
7598
  */
7204
- domain: string;
7599
+ domain?: string;
7205
7600
  /**
7206
7601
  * Mark true if the domain is an Epilot domain
7207
7602
  */
@@ -7230,9 +7625,21 @@ declare namespace Components {
7230
7625
  allowed_portal_entities?: string[];
7231
7626
  self_registration_setting?: "ALLOW_WITH_CONTACT_CREATION" | "ALLOW_WITHOUT_CONTACT_CREATION" | "DENY" | "ALWAYS_CREATE_CONTACT" | "DISALLOW_COMPLETELY" | "BLOCK_IF_PORTAL_USER_EXISTS";
7232
7627
  /**
7233
- * Controls behavior of self-registration when account is used as the registration entity
7628
+ * Controls behavior of self-registration when account is the registration
7629
+ * entity. `BLOCK_IF_PORTAL_USER_EXISTS` matches an existing account and
7630
+ * rejects the request when any portal user is already linked to that
7631
+ * account (no creation). Blocking can also be enabled on the other
7632
+ * non-create modes via `block_registration_if_portal_user_exists`.
7633
+ *
7634
+ */
7635
+ self_registration_account_setting?: "ALLOW_WITH_CREATION" | "DENY" | "ALWAYS_CREATE" | "BLOCK_IF_PORTAL_USER_EXISTS" | "DISALLOW_COMPLETELY";
7636
+ /**
7637
+ * Account-mode only. Reject registration when the resolved account already
7638
+ * has any portal user (any portal user whose mapped contact is linked to
7639
+ * the account).
7640
+ *
7234
7641
  */
7235
- self_registration_account_setting?: "ALLOW_WITH_CONTACT_CREATION" | "DENY" | "ALWAYS_CREATE_CONTACT" | "DISALLOW_COMPLETELY";
7642
+ block_registration_if_portal_user_exists?: boolean;
7236
7643
  /**
7237
7644
  * Entity type used as the primary identifier for self-registration
7238
7645
  */
@@ -7295,6 +7702,11 @@ declare namespace Components {
7295
7702
  * Decide whether to automatically redirect to the provider page during login, which would completely bypass showing the portal authentication page.
7296
7703
  */
7297
7704
  auto_redirect_to_sso?: boolean;
7705
+ /**
7706
+ * Opt-in. When true, suppresses responses that reveal whether a user exists for public, pre-authentication actions (the login entry-point check and self-registration), at the expense of some UX. Already-authenticated actions are unaffected. Default false.
7707
+ *
7708
+ */
7709
+ prevent_user_enumeration?: boolean;
7298
7710
  };
7299
7711
  /**
7300
7712
  * AWS Cognito Pool details for the portal
@@ -7520,6 +7932,49 @@ declare namespace Components {
7520
7932
  * ]
7521
7933
  */
7522
7934
  registration_identifiers?: ContractIdentifier[];
7935
+ /**
7936
+ * Account-mode only. Identifiers on the contact entity of the primarily
7937
+ * identified account. Used to pick an existing related contact within the
7938
+ * resolved account; if none matches, the values are written onto the new
7939
+ * contact that is created and linked to the account.
7940
+ *
7941
+ * example:
7942
+ * [
7943
+ * {
7944
+ * "name": "first_name",
7945
+ * "schema": "contact"
7946
+ * },
7947
+ * {
7948
+ * "name": "last_name",
7949
+ * "schema": "contact"
7950
+ * }
7951
+ * ]
7952
+ */
7953
+ contact_identifiers_for_account?: RegistrationIdentifier[];
7954
+ /**
7955
+ * Contact attributes collected from the user during self-registration that are
7956
+ * written onto the newly created contact but are not used to identify an
7957
+ * existing one.
7958
+ *
7959
+ * example:
7960
+ * [
7961
+ * {
7962
+ * "name": "first_name",
7963
+ * "required": true
7964
+ * },
7965
+ * {
7966
+ * "name": "last_name",
7967
+ * "required": true
7968
+ * }
7969
+ * ]
7970
+ */
7971
+ additional_contact_attributes?: /**
7972
+ * A contact attribute that is collected from the user during self-registration
7973
+ * and written onto the newly created contact, but is NOT used to identify
7974
+ * an existing contact.
7975
+ *
7976
+ */
7977
+ AdditionalContactAttribute[];
7523
7978
  /**
7524
7979
  * Journeys automatically opened on a portal user action
7525
7980
  */
@@ -7531,6 +7986,21 @@ declare namespace Components {
7531
7986
  * 5da0a718-c822-403d-9f5d-20d4584e0528
7532
7987
  */
7533
7988
  EntityId /* uuid */;
7989
+ /**
7990
+ * Context parameters forwarded to the journey when it is
7991
+ * auto-triggered. Values may contain handlebars templates
7992
+ * that reference the available context (e.g.
7993
+ * `{{contact._id}}`, `{{portal_user.email}}`,
7994
+ * `{{order._id}}`) — these are resolved at trigger time by
7995
+ * `GET /v2/portal/config/triggered-journeys/{trigger_name}`
7996
+ * using the caller's auth context plus runtime entities
7997
+ * supplied via the `context_entities` query param.
7998
+ *
7999
+ */
8000
+ context_params?: {
8001
+ key?: string;
8002
+ value?: string;
8003
+ }[];
7534
8004
  }[];
7535
8005
  /**
7536
8006
  * Rules for editing an entity by a portal user
@@ -7735,9 +8205,21 @@ declare namespace Components {
7735
8205
  allowed_portal_entities?: string[];
7736
8206
  self_registration_setting?: "ALLOW_WITH_CONTACT_CREATION" | "ALLOW_WITHOUT_CONTACT_CREATION" | "DENY" | "ALWAYS_CREATE_CONTACT" | "DISALLOW_COMPLETELY" | "BLOCK_IF_PORTAL_USER_EXISTS";
7737
8207
  /**
7738
- * Controls behavior of self-registration when account is used as the registration entity
8208
+ * Controls behavior of self-registration when account is the registration
8209
+ * entity. `BLOCK_IF_PORTAL_USER_EXISTS` matches an existing account and
8210
+ * rejects the request when any portal user is already linked to that
8211
+ * account (no creation). Blocking can also be enabled on the other
8212
+ * non-create modes via `block_registration_if_portal_user_exists`.
8213
+ *
7739
8214
  */
7740
- self_registration_account_setting?: "ALLOW_WITH_CONTACT_CREATION" | "DENY" | "ALWAYS_CREATE_CONTACT" | "DISALLOW_COMPLETELY";
8215
+ self_registration_account_setting?: "ALLOW_WITH_CREATION" | "DENY" | "ALWAYS_CREATE" | "BLOCK_IF_PORTAL_USER_EXISTS" | "DISALLOW_COMPLETELY";
8216
+ /**
8217
+ * Account-mode only. Reject registration when the resolved account already
8218
+ * has any portal user (any portal user whose mapped contact is linked to
8219
+ * the account).
8220
+ *
8221
+ */
8222
+ block_registration_if_portal_user_exists?: boolean;
7741
8223
  /**
7742
8224
  * Entity type used as the primary identifier for self-registration
7743
8225
  */
@@ -7800,6 +8282,11 @@ declare namespace Components {
7800
8282
  * Decide whether to automatically redirect to the provider page during login, which would completely bypass showing the portal authentication page.
7801
8283
  */
7802
8284
  auto_redirect_to_sso?: boolean;
8285
+ /**
8286
+ * Opt-in. When true, suppresses responses that reveal whether a user exists for public, pre-authentication actions (the login entry-point check and self-registration), at the expense of some UX. Already-authenticated actions are unaffected. Default false.
8287
+ *
8288
+ */
8289
+ prevent_user_enumeration?: boolean;
7803
8290
  };
7804
8291
  /**
7805
8292
  * AWS Cognito Pool details for the portal
@@ -8025,6 +8512,49 @@ declare namespace Components {
8025
8512
  * ]
8026
8513
  */
8027
8514
  registration_identifiers?: ContractIdentifier[];
8515
+ /**
8516
+ * Account-mode only. Identifiers on the contact entity of the primarily
8517
+ * identified account. Used to pick an existing related contact within the
8518
+ * resolved account; if none matches, the values are written onto the new
8519
+ * contact that is created and linked to the account.
8520
+ *
8521
+ * example:
8522
+ * [
8523
+ * {
8524
+ * "name": "first_name",
8525
+ * "schema": "contact"
8526
+ * },
8527
+ * {
8528
+ * "name": "last_name",
8529
+ * "schema": "contact"
8530
+ * }
8531
+ * ]
8532
+ */
8533
+ contact_identifiers_for_account?: RegistrationIdentifier[];
8534
+ /**
8535
+ * Contact attributes collected from the user during self-registration that are
8536
+ * written onto the newly created contact but are not used to identify an
8537
+ * existing one.
8538
+ *
8539
+ * example:
8540
+ * [
8541
+ * {
8542
+ * "name": "first_name",
8543
+ * "required": true
8544
+ * },
8545
+ * {
8546
+ * "name": "last_name",
8547
+ * "required": true
8548
+ * }
8549
+ * ]
8550
+ */
8551
+ additional_contact_attributes?: /**
8552
+ * A contact attribute that is collected from the user during self-registration
8553
+ * and written onto the newly created contact, but is NOT used to identify
8554
+ * an existing contact.
8555
+ *
8556
+ */
8557
+ AdditionalContactAttribute[];
8028
8558
  /**
8029
8559
  * Journeys automatically opened on a portal user action
8030
8560
  */
@@ -8036,6 +8566,21 @@ declare namespace Components {
8036
8566
  * 5da0a718-c822-403d-9f5d-20d4584e0528
8037
8567
  */
8038
8568
  EntityId /* uuid */;
8569
+ /**
8570
+ * Context parameters forwarded to the journey when it is
8571
+ * auto-triggered. Values may contain handlebars templates
8572
+ * that reference the available context (e.g.
8573
+ * `{{contact._id}}`, `{{portal_user.email}}`,
8574
+ * `{{order._id}}`) — these are resolved at trigger time by
8575
+ * `GET /v2/portal/config/triggered-journeys/{trigger_name}`
8576
+ * using the caller's auth context plus runtime entities
8577
+ * supplied via the `context_entities` query param.
8578
+ *
8579
+ */
8580
+ context_params?: {
8581
+ key?: string;
8582
+ value?: string;
8583
+ }[];
8039
8584
  }[];
8040
8585
  /**
8041
8586
  * Rules for editing an entity by a portal user
@@ -10559,7 +11104,7 @@ declare namespace Paths {
10559
11104
  * example:
10560
11105
  * abc.com
10561
11106
  */
10562
- domain: string;
11107
+ domain?: string;
10563
11108
  /**
10564
11109
  * Mark true if the domain is an Epilot domain
10565
11110
  */
@@ -10588,9 +11133,21 @@ declare namespace Paths {
10588
11133
  allowed_portal_entities?: string[];
10589
11134
  self_registration_setting?: "ALLOW_WITH_CONTACT_CREATION" | "ALLOW_WITHOUT_CONTACT_CREATION" | "DENY" | "ALWAYS_CREATE_CONTACT" | "DISALLOW_COMPLETELY" | "BLOCK_IF_PORTAL_USER_EXISTS";
10590
11135
  /**
10591
- * Controls behavior of self-registration when account is used as the registration entity
11136
+ * Controls behavior of self-registration when account is the registration
11137
+ * entity. `BLOCK_IF_PORTAL_USER_EXISTS` matches an existing account and
11138
+ * rejects the request when any portal user is already linked to that
11139
+ * account (no creation). Blocking can also be enabled on the other
11140
+ * non-create modes via `block_registration_if_portal_user_exists`.
11141
+ *
10592
11142
  */
10593
- self_registration_account_setting?: "ALLOW_WITH_CONTACT_CREATION" | "DENY" | "ALWAYS_CREATE_CONTACT" | "DISALLOW_COMPLETELY";
11143
+ self_registration_account_setting?: "ALLOW_WITH_CREATION" | "DENY" | "ALWAYS_CREATE" | "BLOCK_IF_PORTAL_USER_EXISTS" | "DISALLOW_COMPLETELY";
11144
+ /**
11145
+ * Account-mode only. Reject registration when the resolved account already
11146
+ * has any portal user (any portal user whose mapped contact is linked to
11147
+ * the account).
11148
+ *
11149
+ */
11150
+ block_registration_if_portal_user_exists?: boolean;
10594
11151
  /**
10595
11152
  * Entity type used as the primary identifier for self-registration
10596
11153
  */
@@ -10653,6 +11210,11 @@ declare namespace Paths {
10653
11210
  * Decide whether to automatically redirect to the provider page during login, which would completely bypass showing the portal authentication page.
10654
11211
  */
10655
11212
  auto_redirect_to_sso?: boolean;
11213
+ /**
11214
+ * Opt-in. When true, suppresses responses that reveal whether a user exists for public, pre-authentication actions (the login entry-point check and self-registration), at the expense of some UX. Already-authenticated actions are unaffected. Default false.
11215
+ *
11216
+ */
11217
+ prevent_user_enumeration?: boolean;
10656
11218
  };
10657
11219
  /**
10658
11220
  * AWS Cognito Pool details for the portal
@@ -10878,6 +11440,49 @@ declare namespace Paths {
10878
11440
  * ]
10879
11441
  */
10880
11442
  registration_identifiers?: Components.Schemas.ContractIdentifier[];
11443
+ /**
11444
+ * Account-mode only. Identifiers on the contact entity of the primarily
11445
+ * identified account. Used to pick an existing related contact within the
11446
+ * resolved account; if none matches, the values are written onto the new
11447
+ * contact that is created and linked to the account.
11448
+ *
11449
+ * example:
11450
+ * [
11451
+ * {
11452
+ * "name": "first_name",
11453
+ * "schema": "contact"
11454
+ * },
11455
+ * {
11456
+ * "name": "last_name",
11457
+ * "schema": "contact"
11458
+ * }
11459
+ * ]
11460
+ */
11461
+ contact_identifiers_for_account?: Components.Schemas.RegistrationIdentifier[];
11462
+ /**
11463
+ * Contact attributes collected from the user during self-registration that are
11464
+ * written onto the newly created contact but are not used to identify an
11465
+ * existing one.
11466
+ *
11467
+ * example:
11468
+ * [
11469
+ * {
11470
+ * "name": "first_name",
11471
+ * "required": true
11472
+ * },
11473
+ * {
11474
+ * "name": "last_name",
11475
+ * "required": true
11476
+ * }
11477
+ * ]
11478
+ */
11479
+ additional_contact_attributes?: /**
11480
+ * A contact attribute that is collected from the user during self-registration
11481
+ * and written onto the newly created contact, but is NOT used to identify
11482
+ * an existing contact.
11483
+ *
11484
+ */
11485
+ Components.Schemas.AdditionalContactAttribute[];
10881
11486
  /**
10882
11487
  * Journeys automatically opened on a portal user action
10883
11488
  */
@@ -10889,6 +11494,21 @@ declare namespace Paths {
10889
11494
  * 5da0a718-c822-403d-9f5d-20d4584e0528
10890
11495
  */
10891
11496
  Components.Schemas.EntityId /* uuid */;
11497
+ /**
11498
+ * Context parameters forwarded to the journey when it is
11499
+ * auto-triggered. Values may contain handlebars templates
11500
+ * that reference the available context (e.g.
11501
+ * `{{contact._id}}`, `{{portal_user.email}}`,
11502
+ * `{{order._id}}`) — these are resolved at trigger time by
11503
+ * `GET /v2/portal/config/triggered-journeys/{trigger_name}`
11504
+ * using the caller's auth context plus runtime entities
11505
+ * supplied via the `context_entities` query param.
11506
+ *
11507
+ */
11508
+ context_params?: {
11509
+ key?: string;
11510
+ value?: string;
11511
+ }[];
10892
11512
  }[];
10893
11513
  /**
10894
11514
  * Rules for editing an entity by a portal user
@@ -11095,7 +11715,7 @@ declare namespace Paths {
11095
11715
  * example:
11096
11716
  * abc.com
11097
11717
  */
11098
- domain: string;
11718
+ domain?: string;
11099
11719
  /**
11100
11720
  * Mark true if the domain is an Epilot domain
11101
11721
  */
@@ -11124,9 +11744,21 @@ declare namespace Paths {
11124
11744
  allowed_portal_entities?: string[];
11125
11745
  self_registration_setting?: "ALLOW_WITH_CONTACT_CREATION" | "ALLOW_WITHOUT_CONTACT_CREATION" | "DENY" | "ALWAYS_CREATE_CONTACT" | "DISALLOW_COMPLETELY" | "BLOCK_IF_PORTAL_USER_EXISTS";
11126
11746
  /**
11127
- * Controls behavior of self-registration when account is used as the registration entity
11747
+ * Controls behavior of self-registration when account is the registration
11748
+ * entity. `BLOCK_IF_PORTAL_USER_EXISTS` matches an existing account and
11749
+ * rejects the request when any portal user is already linked to that
11750
+ * account (no creation). Blocking can also be enabled on the other
11751
+ * non-create modes via `block_registration_if_portal_user_exists`.
11752
+ *
11128
11753
  */
11129
- self_registration_account_setting?: "ALLOW_WITH_CONTACT_CREATION" | "DENY" | "ALWAYS_CREATE_CONTACT" | "DISALLOW_COMPLETELY";
11754
+ self_registration_account_setting?: "ALLOW_WITH_CREATION" | "DENY" | "ALWAYS_CREATE" | "BLOCK_IF_PORTAL_USER_EXISTS" | "DISALLOW_COMPLETELY";
11755
+ /**
11756
+ * Account-mode only. Reject registration when the resolved account already
11757
+ * has any portal user (any portal user whose mapped contact is linked to
11758
+ * the account).
11759
+ *
11760
+ */
11761
+ block_registration_if_portal_user_exists?: boolean;
11130
11762
  /**
11131
11763
  * Entity type used as the primary identifier for self-registration
11132
11764
  */
@@ -11189,6 +11821,11 @@ declare namespace Paths {
11189
11821
  * Decide whether to automatically redirect to the provider page during login, which would completely bypass showing the portal authentication page.
11190
11822
  */
11191
11823
  auto_redirect_to_sso?: boolean;
11824
+ /**
11825
+ * Opt-in. When true, suppresses responses that reveal whether a user exists for public, pre-authentication actions (the login entry-point check and self-registration), at the expense of some UX. Already-authenticated actions are unaffected. Default false.
11826
+ *
11827
+ */
11828
+ prevent_user_enumeration?: boolean;
11192
11829
  };
11193
11830
  /**
11194
11831
  * AWS Cognito Pool details for the portal
@@ -11414,6 +12051,49 @@ declare namespace Paths {
11414
12051
  * ]
11415
12052
  */
11416
12053
  registration_identifiers?: Components.Schemas.ContractIdentifier[];
12054
+ /**
12055
+ * Account-mode only. Identifiers on the contact entity of the primarily
12056
+ * identified account. Used to pick an existing related contact within the
12057
+ * resolved account; if none matches, the values are written onto the new
12058
+ * contact that is created and linked to the account.
12059
+ *
12060
+ * example:
12061
+ * [
12062
+ * {
12063
+ * "name": "first_name",
12064
+ * "schema": "contact"
12065
+ * },
12066
+ * {
12067
+ * "name": "last_name",
12068
+ * "schema": "contact"
12069
+ * }
12070
+ * ]
12071
+ */
12072
+ contact_identifiers_for_account?: Components.Schemas.RegistrationIdentifier[];
12073
+ /**
12074
+ * Contact attributes collected from the user during self-registration that are
12075
+ * written onto the newly created contact but are not used to identify an
12076
+ * existing one.
12077
+ *
12078
+ * example:
12079
+ * [
12080
+ * {
12081
+ * "name": "first_name",
12082
+ * "required": true
12083
+ * },
12084
+ * {
12085
+ * "name": "last_name",
12086
+ * "required": true
12087
+ * }
12088
+ * ]
12089
+ */
12090
+ additional_contact_attributes?: /**
12091
+ * A contact attribute that is collected from the user during self-registration
12092
+ * and written onto the newly created contact, but is NOT used to identify
12093
+ * an existing contact.
12094
+ *
12095
+ */
12096
+ Components.Schemas.AdditionalContactAttribute[];
11417
12097
  /**
11418
12098
  * Journeys automatically opened on a portal user action
11419
12099
  */
@@ -11425,6 +12105,21 @@ declare namespace Paths {
11425
12105
  * 5da0a718-c822-403d-9f5d-20d4584e0528
11426
12106
  */
11427
12107
  Components.Schemas.EntityId /* uuid */;
12108
+ /**
12109
+ * Context parameters forwarded to the journey when it is
12110
+ * auto-triggered. Values may contain handlebars templates
12111
+ * that reference the available context (e.g.
12112
+ * `{{contact._id}}`, `{{portal_user.email}}`,
12113
+ * `{{order._id}}`) — these are resolved at trigger time by
12114
+ * `GET /v2/portal/config/triggered-journeys/{trigger_name}`
12115
+ * using the caller's auth context plus runtime entities
12116
+ * supplied via the `context_entities` query param.
12117
+ *
12118
+ */
12119
+ context_params?: {
12120
+ key?: string;
12121
+ value?: string;
12122
+ }[];
11428
12123
  }[];
11429
12124
  /**
11430
12125
  * Rules for editing an entity by a portal user
@@ -12610,6 +13305,42 @@ declare namespace Paths {
12610
13305
  export type $500 = Components.Responses.InternalServerError;
12611
13306
  }
12612
13307
  }
13308
+ namespace GetTriggeredJourney {
13309
+ namespace Parameters {
13310
+ export type ContextEntities = /**
13311
+ * Additional entities to include in the context for variable interpolation. Portal User and Contact entities are automatically part of the context.
13312
+ * example:
13313
+ * [
13314
+ * {
13315
+ * "entity_id": "5da0a718-c822-403d-9f5d-20d4584e0528",
13316
+ * "entity_schema": "contract"
13317
+ * }
13318
+ * ]
13319
+ */
13320
+ Components.Schemas.ContextEntities;
13321
+ }
13322
+ export interface QueryParameters {
13323
+ context_entities?: Parameters.ContextEntities;
13324
+ }
13325
+ namespace Responses {
13326
+ export interface $200 {
13327
+ trigger_name?: "FIRST_LOGIN" | "ACCEPT_ORDER" | "DECLINE_ORDER";
13328
+ journey_id?: /**
13329
+ * Entity ID
13330
+ * example:
13331
+ * 5da0a718-c822-403d-9f5d-20d4584e0528
13332
+ */
13333
+ Components.Schemas.EntityId /* uuid */;
13334
+ context_params?: {
13335
+ key?: string;
13336
+ value?: string;
13337
+ }[];
13338
+ }
13339
+ export type $401 = Components.Responses.Unauthorized;
13340
+ export type $404 = Components.Responses.NotFound;
13341
+ export type $500 = Components.Responses.InternalServerError;
13342
+ }
13343
+ }
12613
13344
  namespace GetUserEntryPoint {
12614
13345
  namespace Parameters {
12615
13346
  /**
@@ -12848,6 +13579,32 @@ declare namespace Paths {
12848
13579
  }
12849
13580
  }
12850
13581
  }
13582
+ namespace MigrateEmailTemplateReferences {
13583
+ export interface RequestBody {
13584
+ /**
13585
+ * Template id currently referenced on portal rows
13586
+ */
13587
+ source_template_id: string;
13588
+ /**
13589
+ * Template id to write in place of the source
13590
+ */
13591
+ destination_template_id: string;
13592
+ }
13593
+ namespace Responses {
13594
+ export interface $200 {
13595
+ /**
13596
+ * example:
13597
+ * 2
13598
+ */
13599
+ migrated_portal_count: number;
13600
+ migrated_portal_ids: string[];
13601
+ failed_portal_ids: string[];
13602
+ }
13603
+ export type $401 = Components.Responses.Unauthorized;
13604
+ export type $403 = Components.Responses.Forbidden;
13605
+ export type $500 = Components.Responses.InternalServerError;
13606
+ }
13607
+ }
12851
13608
  namespace NotifyMLoginInterestChange {
12852
13609
  namespace Parameters {
12853
13610
  export type ClientId = string;
@@ -13025,6 +13782,7 @@ declare namespace Paths {
13025
13782
  }
13026
13783
  namespace PutPortalConfig {
13027
13784
  namespace Parameters {
13785
+ export type PageUpsertMode = "id" | "slug";
13028
13786
  /**
13029
13787
  * example:
13030
13788
  * 5da0a718-c822-403d-9f5d-20d4584e0528
@@ -13038,6 +13796,9 @@ declare namespace Paths {
13038
13796
  */
13039
13797
  Parameters.PortalId /* uuid */;
13040
13798
  }
13799
+ export interface QueryParameters {
13800
+ page_upsert_mode?: Parameters.PageUpsertMode;
13801
+ }
13041
13802
  export type RequestBody = Components.Schemas.PortalConfigV3;
13042
13803
  namespace Responses {
13043
13804
  export type $200 = Components.Schemas.PortalConfigV3;
@@ -14121,6 +14882,14 @@ declare namespace Paths {
14121
14882
  Parameters.Id /* uuid */;
14122
14883
  }
14123
14884
  }
14885
+ namespace V2PortalConfigTriggeredJourneys$TriggerName {
14886
+ namespace Parameters {
14887
+ export type TriggerName = "FIRST_LOGIN" | "ACCEPT_ORDER" | "DECLINE_ORDER";
14888
+ }
14889
+ export interface PathParameters {
14890
+ trigger_name: Parameters.TriggerName;
14891
+ }
14892
+ }
14124
14893
  namespace V2PortalPages {
14125
14894
  namespace Parameters {
14126
14895
  /**
@@ -14628,6 +15397,23 @@ export interface OperationMethods {
14628
15397
  data?: Paths.UpsertEmailTemplates.RequestBody,
14629
15398
  config?: AxiosRequestConfig
14630
15399
  ): OperationResponse<Paths.UpsertEmailTemplates.Responses.$200>
15400
+ /**
15401
+ * migrateEmailTemplateReferences - migrateEmailTemplateReferences
15402
+ *
15403
+ * Walk every email-template config row in the caller's org and re-point any
15404
+ * field on `email_templates` that currently references `source_template_id`
15405
+ * at `destination_template_id`. Intended to be called from the email-template
15406
+ * migration flow when a duplicated template is refined.
15407
+ *
15408
+ * Only v3-shaped rows are migrated (those carrying `portal_sk_v3`). Returns
15409
+ * the portal IDs that were rewritten and any whose update failed.
15410
+ *
15411
+ */
15412
+ 'migrateEmailTemplateReferences'(
15413
+ parameters?: Parameters<UnknownParamsObject> | null,
15414
+ data?: Paths.MigrateEmailTemplateReferences.RequestBody,
15415
+ config?: AxiosRequestConfig
15416
+ ): OperationResponse<Paths.MigrateEmailTemplateReferences.Responses.$200>
14631
15417
  /**
14632
15418
  * getEmailTemplatesByPortalId - getEmailTemplatesByPortalId
14633
15419
  *
@@ -15626,6 +16412,21 @@ export interface OperationMethods {
15626
16412
  data?: Paths.InterpolatePortalPages.RequestBody,
15627
16413
  config?: AxiosRequestConfig
15628
16414
  ): OperationResponse<Paths.InterpolatePortalPages.Responses.$200>
16415
+ /**
16416
+ * getTriggeredJourney - getTriggeredJourney
16417
+ *
16418
+ * Returns the auto-triggered journey configured for the given trigger
16419
+ * with handlebars templates in `context_params` already resolved.
16420
+ * Uses the caller's auth context (contact, portal user) plus any
16421
+ * `context_entities` supplied at trigger time (e.g. the order being
16422
+ * accepted) — same resolver as `getPortalPages`.
16423
+ *
16424
+ */
16425
+ 'getTriggeredJourney'(
16426
+ parameters?: Parameters<Paths.GetTriggeredJourney.QueryParameters & Paths.V2PortalConfigTriggeredJourneys$TriggerName.PathParameters> | null,
16427
+ data?: any,
16428
+ config?: AxiosRequestConfig
16429
+ ): OperationResponse<Paths.GetTriggeredJourney.Responses.$200>
15629
16430
  /**
15630
16431
  * getDefaultPages - getDefaultPages
15631
16432
  *
@@ -15762,7 +16563,7 @@ export interface OperationMethods {
15762
16563
  * Updates a specific portal configuration by ID.
15763
16564
  */
15764
16565
  'putPortalConfig'(
15765
- parameters?: Parameters<Paths.PutPortalConfig.PathParameters> | null,
16566
+ parameters?: Parameters<Paths.PutPortalConfig.QueryParameters & Paths.PutPortalConfig.PathParameters> | null,
15766
16567
  data?: Paths.PutPortalConfig.RequestBody,
15767
16568
  config?: AxiosRequestConfig
15768
16569
  ): OperationResponse<Paths.PutPortalConfig.Responses.$200>
@@ -16245,6 +17046,25 @@ export interface PathsDictionary {
16245
17046
  config?: AxiosRequestConfig
16246
17047
  ): OperationResponse<Paths.GetEmailTemplates.Responses.$200>
16247
17048
  }
17049
+ ['/v3/portal/email-templates:migrate-references']: {
17050
+ /**
17051
+ * migrateEmailTemplateReferences - migrateEmailTemplateReferences
17052
+ *
17053
+ * Walk every email-template config row in the caller's org and re-point any
17054
+ * field on `email_templates` that currently references `source_template_id`
17055
+ * at `destination_template_id`. Intended to be called from the email-template
17056
+ * migration flow when a duplicated template is refined.
17057
+ *
17058
+ * Only v3-shaped rows are migrated (those carrying `portal_sk_v3`). Returns
17059
+ * the portal IDs that were rewritten and any whose update failed.
17060
+ *
17061
+ */
17062
+ 'post'(
17063
+ parameters?: Parameters<UnknownParamsObject> | null,
17064
+ data?: Paths.MigrateEmailTemplateReferences.RequestBody,
17065
+ config?: AxiosRequestConfig
17066
+ ): OperationResponse<Paths.MigrateEmailTemplateReferences.Responses.$200>
17067
+ }
16248
17068
  ['/v3/portal/email-templates/{portal_id}']: {
16249
17069
  /**
16250
17070
  * upsertEmailTemplatesByPortalId - upsertEmailTemplatesByPortalId
@@ -17403,6 +18223,23 @@ export interface PathsDictionary {
17403
18223
  config?: AxiosRequestConfig
17404
18224
  ): OperationResponse<Paths.InterpolatePortalPages.Responses.$200>
17405
18225
  }
18226
+ ['/v2/portal/config/triggered-journeys/{trigger_name}']: {
18227
+ /**
18228
+ * getTriggeredJourney - getTriggeredJourney
18229
+ *
18230
+ * Returns the auto-triggered journey configured for the given trigger
18231
+ * with handlebars templates in `context_params` already resolved.
18232
+ * Uses the caller's auth context (contact, portal user) plus any
18233
+ * `context_entities` supplied at trigger time (e.g. the order being
18234
+ * accepted) — same resolver as `getPortalPages`.
18235
+ *
18236
+ */
18237
+ 'get'(
18238
+ parameters?: Parameters<Paths.GetTriggeredJourney.QueryParameters & Paths.V2PortalConfigTriggeredJourneys$TriggerName.PathParameters> | null,
18239
+ data?: any,
18240
+ config?: AxiosRequestConfig
18241
+ ): OperationResponse<Paths.GetTriggeredJourney.Responses.$200>
18242
+ }
17406
18243
  ['/v2/portal/pages/default']: {
17407
18244
  /**
17408
18245
  * getDefaultPages - getDefaultPages
@@ -17558,7 +18395,7 @@ export interface PathsDictionary {
17558
18395
  * Updates a specific portal configuration by ID.
17559
18396
  */
17560
18397
  'put'(
17561
- parameters?: Parameters<Paths.PutPortalConfig.PathParameters> | null,
18398
+ parameters?: Parameters<Paths.PutPortalConfig.QueryParameters & Paths.PutPortalConfig.PathParameters> | null,
17562
18399
  data?: Paths.PutPortalConfig.RequestBody,
17563
18400
  config?: AxiosRequestConfig
17564
18401
  ): OperationResponse<Paths.PutPortalConfig.Responses.$200>
@@ -17720,6 +18557,7 @@ export type Activity = Components.Schemas.Activity;
17720
18557
  export type ActivityCallerContext = Components.Schemas.ActivityCallerContext;
17721
18558
  export type ActivityId = Components.Schemas.ActivityId;
17722
18559
  export type ActivityItem = Components.Schemas.ActivityItem;
18560
+ export type AdditionalContactAttribute = Components.Schemas.AdditionalContactAttribute;
17723
18561
  export type AdminUser = Components.Schemas.AdminUser;
17724
18562
  export type AllowedFileExtensions = Components.Schemas.AllowedFileExtensions;
17725
18563
  export type AttributeMappingConfig = Components.Schemas.AttributeMappingConfig;