@epilot/customer-portal-client 0.22.13 → 0.23.1-rc.1

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
@@ -1005,6 +1005,339 @@ declare namespace Components {
1005
1005
  [name: string]: Page;
1006
1006
  };
1007
1007
  }
1008
+ export interface CommonConfigAttributesV3 {
1009
+ /**
1010
+ * Enable/Disable the portal access
1011
+ */
1012
+ enabled?: boolean;
1013
+ /**
1014
+ * A short name to identify your portal
1015
+ * example:
1016
+ * Installer Portal
1017
+ */
1018
+ name?: string;
1019
+ /**
1020
+ * The URL on which the portal is accessible
1021
+ * example:
1022
+ * abc.com
1023
+ */
1024
+ domain?: string;
1025
+ /**
1026
+ * Mark true if the domain is an Epilot domain
1027
+ */
1028
+ is_epilot_domain?: boolean;
1029
+ /**
1030
+ * ID of the design used to build the portal
1031
+ */
1032
+ design_id?: /**
1033
+ * Entity ID
1034
+ * example:
1035
+ * 5da0a718-c822-403d-9f5d-20d4584e0528
1036
+ */
1037
+ EntityId /* uuid */;
1038
+ self_registration_setting?: "ALLOW_WITH_CONTACT_CREATION" | "ALLOW_WITHOUT_CONTACT_CREATION" | "DENY";
1039
+ /**
1040
+ * Feature settings for the portal
1041
+ */
1042
+ feature_settings?: {
1043
+ /**
1044
+ * Start page feature flag
1045
+ */
1046
+ start_page?: boolean;
1047
+ /**
1048
+ * Billing feature flag
1049
+ */
1050
+ billing?: boolean;
1051
+ /**
1052
+ * Change due date feature flag
1053
+ */
1054
+ change_due_date?: boolean;
1055
+ /**
1056
+ * Enable or disable the new design for the portal
1057
+ */
1058
+ new_design?: boolean;
1059
+ };
1060
+ /**
1061
+ * Access token for the portal
1062
+ */
1063
+ accessToken?: string;
1064
+ advanced_mfa?: {
1065
+ /**
1066
+ * Advanced MFA feature flag
1067
+ */
1068
+ enabled?: boolean;
1069
+ };
1070
+ /**
1071
+ * Authentication settings for the portal
1072
+ */
1073
+ auth_settings?: {
1074
+ passwordless_login?: {
1075
+ /**
1076
+ * Passwordless login feature flag
1077
+ */
1078
+ enabled?: boolean;
1079
+ };
1080
+ entry_point?: "PASSWORD" | "SSO";
1081
+ preferred_sso_providers?: /**
1082
+ * URL-friendly slug to use as organization-unique identifier for Provider
1083
+ * example:
1084
+ * office-365-login
1085
+ */
1086
+ ProviderSlug /* [0-9a-z-]+ */[];
1087
+ };
1088
+ /**
1089
+ * AWS Cognito Pool details for the portal
1090
+ */
1091
+ cognito_details?: {
1092
+ /**
1093
+ * Cognito user pool client ID
1094
+ * example:
1095
+ * 6bsd0jkgoie74k2i8mrhc1vest
1096
+ */
1097
+ cognito_user_pool_client_id?: string;
1098
+ /**
1099
+ * Cognito user pool ARN
1100
+ * example:
1101
+ * arn:aws:cognito-idp:us-east-1:123412341234:userpool/us-east-1_123412341
1102
+ */
1103
+ cognito_user_pool_arn?: string;
1104
+ /**
1105
+ * Cognito user pool ID
1106
+ * example:
1107
+ * eu-central-1_CUEQRNbUb
1108
+ */
1109
+ cognito_user_pool_id?: string;
1110
+ /**
1111
+ * Password policy for the portal
1112
+ */
1113
+ password_policy?: {
1114
+ /**
1115
+ * Minimum password length
1116
+ * example:
1117
+ * 8
1118
+ */
1119
+ minimum_length?: number;
1120
+ /**
1121
+ * Require lowercase characters
1122
+ * example:
1123
+ * true
1124
+ */
1125
+ require_lowercase?: boolean;
1126
+ /**
1127
+ * Require uppercase characters
1128
+ * example:
1129
+ * true
1130
+ */
1131
+ require_uppercase?: boolean;
1132
+ /**
1133
+ * Require numbers
1134
+ * example:
1135
+ * true
1136
+ */
1137
+ require_numbers?: boolean;
1138
+ /**
1139
+ * Require symbols
1140
+ * example:
1141
+ * true
1142
+ */
1143
+ require_symbols?: boolean;
1144
+ };
1145
+ };
1146
+ /**
1147
+ * Stringified object with configuration details
1148
+ */
1149
+ config?: string;
1150
+ /**
1151
+ * Deprecated. Use registration_identifiers instead.
1152
+ * example:
1153
+ * [
1154
+ * "email",
1155
+ * "last_name"
1156
+ * ]
1157
+ */
1158
+ contact_identifiers?: string[];
1159
+ /**
1160
+ * example:
1161
+ * {
1162
+ * "contact": [
1163
+ * "name",
1164
+ * "address"
1165
+ * ],
1166
+ * "contract": [
1167
+ * "installment_amount"
1168
+ * ]
1169
+ * }
1170
+ */
1171
+ approval_state_attributes?: {
1172
+ [name: string]: string[];
1173
+ };
1174
+ email_templates?: /* Email templates used for authentication and internal processes */ EmailTemplates;
1175
+ /**
1176
+ * Teaser & Banner Image web links
1177
+ */
1178
+ images?: {
1179
+ /**
1180
+ * URL of the order left teaser image
1181
+ * example:
1182
+ * https://epilot-bucket.s3.eu-central-1.amazonaws.com/12344/6538fddb-f0e9-4f0f-af51-6e57891ff20a/order-left-teaser.jpeg
1183
+ */
1184
+ orderLeftTeaser?: string | null;
1185
+ /**
1186
+ * URL of the order right teaser image
1187
+ * example:
1188
+ * https://epilot-bucket.s3.eu-central-1.amazonaws.com/12344/6538fddb-f0e9-4f0f-af51-6e57891ff20a/order-right-teaser.jpeg
1189
+ */
1190
+ orderRightTeaser?: string | null;
1191
+ /**
1192
+ * URL of the welcome banner image
1193
+ * example:
1194
+ * https://epilot-bucket.s3.eu-central-1.amazonaws.com/12344/6538fddb-f0e9-4f0f-af51-6e57891ff20a/welcome-banner.jpeg
1195
+ */
1196
+ welcomeBanner?: string | null;
1197
+ };
1198
+ /**
1199
+ * Identifiers used to identify an entity by a portal user. Deprecated. Use contract_identifiers instead.
1200
+ */
1201
+ entity_identifiers?: {
1202
+ type?: {
1203
+ /**
1204
+ * Enable/Disable the entity identifier
1205
+ */
1206
+ isEnabled?: boolean;
1207
+ /**
1208
+ * Attributes used to identify an entity
1209
+ */
1210
+ attributes?: string[];
1211
+ };
1212
+ };
1213
+ /**
1214
+ * Identifiers to identify a contract by a portal user.
1215
+ * example:
1216
+ * [
1217
+ * {
1218
+ * "name": "email",
1219
+ * "schema": "contact"
1220
+ * },
1221
+ * {
1222
+ * "name": "last_name",
1223
+ * "schema": "contact"
1224
+ * },
1225
+ * {
1226
+ * "name": "contract_number",
1227
+ * "schema": "contract"
1228
+ * }
1229
+ * ]
1230
+ */
1231
+ contract_identifiers?: ContractIdentifier[];
1232
+ /**
1233
+ * Configuration for contract selector in the portal
1234
+ */
1235
+ contract_selector_config?: {
1236
+ /**
1237
+ * Whether to show inactive contracts in the selector
1238
+ */
1239
+ show_inactive?: boolean;
1240
+ /**
1241
+ * Path to the property to use as the contract title
1242
+ */
1243
+ title_path?: string;
1244
+ };
1245
+ /**
1246
+ * Identifiers to identify a contact of a portal user during the registration.
1247
+ * example:
1248
+ * [
1249
+ * {
1250
+ * "name": "last_name",
1251
+ * "schema": "contact"
1252
+ * },
1253
+ * {
1254
+ * "name": "contract_number",
1255
+ * "schema": "contract"
1256
+ * }
1257
+ * ]
1258
+ */
1259
+ registration_identifiers?: ContractIdentifier[];
1260
+ /**
1261
+ * Journeys automatically opened on a portal user action
1262
+ */
1263
+ triggered_journeys?: {
1264
+ trigger_name?: "FIRST_LOGIN" | "ACCEPT_ORDER" | "DECLINE_ORDER";
1265
+ journey_id?: /**
1266
+ * Entity ID
1267
+ * example:
1268
+ * 5da0a718-c822-403d-9f5d-20d4584e0528
1269
+ */
1270
+ EntityId /* uuid */;
1271
+ }[];
1272
+ /**
1273
+ * Rules for editing an entity by a portal user
1274
+ */
1275
+ entity_edit_rules?: {
1276
+ slug?: /**
1277
+ * URL-friendly identifier for the entity schema
1278
+ * example:
1279
+ * contact
1280
+ */
1281
+ EntitySlug;
1282
+ /**
1283
+ * example:
1284
+ * first_name
1285
+ */
1286
+ attribute?: string;
1287
+ rule_type?: "cadence" | "relative_to_current_value" | "days_before_date" | "overdue_payments";
1288
+ cadence_period_type?: "days" | "weeks" | "months";
1289
+ /**
1290
+ * example:
1291
+ * 1
1292
+ */
1293
+ cadence_period?: number;
1294
+ /**
1295
+ * example:
1296
+ * 1
1297
+ */
1298
+ changes_allowed?: number;
1299
+ /**
1300
+ * example:
1301
+ * 1
1302
+ */
1303
+ grace_period?: number;
1304
+ /**
1305
+ * example:
1306
+ * 10%
1307
+ */
1308
+ allowed_increment?: string;
1309
+ /**
1310
+ * example:
1311
+ * 10%
1312
+ */
1313
+ allowed_decrement?: string;
1314
+ /**
1315
+ * example:
1316
+ * 10
1317
+ */
1318
+ number_of_days_before_restriction?: number;
1319
+ }[];
1320
+ allowed_file_extensions?: /* Allowed file extensions for upload */ AllowedFileExtensions;
1321
+ /**
1322
+ * Prevent indexing by search engines
1323
+ */
1324
+ prevent_search_engine_indexing?: boolean;
1325
+ /**
1326
+ * Grace period in days for meter readings
1327
+ */
1328
+ meter_reading_grace_period?: number;
1329
+ /**
1330
+ * Number of years to look back for showing inactive contracts in the portal
1331
+ */
1332
+ inactive_contract_cutoff_years?: number;
1333
+ /**
1334
+ * Whether this is a dummy/test portal configuration
1335
+ */
1336
+ is_dummy?: boolean;
1337
+ pages?: {
1338
+ [name: string]: Page;
1339
+ };
1340
+ }
1008
1341
  /**
1009
1342
  * The mapped contact of the portal user
1010
1343
  */
@@ -1649,6 +1982,59 @@ declare namespace Components {
1649
1982
  */
1650
1983
  EntitySlug;
1651
1984
  }
1985
+ /**
1986
+ * Response for entity search requests, but with groupings
1987
+ */
1988
+ export interface EntityResponseGroupedWithHits {
1989
+ groups?: {
1990
+ /**
1991
+ * Group title
1992
+ * example:
1993
+ * active
1994
+ */
1995
+ group?: string;
1996
+ /**
1997
+ * Total number of entities in this group
1998
+ * example:
1999
+ * 10
2000
+ */
2001
+ count?: number;
2002
+ results?: EntityItem[];
2003
+ }[];
2004
+ /**
2005
+ * Group pagination metadata
2006
+ */
2007
+ groups_pagination?: {
2008
+ /**
2009
+ * Whether there are more groups available
2010
+ */
2011
+ has_more?: boolean;
2012
+ /**
2013
+ * Composite aggregation key for the next page
2014
+ */
2015
+ after_key?: {
2016
+ [name: string]: string;
2017
+ };
2018
+ };
2019
+ /**
2020
+ * Total number of groups for pagination
2021
+ * example:
2022
+ * 50
2023
+ */
2024
+ hits?: number;
2025
+ }
2026
+ /**
2027
+ * Response for entity search requests
2028
+ */
2029
+ export interface EntityResponseWithHits {
2030
+ results?: EntityItem[];
2031
+ /**
2032
+ * Total number of entities for pagination
2033
+ * example:
2034
+ * 50
2035
+ */
2036
+ hits?: number;
2037
+ }
1652
2038
  export interface EntitySearchParams {
1653
2039
  slug: /**
1654
2040
  * URL-friendly identifier for the entity schema
@@ -1656,6 +2042,45 @@ declare namespace Components {
1656
2042
  * contact
1657
2043
  */
1658
2044
  EntitySlug;
2045
+ /**
2046
+ * Keyword search query
2047
+ * example:
2048
+ * contract
2049
+ */
2050
+ q?: string;
2051
+ /**
2052
+ * List of fields that can be searched
2053
+ * example:
2054
+ * [
2055
+ * "_title",
2056
+ * "customer._title",
2057
+ * "customer.first_name",
2058
+ * "customer.last_name"
2059
+ * ]
2060
+ */
2061
+ q_fields?: string[];
2062
+ /**
2063
+ * Field to group results by
2064
+ * example:
2065
+ * customer._title
2066
+ */
2067
+ group?: string;
2068
+ /**
2069
+ * Number of groups to return
2070
+ */
2071
+ group_size?: number;
2072
+ /**
2073
+ * Sort order for groups
2074
+ * example:
2075
+ * desc
2076
+ */
2077
+ group_sort?: "asc" | "desc";
2078
+ /**
2079
+ * Composite aggregation key for group pagination
2080
+ */
2081
+ group_after_key?: {
2082
+ [name: string]: string;
2083
+ };
1659
2084
  /**
1660
2085
  * example:
1661
2086
  * _created_at:desc
@@ -1675,11 +2100,31 @@ declare namespace Components {
1675
2100
  * example:
1676
2101
  * [
1677
2102
  * "_id",
1678
- * "_title",
1679
- * "first_name"
2103
+ * "_title"
1680
2104
  * ]
1681
2105
  */
1682
2106
  fields?: string[];
2107
+ /**
2108
+ * Additional filters to apply to the search query
2109
+ * example:
2110
+ * [
2111
+ * {
2112
+ * "term": {
2113
+ * "status.keyword": "active"
2114
+ * }
2115
+ * },
2116
+ * {
2117
+ * "range": {
2118
+ * "_created_at": {
2119
+ * "gte": "2023-01-01"
2120
+ * }
2121
+ * }
2122
+ * }
2123
+ * ]
2124
+ */
2125
+ filters?: {
2126
+ [key: string]: any;
2127
+ }[];
1683
2128
  }
1684
2129
  /**
1685
2130
  * URL-friendly identifier for the entity schema
@@ -2752,6 +3197,21 @@ declare namespace Components {
2752
3197
  * The status of the reading
2753
3198
  */
2754
3199
  status?: ReadingStatus;
3200
+ /**
3201
+ * The external ID of the reading
3202
+ */
3203
+ external_id?: string;
3204
+ /**
3205
+ * Additional metadata for the reading
3206
+ * example:
3207
+ * {
3208
+ * "registration_id": "1234567890",
3209
+ * "business_unit": "ABC"
3210
+ * }
3211
+ */
3212
+ metadata?: {
3213
+ [name: string]: string;
3214
+ };
2755
3215
  }
2756
3216
  export interface MeterReadingPhoto {
2757
3217
  /**
@@ -3128,24 +3588,109 @@ declare namespace Components {
3128
3588
  */
3129
3589
  enabled?: boolean;
3130
3590
  };
3131
- submission_preview?: {
3132
- /**
3133
- * Enable/Disable submission preview
3134
- */
3135
- enabled?: boolean;
3591
+ submission_preview?: {
3592
+ /**
3593
+ * Enable/Disable submission preview
3594
+ */
3595
+ enabled?: boolean;
3596
+ };
3597
+ user_roles_preview?: {
3598
+ /**
3599
+ * Enable/Disable user roles preview
3600
+ */
3601
+ enabled?: boolean;
3602
+ };
3603
+ }
3604
+ /**
3605
+ * Origin of the portal
3606
+ */
3607
+ export type Origin = "END_CUSTOMER_PORTAL" | "INSTALLER_PORTAL";
3608
+ export interface Page {
3609
+ [name: string]: any;
3610
+ /**
3611
+ * The slug of the page
3612
+ * example:
3613
+ * dashboard
3614
+ */
3615
+ slug: string;
3616
+ /**
3617
+ * The path of the page
3618
+ * example:
3619
+ * /dashboard
3620
+ */
3621
+ path?: string;
3622
+ schema?: ("contact" | "contract" | "meter" | "order" | "opportunity" | "meter_counter")[];
3623
+ /**
3624
+ * The conditions that need to be met for the page to be shown
3625
+ */
3626
+ visibility?: {
3627
+ [name: string]: any;
3628
+ };
3629
+ /**
3630
+ * The content of the page
3631
+ */
3632
+ content?: {
3633
+ [name: string]: any;
3136
3634
  };
3137
- user_roles_preview?: {
3138
- /**
3139
- * Enable/Disable user roles preview
3140
- */
3141
- enabled?: boolean;
3635
+ /**
3636
+ * The design of the page
3637
+ */
3638
+ design?: {
3639
+ [name: string]: any;
3640
+ };
3641
+ blocks?: {
3642
+ [name: string]: Block;
3142
3643
  };
3644
+ /**
3645
+ * The order of the block
3646
+ * example:
3647
+ * 1
3648
+ */
3649
+ order: number;
3650
+ /**
3651
+ * Whether the page is a system page
3652
+ * example:
3653
+ * false
3654
+ */
3655
+ is_system?: boolean;
3656
+ /**
3657
+ * Whether the page is public
3658
+ * example:
3659
+ * true
3660
+ */
3661
+ is_public?: boolean;
3662
+ /**
3663
+ * The id of the parent page
3664
+ * example:
3665
+ * c495fef9-eeca-4019-a989-8390dcd9825b
3666
+ */
3667
+ parentId?: string;
3668
+ /**
3669
+ * Whether the page is the entry route
3670
+ * example:
3671
+ * false
3672
+ */
3673
+ is_entry_route?: boolean;
3674
+ /**
3675
+ * Send the flag as true to delete the page
3676
+ * example:
3677
+ * false
3678
+ */
3679
+ is_deleted?: boolean;
3680
+ /**
3681
+ * The id of the page
3682
+ * example:
3683
+ * c495fef9-eeca-4019-a989-8390dcd9825b
3684
+ */
3685
+ id: string; // uuid
3686
+ /**
3687
+ * Last modified timestamp of the Page
3688
+ * example:
3689
+ * 2021-02-09T12:41:43.662Z
3690
+ */
3691
+ last_modified_at?: string; // date-time
3143
3692
  }
3144
- /**
3145
- * Origin of the portal
3146
- */
3147
- export type Origin = "END_CUSTOMER_PORTAL" | "INSTALLER_PORTAL";
3148
- export interface Page {
3693
+ export interface PageRequest {
3149
3694
  [name: string]: any;
3150
3695
  /**
3151
3696
  * The slug of the page
@@ -3208,118 +3753,416 @@ declare namespace Components {
3208
3753
  /**
3209
3754
  * Whether the page is the entry route
3210
3755
  * example:
3211
- * false
3756
+ * false
3757
+ */
3758
+ is_entry_route?: boolean;
3759
+ /**
3760
+ * Send the flag as true to delete the page
3761
+ * example:
3762
+ * false
3763
+ */
3764
+ is_deleted?: boolean;
3765
+ }
3766
+ export interface PaymentWidget {
3767
+ id: string;
3768
+ type: "ACTION_WIDGET" | "CONTENT_WIDGET" | "ENTITY_WIDGET" | "TEASER_WIDGET" | "DOCUMENT_WIDGET" | "PAYMENT_WIDGET" | "METER_READING_WIDGET" | "METER_CHART_WIDGET" | "CAMPAIGN_WIDGET";
3769
+ /**
3770
+ * Index of the widget in the list, used for ordering (left or right)
3771
+ */
3772
+ listIndex: number;
3773
+ headline?: {
3774
+ en?: string;
3775
+ de?: string;
3776
+ };
3777
+ subHeadline?: {
3778
+ en?: string;
3779
+ de?: string;
3780
+ };
3781
+ }
3782
+ export interface PortalConfig {
3783
+ /**
3784
+ * Enable/Disable the portal access
3785
+ */
3786
+ enabled?: boolean;
3787
+ /**
3788
+ * A short name to identify your portal
3789
+ * example:
3790
+ * Installer Portal
3791
+ */
3792
+ name?: string;
3793
+ /**
3794
+ * The URL on which the portal is accessible
3795
+ * example:
3796
+ * abc.com
3797
+ */
3798
+ domain: string;
3799
+ /**
3800
+ * Mark true if the domain is an Epilot domain
3801
+ */
3802
+ is_epilot_domain?: boolean;
3803
+ design_id?: /**
3804
+ * Entity ID
3805
+ * example:
3806
+ * 5da0a718-c822-403d-9f5d-20d4584e0528
3807
+ */
3808
+ EntityId /* uuid */;
3809
+ self_registration_setting?: "ALLOW_WITH_CONTACT_CREATION" | "ALLOW_WITHOUT_CONTACT_CREATION" | "DENY";
3810
+ /**
3811
+ * Feature settings for the portal
3812
+ */
3813
+ feature_settings?: {
3814
+ /**
3815
+ * Start page feature flag
3816
+ */
3817
+ start_page?: boolean;
3818
+ /**
3819
+ * Billing feature flag
3820
+ */
3821
+ billing?: boolean;
3822
+ /**
3823
+ * Change due date feature flag
3824
+ */
3825
+ change_due_date?: boolean;
3826
+ /**
3827
+ * Enable or disable the new design for the portal
3828
+ */
3829
+ new_design?: boolean;
3830
+ };
3831
+ /**
3832
+ * Access token for the portal
3833
+ */
3834
+ accessToken?: string;
3835
+ advanced_mfa?: {
3836
+ /**
3837
+ * Advanced MFA feature flag
3838
+ */
3839
+ enabled?: boolean;
3840
+ };
3841
+ /**
3842
+ * Authentication settings for the portal
3843
+ */
3844
+ auth_settings?: {
3845
+ passwordless_login?: {
3846
+ /**
3847
+ * Passwordless login feature flag
3848
+ */
3849
+ enabled?: boolean;
3850
+ };
3851
+ entry_point?: "PASSWORD" | "SSO";
3852
+ preferred_sso_providers?: /**
3853
+ * URL-friendly slug to use as organization-unique identifier for Provider
3854
+ * example:
3855
+ * office-365-login
3856
+ */
3857
+ ProviderSlug /* [0-9a-z-]+ */[];
3858
+ };
3859
+ /**
3860
+ * AWS Cognito Pool details for the portal
3861
+ */
3862
+ cognito_details?: {
3863
+ /**
3864
+ * Cognito user pool client ID
3865
+ * example:
3866
+ * 6bsd0jkgoie74k2i8mrhc1vest
3867
+ */
3868
+ cognito_user_pool_client_id?: string;
3869
+ /**
3870
+ * Cognito user pool ARN
3871
+ * example:
3872
+ * arn:aws:cognito-idp:us-east-1:123412341234:userpool/us-east-1_123412341
3873
+ */
3874
+ cognito_user_pool_arn?: string;
3875
+ /**
3876
+ * Cognito user pool ID
3877
+ * example:
3878
+ * eu-central-1_CUEQRNbUb
3879
+ */
3880
+ cognito_user_pool_id?: string;
3881
+ /**
3882
+ * Password policy for the portal
3883
+ */
3884
+ password_policy?: {
3885
+ /**
3886
+ * Minimum password length
3887
+ * example:
3888
+ * 8
3889
+ */
3890
+ minimum_length?: number;
3891
+ /**
3892
+ * Require lowercase characters
3893
+ * example:
3894
+ * true
3895
+ */
3896
+ require_lowercase?: boolean;
3897
+ /**
3898
+ * Require uppercase characters
3899
+ * example:
3900
+ * true
3901
+ */
3902
+ require_uppercase?: boolean;
3903
+ /**
3904
+ * Require numbers
3905
+ * example:
3906
+ * true
3907
+ */
3908
+ require_numbers?: boolean;
3909
+ /**
3910
+ * Require symbols
3911
+ * example:
3912
+ * true
3913
+ */
3914
+ require_symbols?: boolean;
3915
+ };
3916
+ };
3917
+ /**
3918
+ * Stringified object with configuration details
3919
+ */
3920
+ config?: string;
3921
+ /**
3922
+ * Deprecated. Use registration_identifiers instead.
3923
+ * example:
3924
+ * [
3925
+ * "email",
3926
+ * "last_name"
3927
+ * ]
3928
+ */
3929
+ contact_identifiers?: string[];
3930
+ /**
3931
+ * example:
3932
+ * {
3933
+ * "contact": [
3934
+ * "name",
3935
+ * "address"
3936
+ * ],
3937
+ * "contract": [
3938
+ * "installment_amount"
3939
+ * ]
3940
+ * }
3212
3941
  */
3213
- is_entry_route?: boolean;
3942
+ approval_state_attributes?: {
3943
+ [name: string]: string[];
3944
+ };
3945
+ email_templates?: /* Email templates used for authentication and internal processes */ EmailTemplates;
3214
3946
  /**
3215
- * Send the flag as true to delete the page
3216
- * example:
3217
- * false
3947
+ * Teaser & Banner Image web links
3218
3948
  */
3219
- is_deleted?: boolean;
3949
+ images?: {
3950
+ /**
3951
+ * URL of the order left teaser image
3952
+ * example:
3953
+ * https://epilot-bucket.s3.eu-central-1.amazonaws.com/12344/6538fddb-f0e9-4f0f-af51-6e57891ff20a/order-left-teaser.jpeg
3954
+ */
3955
+ orderLeftTeaser?: string | null;
3956
+ /**
3957
+ * URL of the order right teaser image
3958
+ * example:
3959
+ * https://epilot-bucket.s3.eu-central-1.amazonaws.com/12344/6538fddb-f0e9-4f0f-af51-6e57891ff20a/order-right-teaser.jpeg
3960
+ */
3961
+ orderRightTeaser?: string | null;
3962
+ /**
3963
+ * URL of the welcome banner image
3964
+ * example:
3965
+ * https://epilot-bucket.s3.eu-central-1.amazonaws.com/12344/6538fddb-f0e9-4f0f-af51-6e57891ff20a/welcome-banner.jpeg
3966
+ */
3967
+ welcomeBanner?: string | null;
3968
+ };
3220
3969
  /**
3221
- * The id of the page
3222
- * example:
3223
- * c495fef9-eeca-4019-a989-8390dcd9825b
3970
+ * Identifiers used to identify an entity by a portal user. Deprecated. Use contract_identifiers instead.
3224
3971
  */
3225
- id: string; // uuid
3972
+ entity_identifiers?: {
3973
+ type?: {
3974
+ /**
3975
+ * Enable/Disable the entity identifier
3976
+ */
3977
+ isEnabled?: boolean;
3978
+ /**
3979
+ * Attributes used to identify an entity
3980
+ */
3981
+ attributes?: string[];
3982
+ };
3983
+ };
3226
3984
  /**
3227
- * Last modified timestamp of the Page
3985
+ * Identifiers to identify a contract by a portal user.
3228
3986
  * example:
3229
- * 2021-02-09T12:41:43.662Z
3987
+ * [
3988
+ * {
3989
+ * "name": "email",
3990
+ * "schema": "contact"
3991
+ * },
3992
+ * {
3993
+ * "name": "last_name",
3994
+ * "schema": "contact"
3995
+ * },
3996
+ * {
3997
+ * "name": "contract_number",
3998
+ * "schema": "contract"
3999
+ * }
4000
+ * ]
3230
4001
  */
3231
- last_modified_at?: string; // date-time
3232
- }
3233
- export interface PageRequest {
3234
- [name: string]: any;
4002
+ contract_identifiers?: ContractIdentifier[];
3235
4003
  /**
3236
- * The slug of the page
3237
- * example:
3238
- * dashboard
4004
+ * Configuration for contract selector in the portal
3239
4005
  */
3240
- slug: string;
4006
+ contract_selector_config?: {
4007
+ /**
4008
+ * Whether to show inactive contracts in the selector
4009
+ */
4010
+ show_inactive?: boolean;
4011
+ /**
4012
+ * Path to the property to use as the contract title
4013
+ */
4014
+ title_path?: string;
4015
+ };
3241
4016
  /**
3242
- * The path of the page
4017
+ * Identifiers to identify a contact of a portal user during the registration.
3243
4018
  * example:
3244
- * /dashboard
4019
+ * [
4020
+ * {
4021
+ * "name": "last_name",
4022
+ * "schema": "contact"
4023
+ * },
4024
+ * {
4025
+ * "name": "contract_number",
4026
+ * "schema": "contract"
4027
+ * }
4028
+ * ]
3245
4029
  */
3246
- path?: string;
3247
- schema?: ("contact" | "contract" | "meter" | "order" | "opportunity" | "meter_counter")[];
4030
+ registration_identifiers?: ContractIdentifier[];
3248
4031
  /**
3249
- * The conditions that need to be met for the page to be shown
4032
+ * Journeys automatically opened on a portal user action
3250
4033
  */
3251
- visibility?: {
3252
- [name: string]: any;
3253
- };
4034
+ triggered_journeys?: {
4035
+ trigger_name?: "FIRST_LOGIN" | "ACCEPT_ORDER" | "DECLINE_ORDER";
4036
+ journey_id?: /**
4037
+ * Entity ID
4038
+ * example:
4039
+ * 5da0a718-c822-403d-9f5d-20d4584e0528
4040
+ */
4041
+ EntityId /* uuid */;
4042
+ }[];
3254
4043
  /**
3255
- * The content of the page
4044
+ * Rules for editing an entity by a portal user
3256
4045
  */
3257
- content?: {
3258
- [name: string]: any;
3259
- };
4046
+ entity_edit_rules?: {
4047
+ slug?: /**
4048
+ * URL-friendly identifier for the entity schema
4049
+ * example:
4050
+ * contact
4051
+ */
4052
+ EntitySlug;
4053
+ /**
4054
+ * example:
4055
+ * first_name
4056
+ */
4057
+ attribute?: string;
4058
+ rule_type?: "cadence" | "relative_to_current_value" | "days_before_date" | "overdue_payments";
4059
+ cadence_period_type?: "days" | "weeks" | "months";
4060
+ /**
4061
+ * example:
4062
+ * 1
4063
+ */
4064
+ cadence_period?: number;
4065
+ /**
4066
+ * example:
4067
+ * 1
4068
+ */
4069
+ changes_allowed?: number;
4070
+ /**
4071
+ * example:
4072
+ * 1
4073
+ */
4074
+ grace_period?: number;
4075
+ /**
4076
+ * example:
4077
+ * 10%
4078
+ */
4079
+ allowed_increment?: string;
4080
+ /**
4081
+ * example:
4082
+ * 10%
4083
+ */
4084
+ allowed_decrement?: string;
4085
+ /**
4086
+ * example:
4087
+ * 10
4088
+ */
4089
+ number_of_days_before_restriction?: number;
4090
+ }[];
4091
+ allowed_file_extensions?: /* Allowed file extensions for upload */ AllowedFileExtensions;
3260
4092
  /**
3261
- * The design of the page
4093
+ * Prevent indexing by search engines
3262
4094
  */
3263
- design?: {
3264
- [name: string]: any;
3265
- };
3266
- blocks?: {
3267
- [name: string]: Block;
3268
- };
4095
+ prevent_search_engine_indexing?: boolean;
3269
4096
  /**
3270
- * The order of the block
3271
- * example:
3272
- * 1
4097
+ * Grace period in days for meter readings
3273
4098
  */
3274
- order: number;
4099
+ meter_reading_grace_period?: number;
3275
4100
  /**
3276
- * Whether the page is a system page
3277
- * example:
3278
- * false
4101
+ * Number of years to look back for showing inactive contracts in the portal
3279
4102
  */
3280
- is_system?: boolean;
4103
+ inactive_contract_cutoff_years?: number;
3281
4104
  /**
3282
- * Whether the page is public
3283
- * example:
3284
- * true
4105
+ * Whether this is a dummy/test portal configuration
3285
4106
  */
3286
- is_public?: boolean;
4107
+ is_dummy?: boolean;
4108
+ pages?: {
4109
+ [name: string]: Page;
4110
+ };
3287
4111
  /**
3288
- * The id of the parent page
4112
+ * ID of the organization
3289
4113
  * example:
3290
- * c495fef9-eeca-4019-a989-8390dcd9825b
4114
+ * 12345
3291
4115
  */
3292
- parentId?: string;
4116
+ id?: string;
3293
4117
  /**
3294
- * Whether the page is the entry route
4118
+ * ID of the organization
3295
4119
  * example:
3296
- * false
4120
+ * 12345
3297
4121
  */
3298
- is_entry_route?: boolean;
4122
+ organization_id?: string;
3299
4123
  /**
3300
- * Send the flag as true to delete the page
4124
+ * ID of the portal
3301
4125
  * example:
3302
- * false
4126
+ * 453ad7bf-86d5-46c8-8252-bcc868df5e3c
3303
4127
  */
3304
- is_deleted?: boolean;
3305
- }
3306
- export interface PaymentWidget {
3307
- id: string;
3308
- type: "ACTION_WIDGET" | "CONTENT_WIDGET" | "ENTITY_WIDGET" | "TEASER_WIDGET" | "DOCUMENT_WIDGET" | "PAYMENT_WIDGET" | "METER_READING_WIDGET" | "METER_CHART_WIDGET" | "CAMPAIGN_WIDGET";
4128
+ portal_id?: string;
4129
+ origin?: /* Origin of the portal */ Origin;
3309
4130
  /**
3310
- * Index of the widget in the list, used for ordering (left or right)
4131
+ * Organization settings
3311
4132
  */
3312
- listIndex: number;
3313
- headline?: {
3314
- en?: string;
3315
- de?: string;
4133
+ org_settings?: {
4134
+ /**
4135
+ * Canary feature flag
4136
+ */
4137
+ canary?: {
4138
+ /**
4139
+ * Enable/Disable the canary feature
4140
+ */
4141
+ enabled?: boolean;
4142
+ };
4143
+ /**
4144
+ * Disable Advanced Usage Metrics
4145
+ */
4146
+ notracking?: {
4147
+ /**
4148
+ * Disable browser-side scripts that track advanced usage metrics
4149
+ */
4150
+ enabled?: boolean;
4151
+ };
3316
4152
  };
3317
- subHeadline?: {
3318
- en?: string;
3319
- de?: string;
4153
+ /**
4154
+ * Feature flags for the portal
4155
+ */
4156
+ feature_flags?: {
4157
+ [name: string]: boolean;
3320
4158
  };
4159
+ /**
4160
+ * Permissions granted to a portal user while accessing entities
4161
+ */
4162
+ grants?: Grant[];
4163
+ identity_providers?: ProviderPublicConfig[];
3321
4164
  }
3322
- export interface PortalConfig {
4165
+ export interface PortalConfigV3 {
3323
4166
  /**
3324
4167
  * Enable/Disable the portal access
3325
4168
  */
@@ -3335,7 +4178,7 @@ declare namespace Components {
3335
4178
  * example:
3336
4179
  * abc.com
3337
4180
  */
3338
- domain: string;
4181
+ domain?: string;
3339
4182
  /**
3340
4183
  * Mark true if the domain is an Epilot domain
3341
4184
  */
@@ -3649,11 +4492,11 @@ declare namespace Components {
3649
4492
  [name: string]: Page;
3650
4493
  };
3651
4494
  /**
3652
- * ID of the organization
4495
+ * ID of the portal
3653
4496
  * example:
3654
- * 12345
4497
+ * 453ad7bf-86d5-46c8-8252-bcc868df5e3c
3655
4498
  */
3656
- id?: string;
4499
+ portal_id?: string;
3657
4500
  /**
3658
4501
  * ID of the organization
3659
4502
  * example:
@@ -3900,7 +4743,7 @@ declare namespace Components {
3900
4743
  * example:
3901
4744
  * Storing the feed-in record
3902
4745
  */
3903
- export type Reason = string | null;
4746
+ export type Reason = "" | "irregular" | "last" | "first" | "meter_change" | "contract_change" | "meter_adjustment";
3904
4747
  export interface RegistrationIdentifier {
3905
4748
  /**
3906
4749
  * Name of the identifier/attribute
@@ -4093,192 +4936,562 @@ declare namespace Components {
4093
4936
  * example:
4094
4937
  * openid email
4095
4938
  */
4096
- scope?: string;
4097
- }
4098
- export type SSOLoginToken = string;
4099
- export interface SaveEntityFile {
4100
- entity_id: /**
4939
+ scope?: string;
4940
+ }
4941
+ export type SSOLoginToken = string;
4942
+ export interface SaveEntityFile {
4943
+ entity_id: /**
4944
+ * Entity ID
4945
+ * example:
4946
+ * 5da0a718-c822-403d-9f5d-20d4584e0528
4947
+ */
4948
+ EntityId /* uuid */;
4949
+ /**
4950
+ * Entity type
4951
+ * example:
4952
+ * order
4953
+ */
4954
+ entity_type: string;
4955
+ files: {
4956
+ /**
4957
+ * File name
4958
+ * example:
4959
+ * document.pdf
4960
+ */
4961
+ filename: string;
4962
+ /**
4963
+ * Access control level for the file. Deprecated - all files are private.
4964
+ */
4965
+ access_control?: "private" | "public-read";
4966
+ s3ref: {
4967
+ /**
4968
+ * S3 bucket name
4969
+ * example:
4970
+ * 12345
4971
+ */
4972
+ bucket: string;
4973
+ /**
4974
+ * S3 key
4975
+ * example:
4976
+ * 12345
4977
+ */
4978
+ key: string;
4979
+ };
4980
+ }[];
4981
+ }
4982
+ export interface SavePortalFile {
4983
+ /**
4984
+ * Origin of the portal
4985
+ */
4986
+ origin: /* Origin of the portal */ Origin;
4987
+ files: {
4988
+ /**
4989
+ * File name
4990
+ * example:
4991
+ * 12345
4992
+ */
4993
+ filename?: string;
4994
+ /**
4995
+ * File type
4996
+ * example:
4997
+ * orderRightTeaser
4998
+ */
4999
+ file_type: string;
5000
+ /**
5001
+ * Array of file tags
5002
+ * example:
5003
+ * 12345
5004
+ */
5005
+ _tags?: string[];
5006
+ s3ref?: {
5007
+ /**
5008
+ * S3 bucket name
5009
+ * example:
5010
+ * 12345
5011
+ */
5012
+ bucket: string;
5013
+ /**
5014
+ * S3 key
5015
+ * example:
5016
+ * 12345
5017
+ */
5018
+ key: string;
5019
+ };
5020
+ }[];
5021
+ }
5022
+ export interface Schema {
5023
+ [name: string]: any;
5024
+ /**
5025
+ * Slug of the schema
5026
+ * example:
5027
+ * contact
5028
+ */
5029
+ slug?: string;
5030
+ }
5031
+ export type Source = "ECP" | "ERP" | "360" | "journey-submission";
5032
+ export type TariffType = "ht" | "nt";
5033
+ export interface TeaserWidget {
5034
+ id: string;
5035
+ type: "ACTION_WIDGET" | "CONTENT_WIDGET" | "ENTITY_WIDGET" | "TEASER_WIDGET" | "DOCUMENT_WIDGET" | "PAYMENT_WIDGET" | "METER_READING_WIDGET" | "METER_CHART_WIDGET" | "CAMPAIGN_WIDGET";
5036
+ /**
5037
+ * Index of the widget in the list, used for ordering (left or right)
5038
+ */
5039
+ listIndex: number;
5040
+ headline?: {
5041
+ en?: string;
5042
+ de?: string;
5043
+ };
5044
+ subHeadline?: {
5045
+ en?: string;
5046
+ de?: string;
5047
+ };
5048
+ imageUrl?: string;
5049
+ button?: {
5050
+ label?: {
5051
+ en?: string;
5052
+ de?: string;
5053
+ };
5054
+ url?: string;
5055
+ };
5056
+ }
5057
+ export interface TriggerPortalFlow {
5058
+ /**
5059
+ * Id of the activity
5060
+ * example:
5061
+ * 01F130Q52Q6MWSNS8N2AVXV4JN
5062
+ */
5063
+ activity_id?: string;
5064
+ ecp_config?: {
5065
+ file_config?: {
5066
+ /**
5067
+ * Indicate whether the file is shared with the end customer
5068
+ */
5069
+ shared_with_end_customer?: boolean;
5070
+ /**
5071
+ * Array of entity tags
5072
+ * example:
5073
+ * [
5074
+ * "example",
5075
+ * "mock"
5076
+ * ]
5077
+ */
5078
+ _tags?: string[];
5079
+ };
5080
+ };
5081
+ }
5082
+ export interface UpdateOnlyPortalConfigAttributes {
5083
+ /**
5084
+ * Journey actions allowed on an entity by a portal user
5085
+ */
5086
+ entity_actions?: {
5087
+ journey_id?: /**
5088
+ * Entity ID
5089
+ * example:
5090
+ * 5da0a718-c822-403d-9f5d-20d4584e0528
5091
+ */
5092
+ EntityId /* uuid */;
5093
+ slug?: /**
5094
+ * URL-friendly identifier for the entity schema
5095
+ * example:
5096
+ * contact
5097
+ */
5098
+ EntitySlug;
5099
+ action_Label?: {
5100
+ en?: string;
5101
+ de?: string;
5102
+ };
5103
+ }[];
5104
+ /**
5105
+ * Configured Portal extensions
5106
+ */
5107
+ extensions?: ExtensionConfig[];
5108
+ /**
5109
+ * Configured Portal extensions hooks
5110
+ */
5111
+ extension_hooks?: {
5112
+ [name: string]: ExtensionHookConfig;
5113
+ };
5114
+ /**
5115
+ * Default 360 user to notify upon an internal notification
5116
+ */
5117
+ default_user_to_notify?: {
5118
+ /**
5119
+ * Default admin users for pending user notification to notify
5120
+ */
5121
+ onPendingUser?: AdminUser[];
5122
+ };
5123
+ }
5124
+ export interface UpsertPortalConfig {
5125
+ /**
5126
+ * Journey actions allowed on an entity by a portal user
5127
+ */
5128
+ entity_actions?: {
5129
+ journey_id?: /**
5130
+ * Entity ID
5131
+ * example:
5132
+ * 5da0a718-c822-403d-9f5d-20d4584e0528
5133
+ */
5134
+ EntityId /* uuid */;
5135
+ slug?: /**
5136
+ * URL-friendly identifier for the entity schema
5137
+ * example:
5138
+ * contact
5139
+ */
5140
+ EntitySlug;
5141
+ action_Label?: {
5142
+ en?: string;
5143
+ de?: string;
5144
+ };
5145
+ }[];
5146
+ /**
5147
+ * Configured Portal extensions
5148
+ */
5149
+ extensions?: ExtensionConfig[];
5150
+ /**
5151
+ * Configured Portal extensions hooks
5152
+ */
5153
+ extension_hooks?: {
5154
+ [name: string]: ExtensionHookConfig;
5155
+ };
5156
+ /**
5157
+ * Default 360 user to notify upon an internal notification
5158
+ */
5159
+ default_user_to_notify?: {
5160
+ /**
5161
+ * Default admin users for pending user notification to notify
5162
+ */
5163
+ onPendingUser?: AdminUser[];
5164
+ };
5165
+ /**
5166
+ * Enable/Disable the portal access
5167
+ */
5168
+ enabled?: boolean;
5169
+ /**
5170
+ * A short name to identify your portal
5171
+ * example:
5172
+ * Installer Portal
5173
+ */
5174
+ name?: string;
5175
+ /**
5176
+ * The URL on which the portal is accessible
5177
+ * example:
5178
+ * abc.com
5179
+ */
5180
+ domain: string;
5181
+ /**
5182
+ * Mark true if the domain is an Epilot domain
5183
+ */
5184
+ is_epilot_domain?: boolean;
5185
+ design_id?: /**
4101
5186
  * Entity ID
4102
5187
  * example:
4103
5188
  * 5da0a718-c822-403d-9f5d-20d4584e0528
4104
5189
  */
4105
5190
  EntityId /* uuid */;
5191
+ self_registration_setting?: "ALLOW_WITH_CONTACT_CREATION" | "ALLOW_WITHOUT_CONTACT_CREATION" | "DENY";
4106
5192
  /**
4107
- * Entity type
4108
- * example:
4109
- * order
5193
+ * Feature settings for the portal
4110
5194
  */
4111
- entity_type: string;
4112
- files: {
5195
+ feature_settings?: {
4113
5196
  /**
4114
- * File name
4115
- * example:
4116
- * document.pdf
5197
+ * Start page feature flag
4117
5198
  */
4118
- filename: string;
5199
+ start_page?: boolean;
4119
5200
  /**
4120
- * Access control level for the file. Deprecated - all files are private.
5201
+ * Billing feature flag
4121
5202
  */
4122
- access_control?: "private" | "public-read";
4123
- s3ref: {
4124
- /**
4125
- * S3 bucket name
4126
- * example:
4127
- * 12345
4128
- */
4129
- bucket: string;
5203
+ billing?: boolean;
5204
+ /**
5205
+ * Change due date feature flag
5206
+ */
5207
+ change_due_date?: boolean;
5208
+ /**
5209
+ * Enable or disable the new design for the portal
5210
+ */
5211
+ new_design?: boolean;
5212
+ };
5213
+ /**
5214
+ * Access token for the portal
5215
+ */
5216
+ accessToken?: string;
5217
+ advanced_mfa?: {
5218
+ /**
5219
+ * Advanced MFA feature flag
5220
+ */
5221
+ enabled?: boolean;
5222
+ };
5223
+ /**
5224
+ * Authentication settings for the portal
5225
+ */
5226
+ auth_settings?: {
5227
+ passwordless_login?: {
4130
5228
  /**
4131
- * S3 key
4132
- * example:
4133
- * 12345
5229
+ * Passwordless login feature flag
4134
5230
  */
4135
- key: string;
5231
+ enabled?: boolean;
4136
5232
  };
4137
- }[];
4138
- }
4139
- export interface SavePortalFile {
5233
+ entry_point?: "PASSWORD" | "SSO";
5234
+ preferred_sso_providers?: /**
5235
+ * URL-friendly slug to use as organization-unique identifier for Provider
5236
+ * example:
5237
+ * office-365-login
5238
+ */
5239
+ ProviderSlug /* [0-9a-z-]+ */[];
5240
+ };
4140
5241
  /**
4141
- * Origin of the portal
5242
+ * AWS Cognito Pool details for the portal
4142
5243
  */
4143
- origin: /* Origin of the portal */ Origin;
4144
- files: {
5244
+ cognito_details?: {
4145
5245
  /**
4146
- * File name
5246
+ * Cognito user pool client ID
4147
5247
  * example:
4148
- * 12345
5248
+ * 6bsd0jkgoie74k2i8mrhc1vest
4149
5249
  */
4150
- filename?: string;
5250
+ cognito_user_pool_client_id?: string;
4151
5251
  /**
4152
- * File type
5252
+ * Cognito user pool ARN
4153
5253
  * example:
4154
- * orderRightTeaser
5254
+ * arn:aws:cognito-idp:us-east-1:123412341234:userpool/us-east-1_123412341
4155
5255
  */
4156
- file_type: string;
5256
+ cognito_user_pool_arn?: string;
4157
5257
  /**
4158
- * Array of file tags
5258
+ * Cognito user pool ID
4159
5259
  * example:
4160
- * 12345
5260
+ * eu-central-1_CUEQRNbUb
4161
5261
  */
4162
- _tags?: string[];
4163
- s3ref?: {
5262
+ cognito_user_pool_id?: string;
5263
+ /**
5264
+ * Password policy for the portal
5265
+ */
5266
+ password_policy?: {
4164
5267
  /**
4165
- * S3 bucket name
5268
+ * Minimum password length
4166
5269
  * example:
4167
- * 12345
5270
+ * 8
4168
5271
  */
4169
- bucket: string;
5272
+ minimum_length?: number;
4170
5273
  /**
4171
- * S3 key
5274
+ * Require lowercase characters
4172
5275
  * example:
4173
- * 12345
5276
+ * true
4174
5277
  */
4175
- key: string;
5278
+ require_lowercase?: boolean;
5279
+ /**
5280
+ * Require uppercase characters
5281
+ * example:
5282
+ * true
5283
+ */
5284
+ require_uppercase?: boolean;
5285
+ /**
5286
+ * Require numbers
5287
+ * example:
5288
+ * true
5289
+ */
5290
+ require_numbers?: boolean;
5291
+ /**
5292
+ * Require symbols
5293
+ * example:
5294
+ * true
5295
+ */
5296
+ require_symbols?: boolean;
4176
5297
  };
4177
- }[];
4178
- }
4179
- export interface Schema {
4180
- [name: string]: any;
5298
+ };
4181
5299
  /**
4182
- * Slug of the schema
5300
+ * Stringified object with configuration details
5301
+ */
5302
+ config?: string;
5303
+ /**
5304
+ * Deprecated. Use registration_identifiers instead.
4183
5305
  * example:
4184
- * contact
5306
+ * [
5307
+ * "email",
5308
+ * "last_name"
5309
+ * ]
4185
5310
  */
4186
- slug?: string;
4187
- }
4188
- export type Source = "ECP" | "ERP" | "360" | "journey-submission";
4189
- export type TariffType = "ht" | "nt";
4190
- export interface TeaserWidget {
4191
- id: string;
4192
- type: "ACTION_WIDGET" | "CONTENT_WIDGET" | "ENTITY_WIDGET" | "TEASER_WIDGET" | "DOCUMENT_WIDGET" | "PAYMENT_WIDGET" | "METER_READING_WIDGET" | "METER_CHART_WIDGET" | "CAMPAIGN_WIDGET";
5311
+ contact_identifiers?: string[];
4193
5312
  /**
4194
- * Index of the widget in the list, used for ordering (left or right)
5313
+ * example:
5314
+ * {
5315
+ * "contact": [
5316
+ * "name",
5317
+ * "address"
5318
+ * ],
5319
+ * "contract": [
5320
+ * "installment_amount"
5321
+ * ]
5322
+ * }
4195
5323
  */
4196
- listIndex: number;
4197
- headline?: {
4198
- en?: string;
4199
- de?: string;
4200
- };
4201
- subHeadline?: {
4202
- en?: string;
4203
- de?: string;
5324
+ approval_state_attributes?: {
5325
+ [name: string]: string[];
4204
5326
  };
4205
- imageUrl?: string;
4206
- button?: {
4207
- label?: {
4208
- en?: string;
4209
- de?: string;
4210
- };
4211
- url?: string;
5327
+ email_templates?: /* Email templates used for authentication and internal processes */ EmailTemplates;
5328
+ /**
5329
+ * Teaser & Banner Image web links
5330
+ */
5331
+ images?: {
5332
+ /**
5333
+ * URL of the order left teaser image
5334
+ * example:
5335
+ * https://epilot-bucket.s3.eu-central-1.amazonaws.com/12344/6538fddb-f0e9-4f0f-af51-6e57891ff20a/order-left-teaser.jpeg
5336
+ */
5337
+ orderLeftTeaser?: string | null;
5338
+ /**
5339
+ * URL of the order right teaser image
5340
+ * example:
5341
+ * https://epilot-bucket.s3.eu-central-1.amazonaws.com/12344/6538fddb-f0e9-4f0f-af51-6e57891ff20a/order-right-teaser.jpeg
5342
+ */
5343
+ orderRightTeaser?: string | null;
5344
+ /**
5345
+ * URL of the welcome banner image
5346
+ * example:
5347
+ * https://epilot-bucket.s3.eu-central-1.amazonaws.com/12344/6538fddb-f0e9-4f0f-af51-6e57891ff20a/welcome-banner.jpeg
5348
+ */
5349
+ welcomeBanner?: string | null;
4212
5350
  };
4213
- }
4214
- export interface TriggerPortalFlow {
4215
5351
  /**
4216
- * Id of the activity
4217
- * example:
4218
- * 01F130Q52Q6MWSNS8N2AVXV4JN
5352
+ * Identifiers used to identify an entity by a portal user. Deprecated. Use contract_identifiers instead.
4219
5353
  */
4220
- activity_id?: string;
4221
- ecp_config?: {
4222
- file_config?: {
5354
+ entity_identifiers?: {
5355
+ type?: {
4223
5356
  /**
4224
- * Indicate whether the file is shared with the end customer
5357
+ * Enable/Disable the entity identifier
4225
5358
  */
4226
- shared_with_end_customer?: boolean;
5359
+ isEnabled?: boolean;
4227
5360
  /**
4228
- * Array of entity tags
4229
- * example:
4230
- * [
4231
- * "example",
4232
- * "mock"
4233
- * ]
5361
+ * Attributes used to identify an entity
4234
5362
  */
4235
- _tags?: string[];
5363
+ attributes?: string[];
4236
5364
  };
4237
5365
  };
4238
- }
4239
- export interface UpdateOnlyPortalConfigAttributes {
4240
5366
  /**
4241
- * Journey actions allowed on an entity by a portal user
5367
+ * Identifiers to identify a contract by a portal user.
5368
+ * example:
5369
+ * [
5370
+ * {
5371
+ * "name": "email",
5372
+ * "schema": "contact"
5373
+ * },
5374
+ * {
5375
+ * "name": "last_name",
5376
+ * "schema": "contact"
5377
+ * },
5378
+ * {
5379
+ * "name": "contract_number",
5380
+ * "schema": "contract"
5381
+ * }
5382
+ * ]
5383
+ */
5384
+ contract_identifiers?: ContractIdentifier[];
5385
+ /**
5386
+ * Configuration for contract selector in the portal
5387
+ */
5388
+ contract_selector_config?: {
5389
+ /**
5390
+ * Whether to show inactive contracts in the selector
5391
+ */
5392
+ show_inactive?: boolean;
5393
+ /**
5394
+ * Path to the property to use as the contract title
5395
+ */
5396
+ title_path?: string;
5397
+ };
5398
+ /**
5399
+ * Identifiers to identify a contact of a portal user during the registration.
5400
+ * example:
5401
+ * [
5402
+ * {
5403
+ * "name": "last_name",
5404
+ * "schema": "contact"
5405
+ * },
5406
+ * {
5407
+ * "name": "contract_number",
5408
+ * "schema": "contract"
5409
+ * }
5410
+ * ]
4242
5411
  */
4243
- entity_actions?: {
5412
+ registration_identifiers?: ContractIdentifier[];
5413
+ /**
5414
+ * Journeys automatically opened on a portal user action
5415
+ */
5416
+ triggered_journeys?: {
5417
+ trigger_name?: "FIRST_LOGIN" | "ACCEPT_ORDER" | "DECLINE_ORDER";
4244
5418
  journey_id?: /**
4245
5419
  * Entity ID
4246
5420
  * example:
4247
5421
  * 5da0a718-c822-403d-9f5d-20d4584e0528
4248
5422
  */
4249
5423
  EntityId /* uuid */;
5424
+ }[];
5425
+ /**
5426
+ * Rules for editing an entity by a portal user
5427
+ */
5428
+ entity_edit_rules?: {
4250
5429
  slug?: /**
4251
5430
  * URL-friendly identifier for the entity schema
4252
5431
  * example:
4253
5432
  * contact
4254
5433
  */
4255
5434
  EntitySlug;
4256
- action_Label?: {
4257
- en?: string;
4258
- de?: string;
4259
- };
5435
+ /**
5436
+ * example:
5437
+ * first_name
5438
+ */
5439
+ attribute?: string;
5440
+ rule_type?: "cadence" | "relative_to_current_value" | "days_before_date" | "overdue_payments";
5441
+ cadence_period_type?: "days" | "weeks" | "months";
5442
+ /**
5443
+ * example:
5444
+ * 1
5445
+ */
5446
+ cadence_period?: number;
5447
+ /**
5448
+ * example:
5449
+ * 1
5450
+ */
5451
+ changes_allowed?: number;
5452
+ /**
5453
+ * example:
5454
+ * 1
5455
+ */
5456
+ grace_period?: number;
5457
+ /**
5458
+ * example:
5459
+ * 10%
5460
+ */
5461
+ allowed_increment?: string;
5462
+ /**
5463
+ * example:
5464
+ * 10%
5465
+ */
5466
+ allowed_decrement?: string;
5467
+ /**
5468
+ * example:
5469
+ * 10
5470
+ */
5471
+ number_of_days_before_restriction?: number;
4260
5472
  }[];
5473
+ allowed_file_extensions?: /* Allowed file extensions for upload */ AllowedFileExtensions;
4261
5474
  /**
4262
- * Configured Portal extensions
5475
+ * Prevent indexing by search engines
4263
5476
  */
4264
- extensions?: ExtensionConfig[];
5477
+ prevent_search_engine_indexing?: boolean;
4265
5478
  /**
4266
- * Configured Portal extensions hooks
5479
+ * Grace period in days for meter readings
4267
5480
  */
4268
- extension_hooks?: {
4269
- [name: string]: ExtensionHookConfig;
4270
- };
5481
+ meter_reading_grace_period?: number;
4271
5482
  /**
4272
- * Default 360 user to notify upon an internal notification
5483
+ * Number of years to look back for showing inactive contracts in the portal
4273
5484
  */
4274
- default_user_to_notify?: {
4275
- /**
4276
- * Default admin users for pending user notification to notify
4277
- */
4278
- onPendingUser?: AdminUser[];
5485
+ inactive_contract_cutoff_years?: number;
5486
+ /**
5487
+ * Whether this is a dummy/test portal configuration
5488
+ */
5489
+ is_dummy?: boolean;
5490
+ pages?: {
5491
+ [name: string]: Page;
4279
5492
  };
4280
5493
  }
4281
- export interface UpsertPortalConfig {
5494
+ export interface UpsertPortalConfigV3 {
4282
5495
  /**
4283
5496
  * Journey actions allowed on an entity by a portal user
4284
5497
  */
@@ -4334,7 +5547,7 @@ declare namespace Components {
4334
5547
  * example:
4335
5548
  * abc.com
4336
5549
  */
4337
- domain: string;
5550
+ domain?: string;
4338
5551
  /**
4339
5552
  * Mark true if the domain is an Epilot domain
4340
5553
  */
@@ -4833,9 +6046,21 @@ declare namespace Paths {
4833
6046
  namespace CanTriggerPortalFlow {
4834
6047
  namespace Parameters {
4835
6048
  export type Origin = /* Origin of the portal */ Components.Schemas.Origin;
6049
+ /**
6050
+ * Portal ID
6051
+ * example:
6052
+ * 123
6053
+ */
6054
+ export type PortalId = string;
4836
6055
  }
4837
6056
  export interface QueryParameters {
4838
6057
  origin: Parameters.Origin;
6058
+ portal_id: /**
6059
+ * Portal ID
6060
+ * example:
6061
+ * 123
6062
+ */
6063
+ Parameters.PortalId;
4839
6064
  }
4840
6065
  export type RequestBody = Components.Schemas.TriggerPortalFlow;
4841
6066
  namespace Responses {
@@ -5020,6 +6245,17 @@ declare namespace Paths {
5020
6245
  export type $500 = Components.Responses.InternalServerError;
5021
6246
  }
5022
6247
  }
6248
+ namespace CreatePortalConfig {
6249
+ export type RequestBody = Components.Schemas.UpsertPortalConfigV3;
6250
+ namespace Responses {
6251
+ export type $201 = Components.Schemas.PortalConfigV3;
6252
+ export type $400 = Components.Responses.InvalidRequest;
6253
+ export type $401 = Components.Responses.Unauthorized;
6254
+ export type $403 = Components.Responses.Forbidden;
6255
+ export type $409 = Components.Responses.Conflict;
6256
+ export type $500 = Components.Responses.InternalServerError;
6257
+ }
6258
+ }
5023
6259
  namespace CreatePortalPage {
5024
6260
  export type RequestBody = Components.Schemas.PageRequest;
5025
6261
  namespace Responses {
@@ -5089,6 +6325,30 @@ declare namespace Paths {
5089
6325
  export type $500 = Components.Responses.InternalServerError;
5090
6326
  }
5091
6327
  }
6328
+ namespace DeletePortalConfig {
6329
+ namespace Parameters {
6330
+ /**
6331
+ * example:
6332
+ * 5da0a718-c822-403d-9f5d-20d4584e0528
6333
+ */
6334
+ export type PortalId = string; // uuid
6335
+ }
6336
+ export interface PathParameters {
6337
+ portal_id: /**
6338
+ * example:
6339
+ * 5da0a718-c822-403d-9f5d-20d4584e0528
6340
+ */
6341
+ Parameters.PortalId /* uuid */;
6342
+ }
6343
+ namespace Responses {
6344
+ export interface $204 {
6345
+ }
6346
+ export type $401 = Components.Responses.Unauthorized;
6347
+ export type $403 = Components.Responses.Forbidden;
6348
+ export type $404 = Components.Responses.NotFound;
6349
+ export type $500 = Components.Responses.InternalServerError;
6350
+ }
6351
+ }
5092
6352
  namespace DeletePortalPage {
5093
6353
  namespace Responses {
5094
6354
  export interface $204 {
@@ -6720,6 +7980,12 @@ declare namespace Paths {
6720
7980
  * 12345
6721
7981
  */
6722
7982
  organization_id?: string;
7983
+ /**
7984
+ * ID of the portal
7985
+ * example:
7986
+ * 453ad7bf-86d5-46c8-8252-bcc868df5e3c
7987
+ */
7988
+ portal_id?: string;
6723
7989
  origin?: /* Origin of the portal */ Components.Schemas.Origin;
6724
7990
  /**
6725
7991
  * Organization settings
@@ -6842,6 +8108,29 @@ declare namespace Paths {
6842
8108
  export type $500 = Components.Responses.InternalServerError;
6843
8109
  }
6844
8110
  }
8111
+ namespace GetPortalConfigV3 {
8112
+ namespace Parameters {
8113
+ /**
8114
+ * example:
8115
+ * 5da0a718-c822-403d-9f5d-20d4584e0528
8116
+ */
8117
+ export type PortalId = string; // uuid
8118
+ }
8119
+ export interface PathParameters {
8120
+ portal_id: /**
8121
+ * example:
8122
+ * 5da0a718-c822-403d-9f5d-20d4584e0528
8123
+ */
8124
+ Parameters.PortalId /* uuid */;
8125
+ }
8126
+ namespace Responses {
8127
+ export type $200 = Components.Schemas.PortalConfigV3;
8128
+ export type $401 = Components.Responses.Unauthorized;
8129
+ export type $403 = Components.Responses.Forbidden;
8130
+ export type $404 = Components.Responses.NotFound;
8131
+ export type $500 = Components.Responses.InternalServerError;
8132
+ }
8133
+ }
6845
8134
  namespace GetPortalExtensions {
6846
8135
  namespace Parameters {
6847
8136
  export type Origin = /* Origin of the portal */ Components.Schemas.Origin;
@@ -6885,6 +8174,29 @@ declare namespace Paths {
6885
8174
  }
6886
8175
  namespace GetPortalPages {
6887
8176
  namespace Parameters {
8177
+ /**
8178
+ * example:
8179
+ * [
8180
+ * {
8181
+ * "entity_id": "5da0a718-c822-403d-9f5d-20d4584e0528",
8182
+ * "entity_schema": "contract"
8183
+ * }
8184
+ * ]
8185
+ */
8186
+ export type ContextEntities = {
8187
+ /**
8188
+ * Entity schema
8189
+ * example:
8190
+ * contract
8191
+ */
8192
+ entity_schema?: string;
8193
+ /**
8194
+ * Entity id
8195
+ * example:
8196
+ * 5da0a718-c822-403d-9f5d-20d4584e0528
8197
+ */
8198
+ entity_id?: string; // uuid
8199
+ }[];
6888
8200
  export type ContractId = /**
6889
8201
  * Entity ID
6890
8202
  * example:
@@ -6914,6 +8226,16 @@ declare namespace Paths {
6914
8226
  */
6915
8227
  Parameters.Filter;
6916
8228
  contract_id?: Parameters.ContractId;
8229
+ context_entities?: /**
8230
+ * example:
8231
+ * [
8232
+ * {
8233
+ * "entity_id": "5da0a718-c822-403d-9f5d-20d4584e0528",
8234
+ * "entity_schema": "contract"
8235
+ * }
8236
+ * ]
8237
+ */
8238
+ Parameters.ContextEntities;
6917
8239
  }
6918
8240
  namespace Responses {
6919
8241
  export type $200 = Components.Schemas.Page[];
@@ -7497,12 +8819,6 @@ declare namespace Paths {
7497
8819
  * true
7498
8820
  */
7499
8821
  is_soft_deleted?: boolean;
7500
- /**
7501
- * Whether the user is registered successfully
7502
- * example:
7503
- * true
7504
- */
7505
- is_confirmed?: boolean;
7506
8822
  }
7507
8823
  export type $500 = Components.Responses.InternalServerError;
7508
8824
  }
@@ -7573,6 +8889,31 @@ declare namespace Paths {
7573
8889
  export type $500 = Components.Responses.InternalServerError;
7574
8890
  }
7575
8891
  }
8892
+ namespace PutPortalConfig {
8893
+ namespace Parameters {
8894
+ /**
8895
+ * example:
8896
+ * 5da0a718-c822-403d-9f5d-20d4584e0528
8897
+ */
8898
+ export type PortalId = string; // uuid
8899
+ }
8900
+ export interface PathParameters {
8901
+ portal_id: /**
8902
+ * example:
8903
+ * 5da0a718-c822-403d-9f5d-20d4584e0528
8904
+ */
8905
+ Parameters.PortalId /* uuid */;
8906
+ }
8907
+ export type RequestBody = Components.Schemas.UpsertPortalConfigV3;
8908
+ namespace Responses {
8909
+ export type $200 = Components.Schemas.PortalConfigV3;
8910
+ export type $400 = Components.Responses.InvalidRequest;
8911
+ export type $401 = Components.Responses.Unauthorized;
8912
+ export type $403 = Components.Responses.Forbidden;
8913
+ export type $404 = Components.Responses.NotFound;
8914
+ export type $500 = Components.Responses.InternalServerError;
8915
+ }
8916
+ }
7576
8917
  namespace ReplaceECPTemplateVariables {
7577
8918
  export interface RequestBody {
7578
8919
  [name: string]: {
@@ -7737,15 +9078,7 @@ declare namespace Paths {
7737
9078
  namespace SearchPortalUserEntities {
7738
9079
  export type RequestBody = Components.Schemas.EntitySearchParams;
7739
9080
  namespace Responses {
7740
- export interface $200 {
7741
- results?: Components.Schemas.EntityItem[];
7742
- /**
7743
- * Total number of entities for pagination
7744
- * example:
7745
- * 50
7746
- */
7747
- hits?: number;
7748
- }
9081
+ export type $200 = /* Response for entity search requests */ Components.Schemas.EntityResponseWithHits | /* Response for entity search requests, but with groupings */ Components.Schemas.EntityResponseGroupedWithHits;
7749
9082
  export type $401 = Components.Responses.Unauthorized;
7750
9083
  export type $403 = Components.Responses.Forbidden;
7751
9084
  export type $404 = Components.Responses.NotFound;
@@ -9398,6 +10731,46 @@ export interface OperationMethods {
9398
10731
  data?: Paths.UpdateCampaignPortalBlockStatus.RequestBody,
9399
10732
  config?: AxiosRequestConfig
9400
10733
  ): OperationResponse<Paths.UpdateCampaignPortalBlockStatus.Responses.$200>
10734
+ /**
10735
+ * createPortalConfig - createPortalConfig
10736
+ *
10737
+ * Creates a new portal configuration.
10738
+ */
10739
+ 'createPortalConfig'(
10740
+ parameters?: Parameters<UnknownParamsObject> | null,
10741
+ data?: Paths.CreatePortalConfig.RequestBody,
10742
+ config?: AxiosRequestConfig
10743
+ ): OperationResponse<Paths.CreatePortalConfig.Responses.$201>
10744
+ /**
10745
+ * getPortalConfigV3 - getPortalConfigV3
10746
+ *
10747
+ * Retrieves a specific portal configuration by ID.
10748
+ */
10749
+ 'getPortalConfigV3'(
10750
+ parameters?: Parameters<Paths.GetPortalConfigV3.PathParameters> | null,
10751
+ data?: any,
10752
+ config?: AxiosRequestConfig
10753
+ ): OperationResponse<Paths.GetPortalConfigV3.Responses.$200>
10754
+ /**
10755
+ * putPortalConfig - putPortalConfig
10756
+ *
10757
+ * Updates a specific portal configuration by ID.
10758
+ */
10759
+ 'putPortalConfig'(
10760
+ parameters?: Parameters<Paths.PutPortalConfig.PathParameters> | null,
10761
+ data?: Paths.PutPortalConfig.RequestBody,
10762
+ config?: AxiosRequestConfig
10763
+ ): OperationResponse<Paths.PutPortalConfig.Responses.$200>
10764
+ /**
10765
+ * deletePortalConfig - deletePortalConfig
10766
+ *
10767
+ * Deletes a specific portal configuration by ID.
10768
+ */
10769
+ 'deletePortalConfig'(
10770
+ parameters?: Parameters<Paths.DeletePortalConfig.PathParameters> | null,
10771
+ data?: any,
10772
+ config?: AxiosRequestConfig
10773
+ ): OperationResponse<Paths.DeletePortalConfig.Responses.$204>
9401
10774
  }
9402
10775
 
9403
10776
  export interface PathsDictionary {
@@ -10572,6 +11945,50 @@ export interface PathsDictionary {
10572
11945
  config?: AxiosRequestConfig
10573
11946
  ): OperationResponse<Paths.UpdateCampaignPortalBlockStatus.Responses.$200>
10574
11947
  }
11948
+ ['/v3/portal/config']: {
11949
+ /**
11950
+ * createPortalConfig - createPortalConfig
11951
+ *
11952
+ * Creates a new portal configuration.
11953
+ */
11954
+ 'post'(
11955
+ parameters?: Parameters<UnknownParamsObject> | null,
11956
+ data?: Paths.CreatePortalConfig.RequestBody,
11957
+ config?: AxiosRequestConfig
11958
+ ): OperationResponse<Paths.CreatePortalConfig.Responses.$201>
11959
+ }
11960
+ ['/v3/portal/config/{portal_id}']: {
11961
+ /**
11962
+ * getPortalConfigV3 - getPortalConfigV3
11963
+ *
11964
+ * Retrieves a specific portal configuration by ID.
11965
+ */
11966
+ 'get'(
11967
+ parameters?: Parameters<Paths.GetPortalConfigV3.PathParameters> | null,
11968
+ data?: any,
11969
+ config?: AxiosRequestConfig
11970
+ ): OperationResponse<Paths.GetPortalConfigV3.Responses.$200>
11971
+ /**
11972
+ * putPortalConfig - putPortalConfig
11973
+ *
11974
+ * Updates a specific portal configuration by ID.
11975
+ */
11976
+ 'put'(
11977
+ parameters?: Parameters<Paths.PutPortalConfig.PathParameters> | null,
11978
+ data?: Paths.PutPortalConfig.RequestBody,
11979
+ config?: AxiosRequestConfig
11980
+ ): OperationResponse<Paths.PutPortalConfig.Responses.$200>
11981
+ /**
11982
+ * deletePortalConfig - deletePortalConfig
11983
+ *
11984
+ * Deletes a specific portal configuration by ID.
11985
+ */
11986
+ 'delete'(
11987
+ parameters?: Parameters<Paths.DeletePortalConfig.PathParameters> | null,
11988
+ data?: any,
11989
+ config?: AxiosRequestConfig
11990
+ ): OperationResponse<Paths.DeletePortalConfig.Responses.$204>
11991
+ }
10575
11992
  }
10576
11993
 
10577
11994
  export type Client = OpenAPIClient<OperationMethods, PathsDictionary>
@@ -10598,6 +12015,7 @@ export type BlockRequest = Components.Schemas.BlockRequest;
10598
12015
  export type BlockType = Components.Schemas.BlockType;
10599
12016
  export type CampaignWidget = Components.Schemas.CampaignWidget;
10600
12017
  export type CommonConfigAttributes = Components.Schemas.CommonConfigAttributes;
12018
+ export type CommonConfigAttributesV3 = Components.Schemas.CommonConfigAttributesV3;
10601
12019
  export type Contact = Components.Schemas.Contact;
10602
12020
  export type ContactCountRequest = Components.Schemas.ContactCountRequest;
10603
12021
  export type ContactExistsRequest = Components.Schemas.ContactExistsRequest;
@@ -10616,6 +12034,8 @@ export type EntityEditRule = Components.Schemas.EntityEditRule;
10616
12034
  export type EntityFileCount = Components.Schemas.EntityFileCount;
10617
12035
  export type EntityId = Components.Schemas.EntityId;
10618
12036
  export type EntityItem = Components.Schemas.EntityItem;
12037
+ export type EntityResponseGroupedWithHits = Components.Schemas.EntityResponseGroupedWithHits;
12038
+ export type EntityResponseWithHits = Components.Schemas.EntityResponseWithHits;
10619
12039
  export type EntitySearchParams = Components.Schemas.EntitySearchParams;
10620
12040
  export type EntitySlug = Components.Schemas.EntitySlug;
10621
12041
  export type EntityWidget = Components.Schemas.EntityWidget;
@@ -10659,6 +12079,7 @@ export type Page = Components.Schemas.Page;
10659
12079
  export type PageRequest = Components.Schemas.PageRequest;
10660
12080
  export type PaymentWidget = Components.Schemas.PaymentWidget;
10661
12081
  export type PortalConfig = Components.Schemas.PortalConfig;
12082
+ export type PortalConfigV3 = Components.Schemas.PortalConfigV3;
10662
12083
  export type PortalUser = Components.Schemas.PortalUser;
10663
12084
  export type PortalWidget = Components.Schemas.PortalWidget;
10664
12085
  export type Product = Components.Schemas.Product;
@@ -10689,6 +12110,7 @@ export type TeaserWidget = Components.Schemas.TeaserWidget;
10689
12110
  export type TriggerPortalFlow = Components.Schemas.TriggerPortalFlow;
10690
12111
  export type UpdateOnlyPortalConfigAttributes = Components.Schemas.UpdateOnlyPortalConfigAttributes;
10691
12112
  export type UpsertPortalConfig = Components.Schemas.UpsertPortalConfig;
12113
+ export type UpsertPortalConfigV3 = Components.Schemas.UpsertPortalConfigV3;
10692
12114
  export type UpsertPortalWidget = Components.Schemas.UpsertPortalWidget;
10693
12115
  export type UserRequest = Components.Schemas.UserRequest;
10694
12116
  export type WidgetAction = Components.Schemas.WidgetAction;