@epilot/customer-portal-client 0.38.8 → 0.39.0

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
@@ -49,6 +49,31 @@ declare namespace Components {
49
49
  */
50
50
  decision: "accept" | "decline";
51
51
  }
52
+ export interface AccountExistsRequest {
53
+ /**
54
+ * ID of the organization
55
+ * example:
56
+ * 728
57
+ */
58
+ org_id: string;
59
+ /**
60
+ * Identifier-value pairs per schema to identify an account during portal user registration
61
+ * example:
62
+ * {
63
+ * "account": {
64
+ * "customer_number": "ACC-123456"
65
+ * },
66
+ * "contract": {
67
+ * "contract_number": "123456"
68
+ * }
69
+ * }
70
+ */
71
+ registration_identifiers: {
72
+ [name: string]: {
73
+ [name: string]: string;
74
+ };
75
+ };
76
+ }
52
77
  export interface ActionLabel {
53
78
  en?: string | null;
54
79
  de?: string | null;
@@ -907,6 +932,13 @@ declare namespace Components {
907
932
  * Mark true if the domain is an Epilot domain
908
933
  */
909
934
  is_epilot_domain?: boolean;
935
+ /**
936
+ * The URL on which the portal is accessible
937
+ * example:
938
+ * example-portal-12345.ecp.epilot.cloud
939
+ */
940
+ epilot_domain?: string;
941
+ domain_settings?: /* Domain settings for the portal */ DomainSettings;
910
942
  /**
911
943
  * ID of the design used to build the portal
912
944
  */
@@ -926,6 +958,14 @@ declare namespace Components {
926
958
  */
927
959
  allowed_portal_entities?: string[];
928
960
  self_registration_setting?: "ALLOW_WITH_CONTACT_CREATION" | "ALLOW_WITHOUT_CONTACT_CREATION" | "DENY" | "ALWAYS_CREATE_CONTACT" | "DISALLOW_COMPLETELY" | "BLOCK_IF_PORTAL_USER_EXISTS";
961
+ /**
962
+ * Controls behavior of self-registration when account is used as the registration entity
963
+ */
964
+ self_registration_account_setting?: "ALLOW_WITH_CONTACT_CREATION" | "DENY" | "ALWAYS_CREATE_CONTACT" | "DISALLOW_COMPLETELY";
965
+ /**
966
+ * Entity type used as the primary identifier for self-registration
967
+ */
968
+ self_registration_entity?: "contact" | "account";
929
969
  /**
930
970
  * Enable or disable user account self management
931
971
  * example:
@@ -1306,6 +1346,12 @@ declare namespace Components {
1306
1346
  pages?: {
1307
1347
  [name: string]: Page;
1308
1348
  };
1349
+ /**
1350
+ * Portal-level blocks shared across all pages (e.g. footer). Keyed by block id.
1351
+ */
1352
+ global_blocks?: {
1353
+ [name: string]: Block;
1354
+ };
1309
1355
  }
1310
1356
  export interface CommonConfigAttributesV3 {
1311
1357
  /**
@@ -1328,6 +1374,13 @@ declare namespace Components {
1328
1374
  * Mark true if the domain is an Epilot domain
1329
1375
  */
1330
1376
  is_epilot_domain?: boolean;
1377
+ /**
1378
+ * The Epilot domain on which the portal is accessible
1379
+ * example:
1380
+ * example-portal-1.ecp.epilot.io
1381
+ */
1382
+ epilot_domain?: string;
1383
+ domain_settings?: /* Domain settings for the portal */ DomainSettings;
1331
1384
  /**
1332
1385
  * ID of the design used to build the portal
1333
1386
  */
@@ -1347,6 +1400,14 @@ declare namespace Components {
1347
1400
  */
1348
1401
  allowed_portal_entities?: string[];
1349
1402
  self_registration_setting?: "ALLOW_WITH_CONTACT_CREATION" | "ALLOW_WITHOUT_CONTACT_CREATION" | "DENY" | "ALWAYS_CREATE_CONTACT" | "DISALLOW_COMPLETELY" | "BLOCK_IF_PORTAL_USER_EXISTS";
1403
+ /**
1404
+ * Controls behavior of self-registration when account is used as the registration entity
1405
+ */
1406
+ self_registration_account_setting?: "ALLOW_WITH_CONTACT_CREATION" | "DENY" | "ALWAYS_CREATE_CONTACT" | "DISALLOW_COMPLETELY";
1407
+ /**
1408
+ * Entity type used as the primary identifier for self-registration
1409
+ */
1410
+ self_registration_entity?: "contact" | "account";
1350
1411
  /**
1351
1412
  * Enable or disable user account self management
1352
1413
  * example:
@@ -1724,6 +1785,12 @@ declare namespace Components {
1724
1785
  */
1725
1786
  portal_sk_v3?: string;
1726
1787
  origin?: /* Origin of the portal */ Origin;
1788
+ /**
1789
+ * Portal-level blocks shared across all pages (e.g. footer). Keyed by block id.
1790
+ */
1791
+ global_blocks?: {
1792
+ [name: string]: Block;
1793
+ };
1727
1794
  }
1728
1795
  /**
1729
1796
  * The mapped contact of the portal user
@@ -2210,6 +2277,23 @@ declare namespace Components {
2210
2277
  de?: string;
2211
2278
  };
2212
2279
  }
2280
+ /**
2281
+ * Domain settings for the portal
2282
+ */
2283
+ export interface DomainSettings {
2284
+ /**
2285
+ * Whether the custom domain is enabled
2286
+ */
2287
+ is_custom_domain_enabled?: boolean;
2288
+ /**
2289
+ * Whether the Epilot domain is enabled
2290
+ */
2291
+ is_epilot_domain_enabled?: boolean;
2292
+ /**
2293
+ * Whether the redirection is enabled
2294
+ */
2295
+ is_redirection_enabled?: boolean;
2296
+ }
2213
2297
  /**
2214
2298
  * Email templates used for authentication and internal processes
2215
2299
  */
@@ -4218,6 +4302,12 @@ declare namespace Components {
4218
4302
  * Whether the org is in canary mode
4219
4303
  */
4220
4304
  is_canary?: boolean;
4305
+ /**
4306
+ * The URL to redirect to
4307
+ * example:
4308
+ * https://example.com
4309
+ */
4310
+ redirect_to?: string;
4221
4311
  }
4222
4312
  /**
4223
4313
  * The meter entity
@@ -4473,40 +4563,57 @@ declare namespace Components {
4473
4563
  };
4474
4564
  schema?: string;
4475
4565
  }
4566
+ /**
4567
+ * Mobile OIDC configuration. All string fields support env var interpolation
4568
+ * (incl. secrets) via mustache-like templates, e.g. `{{ env.MOBILE_CLIENT_SECRET }}`.
4569
+ *
4570
+ */
4476
4571
  export interface MoblieOIDCConfig {
4477
4572
  /**
4478
- * Client ID for the mobile app
4573
+ * Client ID for the mobile app. Supports env var interpolation.
4479
4574
  * example:
4480
4575
  * 123456
4481
4576
  */
4482
4577
  client_id?: string;
4483
4578
  /**
4484
- * Client Secret for the mobile app
4579
+ * Client Secret for the mobile app. Supports env var interpolation (incl. secrets),
4580
+ * e.g. `{{ env.MOBILE_CLIENT_SECRET }}`.
4581
+ *
4485
4582
  * example:
4486
4583
  * 123456
4487
4584
  */
4488
4585
  client_secret?: string;
4489
4586
  }
4587
+ /**
4588
+ * OIDC provider configuration. All string fields support env var interpolation
4589
+ * (incl. secrets) via mustache-like templates, e.g. `{{ env.MY_PROVIDER_CLIENT_SECRET }}`.
4590
+ *
4591
+ */
4490
4592
  export interface OIDCProviderConfig {
4491
4593
  type?: "authorization_code" | "implicit";
4492
4594
  /**
4493
- * Issuing Authority URL
4595
+ * Issuing Authority URL. Supports env var interpolation, e.g. `{{ env.MY_ISSUER }}`.
4494
4596
  * example:
4495
4597
  * https://login.microsoftonline.com/33d4f3e5-3df2-421e-b92e-a63cfa680a88/v2.0
4496
4598
  */
4497
4599
  oidc_issuer: string;
4498
4600
  /**
4499
- * Redirect URI for the OIDC flow
4601
+ * Redirect URI for the OIDC flow. Supports env var interpolation.
4500
4602
  * example:
4501
4603
  * https://customer-portal.com/login
4502
4604
  */
4503
4605
  redirect_uri?: string;
4504
4606
  /**
4607
+ * Supports env var interpolation, e.g. `{{ env.MY_CLIENT_ID }}`.
4505
4608
  * example:
4506
4609
  * ab81daf8-8b1f-42d6-94ca-c51621054c75
4507
4610
  */
4508
4611
  client_id: string;
4509
4612
  /**
4613
+ * Client Secret. Supports env var interpolation (incl. secrets), e.g.
4614
+ * `{{ env.MY_CLIENT_SECRET }}`. Prefer storing the actual secret as an org
4615
+ * env var and referencing it here.
4616
+ *
4510
4617
  * example:
4511
4618
  * 7BIUnn~6shh.7fNtXb..3k1Mp3s6k6WK3B
4512
4619
  */
@@ -4568,16 +4675,61 @@ declare namespace Components {
4568
4675
  */
4569
4676
  mobile_redirect_uri?: string;
4570
4677
  /**
4571
- * The username for the test auth, only used for testing on auth code flow
4678
+ * The username for the test auth, only used for testing on auth code flow.
4679
+ * Supports env var interpolation, e.g. `{{ env.MY_TEST_AUTH_USERNAME }}`.
4680
+ *
4572
4681
  * example:
4573
4682
  * test@epilot.io
4574
4683
  */
4575
4684
  test_auth_username?: string;
4576
4685
  /**
4577
- * The password for the test auth, only used for testing on auth code flow
4686
+ * The password for the test auth, only used for testing on auth code flow.
4687
+ * Supports env var interpolation (incl. secrets), e.g. `{{ env.MY_TEST_AUTH_PASSWORD }}`.
4688
+ *
4578
4689
  */
4579
4690
  test_auth_password?: string;
4580
4691
  }
4692
+ /**
4693
+ * Public OIDC provider configuration. Same as OIDCProviderConfig but never includes
4694
+ * the `client_secret` field — it is kept server-side and only used to exchange the
4695
+ * authorization code at the SSO callback. String fields are returned with env var
4696
+ * placeholders already resolved when fetched via `GET /v2/portal/public/sso/providers/{provider_slug}`.
4697
+ *
4698
+ */
4699
+ export interface OIDCProviderPublicConfig {
4700
+ type?: "authorization_code" | "implicit";
4701
+ /**
4702
+ * Issuing Authority URL
4703
+ * example:
4704
+ * https://login.microsoftonline.com/33d4f3e5-3df2-421e-b92e-a63cfa680a88/v2.0
4705
+ */
4706
+ oidc_issuer: string;
4707
+ /**
4708
+ * Redirect URI for the OIDC flow
4709
+ * example:
4710
+ * https://customer-portal.com/login
4711
+ */
4712
+ redirect_uri?: string;
4713
+ /**
4714
+ * example:
4715
+ * ab81daf8-8b1f-42d6-94ca-c51621054c75
4716
+ */
4717
+ client_id: string;
4718
+ /**
4719
+ * Whether the client secret is present (the value itself is kept server-side)
4720
+ * example:
4721
+ * true
4722
+ */
4723
+ has_client_secret?: boolean;
4724
+ /**
4725
+ * Space-separated list of OAuth 2.0 scopes to request from OpenID Connect
4726
+ * example:
4727
+ * openid email
4728
+ */
4729
+ scope: string;
4730
+ metadata?: OIDCProviderMetadata;
4731
+ prompt?: "login" | "select_account" | "consent";
4732
+ }
4581
4733
  /**
4582
4734
  * The opportunity entity
4583
4735
  */
@@ -5143,6 +5295,13 @@ declare namespace Components {
5143
5295
  * Mark true if the domain is an Epilot domain
5144
5296
  */
5145
5297
  is_epilot_domain?: boolean;
5298
+ /**
5299
+ * The URL on which the portal is accessible
5300
+ * example:
5301
+ * example-portal-12345.ecp.epilot.cloud
5302
+ */
5303
+ epilot_domain?: string;
5304
+ domain_settings?: /* Domain settings for the portal */ DomainSettings;
5146
5305
  design_id?: /**
5147
5306
  * Entity ID
5148
5307
  * example:
@@ -5159,6 +5318,14 @@ declare namespace Components {
5159
5318
  */
5160
5319
  allowed_portal_entities?: string[];
5161
5320
  self_registration_setting?: "ALLOW_WITH_CONTACT_CREATION" | "ALLOW_WITHOUT_CONTACT_CREATION" | "DENY" | "ALWAYS_CREATE_CONTACT" | "DISALLOW_COMPLETELY" | "BLOCK_IF_PORTAL_USER_EXISTS";
5321
+ /**
5322
+ * Controls behavior of self-registration when account is used as the registration entity
5323
+ */
5324
+ self_registration_account_setting?: "ALLOW_WITH_CONTACT_CREATION" | "DENY" | "ALWAYS_CREATE_CONTACT" | "DISALLOW_COMPLETELY";
5325
+ /**
5326
+ * Entity type used as the primary identifier for self-registration
5327
+ */
5328
+ self_registration_entity?: "contact" | "account";
5162
5329
  /**
5163
5330
  * Enable or disable user account self management
5164
5331
  * example:
@@ -5539,6 +5706,12 @@ declare namespace Components {
5539
5706
  pages?: {
5540
5707
  [name: string]: Page;
5541
5708
  };
5709
+ /**
5710
+ * Portal-level blocks shared across all pages (e.g. footer). Keyed by block id.
5711
+ */
5712
+ global_blocks?: {
5713
+ [name: string]: Block;
5714
+ };
5542
5715
  /**
5543
5716
  * ID of the organization
5544
5717
  * example:
@@ -5647,6 +5820,13 @@ declare namespace Components {
5647
5820
  * Mark true if the domain is an Epilot domain
5648
5821
  */
5649
5822
  is_epilot_domain?: boolean;
5823
+ /**
5824
+ * The Epilot domain on which the portal is accessible
5825
+ * example:
5826
+ * example-portal-1.ecp.epilot.io
5827
+ */
5828
+ epilot_domain?: string;
5829
+ domain_settings?: /* Domain settings for the portal */ DomainSettings;
5650
5830
  design_id?: /**
5651
5831
  * Entity ID
5652
5832
  * example:
@@ -5663,6 +5843,14 @@ declare namespace Components {
5663
5843
  */
5664
5844
  allowed_portal_entities?: string[];
5665
5845
  self_registration_setting?: "ALLOW_WITH_CONTACT_CREATION" | "ALLOW_WITHOUT_CONTACT_CREATION" | "DENY" | "ALWAYS_CREATE_CONTACT" | "DISALLOW_COMPLETELY" | "BLOCK_IF_PORTAL_USER_EXISTS";
5846
+ /**
5847
+ * Controls behavior of self-registration when account is used as the registration entity
5848
+ */
5849
+ self_registration_account_setting?: "ALLOW_WITH_CONTACT_CREATION" | "DENY" | "ALWAYS_CREATE_CONTACT" | "DISALLOW_COMPLETELY";
5850
+ /**
5851
+ * Entity type used as the primary identifier for self-registration
5852
+ */
5853
+ self_registration_entity?: "contact" | "account";
5666
5854
  /**
5667
5855
  * Enable or disable user account self management
5668
5856
  * example:
@@ -6040,6 +6228,12 @@ declare namespace Components {
6040
6228
  */
6041
6229
  portal_sk_v3?: string;
6042
6230
  origin?: /* Origin of the portal */ Origin;
6231
+ /**
6232
+ * Portal-level blocks shared across all pages (e.g. footer). Keyed by block id.
6233
+ */
6234
+ global_blocks?: {
6235
+ [name: string]: Block;
6236
+ };
6043
6237
  /**
6044
6238
  * ID of the organization
6045
6239
  * example:
@@ -6252,6 +6446,20 @@ declare namespace Components {
6252
6446
  */
6253
6447
  campaign_id?: string;
6254
6448
  }
6449
+ /**
6450
+ * SSO identity provider configuration.
6451
+ *
6452
+ * Env var interpolation: only string fields under `oidc_config` and
6453
+ * `mobile_oidc_config` (incl. their nested `metadata`) are passed through
6454
+ * Liquid templating, so they may contain `{{ env.VAR }}` placeholders that
6455
+ * get resolved at runtime against the organization's environment.
6456
+ *
6457
+ * The following fields are used as literal values and MUST NOT contain
6458
+ * template syntax: `slug`, `display_name`, `provider_type`, all keys and
6459
+ * values under `attribute_mappings` (used as JSONPath-like accessors into
6460
+ * token claims), and all keys and values under `entity_matching`.
6461
+ *
6462
+ */
6255
6463
  export interface ProviderConfig {
6256
6464
  slug?: /**
6257
6465
  * URL-friendly slug to use as organization-unique identifier for Provider
@@ -6268,8 +6476,18 @@ declare namespace Components {
6268
6476
  provider_type: "OIDC";
6269
6477
  attribute_mappings?: /* Dictionary of epilot user attributes to claims */ AttributeMappingConfig;
6270
6478
  entity_matching?: /* Configuration for matching existing entities during SSO login using token claims */ EntityMatchingConfig;
6271
- oidc_config?: OIDCProviderConfig;
6272
- mobile_oidc_config?: MoblieOIDCConfig;
6479
+ oidc_config?: /**
6480
+ * OIDC provider configuration. All string fields support env var interpolation
6481
+ * (incl. secrets) via mustache-like templates, e.g. `{{ env.MY_PROVIDER_CLIENT_SECRET }}`.
6482
+ *
6483
+ */
6484
+ OIDCProviderConfig;
6485
+ mobile_oidc_config?: /**
6486
+ * Mobile OIDC configuration. All string fields support env var interpolation
6487
+ * (incl. secrets) via mustache-like templates, e.g. `{{ env.MOBILE_CLIENT_SECRET }}`.
6488
+ *
6489
+ */
6490
+ MoblieOIDCConfig;
6273
6491
  }
6274
6492
  /**
6275
6493
  * Human-readable display name for identity provider shown in login
@@ -6290,8 +6508,20 @@ declare namespace Components {
6290
6508
  * Office 365 Login
6291
6509
  */
6292
6510
  ProviderDisplayName;
6293
- oidc_config?: OIDCProviderConfig;
6294
- mobile_oidc_config?: MoblieOIDCConfig;
6511
+ oidc_config?: /**
6512
+ * Public OIDC provider configuration. Same as OIDCProviderConfig but never includes
6513
+ * the `client_secret` field — it is kept server-side and only used to exchange the
6514
+ * authorization code at the SSO callback. String fields are returned with env var
6515
+ * placeholders already resolved when fetched via `GET /v2/portal/public/sso/providers/{provider_slug}`.
6516
+ *
6517
+ */
6518
+ OIDCProviderPublicConfig;
6519
+ mobile_oidc_config?: /**
6520
+ * Mobile OIDC configuration. All string fields support env var interpolation
6521
+ * (incl. secrets) via mustache-like templates, e.g. `{{ env.MOBILE_CLIENT_SECRET }}`.
6522
+ *
6523
+ */
6524
+ MoblieOIDCConfig;
6295
6525
  }
6296
6526
  /**
6297
6527
  * URL-friendly slug to use as organization-unique identifier for Provider
@@ -6887,6 +7117,13 @@ declare namespace Components {
6887
7117
  * Mark true if the domain is an Epilot domain
6888
7118
  */
6889
7119
  is_epilot_domain?: boolean;
7120
+ /**
7121
+ * The URL on which the portal is accessible
7122
+ * example:
7123
+ * example-portal-12345.ecp.epilot.cloud
7124
+ */
7125
+ epilot_domain?: string;
7126
+ domain_settings?: /* Domain settings for the portal */ DomainSettings;
6890
7127
  design_id?: /**
6891
7128
  * Entity ID
6892
7129
  * example:
@@ -6903,6 +7140,14 @@ declare namespace Components {
6903
7140
  */
6904
7141
  allowed_portal_entities?: string[];
6905
7142
  self_registration_setting?: "ALLOW_WITH_CONTACT_CREATION" | "ALLOW_WITHOUT_CONTACT_CREATION" | "DENY" | "ALWAYS_CREATE_CONTACT" | "DISALLOW_COMPLETELY" | "BLOCK_IF_PORTAL_USER_EXISTS";
7143
+ /**
7144
+ * Controls behavior of self-registration when account is used as the registration entity
7145
+ */
7146
+ self_registration_account_setting?: "ALLOW_WITH_CONTACT_CREATION" | "DENY" | "ALWAYS_CREATE_CONTACT" | "DISALLOW_COMPLETELY";
7147
+ /**
7148
+ * Entity type used as the primary identifier for self-registration
7149
+ */
7150
+ self_registration_entity?: "contact" | "account";
6906
7151
  /**
6907
7152
  * Enable or disable user account self management
6908
7153
  * example:
@@ -7283,6 +7528,12 @@ declare namespace Components {
7283
7528
  pages?: {
7284
7529
  [name: string]: Page;
7285
7530
  };
7531
+ /**
7532
+ * Portal-level blocks shared across all pages (e.g. footer). Keyed by block id.
7533
+ */
7534
+ global_blocks?: {
7535
+ [name: string]: Block;
7536
+ };
7286
7537
  }
7287
7538
  export interface UpsertPortalConfigV3 {
7288
7539
  /**
@@ -7345,6 +7596,13 @@ declare namespace Components {
7345
7596
  * Mark true if the domain is an Epilot domain
7346
7597
  */
7347
7598
  is_epilot_domain?: boolean;
7599
+ /**
7600
+ * The Epilot domain on which the portal is accessible
7601
+ * example:
7602
+ * example-portal-1.ecp.epilot.io
7603
+ */
7604
+ epilot_domain?: string;
7605
+ domain_settings?: /* Domain settings for the portal */ DomainSettings;
7348
7606
  design_id?: /**
7349
7607
  * Entity ID
7350
7608
  * example:
@@ -7361,6 +7619,14 @@ declare namespace Components {
7361
7619
  */
7362
7620
  allowed_portal_entities?: string[];
7363
7621
  self_registration_setting?: "ALLOW_WITH_CONTACT_CREATION" | "ALLOW_WITHOUT_CONTACT_CREATION" | "DENY" | "ALWAYS_CREATE_CONTACT" | "DISALLOW_COMPLETELY" | "BLOCK_IF_PORTAL_USER_EXISTS";
7622
+ /**
7623
+ * Controls behavior of self-registration when account is used as the registration entity
7624
+ */
7625
+ self_registration_account_setting?: "ALLOW_WITH_CONTACT_CREATION" | "DENY" | "ALWAYS_CREATE_CONTACT" | "DISALLOW_COMPLETELY";
7626
+ /**
7627
+ * Entity type used as the primary identifier for self-registration
7628
+ */
7629
+ self_registration_entity?: "contact" | "account";
7364
7630
  /**
7365
7631
  * Enable or disable user account self management
7366
7632
  * example:
@@ -7738,6 +8004,12 @@ declare namespace Components {
7738
8004
  */
7739
8005
  portal_sk_v3?: string;
7740
8006
  origin?: /* Origin of the portal */ Origin;
8007
+ /**
8008
+ * Portal-level blocks shared across all pages (e.g. footer). Keyed by block id.
8009
+ */
8010
+ global_blocks?: {
8011
+ [name: string]: Block;
8012
+ };
7741
8013
  pages?: PageRequest[];
7742
8014
  }
7743
8015
  export interface UpsertPortalWidget {
@@ -8030,6 +8302,44 @@ declare namespace Paths {
8030
8302
  }
8031
8303
  }
8032
8304
  }
8305
+ namespace CheckAccountExists {
8306
+ namespace Parameters {
8307
+ export type Domain = string;
8308
+ export type PortalId = /**
8309
+ * ID of the portal
8310
+ * example:
8311
+ * 453ad7bf-86d5-46c8-8252-bcc868df5e3c
8312
+ */
8313
+ Components.Schemas.PortalId;
8314
+ }
8315
+ export interface QueryParameters {
8316
+ portal_id?: Parameters.PortalId;
8317
+ domain?: Parameters.Domain;
8318
+ }
8319
+ export type RequestBody = Components.Schemas.AccountExistsRequest;
8320
+ namespace Responses {
8321
+ export interface $200 {
8322
+ /**
8323
+ * Whether the account exists with the given identifier values
8324
+ * example:
8325
+ * true
8326
+ */
8327
+ exists?: boolean;
8328
+ /**
8329
+ * ID of the account if exists
8330
+ */
8331
+ accountId?: /**
8332
+ * Entity ID
8333
+ * example:
8334
+ * 5da0a718-c822-403d-9f5d-20d4584e0528
8335
+ */
8336
+ Components.Schemas.EntityId /* uuid */;
8337
+ }
8338
+ export type $400 = Components.Responses.InvalidRequest;
8339
+ export type $404 = Components.Responses.NotFound;
8340
+ export type $500 = Components.Responses.InternalServerError;
8341
+ }
8342
+ }
8033
8343
  namespace CheckContactExists {
8034
8344
  namespace Parameters {
8035
8345
  export type Origin = /* Origin of the portal */ Components.Schemas.Origin;
@@ -8093,6 +8403,15 @@ declare namespace Paths {
8093
8403
  * 5da0a718-c822-403d-9f5d-20d4584e0528
8094
8404
  */
8095
8405
  Components.Schemas.EntityId /* uuid */;
8406
+ /**
8407
+ * ID of the resolved account when the portal is configured for account-based registration
8408
+ */
8409
+ accountId?: /**
8410
+ * Entity ID
8411
+ * example:
8412
+ * 5da0a718-c822-403d-9f5d-20d4584e0528
8413
+ */
8414
+ Components.Schemas.EntityId /* uuid */;
8096
8415
  }
8097
8416
  export type $400 = Components.Responses.InvalidRequest;
8098
8417
  export type $404 = Components.Responses.NotFound;
@@ -10130,6 +10449,13 @@ declare namespace Paths {
10130
10449
  * Mark true if the domain is an Epilot domain
10131
10450
  */
10132
10451
  is_epilot_domain?: boolean;
10452
+ /**
10453
+ * The URL on which the portal is accessible
10454
+ * example:
10455
+ * example-portal-12345.ecp.epilot.cloud
10456
+ */
10457
+ epilot_domain?: string;
10458
+ domain_settings?: /* Domain settings for the portal */ Components.Schemas.DomainSettings;
10133
10459
  design_id?: /**
10134
10460
  * Entity ID
10135
10461
  * example:
@@ -10146,6 +10472,14 @@ declare namespace Paths {
10146
10472
  */
10147
10473
  allowed_portal_entities?: string[];
10148
10474
  self_registration_setting?: "ALLOW_WITH_CONTACT_CREATION" | "ALLOW_WITHOUT_CONTACT_CREATION" | "DENY" | "ALWAYS_CREATE_CONTACT" | "DISALLOW_COMPLETELY" | "BLOCK_IF_PORTAL_USER_EXISTS";
10475
+ /**
10476
+ * Controls behavior of self-registration when account is used as the registration entity
10477
+ */
10478
+ self_registration_account_setting?: "ALLOW_WITH_CONTACT_CREATION" | "DENY" | "ALWAYS_CREATE_CONTACT" | "DISALLOW_COMPLETELY";
10479
+ /**
10480
+ * Entity type used as the primary identifier for self-registration
10481
+ */
10482
+ self_registration_entity?: "contact" | "account";
10149
10483
  /**
10150
10484
  * Enable or disable user account self management
10151
10485
  * example:
@@ -10526,6 +10860,12 @@ declare namespace Paths {
10526
10860
  pages?: {
10527
10861
  [name: string]: Components.Schemas.Page;
10528
10862
  };
10863
+ /**
10864
+ * Portal-level blocks shared across all pages (e.g. footer). Keyed by block id.
10865
+ */
10866
+ global_blocks?: {
10867
+ [name: string]: Components.Schemas.Block;
10868
+ };
10529
10869
  /**
10530
10870
  * ID of the organization
10531
10871
  * example:
@@ -10624,6 +10964,13 @@ declare namespace Paths {
10624
10964
  * Mark true if the domain is an Epilot domain
10625
10965
  */
10626
10966
  is_epilot_domain?: boolean;
10967
+ /**
10968
+ * The URL on which the portal is accessible
10969
+ * example:
10970
+ * example-portal-12345.ecp.epilot.cloud
10971
+ */
10972
+ epilot_domain?: string;
10973
+ domain_settings?: /* Domain settings for the portal */ Components.Schemas.DomainSettings;
10627
10974
  design_id?: /**
10628
10975
  * Entity ID
10629
10976
  * example:
@@ -10640,6 +10987,14 @@ declare namespace Paths {
10640
10987
  */
10641
10988
  allowed_portal_entities?: string[];
10642
10989
  self_registration_setting?: "ALLOW_WITH_CONTACT_CREATION" | "ALLOW_WITHOUT_CONTACT_CREATION" | "DENY" | "ALWAYS_CREATE_CONTACT" | "DISALLOW_COMPLETELY" | "BLOCK_IF_PORTAL_USER_EXISTS";
10990
+ /**
10991
+ * Controls behavior of self-registration when account is used as the registration entity
10992
+ */
10993
+ self_registration_account_setting?: "ALLOW_WITH_CONTACT_CREATION" | "DENY" | "ALWAYS_CREATE_CONTACT" | "DISALLOW_COMPLETELY";
10994
+ /**
10995
+ * Entity type used as the primary identifier for self-registration
10996
+ */
10997
+ self_registration_entity?: "contact" | "account";
10643
10998
  /**
10644
10999
  * Enable or disable user account self management
10645
11000
  * example:
@@ -11020,6 +11375,12 @@ declare namespace Paths {
11020
11375
  pages?: {
11021
11376
  [name: string]: Components.Schemas.Page;
11022
11377
  };
11378
+ /**
11379
+ * Portal-level blocks shared across all pages (e.g. footer). Keyed by block id.
11380
+ */
11381
+ global_blocks?: {
11382
+ [name: string]: Components.Schemas.Block;
11383
+ };
11023
11384
  /**
11024
11385
  * ID of the organization
11025
11386
  * example:
@@ -11928,6 +12289,48 @@ declare namespace Paths {
11928
12289
  export type $500 = Components.Responses.InternalServerError;
11929
12290
  }
11930
12291
  }
12292
+ namespace GetSSOProvider {
12293
+ namespace Parameters {
12294
+ export type Domain = string;
12295
+ /**
12296
+ * example:
12297
+ * 123
12298
+ */
12299
+ export type OrgId = string;
12300
+ export type Origin = "END_CUSTOMER_PORTAL" | "INSTALLER_PORTAL";
12301
+ export type PortalId = /**
12302
+ * ID of the portal
12303
+ * example:
12304
+ * 453ad7bf-86d5-46c8-8252-bcc868df5e3c
12305
+ */
12306
+ Components.Schemas.PortalId;
12307
+ export type ProviderSlug = /**
12308
+ * URL-friendly slug to use as organization-unique identifier for Provider
12309
+ * example:
12310
+ * office-365-login
12311
+ */
12312
+ Components.Schemas.ProviderSlug /* [0-9a-z-]+ */;
12313
+ }
12314
+ export interface PathParameters {
12315
+ provider_slug: Parameters.ProviderSlug;
12316
+ }
12317
+ export interface QueryParameters {
12318
+ org_id?: /**
12319
+ * example:
12320
+ * 123
12321
+ */
12322
+ Parameters.OrgId;
12323
+ origin?: Parameters.Origin;
12324
+ portal_id?: Parameters.PortalId;
12325
+ domain?: Parameters.Domain;
12326
+ }
12327
+ namespace Responses {
12328
+ export type $200 = Components.Schemas.ProviderPublicConfig;
12329
+ export type $400 = Components.Responses.InvalidRequest;
12330
+ export type $404 = Components.Responses.NotFound;
12331
+ export type $500 = Components.Responses.InternalServerError;
12332
+ }
12333
+ }
11931
12334
  namespace GetSchemas {
11932
12335
  namespace Responses {
11933
12336
  export interface $200 {
@@ -12342,6 +12745,42 @@ declare namespace Paths {
12342
12745
  export type $500 = Components.Responses.InternalServerError;
12343
12746
  }
12344
12747
  }
12748
+ namespace PortalProxyExecute {
12749
+ export interface RequestBody {
12750
+ /**
12751
+ * Integration ID containing the managed-call use case
12752
+ */
12753
+ integration_id: string; // uuid
12754
+ /**
12755
+ * Use case slug (acts as the RPC method name)
12756
+ */
12757
+ use_case_slug: string;
12758
+ /**
12759
+ * Input data for the managed-call operation
12760
+ */
12761
+ payload?: {
12762
+ [name: string]: any;
12763
+ };
12764
+ }
12765
+ namespace Responses {
12766
+ export interface $200 {
12767
+ success: boolean;
12768
+ /**
12769
+ * Managed-call response payload. Shape is defined by the use
12770
+ * case's JSONata response_mapping; if no mapping is
12771
+ * configured the raw external API response is returned.
12772
+ *
12773
+ */
12774
+ data?: {
12775
+ [name: string]: any;
12776
+ };
12777
+ }
12778
+ export type $400 = Components.Responses.InvalidRequest;
12779
+ export type $401 = Components.Responses.Unauthorized;
12780
+ export type $403 = Components.Responses.Forbidden;
12781
+ export type $500 = Components.Responses.InternalServerError;
12782
+ }
12783
+ }
12345
12784
  namespace PostOrderAcceptance {
12346
12785
  namespace Parameters {
12347
12786
  export type Id = /**
@@ -13700,6 +14139,34 @@ declare namespace Paths {
13700
14139
  export type $500 = Components.Responses.InternalServerError;
13701
14140
  }
13702
14141
  }
14142
+ namespace VerifyDns {
14143
+ namespace Parameters {
14144
+ export type PortalId = /**
14145
+ * ID of the portal
14146
+ * example:
14147
+ * 453ad7bf-86d5-46c8-8252-bcc868df5e3c
14148
+ */
14149
+ Components.Schemas.PortalId;
14150
+ }
14151
+ export interface QueryParameters {
14152
+ portal_id: Parameters.PortalId;
14153
+ }
14154
+ namespace Responses {
14155
+ export interface $200 {
14156
+ /**
14157
+ * The status of the custom domain verification
14158
+ */
14159
+ domain_status?: "PENDING" | "SUCCEED";
14160
+ /**
14161
+ * A message describing the result
14162
+ */
14163
+ message?: string;
14164
+ }
14165
+ export type $401 = Components.Responses.Unauthorized;
14166
+ export type $403 = Components.Responses.Forbidden;
14167
+ export type $500 = Components.Responses.InternalServerError;
14168
+ }
14169
+ }
13703
14170
  }
13704
14171
 
13705
14172
 
@@ -14246,6 +14713,20 @@ export interface OperationMethods {
14246
14713
  data?: Paths.CheckContactExistsV3.RequestBody,
14247
14714
  config?: AxiosRequestConfig
14248
14715
  ): OperationResponse<Paths.CheckContactExistsV3.Responses.$200>
14716
+ /**
14717
+ * checkAccountExists - checkAccountExists
14718
+ *
14719
+ * True if account with given identifiers exists.
14720
+ * Supports two identification methods:
14721
+ * 1. Using portal_id
14722
+ * 2. Using domain
14723
+ *
14724
+ */
14725
+ 'checkAccountExists'(
14726
+ parameters?: Parameters<Paths.CheckAccountExists.QueryParameters> | null,
14727
+ data?: Paths.CheckAccountExists.RequestBody,
14728
+ config?: AxiosRequestConfig
14729
+ ): OperationResponse<Paths.CheckAccountExists.Responses.$200>
14249
14730
  /**
14250
14731
  * getValidSecondaryAttributes - getValidSecondaryAttributes
14251
14732
  *
@@ -14838,6 +15319,28 @@ export interface OperationMethods {
14838
15319
  data?: Paths.GetMeterReadings.RequestBody,
14839
15320
  config?: AxiosRequestConfig
14840
15321
  ): OperationResponse<Paths.GetMeterReadings.Responses.$200>
15322
+ /**
15323
+ * getSSOProvider - getSSOProvider
15324
+ *
15325
+ * Returns the public configuration of a single SSO identity provider with env var
15326
+ * placeholders (incl. secrets) already resolved against the organization's environment.
15327
+ *
15328
+ * Use this endpoint at SSO initiation time (i.e. when the end user clicks "Sign in with X")
15329
+ * to obtain the resolved OIDC settings needed to construct the authorization URL.
15330
+ * The web `client_secret` is intentionally never returned — it is used server-side by
15331
+ * the SSO callback to exchange the authorization code for tokens.
15332
+ *
15333
+ * Supports three identification methods:
15334
+ * 1. `org_id` + `origin`
15335
+ * 2. `org_id` + `portal_id`
15336
+ * 3. `domain`
15337
+ *
15338
+ */
15339
+ 'getSSOProvider'(
15340
+ parameters?: Parameters<Paths.GetSSOProvider.QueryParameters & Paths.GetSSOProvider.PathParameters> | null,
15341
+ data?: any,
15342
+ config?: AxiosRequestConfig
15343
+ ): OperationResponse<Paths.GetSSOProvider.Responses.$200>
14841
15344
  /**
14842
15345
  * ssoLogin - ssoLogin
14843
15346
  *
@@ -15206,6 +15709,28 @@ export interface OperationMethods {
15206
15709
  data?: any,
15207
15710
  config?: AxiosRequestConfig
15208
15711
  ): OperationResponse<Paths.EnablePartner.Responses.$200>
15712
+ /**
15713
+ * verifyDns - verifyDns
15714
+ *
15715
+ * Manually triggers DNS verification for a portal's domain setup. Runs the same verification logic as the scheduled processAllPendingNetworks lambda.
15716
+ */
15717
+ 'verifyDns'(
15718
+ parameters?: Parameters<Paths.VerifyDns.QueryParameters> | null,
15719
+ data?: any,
15720
+ config?: AxiosRequestConfig
15721
+ ): OperationResponse<Paths.VerifyDns.Responses.$200>
15722
+ /**
15723
+ * portalProxyExecute - portalProxyExecute
15724
+ *
15725
+ * Execute an Integration Hub managed-call use case on behalf of a portal user.
15726
+ * Bridges PortalAuth to the Integration API by generating an internal token.
15727
+ *
15728
+ */
15729
+ 'portalProxyExecute'(
15730
+ parameters?: Parameters<UnknownParamsObject> | null,
15731
+ data?: Paths.PortalProxyExecute.RequestBody,
15732
+ config?: AxiosRequestConfig
15733
+ ): OperationResponse<Paths.PortalProxyExecute.Responses.$200>
15209
15734
  }
15210
15735
 
15211
15736
  export interface PathsDictionary {
@@ -15843,6 +16368,22 @@ export interface PathsDictionary {
15843
16368
  config?: AxiosRequestConfig
15844
16369
  ): OperationResponse<Paths.CheckContactExistsV3.Responses.$200>
15845
16370
  }
16371
+ ['/v3/portal/public/account/exists']: {
16372
+ /**
16373
+ * checkAccountExists - checkAccountExists
16374
+ *
16375
+ * True if account with given identifiers exists.
16376
+ * Supports two identification methods:
16377
+ * 1. Using portal_id
16378
+ * 2. Using domain
16379
+ *
16380
+ */
16381
+ 'post'(
16382
+ parameters?: Parameters<Paths.CheckAccountExists.QueryParameters> | null,
16383
+ data?: Paths.CheckAccountExists.RequestBody,
16384
+ config?: AxiosRequestConfig
16385
+ ): OperationResponse<Paths.CheckAccountExists.Responses.$200>
16386
+ }
15846
16387
  ['/v2/portal/contact/valid/secondary/attributes']: {
15847
16388
  /**
15848
16389
  * getValidSecondaryAttributes - getValidSecondaryAttributes
@@ -16537,6 +17078,30 @@ export interface PathsDictionary {
16537
17078
  config?: AxiosRequestConfig
16538
17079
  ): OperationResponse<Paths.GetMeterReadings.Responses.$200>
16539
17080
  }
17081
+ ['/v2/portal/public/sso/providers/{provider_slug}']: {
17082
+ /**
17083
+ * getSSOProvider - getSSOProvider
17084
+ *
17085
+ * Returns the public configuration of a single SSO identity provider with env var
17086
+ * placeholders (incl. secrets) already resolved against the organization's environment.
17087
+ *
17088
+ * Use this endpoint at SSO initiation time (i.e. when the end user clicks "Sign in with X")
17089
+ * to obtain the resolved OIDC settings needed to construct the authorization URL.
17090
+ * The web `client_secret` is intentionally never returned — it is used server-side by
17091
+ * the SSO callback to exchange the authorization code for tokens.
17092
+ *
17093
+ * Supports three identification methods:
17094
+ * 1. `org_id` + `origin`
17095
+ * 2. `org_id` + `portal_id`
17096
+ * 3. `domain`
17097
+ *
17098
+ */
17099
+ 'get'(
17100
+ parameters?: Parameters<Paths.GetSSOProvider.QueryParameters & Paths.GetSSOProvider.PathParameters> | null,
17101
+ data?: any,
17102
+ config?: AxiosRequestConfig
17103
+ ): OperationResponse<Paths.GetSSOProvider.Responses.$200>
17104
+ }
16540
17105
  ['/v2/portal/public/sso/login']: {
16541
17106
  /**
16542
17107
  * ssoLogin - ssoLogin
@@ -16959,12 +17524,39 @@ export interface PathsDictionary {
16959
17524
  config?: AxiosRequestConfig
16960
17525
  ): OperationResponse<Paths.EnablePartner.Responses.$200>
16961
17526
  }
17527
+ ['/v3/portal/verify-dns']: {
17528
+ /**
17529
+ * verifyDns - verifyDns
17530
+ *
17531
+ * Manually triggers DNS verification for a portal's domain setup. Runs the same verification logic as the scheduled processAllPendingNetworks lambda.
17532
+ */
17533
+ 'post'(
17534
+ parameters?: Parameters<Paths.VerifyDns.QueryParameters> | null,
17535
+ data?: any,
17536
+ config?: AxiosRequestConfig
17537
+ ): OperationResponse<Paths.VerifyDns.Responses.$200>
17538
+ }
17539
+ ['/v2/portal/proxy/execute']: {
17540
+ /**
17541
+ * portalProxyExecute - portalProxyExecute
17542
+ *
17543
+ * Execute an Integration Hub managed-call use case on behalf of a portal user.
17544
+ * Bridges PortalAuth to the Integration API by generating an internal token.
17545
+ *
17546
+ */
17547
+ 'post'(
17548
+ parameters?: Parameters<UnknownParamsObject> | null,
17549
+ data?: Paths.PortalProxyExecute.RequestBody,
17550
+ config?: AxiosRequestConfig
17551
+ ): OperationResponse<Paths.PortalProxyExecute.Responses.$200>
17552
+ }
16962
17553
  }
16963
17554
 
16964
17555
  export type Client = OpenAPIClient<OperationMethods, PathsDictionary>
16965
17556
 
16966
17557
 
16967
17558
  export type AcceptanceDecision = Components.Schemas.AcceptanceDecision;
17559
+ export type AccountExistsRequest = Components.Schemas.AccountExistsRequest;
16968
17560
  export type ActionLabel = Components.Schemas.ActionLabel;
16969
17561
  export type ActionWidget = Components.Schemas.ActionWidget;
16970
17562
  export type Activity = Components.Schemas.Activity;
@@ -17003,6 +17595,7 @@ export type DataRetrievalItem = Components.Schemas.DataRetrievalItem;
17003
17595
  export type DeleteEntityFile = Components.Schemas.DeleteEntityFile;
17004
17596
  export type Direction = Components.Schemas.Direction;
17005
17597
  export type DocumentWidget = Components.Schemas.DocumentWidget;
17598
+ export type DomainSettings = Components.Schemas.DomainSettings;
17006
17599
  export type EmailTemplates = Components.Schemas.EmailTemplates;
17007
17600
  export type Entity = Components.Schemas.Entity;
17008
17601
  export type EntityEditRule = Components.Schemas.EntityEditRule;
@@ -17054,6 +17647,7 @@ export type MeterReadingWidget = Components.Schemas.MeterReadingWidget;
17054
17647
  export type MoblieOIDCConfig = Components.Schemas.MoblieOIDCConfig;
17055
17648
  export type OIDCProviderConfig = Components.Schemas.OIDCProviderConfig;
17056
17649
  export type OIDCProviderMetadata = Components.Schemas.OIDCProviderMetadata;
17650
+ export type OIDCProviderPublicConfig = Components.Schemas.OIDCProviderPublicConfig;
17057
17651
  export type Opportunity = Components.Schemas.Opportunity;
17058
17652
  export type Order = Components.Schemas.Order;
17059
17653
  export type OrganizationSettings = Components.Schemas.OrganizationSettings;