@epilot/customer-portal-client 0.50.0 → 0.51.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/definition.js +1 -1
- package/dist/openapi-runtime.json +136 -71
- package/dist/openapi.d.ts +1429 -593
- package/package.json +1 -1
- package/src/openapi-runtime.json +136 -71
- package/src/openapi.json +1464 -622
package/dist/openapi.d.ts
CHANGED
|
@@ -20,72 +20,15 @@ declare namespace Components {
|
|
|
20
20
|
reason: "invalid_token";
|
|
21
21
|
}
|
|
22
22
|
export type Conflict = Schemas.ErrorResp;
|
|
23
|
-
export interface ContactAmbiguousMatch {
|
|
24
|
-
/**
|
|
25
|
-
* The HTTP status code, repeated in the body.
|
|
26
|
-
* example:
|
|
27
|
-
* 409
|
|
28
|
-
*/
|
|
29
|
-
status: number;
|
|
30
|
-
/**
|
|
31
|
-
* Human-readable error message. For support, not for display to end customers.
|
|
32
|
-
*/
|
|
33
|
-
error: string;
|
|
34
|
-
reason: "AMBIGUOUS_MATCH";
|
|
35
|
-
/**
|
|
36
|
-
* Correlation id of the ERP sync that was waited on.
|
|
37
|
-
*/
|
|
38
|
-
correlation_id?: string; // ^[A-Za-z0-9_-]+$
|
|
39
|
-
}
|
|
40
23
|
export interface ContractAssignmentConflict {
|
|
41
24
|
/**
|
|
42
25
|
* Error message
|
|
43
26
|
*/
|
|
44
27
|
message?: string;
|
|
45
28
|
/**
|
|
46
|
-
* Reason why the contract is not assignable.
|
|
47
|
-
* - `DRAFT`: the contract is still a draft.
|
|
48
|
-
* - `MULTIPLE`: multiple contracts were found and the business logic does not allow it.
|
|
49
|
-
* - `SELF_ASSIGNMENT_DISABLED`: the contract already has a contact assigned and
|
|
50
|
-
* self-assignment is disabled.
|
|
51
|
-
* - `AMBIGUOUS_MATCH`: the portal waited on the Integration Toolkit and the ERP
|
|
52
|
-
* delivered entities it cannot tell apart (several matching the selector, or
|
|
53
|
-
* contracts naming different customers). Nothing was assigned, and retrying
|
|
54
|
-
* will not help.
|
|
55
|
-
*
|
|
56
|
-
*/
|
|
57
|
-
reason: "DRAFT" | "MULTIPLE" | "SELF_ASSIGNMENT_DISABLED" | "AMBIGUOUS_MATCH";
|
|
58
|
-
/**
|
|
59
|
-
* The HTTP status code, repeated in the body.
|
|
60
|
-
* example:
|
|
61
|
-
* 409
|
|
62
|
-
*/
|
|
63
|
-
status?: number;
|
|
64
|
-
/**
|
|
65
|
-
* Human-readable error message. For support, not for display to end customers.
|
|
66
|
-
*/
|
|
67
|
-
error?: string;
|
|
68
|
-
/**
|
|
69
|
-
* Correlation id of the ERP sync that was waited on. Present only with `AMBIGUOUS_MATCH`.
|
|
70
|
-
*/
|
|
71
|
-
correlation_id?: string; // ^[A-Za-z0-9_-]+$
|
|
72
|
-
}
|
|
73
|
-
export interface ContractAssignmentNotFound {
|
|
74
|
-
/**
|
|
75
|
-
* The HTTP status code, repeated in the body.
|
|
76
|
-
* example:
|
|
77
|
-
* 404
|
|
78
|
-
*/
|
|
79
|
-
status: number;
|
|
80
|
-
/**
|
|
81
|
-
* Human-readable error message. For support, not for display to end customers.
|
|
29
|
+
* Reason why the contract is not assignable. If the reason is "MULTIPLE", the contract is not assignable because multiple contracts were found and the business logic does not allow it.
|
|
82
30
|
*/
|
|
83
|
-
|
|
84
|
-
reason?: "TIMEOUT" | "INCOMPLETE";
|
|
85
|
-
/**
|
|
86
|
-
* Correlation id of the ERP sync that was waited on. Present with `TIMEOUT` and `INCOMPLETE`.
|
|
87
|
-
*/
|
|
88
|
-
correlation_id?: string; // ^[A-Za-z0-9_-]+$
|
|
31
|
+
reason: "DRAFT" | "MULTIPLE";
|
|
89
32
|
}
|
|
90
33
|
export type Forbidden = Schemas.ErrorResp;
|
|
91
34
|
export type ForbiddenByRule = Schemas.ErrorResp | Schemas.FailedRuleErrorResp;
|
|
@@ -831,6 +774,20 @@ declare namespace Components {
|
|
|
831
774
|
* c495fef9-eeca-4019-a989-8390dcd9825b
|
|
832
775
|
*/
|
|
833
776
|
id?: string; // uuid
|
|
777
|
+
/**
|
|
778
|
+
* Blueprint instance ids managing this block. Non-empty means the block is blueprint-managed and read-only for users until it is detached. Server-managed: ignored (stripped) on every write from a user.
|
|
779
|
+
*
|
|
780
|
+
*/
|
|
781
|
+
_manifest?: string[];
|
|
782
|
+
/**
|
|
783
|
+
* Stable id of this block in the blueprint source. Server-managed.
|
|
784
|
+
*/
|
|
785
|
+
_lineage_id?: string;
|
|
786
|
+
/**
|
|
787
|
+
* Reserved for author-defined block levels (e.g. `dummy`, `strict`). Not interpreted yet. Server-managed: ignored (stripped) on every write from a user.
|
|
788
|
+
*
|
|
789
|
+
*/
|
|
790
|
+
_level?: string;
|
|
834
791
|
}
|
|
835
792
|
/**
|
|
836
793
|
* The id of the block
|
|
@@ -1145,6 +1102,16 @@ declare namespace Components {
|
|
|
1145
1102
|
*/
|
|
1146
1103
|
enabled?: boolean;
|
|
1147
1104
|
};
|
|
1105
|
+
/**
|
|
1106
|
+
* Opt-in, set by the configuring user. When enabled, a second factor is enforced after the password and portal users can add passkeys (fingerprint, face or device PIN) as one variant of it, next to the email code of advanced_mfa. Users with a passkey use it by default; with advanced_mfa off, the passkey is the only second factor once a user has added one. On passwordless portals a passkey can replace the email code. Passkeys are bound to the domain they were added on. Default off; turning it off again restores the previous behaviour and keeps registered passkeys.
|
|
1107
|
+
*
|
|
1108
|
+
*/
|
|
1109
|
+
passkeys?: {
|
|
1110
|
+
/**
|
|
1111
|
+
* Enforce a second factor and allow passkeys as one variant of it
|
|
1112
|
+
*/
|
|
1113
|
+
enabled?: boolean;
|
|
1114
|
+
};
|
|
1148
1115
|
entry_point?: "PASSWORD" | "SSO";
|
|
1149
1116
|
preferred_sso_providers?: /**
|
|
1150
1117
|
* URL-friendly slug to use as organization-unique identifier for Provider
|
|
@@ -1172,6 +1139,12 @@ declare namespace Components {
|
|
|
1172
1139
|
* 6bsd0jkgoie74k2i8mrhc1vest
|
|
1173
1140
|
*/
|
|
1174
1141
|
cognito_user_pool_client_id?: string;
|
|
1142
|
+
/**
|
|
1143
|
+
* Cognito user pool client ID used by the native portal apps (longer refresh token validity)
|
|
1144
|
+
* example:
|
|
1145
|
+
* 3k9fj2l1m0n8b7v6c5x4z3a2s1
|
|
1146
|
+
*/
|
|
1147
|
+
cognito_mobile_client_id?: string;
|
|
1175
1148
|
/**
|
|
1176
1149
|
* Cognito user pool ARN
|
|
1177
1150
|
* example:
|
|
@@ -1364,6 +1337,13 @@ declare namespace Components {
|
|
|
1364
1337
|
* ]
|
|
1365
1338
|
*/
|
|
1366
1339
|
contract_identifiers?: ContractIdentifier[];
|
|
1340
|
+
/**
|
|
1341
|
+
* What the built-in self-assignment (without a contractIdentification hook) assigns once the `contract_identifiers` match a Contract:
|
|
1342
|
+
* - `contracts`: the user's Contact is added as a customer of the Contract.
|
|
1343
|
+
* - `customer_to_portal_user`: the Contract's customers (Contacts and Accounts) are added to the Portal User's `represents`. The Portal User sees all their data, including Contracts, transitively. Mirrors the `contact_to_portal_user` assignment mode of the contractIdentification hook.
|
|
1344
|
+
*
|
|
1345
|
+
*/
|
|
1346
|
+
self_assignment_mode?: "contracts" | "customer_to_portal_user";
|
|
1367
1347
|
/**
|
|
1368
1348
|
* Configuration for contract selector in the portal
|
|
1369
1349
|
*/
|
|
@@ -1547,7 +1527,7 @@ declare namespace Components {
|
|
|
1547
1527
|
*/
|
|
1548
1528
|
is_dummy?: boolean;
|
|
1549
1529
|
/**
|
|
1550
|
-
*
|
|
1530
|
+
* Always true. Legacy v2 storage was migrated; field kept for compatibility and will be removed.
|
|
1551
1531
|
*/
|
|
1552
1532
|
is_v3_item?: boolean;
|
|
1553
1533
|
/**
|
|
@@ -1586,6 +1566,7 @@ declare namespace Components {
|
|
|
1586
1566
|
* Master toggle for the portal's engagement center (in-app notifications including the notification triggers above). Off when absent — portal users only see the engagement center and receive trigger notifications after an admin enables it.
|
|
1587
1567
|
*/
|
|
1588
1568
|
engagement_center_enabled?: boolean;
|
|
1569
|
+
engagement_center_task_templates?: /* Handlebars templates rendering each outstanding task (to-do) row in the portal's engagement center. Resolved server-side per task against the task's entity (same variable syntax as page block templates, e.g. `{{order.order_number}}`, custom and environment variables) plus `task.*` (the workflow step, e.g. `{{task.name}}`), `workflow.*` (the execution, e.g. `{{workflow.name}}`) and `entity.*` (the task's entity regardless of its schema, e.g. `{{entity._title}}`). A template that is absent or blank keeps the portal's default rendering for that line. Admin/builder-only — never exposed via the public portal config. */ EngagementCenterTaskTemplates;
|
|
1589
1570
|
}
|
|
1590
1571
|
export interface CommonConfigAttributesV3 {
|
|
1591
1572
|
/**
|
|
@@ -1685,6 +1666,16 @@ declare namespace Components {
|
|
|
1685
1666
|
*/
|
|
1686
1667
|
enabled?: boolean;
|
|
1687
1668
|
};
|
|
1669
|
+
/**
|
|
1670
|
+
* Opt-in, set by the configuring user. When enabled, a second factor is enforced after the password and portal users can add passkeys (fingerprint, face or device PIN) as one variant of it, next to the email code of advanced_mfa. Users with a passkey use it by default; with advanced_mfa off, the passkey is the only second factor once a user has added one. On passwordless portals a passkey can replace the email code. Passkeys are bound to the domain they were added on. Default off; turning it off again restores the previous behaviour and keeps registered passkeys.
|
|
1671
|
+
*
|
|
1672
|
+
*/
|
|
1673
|
+
passkeys?: {
|
|
1674
|
+
/**
|
|
1675
|
+
* Enforce a second factor and allow passkeys as one variant of it
|
|
1676
|
+
*/
|
|
1677
|
+
enabled?: boolean;
|
|
1678
|
+
};
|
|
1688
1679
|
entry_point?: "PASSWORD" | "SSO";
|
|
1689
1680
|
preferred_sso_providers?: /**
|
|
1690
1681
|
* URL-friendly slug to use as organization-unique identifier for Provider
|
|
@@ -1712,6 +1703,12 @@ declare namespace Components {
|
|
|
1712
1703
|
* 6bsd0jkgoie74k2i8mrhc1vest
|
|
1713
1704
|
*/
|
|
1714
1705
|
cognito_user_pool_client_id?: string;
|
|
1706
|
+
/**
|
|
1707
|
+
* Cognito user pool client ID used by the native portal apps (longer refresh token validity)
|
|
1708
|
+
* example:
|
|
1709
|
+
* 3k9fj2l1m0n8b7v6c5x4z3a2s1
|
|
1710
|
+
*/
|
|
1711
|
+
cognito_mobile_client_id?: string;
|
|
1715
1712
|
/**
|
|
1716
1713
|
* Cognito user pool ARN
|
|
1717
1714
|
* example:
|
|
@@ -1904,6 +1901,13 @@ declare namespace Components {
|
|
|
1904
1901
|
* ]
|
|
1905
1902
|
*/
|
|
1906
1903
|
contract_identifiers?: ContractIdentifier[];
|
|
1904
|
+
/**
|
|
1905
|
+
* What the built-in self-assignment (without a contractIdentification hook) assigns once the `contract_identifiers` match a Contract:
|
|
1906
|
+
* - `contracts`: the user's Contact is added as a customer of the Contract.
|
|
1907
|
+
* - `customer_to_portal_user`: the Contract's customers (Contacts and Accounts) are added to the Portal User's `represents`. The Portal User sees all their data, including Contracts, transitively. Mirrors the `contact_to_portal_user` assignment mode of the contractIdentification hook.
|
|
1908
|
+
*
|
|
1909
|
+
*/
|
|
1910
|
+
self_assignment_mode?: "contracts" | "customer_to_portal_user";
|
|
1907
1911
|
/**
|
|
1908
1912
|
* Configuration for contract selector in the portal
|
|
1909
1913
|
*/
|
|
@@ -2087,7 +2091,7 @@ declare namespace Components {
|
|
|
2087
2091
|
*/
|
|
2088
2092
|
is_dummy?: boolean;
|
|
2089
2093
|
/**
|
|
2090
|
-
*
|
|
2094
|
+
* Always true. Legacy v2 storage was migrated; field kept for compatibility and will be removed.
|
|
2091
2095
|
*/
|
|
2092
2096
|
is_v3_item?: boolean;
|
|
2093
2097
|
/**
|
|
@@ -2230,19 +2234,6 @@ declare namespace Components {
|
|
|
2230
2234
|
*
|
|
2231
2235
|
*/
|
|
2232
2236
|
trigger_identifiers_check?: boolean;
|
|
2233
|
-
/**
|
|
2234
|
-
* Correlation id of an already triggered ERP sync, as returned by a previous call that
|
|
2235
|
-
* answered `reason: TIMEOUT`. Sent together with `trigger_identifiers_check: false` on a
|
|
2236
|
-
* retry so the portal keeps waiting on the same correlation instead of starting over.
|
|
2237
|
-
* Only used by portals configured with
|
|
2238
|
-
* `extension_hooks.registrationIdentifiersCheck.wait_for_toolkit`; ignored otherwise.
|
|
2239
|
-
* At most 255 letters, digits, hyphens and underscores: the toolkit's bound for a
|
|
2240
|
-
* correlation id and the charset it enforces on its identifiers.
|
|
2241
|
-
*
|
|
2242
|
-
* example:
|
|
2243
|
-
* 0199c0d5-6f1c-7a3b-9e21-9a9ce1d1b2c3
|
|
2244
|
-
*/
|
|
2245
|
-
correlation_id?: string; // ^[A-Za-z0-9_-]+$
|
|
2246
2237
|
}
|
|
2247
2238
|
/**
|
|
2248
2239
|
* ContactExistsRequest plus the surface the token is requested for. `registration_identifiers` carries the values of the surface's effective identifiers (keyed by schema, then attribute name): the surface's own `identifiers` when it configures any, otherwise the portal's `registration_identifiers`.
|
|
@@ -2281,19 +2272,6 @@ declare namespace Components {
|
|
|
2281
2272
|
*
|
|
2282
2273
|
*/
|
|
2283
2274
|
trigger_identifiers_check?: boolean;
|
|
2284
|
-
/**
|
|
2285
|
-
* Correlation id of an already triggered ERP sync, as returned by a previous call that
|
|
2286
|
-
* answered `reason: TIMEOUT`. Sent together with `trigger_identifiers_check: false` on a
|
|
2287
|
-
* retry so the portal keeps waiting on the same correlation instead of starting over.
|
|
2288
|
-
* Only used by portals configured with
|
|
2289
|
-
* `extension_hooks.registrationIdentifiersCheck.wait_for_toolkit`; ignored otherwise.
|
|
2290
|
-
* At most 255 letters, digits, hyphens and underscores: the toolkit's bound for a
|
|
2291
|
-
* correlation id and the charset it enforces on its identifiers.
|
|
2292
|
-
*
|
|
2293
|
-
* example:
|
|
2294
|
-
* 0199c0d5-6f1c-7a3b-9e21-9a9ce1d1b2c3
|
|
2295
|
-
*/
|
|
2296
|
-
correlation_id?: string; // ^[A-Za-z0-9_-]+$
|
|
2297
2275
|
/**
|
|
2298
2276
|
* Id of the portal surface (see `surfaces` on the portal config) this token is
|
|
2299
2277
|
* for. The surface must exist and use `authentication: registration_identifiers`;
|
|
@@ -2369,6 +2347,14 @@ declare namespace Components {
|
|
|
2369
2347
|
* false
|
|
2370
2348
|
*/
|
|
2371
2349
|
has_portal_user?: boolean;
|
|
2350
|
+
/**
|
|
2351
|
+
* The e-mail the identified contact's portal user on this portal logs in with. It can
|
|
2352
|
+
* differ from the contact's own e-mail. Present only when `has_portal_user` is true.
|
|
2353
|
+
*
|
|
2354
|
+
* example:
|
|
2355
|
+
* john.doe@example.com
|
|
2356
|
+
*/
|
|
2357
|
+
portal_user_email?: string;
|
|
2372
2358
|
/**
|
|
2373
2359
|
* Present only when no token was issued. NOT_FOUND means the given identifiers did not
|
|
2374
2360
|
* match any contact (definitive - the client should not retry). TIMEOUT means the contact
|
|
@@ -2377,13 +2363,6 @@ declare namespace Components {
|
|
|
2377
2363
|
*
|
|
2378
2364
|
*/
|
|
2379
2365
|
reason?: "TIMEOUT" | "NOT_FOUND";
|
|
2380
|
-
/**
|
|
2381
|
-
* Correlation id of the triggered ERP sync. Present only with `reason: TIMEOUT`, for
|
|
2382
|
-
* portals waiting on the Integration Toolkit (`wait_for_toolkit`). Send it back with
|
|
2383
|
-
* `trigger_identifiers_check: false` to keep waiting on the same correlation.
|
|
2384
|
-
*
|
|
2385
|
-
*/
|
|
2386
|
-
correlation_id?: string; // ^[A-Za-z0-9_-]+$
|
|
2387
2366
|
}
|
|
2388
2367
|
export interface ContentWidget {
|
|
2389
2368
|
id: string;
|
|
@@ -2774,37 +2753,6 @@ declare namespace Components {
|
|
|
2774
2753
|
extension?: PublicExtensionDetails;
|
|
2775
2754
|
hook?: PublicDataRetrievalHookDetails;
|
|
2776
2755
|
}
|
|
2777
|
-
export interface DeleteEntityFile {
|
|
2778
|
-
entity_id: /**
|
|
2779
|
-
* Entity ID
|
|
2780
|
-
* example:
|
|
2781
|
-
* 5da0a718-c822-403d-9f5d-20d4584e0528
|
|
2782
|
-
*/
|
|
2783
|
-
EntityId /* uuid */;
|
|
2784
|
-
/**
|
|
2785
|
-
* Entity type
|
|
2786
|
-
* example:
|
|
2787
|
-
* order
|
|
2788
|
-
*/
|
|
2789
|
-
entity_type: string;
|
|
2790
|
-
/**
|
|
2791
|
-
* Array of file entity IDs
|
|
2792
|
-
*/
|
|
2793
|
-
file_entity_ids: [
|
|
2794
|
-
/**
|
|
2795
|
-
* Entity ID
|
|
2796
|
-
* example:
|
|
2797
|
-
* 5da0a718-c822-403d-9f5d-20d4584e0528
|
|
2798
|
-
*/
|
|
2799
|
-
EntityId /* uuid */,
|
|
2800
|
-
.../**
|
|
2801
|
-
* Entity ID
|
|
2802
|
-
* example:
|
|
2803
|
-
* 5da0a718-c822-403d-9f5d-20d4584e0528
|
|
2804
|
-
*/
|
|
2805
|
-
EntityId /* uuid */[]
|
|
2806
|
-
];
|
|
2807
|
-
}
|
|
2808
2756
|
export type Direction = "feed-in" | "feed-out";
|
|
2809
2757
|
export interface DocumentWidget {
|
|
2810
2758
|
id: string;
|
|
@@ -2979,6 +2927,23 @@ declare namespace Components {
|
|
|
2979
2927
|
*/
|
|
2980
2928
|
EntityId /* uuid */;
|
|
2981
2929
|
}
|
|
2930
|
+
/**
|
|
2931
|
+
* Handlebars templates rendering each outstanding task (to-do) row in the portal's engagement center. Resolved server-side per task against the task's entity (same variable syntax as page block templates, e.g. `{{order.order_number}}`, custom and environment variables) plus `task.*` (the workflow step, e.g. `{{task.name}}`), `workflow.*` (the execution, e.g. `{{workflow.name}}`) and `entity.*` (the task's entity regardless of its schema, e.g. `{{entity._title}}`). A template that is absent or blank keeps the portal's default rendering for that line. Admin/builder-only — never exposed via the public portal config.
|
|
2932
|
+
*/
|
|
2933
|
+
export interface EngagementCenterTaskTemplates {
|
|
2934
|
+
/**
|
|
2935
|
+
* Template for the row title. Default rendering is the step name.
|
|
2936
|
+
* example:
|
|
2937
|
+
* {{task.name}}
|
|
2938
|
+
*/
|
|
2939
|
+
title?: string;
|
|
2940
|
+
/**
|
|
2941
|
+
* Template for the row's context line. Default rendering is the workflow name and the entity title.
|
|
2942
|
+
* example:
|
|
2943
|
+
* {{workflow.name}} · {{entity._title}}
|
|
2944
|
+
*/
|
|
2945
|
+
subtitle?: string;
|
|
2946
|
+
}
|
|
2982
2947
|
export interface Entity {
|
|
2983
2948
|
[name: string]: any;
|
|
2984
2949
|
/**
|
|
@@ -3480,10 +3445,18 @@ declare namespace Components {
|
|
|
3480
3445
|
[name: string]: string | number;
|
|
3481
3446
|
};
|
|
3482
3447
|
/**
|
|
3483
|
-
*
|
|
3484
|
-
*
|
|
3448
|
+
* Sort order of the results: an `attribute:order` pair, or a list of Elasticsearch sort fields that are
|
|
3449
|
+
* used as they are, e.g. the sort order of a target as returned by the Targeting API.
|
|
3450
|
+
* Without a sort, the sort order of the first requested target that defines one applies.
|
|
3451
|
+
*
|
|
3452
|
+
*/
|
|
3453
|
+
sort?: /**
|
|
3454
|
+
* Sort order of the results: an `attribute:order` pair, or a list of Elasticsearch sort fields that are
|
|
3455
|
+
* used as they are, e.g. the sort order of a target as returned by the Targeting API.
|
|
3456
|
+
* Without a sort, the sort order of the first requested target that defines one applies.
|
|
3457
|
+
*
|
|
3485
3458
|
*/
|
|
3486
|
-
|
|
3459
|
+
string | string /* ^[^\s:,]+:(asc|desc)$ */[];
|
|
3487
3460
|
from?: number;
|
|
3488
3461
|
/**
|
|
3489
3462
|
* Max search size is 1000 with higher values defaulting to 1000
|
|
@@ -4240,35 +4213,12 @@ declare namespace Components {
|
|
|
4240
4213
|
* Deprecated. Use `resolved.result` instead. Contact ID usually retrieved from the response body, e.g. `{{CallResponse.data.contact_id}}`. If no result is passed and the request suceeds, we attempt to resolve the Contact ID automatically. Supports variable interpolation.
|
|
4241
4214
|
*/
|
|
4242
4215
|
result?: string;
|
|
4243
|
-
/**
|
|
4244
|
-
* Correlation id to wait for inbound ERP events under, resolved from the third-party
|
|
4245
|
-
* response, e.g. `{{CallResponse.data.acknowledgeId}}`. Only read when the portal is
|
|
4246
|
-
* configured to wait on the Integration Toolkit
|
|
4247
|
-
* (`extension_hooks.<hook>.wait_for_toolkit`).
|
|
4248
|
-
*
|
|
4249
|
-
* There is no default: unless a hook declares this, the portal waits on the id it
|
|
4250
|
-
* minted and handed the hook as `{{CorrelationId}}`, whatever the response carries. A
|
|
4251
|
-
* partner that pushes under that id leaves this unset; only a partner that pushes
|
|
4252
|
-
* under an id of its own declares where the response carries it. A declared id that
|
|
4253
|
-
* is absent from the response falls back to the minted one; one that is not a valid
|
|
4254
|
-
* correlation id (at most 255 letters, digits, `-` and `_`) is not waited on, and
|
|
4255
|
-
* the portal polls entity search instead.
|
|
4256
|
-
*
|
|
4257
|
-
*/
|
|
4258
|
-
result_correlation_id?: string;
|
|
4259
4216
|
};
|
|
4260
4217
|
resolved?: {
|
|
4261
4218
|
/**
|
|
4262
4219
|
* Contract or Contact ID usually retrieved from the response body, e.g. `{{CallResponse.data.contact_id}}`. If no result is passed and the request suceeds, we attempt to resolve the Contact ID automatically. Supports variable interpolation. Supersedes the deprecated `call.result`.
|
|
4263
4220
|
*/
|
|
4264
4221
|
result?: string;
|
|
4265
|
-
/**
|
|
4266
|
-
* Correlation id to wait for inbound ERP events under, resolved from the third-party
|
|
4267
|
-
* response, e.g. `{{CallResponse.data.acknowledgeId}}`. Supersedes
|
|
4268
|
-
* `call.result_correlation_id`. No default; see `call.result_correlation_id`.
|
|
4269
|
-
*
|
|
4270
|
-
*/
|
|
4271
|
-
result_correlation_id?: string;
|
|
4272
4222
|
/**
|
|
4273
4223
|
* Optional path to a human-readable error message in the third-party response body, used when the call fails (non-2xx status).
|
|
4274
4224
|
* If specified and the path resolves to a string, that message is forwarded to the end user instead of a generic error.
|
|
@@ -4718,35 +4668,12 @@ declare namespace Components {
|
|
|
4718
4668
|
* Deprecated. Use `resolved.result` instead. Contact ID usually retrieved from the response body, e.g. `{{CallResponse.data.contact_id}}`. If no result is passed and the request suceeds, we attempt to resolve the Contact ID automatically. Supports variable interpolation.
|
|
4719
4669
|
*/
|
|
4720
4670
|
result?: string;
|
|
4721
|
-
/**
|
|
4722
|
-
* Correlation id to wait for inbound ERP events under, resolved from the third-party
|
|
4723
|
-
* response, e.g. `{{CallResponse.data.acknowledgeId}}`. Only read when the portal is
|
|
4724
|
-
* configured to wait on the Integration Toolkit
|
|
4725
|
-
* (`extension_hooks.<hook>.wait_for_toolkit`).
|
|
4726
|
-
*
|
|
4727
|
-
* There is no default: unless a hook declares this, the portal waits on the id it
|
|
4728
|
-
* minted and handed the hook as `{{CorrelationId}}`, whatever the response carries. A
|
|
4729
|
-
* partner that pushes under that id leaves this unset; only a partner that pushes
|
|
4730
|
-
* under an id of its own declares where the response carries it. A declared id that
|
|
4731
|
-
* is absent from the response falls back to the minted one; one that is not a valid
|
|
4732
|
-
* correlation id (at most 255 letters, digits, `-` and `_`) is not waited on, and
|
|
4733
|
-
* the portal polls entity search instead.
|
|
4734
|
-
*
|
|
4735
|
-
*/
|
|
4736
|
-
result_correlation_id?: string;
|
|
4737
4671
|
};
|
|
4738
4672
|
resolved?: {
|
|
4739
4673
|
/**
|
|
4740
4674
|
* Contact ID usually retrieved from the response body, e.g. `{{CallResponse.data.contact_id}}`. If no result is passed and the request suceeds, we attempt to resolve the Contact ID automatically. Supports variable interpolation. Supersedes the deprecated `call.result`.
|
|
4741
4675
|
*/
|
|
4742
4676
|
result?: string;
|
|
4743
|
-
/**
|
|
4744
|
-
* Correlation id to wait for inbound ERP events under, resolved from the third-party
|
|
4745
|
-
* response, e.g. `{{CallResponse.data.acknowledgeId}}`. Supersedes
|
|
4746
|
-
* `call.result_correlation_id`. No default; see `call.result_correlation_id`.
|
|
4747
|
-
*
|
|
4748
|
-
*/
|
|
4749
|
-
result_correlation_id?: string;
|
|
4750
4677
|
/**
|
|
4751
4678
|
* Optional path to a human-readable error message in the third-party response body, used when the call fails (non-2xx status).
|
|
4752
4679
|
* If specified and the path resolves to a string, that message is forwarded to the end user instead of a generic error.
|
|
@@ -4777,137 +4704,6 @@ declare namespace Components {
|
|
|
4777
4704
|
* The ID of the selected hook.
|
|
4778
4705
|
*/
|
|
4779
4706
|
hook_id: string;
|
|
4780
|
-
/**
|
|
4781
|
-
* Opt in to waiting on the Integration Toolkit instead of polling entity search for the
|
|
4782
|
-
* data the ERP pushes after the hook returns. When true, the portal hands the hook a
|
|
4783
|
-
* correlation id (`{{CorrelationId}}`) and then asks the toolkit whether the entities it
|
|
4784
|
-
* needs have landed under that correlation. Off by default: a portal that does not set it
|
|
4785
|
-
* keeps polling entity search exactly as before.
|
|
4786
|
-
*
|
|
4787
|
-
* Only effective for hooks whose partner pushes through the Integration Toolkit and
|
|
4788
|
-
* echoes the correlation id. A hook that answers with an epilot contact id is fetched
|
|
4789
|
-
* directly, as today, whatever this flag says.
|
|
4790
|
-
*
|
|
4791
|
-
*/
|
|
4792
|
-
wait_for_toolkit?: boolean;
|
|
4793
|
-
/**
|
|
4794
|
-
* The entities the portal waits for, keyed by entity slug. Configured explicitly per
|
|
4795
|
-
* hook: nothing is derived from the hook type or from the portal's identifier
|
|
4796
|
-
* configuration, and a hook that configures no requirement for the entity the portal
|
|
4797
|
-
* links does not wait at all - it keeps polling entity search exactly as before.
|
|
4798
|
-
*
|
|
4799
|
-
* A selector may only name an attribute that is literally a member of that entity
|
|
4800
|
-
* target's configured `unique_ids` in the inbound use case, because the toolkit reports
|
|
4801
|
-
* exactly those and nothing else. A selector on any other attribute can never match. A
|
|
4802
|
-
* toolkit that validates selectors rejects such a wait (400) with the slug, the key and
|
|
4803
|
-
* the keys it accepts; the portal logs that at error level with the hook it came from
|
|
4804
|
-
* and polls entity search for the request, so the customer is unaffected and never told.
|
|
4805
|
-
*
|
|
4806
|
-
* The slug the portal resolves its link target from is fixed by the hook, and a
|
|
4807
|
-
* requirement for it must be configured for the wait to happen at all:
|
|
4808
|
-
* `registrationIdentifiersCheck` resolves the contact, every `contractIdentification`
|
|
4809
|
-
* assignment mode resolves the contract (in the contact modes the linked contact is the
|
|
4810
|
-
* delivered contract's `customer`). Every other configured slug is evidence that the push
|
|
4811
|
-
* carried what it promised, and is never linked.
|
|
4812
|
-
*
|
|
4813
|
-
* Ignored unless `wait_for_toolkit` is true.
|
|
4814
|
-
*
|
|
4815
|
-
* Worked examples, verified against the live integration configuration. Each block is the
|
|
4816
|
-
* `wait_for_entities` of one hook selection, and each names the slug that hook links.
|
|
4817
|
-
*
|
|
4818
|
-
* Ratingen / Wilken add-contract hook (`contractIdentification`, `contact_to_portal_user`).
|
|
4819
|
-
* No value the user types is a unique id anywhere in the org - every one is a Wilken
|
|
4820
|
-
* surrogate `external_id` - so the contact cannot be selected by attribute at all. Wait on
|
|
4821
|
-
* the contract and link its `customer`; the identity-keyed contact is evidence that the
|
|
4822
|
-
* business partner landed, and is never linked.
|
|
4823
|
-
*
|
|
4824
|
-
* ```yaml
|
|
4825
|
-
* contract: {}
|
|
4826
|
-
* contact:
|
|
4827
|
-
* key: external_id # the PROFILE contact's unique id is external_id
|
|
4828
|
-
* from_caller_contact: external_id
|
|
4829
|
-
* ```
|
|
4830
|
-
*
|
|
4831
|
-
* WEMAG registration hook (`registrationIdentifiersCheck`). The contact's unique ids are
|
|
4832
|
-
* `customer_pin` and `reenumber`; `meter.external_id` and `meter.meter_number` are both
|
|
4833
|
-
* the `ZNR` the user types.
|
|
4834
|
-
*
|
|
4835
|
-
* ```yaml
|
|
4836
|
-
* contact:
|
|
4837
|
-
* key: reenumber
|
|
4838
|
-
* from_identifier: contact.complete_customer_number
|
|
4839
|
-
* split_on: "-" # "0002-<customer_pin>-<reenumber>"
|
|
4840
|
-
* part: 2
|
|
4841
|
-
* meter:
|
|
4842
|
-
* key: external_id
|
|
4843
|
-
* from_identifier: meter.meter_number
|
|
4844
|
-
* ```
|
|
4845
|
-
*
|
|
4846
|
-
* WEMAG add-contract hook (`contractIdentification`, `contact_to_portal_user`). The
|
|
4847
|
-
* contract's unique ids are `billing_account_number` (the `reenumber`, the same third
|
|
4848
|
-
* part of `complete_customer_number`) and `customer_number` (the PIN). Wait on the
|
|
4849
|
-
* contract of the typed Rechnungseinheit and link its `customer`.
|
|
4850
|
-
*
|
|
4851
|
-
* ```yaml
|
|
4852
|
-
* contract:
|
|
4853
|
-
* key: billing_account_number
|
|
4854
|
-
* from_identifier: contact.complete_customer_number
|
|
4855
|
-
* split_on: "-" # "0002-<customer_pin>-<reenumber>"
|
|
4856
|
-
* part: 2
|
|
4857
|
-
* meter:
|
|
4858
|
-
* key: external_id
|
|
4859
|
-
* from_identifier: meter.meter_number
|
|
4860
|
-
* ```
|
|
4861
|
-
*
|
|
4862
|
-
* Never `complete_customer_number` or `customer_number` on a WEMAG contact - neither is a
|
|
4863
|
-
* unique id there - and never `customer_pin` alone on a contact or `customer_number` alone
|
|
4864
|
-
* on a contract, both of which are the PIN and ambiguous, because one person has one
|
|
4865
|
-
* contact and one contract per Rechnungseinheit. Never a key-less `contract` either: WEMAG's
|
|
4866
|
-
* `EKM Anlagedaten` writes contracts of its own, keyed on `contract_number`.
|
|
4867
|
-
*
|
|
4868
|
-
* example:
|
|
4869
|
-
* {
|
|
4870
|
-
* "contract": {},
|
|
4871
|
-
* "contact": {
|
|
4872
|
-
* "key": "external_id",
|
|
4873
|
-
* "from_caller_contact": "external_id"
|
|
4874
|
-
* }
|
|
4875
|
-
* }
|
|
4876
|
-
*/
|
|
4877
|
-
wait_for_entities?: {
|
|
4878
|
-
[name: string]: /**
|
|
4879
|
-
* One requirement of a hook's correlation wait, for the entity slug it is configured under.
|
|
4880
|
-
*
|
|
4881
|
-
* Without `key` the requirement is satisfied by any entity of that slug. That is safe for
|
|
4882
|
-
* evidence, and for a linked slug only where the inbound use case writes exactly one entity
|
|
4883
|
-
* of it per push - Wilken's `BusinessPartnerChanged` always writes two contacts, and WEMAG's
|
|
4884
|
-
* `DocumentChange` / `D3Metadata` write contacts under the same unique-id keys a registration
|
|
4885
|
-
* push uses - so a second match answers 409 rather than linking a guess.
|
|
4886
|
-
*
|
|
4887
|
-
* With `key`, the value comes from exactly one declared source, `from_identifier` or
|
|
4888
|
-
* `from_caller_contact`. A rule whose source has no value produces no wait at all, so the
|
|
4889
|
-
* hook keeps polling rather than waiting on a requirement that cannot be met.
|
|
4890
|
-
*
|
|
4891
|
-
*/
|
|
4892
|
-
WaitForEntityRule;
|
|
4893
|
-
};
|
|
4894
|
-
/**
|
|
4895
|
-
* Inbound use case slugs the portal additionally waits for. A requirement is met once at
|
|
4896
|
-
* least one event of that use case slug has finished processing, whether or not it
|
|
4897
|
-
* produced an entity, so it covers pushes whose entity set varies and pushes whose
|
|
4898
|
-
* outcome is a file or a relation rather than an entity.
|
|
4899
|
-
*
|
|
4900
|
-
* Entity requirements stay primary - the portal links by entity id, so it always waits
|
|
4901
|
-
* for the entity it links. Use case slugs are an additional bar: when both are
|
|
4902
|
-
* configured, both must be met. Empty by default. Ignored unless `wait_for_toolkit` is
|
|
4903
|
-
* true.
|
|
4904
|
-
*
|
|
4905
|
-
* example:
|
|
4906
|
-
* [
|
|
4907
|
-
* "wilken_contract_changed"
|
|
4908
|
-
* ]
|
|
4909
|
-
*/
|
|
4910
|
-
wait_for_use_cases?: string[];
|
|
4911
4707
|
} | null;
|
|
4912
4708
|
/**
|
|
4913
4709
|
* Hook that returns runtime metadata describing how a visualization should be rendered for a given portal context. Invoked by the portal before fetching data, with the same context the data hook receives.
|
|
@@ -5318,6 +5114,23 @@ declare namespace Components {
|
|
|
5318
5114
|
*/
|
|
5319
5115
|
effect?: "allow" | "deny";
|
|
5320
5116
|
}
|
|
5117
|
+
/**
|
|
5118
|
+
* A blueprint-managed page or block a write tried to change; the stored version was kept.
|
|
5119
|
+
*/
|
|
5120
|
+
export interface HeldBackNode {
|
|
5121
|
+
/**
|
|
5122
|
+
* example:
|
|
5123
|
+
* 5da0a718-c822-403d-9f5d-20d4584e0528
|
|
5124
|
+
*/
|
|
5125
|
+
page_id: string;
|
|
5126
|
+
/**
|
|
5127
|
+
* Set when a single block (not the whole page) was held back
|
|
5128
|
+
* example:
|
|
5129
|
+
* c495fef9-eeca-4019-a989-8390dcd9825b
|
|
5130
|
+
*/
|
|
5131
|
+
block_id?: string;
|
|
5132
|
+
reason: "BLUEPRINT_MANAGED";
|
|
5133
|
+
}
|
|
5321
5134
|
export interface IdentifierAttribute {
|
|
5322
5135
|
/**
|
|
5323
5136
|
* Label attribute
|
|
@@ -5490,6 +5303,16 @@ declare namespace Components {
|
|
|
5490
5303
|
token: string;
|
|
5491
5304
|
at?: string;
|
|
5492
5305
|
};
|
|
5306
|
+
/**
|
|
5307
|
+
* Tells journey-api which route to link; omitted for a portal without an id
|
|
5308
|
+
*/
|
|
5309
|
+
link_hint?: {
|
|
5310
|
+
route: "portal-settings";
|
|
5311
|
+
params: {
|
|
5312
|
+
portal_id: string;
|
|
5313
|
+
settings?: "journey-actions";
|
|
5314
|
+
};
|
|
5315
|
+
};
|
|
5493
5316
|
}[];
|
|
5494
5317
|
}
|
|
5495
5318
|
export interface JuiceSettings {
|
|
@@ -5531,6 +5354,47 @@ declare namespace Components {
|
|
|
5531
5354
|
* Design of the portal, used to preload it from the served document
|
|
5532
5355
|
*/
|
|
5533
5356
|
design_id?: string;
|
|
5357
|
+
/**
|
|
5358
|
+
* Portal design background and accent for the served document. `null` when the portal has no design or it could not be read.
|
|
5359
|
+
*
|
|
5360
|
+
*/
|
|
5361
|
+
design?: {
|
|
5362
|
+
/**
|
|
5363
|
+
* Spark background as hex colours; `null` when the design sets neither
|
|
5364
|
+
*/
|
|
5365
|
+
background: {
|
|
5366
|
+
/**
|
|
5367
|
+
* example:
|
|
5368
|
+
* #f5f5f5
|
|
5369
|
+
*/
|
|
5370
|
+
light: string | null; // ^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$
|
|
5371
|
+
/**
|
|
5372
|
+
* example:
|
|
5373
|
+
* #101010
|
|
5374
|
+
*/
|
|
5375
|
+
dark: string | null; // ^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$
|
|
5376
|
+
} | null;
|
|
5377
|
+
/**
|
|
5378
|
+
* Spark accent as hex colours, falling back to the classic palette primary; dark falls back to light. `null` when the design sets neither
|
|
5379
|
+
*
|
|
5380
|
+
*/
|
|
5381
|
+
accent: {
|
|
5382
|
+
/**
|
|
5383
|
+
* example:
|
|
5384
|
+
* #005eb4
|
|
5385
|
+
*/
|
|
5386
|
+
light: string | null; // ^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$
|
|
5387
|
+
/**
|
|
5388
|
+
* example:
|
|
5389
|
+
* #4a9eff
|
|
5390
|
+
*/
|
|
5391
|
+
dark: string | null; // ^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$
|
|
5392
|
+
} | null;
|
|
5393
|
+
/**
|
|
5394
|
+
* When the design was last saved
|
|
5395
|
+
*/
|
|
5396
|
+
last_modified_at: string | null;
|
|
5397
|
+
} | null;
|
|
5534
5398
|
}
|
|
5535
5399
|
/**
|
|
5536
5400
|
* The meter entity
|
|
@@ -5695,6 +5559,27 @@ declare namespace Components {
|
|
|
5695
5559
|
[name: string]: string;
|
|
5696
5560
|
};
|
|
5697
5561
|
}
|
|
5562
|
+
/**
|
|
5563
|
+
* Display details of the counter the readings belong to. Only returned when `include_counter` is true and the counter could be resolved.
|
|
5564
|
+
*/
|
|
5565
|
+
export interface MeterReadingCounterDetails {
|
|
5566
|
+
/**
|
|
5567
|
+
* example:
|
|
5568
|
+
* kwh
|
|
5569
|
+
*/
|
|
5570
|
+
unit?: string | null;
|
|
5571
|
+
/**
|
|
5572
|
+
* example:
|
|
5573
|
+
* 1-1:1.8.1
|
|
5574
|
+
*/
|
|
5575
|
+
obis_number?: string | null;
|
|
5576
|
+
/**
|
|
5577
|
+
* example:
|
|
5578
|
+
* feed-in
|
|
5579
|
+
*/
|
|
5580
|
+
direction?: string | null;
|
|
5581
|
+
tariff_type?: string | null;
|
|
5582
|
+
}
|
|
5698
5583
|
export interface MeterReadingPhoto {
|
|
5699
5584
|
/**
|
|
5700
5585
|
* example:
|
|
@@ -5962,11 +5847,11 @@ declare namespace Components {
|
|
|
5962
5847
|
}
|
|
5963
5848
|
export interface NotificationTriggerConfig {
|
|
5964
5849
|
/**
|
|
5965
|
-
* The 360 event that fires this notification trigger.
|
|
5850
|
+
* The 360 event that fires this notification trigger. `entity_added` is the unified trigger written by the Portal Builder: it fires for both the entity-created and the entity-assigned event of its `entity_schema`. `entity_created` / `entity_assigned` are the legacy per-event triggers and keep working; when a portal has both a legacy row and an `entity_added` row for the same schema, the legacy row wins for its event.
|
|
5966
5851
|
*/
|
|
5967
|
-
trigger_type: "entity_created" | "entity_assigned" | "workflow_step_overdue";
|
|
5852
|
+
trigger_type: "entity_added" | "entity_created" | "entity_assigned" | "workflow_step_overdue";
|
|
5968
5853
|
/**
|
|
5969
|
-
* For `entity_created` / `entity_assigned` triggers, the entity schema slug (e.g. `opportunity`, `order`) whose creation or assignment fires this trigger. Ignored for other trigger types.
|
|
5854
|
+
* For `entity_added` / `entity_created` / `entity_assigned` triggers, the entity schema slug (e.g. `opportunity`, `order`) whose creation or assignment fires this trigger. Ignored for other trigger types.
|
|
5970
5855
|
* example:
|
|
5971
5856
|
* opportunity
|
|
5972
5857
|
*/
|
|
@@ -5979,6 +5864,10 @@ declare namespace Components {
|
|
|
5979
5864
|
* Entity id of the notification_template to render for this trigger.
|
|
5980
5865
|
*/
|
|
5981
5866
|
template_id?: string; // uuid
|
|
5867
|
+
/**
|
|
5868
|
+
* Targeting segment ids (targets) that narrow this trigger's recipients: the notification is only created for portal users whose contact matches at least one of the targets. Absent or empty means no narrowing — every portal user linked to the entity's contacts is notified.
|
|
5869
|
+
*/
|
|
5870
|
+
target_ids?: string[];
|
|
5982
5871
|
}
|
|
5983
5872
|
/**
|
|
5984
5873
|
* OIDC provider configuration. Values are resolved at SSO invocation time
|
|
@@ -6403,6 +6292,14 @@ declare namespace Components {
|
|
|
6403
6292
|
* Whether submitting the journey from the portal should auto-complete the task. When false, an internal user completes it.
|
|
6404
6293
|
*/
|
|
6405
6294
|
complete_task_automatically?: boolean;
|
|
6295
|
+
/**
|
|
6296
|
+
* Row title rendered from the portal's `engagement_center_task_templates.title`. Absent when the portal has no title template or it rendered blank for this task; the client then shows `step_name`.
|
|
6297
|
+
*/
|
|
6298
|
+
title?: string;
|
|
6299
|
+
/**
|
|
6300
|
+
* Row context line rendered from the portal's `engagement_center_task_templates.subtitle`. Absent when the portal has no subtitle template or it rendered blank for this task; the client then shows the workflow name and entity title.
|
|
6301
|
+
*/
|
|
6302
|
+
subtitle?: string;
|
|
6406
6303
|
}
|
|
6407
6304
|
export interface Page {
|
|
6408
6305
|
[name: string]: any;
|
|
@@ -6554,6 +6451,21 @@ declare namespace Components {
|
|
|
6554
6451
|
* ]
|
|
6555
6452
|
*/
|
|
6556
6453
|
past_routes?: string[];
|
|
6454
|
+
/**
|
|
6455
|
+
* Blueprint instance ids managing this page. Non-empty means the page is blueprint-managed: its page-level fields and its blueprint-managed blocks are read-only for users (single-target writes answer 409 `BLUEPRINT_MANAGED`, bulk saves keep the stored version), while detached and customer-added blocks on it stay editable and the page keeps receiving blueprint updates. Server-managed: ignored (stripped) on every write from a user.
|
|
6456
|
+
*
|
|
6457
|
+
*/
|
|
6458
|
+
_manifest?: string[];
|
|
6459
|
+
/**
|
|
6460
|
+
* Stable id of this page in the blueprint source. Set once: a blueprint install or update (`page_upsert_mode=slug`, portal create, or a revision with `revision_source` `blueprint_sync`) may give a page the lineage it does not have yet, unless another page of the portal holds it. After that it never changes; every other write keeps the stored value. Locks nothing on its own.
|
|
6461
|
+
*
|
|
6462
|
+
*/
|
|
6463
|
+
_lineage_id?: string;
|
|
6464
|
+
/**
|
|
6465
|
+
* Lineage ids of blocks on this page that were detached from their blueprint; a blueprint sync leaves them alone. Server-managed.
|
|
6466
|
+
*
|
|
6467
|
+
*/
|
|
6468
|
+
detached_lineage_ids?: string[];
|
|
6557
6469
|
}
|
|
6558
6470
|
export interface PageRequest {
|
|
6559
6471
|
[name: string]: any;
|
|
@@ -6786,6 +6698,16 @@ declare namespace Components {
|
|
|
6786
6698
|
*/
|
|
6787
6699
|
enabled?: boolean;
|
|
6788
6700
|
};
|
|
6701
|
+
/**
|
|
6702
|
+
* Opt-in, set by the configuring user. When enabled, a second factor is enforced after the password and portal users can add passkeys (fingerprint, face or device PIN) as one variant of it, next to the email code of advanced_mfa. Users with a passkey use it by default; with advanced_mfa off, the passkey is the only second factor once a user has added one. On passwordless portals a passkey can replace the email code. Passkeys are bound to the domain they were added on. Default off; turning it off again restores the previous behaviour and keeps registered passkeys.
|
|
6703
|
+
*
|
|
6704
|
+
*/
|
|
6705
|
+
passkeys?: {
|
|
6706
|
+
/**
|
|
6707
|
+
* Enforce a second factor and allow passkeys as one variant of it
|
|
6708
|
+
*/
|
|
6709
|
+
enabled?: boolean;
|
|
6710
|
+
};
|
|
6789
6711
|
entry_point?: "PASSWORD" | "SSO";
|
|
6790
6712
|
preferred_sso_providers?: /**
|
|
6791
6713
|
* URL-friendly slug to use as organization-unique identifier for Provider
|
|
@@ -6813,6 +6735,12 @@ declare namespace Components {
|
|
|
6813
6735
|
* 6bsd0jkgoie74k2i8mrhc1vest
|
|
6814
6736
|
*/
|
|
6815
6737
|
cognito_user_pool_client_id?: string;
|
|
6738
|
+
/**
|
|
6739
|
+
* Cognito user pool client ID used by the native portal apps (longer refresh token validity)
|
|
6740
|
+
* example:
|
|
6741
|
+
* 3k9fj2l1m0n8b7v6c5x4z3a2s1
|
|
6742
|
+
*/
|
|
6743
|
+
cognito_mobile_client_id?: string;
|
|
6816
6744
|
/**
|
|
6817
6745
|
* Cognito user pool ARN
|
|
6818
6746
|
* example:
|
|
@@ -7005,6 +6933,13 @@ declare namespace Components {
|
|
|
7005
6933
|
* ]
|
|
7006
6934
|
*/
|
|
7007
6935
|
contract_identifiers?: ContractIdentifier[];
|
|
6936
|
+
/**
|
|
6937
|
+
* What the built-in self-assignment (without a contractIdentification hook) assigns once the `contract_identifiers` match a Contract:
|
|
6938
|
+
* - `contracts`: the user's Contact is added as a customer of the Contract.
|
|
6939
|
+
* - `customer_to_portal_user`: the Contract's customers (Contacts and Accounts) are added to the Portal User's `represents`. The Portal User sees all their data, including Contracts, transitively. Mirrors the `contact_to_portal_user` assignment mode of the contractIdentification hook.
|
|
6940
|
+
*
|
|
6941
|
+
*/
|
|
6942
|
+
self_assignment_mode?: "contracts" | "customer_to_portal_user";
|
|
7008
6943
|
/**
|
|
7009
6944
|
* Configuration for contract selector in the portal
|
|
7010
6945
|
*/
|
|
@@ -7188,7 +7123,7 @@ declare namespace Components {
|
|
|
7188
7123
|
*/
|
|
7189
7124
|
is_dummy?: boolean;
|
|
7190
7125
|
/**
|
|
7191
|
-
*
|
|
7126
|
+
* Always true. Legacy v2 storage was migrated; field kept for compatibility and will be removed.
|
|
7192
7127
|
*/
|
|
7193
7128
|
is_v3_item?: boolean;
|
|
7194
7129
|
/**
|
|
@@ -7227,6 +7162,7 @@ declare namespace Components {
|
|
|
7227
7162
|
* Master toggle for the portal's engagement center (in-app notifications including the notification triggers above). Off when absent — portal users only see the engagement center and receive trigger notifications after an admin enables it.
|
|
7228
7163
|
*/
|
|
7229
7164
|
engagement_center_enabled?: boolean;
|
|
7165
|
+
engagement_center_task_templates?: /* Handlebars templates rendering each outstanding task (to-do) row in the portal's engagement center. Resolved server-side per task against the task's entity (same variable syntax as page block templates, e.g. `{{order.order_number}}`, custom and environment variables) plus `task.*` (the workflow step, e.g. `{{task.name}}`), `workflow.*` (the execution, e.g. `{{workflow.name}}`) and `entity.*` (the task's entity regardless of its schema, e.g. `{{entity._title}}`). A template that is absent or blank keeps the portal's default rendering for that line. Admin/builder-only — never exposed via the public portal config. */ EngagementCenterTaskTemplates;
|
|
7230
7166
|
/**
|
|
7231
7167
|
* ID of the organization
|
|
7232
7168
|
* example:
|
|
@@ -7240,14 +7176,34 @@ declare namespace Components {
|
|
|
7240
7176
|
*/
|
|
7241
7177
|
organization_id?: string;
|
|
7242
7178
|
/**
|
|
7243
|
-
*
|
|
7179
|
+
* Blueprint instance ids managing this portal. Server-managed: ignored (stripped) on every write from a user.
|
|
7180
|
+
*
|
|
7244
7181
|
*/
|
|
7245
|
-
|
|
7246
|
-
|
|
7247
|
-
|
|
7248
|
-
|
|
7249
|
-
|
|
7250
|
-
|
|
7182
|
+
_manifest?: string[];
|
|
7183
|
+
/**
|
|
7184
|
+
* Id of this portal in the blueprint source. Set once: a blueprint install or update (portal create, `page_upsert_mode=slug`, or a revision with `revision_source` `blueprint_sync`) may give a portal the lineage it does not have yet, unless another portal of the organization holds it. A portal created as a copy next to the organization's live portal of its origin (downgraded to `ADDITIONAL_PORTAL`) never takes it. After that it never changes; every other write keeps the stored value. Locks nothing on its own.
|
|
7185
|
+
*
|
|
7186
|
+
*/
|
|
7187
|
+
_lineage_id?: string;
|
|
7188
|
+
/**
|
|
7189
|
+
* Lineage ids of pages detached from their blueprint; a blueprint sync leaves them alone. Server-managed.
|
|
7190
|
+
*
|
|
7191
|
+
*/
|
|
7192
|
+
detached_lineage_ids?: string[];
|
|
7193
|
+
/**
|
|
7194
|
+
* Only present on write responses: blueprint-managed pages/blocks the request tried to change. Their stored version was kept and the rest of the save succeeded.
|
|
7195
|
+
*
|
|
7196
|
+
*/
|
|
7197
|
+
held_back?: /* A blueprint-managed page or block a write tried to change; the stored version was kept. */ HeldBackNode[];
|
|
7198
|
+
/**
|
|
7199
|
+
* Organization settings
|
|
7200
|
+
*/
|
|
7201
|
+
org_settings?: {
|
|
7202
|
+
/**
|
|
7203
|
+
* Canary feature flag
|
|
7204
|
+
*/
|
|
7205
|
+
canary?: {
|
|
7206
|
+
/**
|
|
7251
7207
|
* Enable/Disable the canary feature
|
|
7252
7208
|
*/
|
|
7253
7209
|
enabled?: boolean;
|
|
@@ -7273,6 +7229,19 @@ declare namespace Components {
|
|
|
7273
7229
|
*/
|
|
7274
7230
|
grants?: Grant[];
|
|
7275
7231
|
identity_providers?: ProviderPublicConfig[];
|
|
7232
|
+
/**
|
|
7233
|
+
* Present only when the request carried a valid `x-portal-preview-token`: the config is this revision's, not the live one.
|
|
7234
|
+
*
|
|
7235
|
+
*/
|
|
7236
|
+
preview_revision?: {
|
|
7237
|
+
/**
|
|
7238
|
+
* example:
|
|
7239
|
+
* 2026-08-25T14:03:11.482Z-a7f3c1d9
|
|
7240
|
+
*/
|
|
7241
|
+
revision_id: string;
|
|
7242
|
+
name?: string;
|
|
7243
|
+
created_at: string; // date-time
|
|
7244
|
+
};
|
|
7276
7245
|
}
|
|
7277
7246
|
/**
|
|
7278
7247
|
* Lightweight view of a portal config for lists and pickers. Carries the identifying,
|
|
@@ -7536,6 +7505,16 @@ declare namespace Components {
|
|
|
7536
7505
|
*/
|
|
7537
7506
|
enabled?: boolean;
|
|
7538
7507
|
};
|
|
7508
|
+
/**
|
|
7509
|
+
* Opt-in, set by the configuring user. When enabled, a second factor is enforced after the password and portal users can add passkeys (fingerprint, face or device PIN) as one variant of it, next to the email code of advanced_mfa. Users with a passkey use it by default; with advanced_mfa off, the passkey is the only second factor once a user has added one. On passwordless portals a passkey can replace the email code. Passkeys are bound to the domain they were added on. Default off; turning it off again restores the previous behaviour and keeps registered passkeys.
|
|
7510
|
+
*
|
|
7511
|
+
*/
|
|
7512
|
+
passkeys?: {
|
|
7513
|
+
/**
|
|
7514
|
+
* Enforce a second factor and allow passkeys as one variant of it
|
|
7515
|
+
*/
|
|
7516
|
+
enabled?: boolean;
|
|
7517
|
+
};
|
|
7539
7518
|
entry_point?: "PASSWORD" | "SSO";
|
|
7540
7519
|
preferred_sso_providers?: /**
|
|
7541
7520
|
* URL-friendly slug to use as organization-unique identifier for Provider
|
|
@@ -7563,6 +7542,12 @@ declare namespace Components {
|
|
|
7563
7542
|
* 6bsd0jkgoie74k2i8mrhc1vest
|
|
7564
7543
|
*/
|
|
7565
7544
|
cognito_user_pool_client_id?: string;
|
|
7545
|
+
/**
|
|
7546
|
+
* Cognito user pool client ID used by the native portal apps (longer refresh token validity)
|
|
7547
|
+
* example:
|
|
7548
|
+
* 3k9fj2l1m0n8b7v6c5x4z3a2s1
|
|
7549
|
+
*/
|
|
7550
|
+
cognito_mobile_client_id?: string;
|
|
7566
7551
|
/**
|
|
7567
7552
|
* Cognito user pool ARN
|
|
7568
7553
|
* example:
|
|
@@ -7755,6 +7740,13 @@ declare namespace Components {
|
|
|
7755
7740
|
* ]
|
|
7756
7741
|
*/
|
|
7757
7742
|
contract_identifiers?: ContractIdentifier[];
|
|
7743
|
+
/**
|
|
7744
|
+
* What the built-in self-assignment (without a contractIdentification hook) assigns once the `contract_identifiers` match a Contract:
|
|
7745
|
+
* - `contracts`: the user's Contact is added as a customer of the Contract.
|
|
7746
|
+
* - `customer_to_portal_user`: the Contract's customers (Contacts and Accounts) are added to the Portal User's `represents`. The Portal User sees all their data, including Contracts, transitively. Mirrors the `contact_to_portal_user` assignment mode of the contractIdentification hook.
|
|
7747
|
+
*
|
|
7748
|
+
*/
|
|
7749
|
+
self_assignment_mode?: "contracts" | "customer_to_portal_user";
|
|
7758
7750
|
/**
|
|
7759
7751
|
* Configuration for contract selector in the portal
|
|
7760
7752
|
*/
|
|
@@ -7938,7 +7930,7 @@ declare namespace Components {
|
|
|
7938
7930
|
*/
|
|
7939
7931
|
is_dummy?: boolean;
|
|
7940
7932
|
/**
|
|
7941
|
-
*
|
|
7933
|
+
* Always true. Legacy v2 storage was migrated; field kept for compatibility and will be removed.
|
|
7942
7934
|
*/
|
|
7943
7935
|
is_v3_item?: boolean;
|
|
7944
7936
|
/**
|
|
@@ -8007,6 +7999,71 @@ declare namespace Components {
|
|
|
8007
7999
|
grants?: Grant[];
|
|
8008
8000
|
pages?: Page[];
|
|
8009
8001
|
}
|
|
8002
|
+
/**
|
|
8003
|
+
* Contact attributes a portal user can change. Other attributes are ignored.
|
|
8004
|
+
* Value types follow the organization's contact schema.
|
|
8005
|
+
*
|
|
8006
|
+
*/
|
|
8007
|
+
export interface PortalContactUpdate {
|
|
8008
|
+
[name: string]: any;
|
|
8009
|
+
/**
|
|
8010
|
+
* example:
|
|
8011
|
+
* de
|
|
8012
|
+
*/
|
|
8013
|
+
language?: string;
|
|
8014
|
+
first_name?: any;
|
|
8015
|
+
last_name?: any;
|
|
8016
|
+
salutation?: any;
|
|
8017
|
+
phone?: any;
|
|
8018
|
+
phone_number?: any;
|
|
8019
|
+
mobile?: any;
|
|
8020
|
+
street?: any;
|
|
8021
|
+
street_number?: any;
|
|
8022
|
+
postal_code?: any;
|
|
8023
|
+
city?: any;
|
|
8024
|
+
country?: any;
|
|
8025
|
+
preferred_language?: any;
|
|
8026
|
+
communication_preferences?: any;
|
|
8027
|
+
}
|
|
8028
|
+
/**
|
|
8029
|
+
* Contract attributes a portal user can change. Other attributes are ignored.
|
|
8030
|
+
*/
|
|
8031
|
+
export interface PortalContractUpdate {
|
|
8032
|
+
[name: string]: any;
|
|
8033
|
+
/**
|
|
8034
|
+
* Installment amount in cents
|
|
8035
|
+
* example:
|
|
8036
|
+
* 8500
|
|
8037
|
+
*/
|
|
8038
|
+
installment_amount?: number;
|
|
8039
|
+
/**
|
|
8040
|
+
* Installment amount as a decimal string
|
|
8041
|
+
* example:
|
|
8042
|
+
* 85.00
|
|
8043
|
+
*/
|
|
8044
|
+
installment_amount_decimal?: string;
|
|
8045
|
+
}
|
|
8046
|
+
/**
|
|
8047
|
+
* Limits portal chat to portal users matching targets, with the same rules as page and block visibility. Without targets every signed-in portal user can use the chat.
|
|
8048
|
+
*/
|
|
8049
|
+
export interface PortalCopilotVisibility {
|
|
8050
|
+
/**
|
|
8051
|
+
* Target IDs that must match for the portal user to use the chat
|
|
8052
|
+
*/
|
|
8053
|
+
visible_for_targets?: string[];
|
|
8054
|
+
/**
|
|
8055
|
+
* Operator for visible_for_targets matching
|
|
8056
|
+
*/
|
|
8057
|
+
visible_for_operator?: "and" | "or";
|
|
8058
|
+
/**
|
|
8059
|
+
* Target IDs that if matched deny the portal user the chat
|
|
8060
|
+
*/
|
|
8061
|
+
hidden_for_targets?: string[];
|
|
8062
|
+
/**
|
|
8063
|
+
* Operator for hidden_for_targets matching
|
|
8064
|
+
*/
|
|
8065
|
+
hidden_for_operator?: "and" | "or";
|
|
8066
|
+
}
|
|
8010
8067
|
/**
|
|
8011
8068
|
* One column of the portal data export CSV.
|
|
8012
8069
|
*/
|
|
@@ -8122,6 +8179,7 @@ declare namespace Components {
|
|
|
8122
8179
|
* ID of the Agent Builder portal agent this portal's copilot chat runs, set by Agent Builder. When unset, or when the agent no longer exists in the portal's organization, the chat runs the default portal copilot.
|
|
8123
8180
|
*/
|
|
8124
8181
|
portal_copilot_agent_id?: string;
|
|
8182
|
+
portal_copilot_visibility?: /* Limits portal chat to portal users matching targets, with the same rules as page and block visibility. Without targets every signed-in portal user can use the chat. */ PortalCopilotVisibility;
|
|
8125
8183
|
}
|
|
8126
8184
|
/**
|
|
8127
8185
|
* ID of the portal
|
|
@@ -8344,6 +8402,23 @@ declare namespace Components {
|
|
|
8344
8402
|
*/
|
|
8345
8403
|
next_cursor?: string;
|
|
8346
8404
|
}
|
|
8405
|
+
export interface PortalRevisionPreview {
|
|
8406
|
+
/**
|
|
8407
|
+
* Short-lived token that makes portal reads return this revision. Send it in the `x-portal-preview-token` header.
|
|
8408
|
+
*
|
|
8409
|
+
*/
|
|
8410
|
+
preview_token: string;
|
|
8411
|
+
/**
|
|
8412
|
+
* When the preview token stops being honoured.
|
|
8413
|
+
*/
|
|
8414
|
+
expires_at: string; // date-time
|
|
8415
|
+
/**
|
|
8416
|
+
* Link that opens the revision in the portal on its live domain.
|
|
8417
|
+
* example:
|
|
8418
|
+
* https://portal.example.com/?preview_token=eyJhbGciOiJIUzI1NiIs...
|
|
8419
|
+
*/
|
|
8420
|
+
url: string;
|
|
8421
|
+
}
|
|
8347
8422
|
export interface PortalRevisionRequest {
|
|
8348
8423
|
[name: string]: any;
|
|
8349
8424
|
/**
|
|
@@ -8504,6 +8579,16 @@ declare namespace Components {
|
|
|
8504
8579
|
*/
|
|
8505
8580
|
enabled?: boolean;
|
|
8506
8581
|
};
|
|
8582
|
+
/**
|
|
8583
|
+
* Opt-in, set by the configuring user. When enabled, a second factor is enforced after the password and portal users can add passkeys (fingerprint, face or device PIN) as one variant of it, next to the email code of advanced_mfa. Users with a passkey use it by default; with advanced_mfa off, the passkey is the only second factor once a user has added one. On passwordless portals a passkey can replace the email code. Passkeys are bound to the domain they were added on. Default off; turning it off again restores the previous behaviour and keeps registered passkeys.
|
|
8584
|
+
*
|
|
8585
|
+
*/
|
|
8586
|
+
passkeys?: {
|
|
8587
|
+
/**
|
|
8588
|
+
* Enforce a second factor and allow passkeys as one variant of it
|
|
8589
|
+
*/
|
|
8590
|
+
enabled?: boolean;
|
|
8591
|
+
};
|
|
8507
8592
|
entry_point?: "PASSWORD" | "SSO";
|
|
8508
8593
|
preferred_sso_providers?: /**
|
|
8509
8594
|
* URL-friendly slug to use as organization-unique identifier for Provider
|
|
@@ -8531,6 +8616,12 @@ declare namespace Components {
|
|
|
8531
8616
|
* 6bsd0jkgoie74k2i8mrhc1vest
|
|
8532
8617
|
*/
|
|
8533
8618
|
cognito_user_pool_client_id?: string;
|
|
8619
|
+
/**
|
|
8620
|
+
* Cognito user pool client ID used by the native portal apps (longer refresh token validity)
|
|
8621
|
+
* example:
|
|
8622
|
+
* 3k9fj2l1m0n8b7v6c5x4z3a2s1
|
|
8623
|
+
*/
|
|
8624
|
+
cognito_mobile_client_id?: string;
|
|
8534
8625
|
/**
|
|
8535
8626
|
* Cognito user pool ARN
|
|
8536
8627
|
* example:
|
|
@@ -8723,6 +8814,13 @@ declare namespace Components {
|
|
|
8723
8814
|
* ]
|
|
8724
8815
|
*/
|
|
8725
8816
|
contract_identifiers?: ContractIdentifier[];
|
|
8817
|
+
/**
|
|
8818
|
+
* What the built-in self-assignment (without a contractIdentification hook) assigns once the `contract_identifiers` match a Contract:
|
|
8819
|
+
* - `contracts`: the user's Contact is added as a customer of the Contract.
|
|
8820
|
+
* - `customer_to_portal_user`: the Contract's customers (Contacts and Accounts) are added to the Portal User's `represents`. The Portal User sees all their data, including Contracts, transitively. Mirrors the `contact_to_portal_user` assignment mode of the contractIdentification hook.
|
|
8821
|
+
*
|
|
8822
|
+
*/
|
|
8823
|
+
self_assignment_mode?: "contracts" | "customer_to_portal_user";
|
|
8726
8824
|
/**
|
|
8727
8825
|
* Configuration for contract selector in the portal
|
|
8728
8826
|
*/
|
|
@@ -8906,7 +9004,7 @@ declare namespace Components {
|
|
|
8906
9004
|
*/
|
|
8907
9005
|
is_dummy?: boolean;
|
|
8908
9006
|
/**
|
|
8909
|
-
*
|
|
9007
|
+
* Always true. Legacy v2 storage was migrated; field kept for compatibility and will be removed.
|
|
8910
9008
|
*/
|
|
8911
9009
|
is_v3_item?: boolean;
|
|
8912
9010
|
/**
|
|
@@ -9185,7 +9283,60 @@ declare namespace Components {
|
|
|
9185
9283
|
}[];
|
|
9186
9284
|
_schema: "portal_user";
|
|
9187
9285
|
}
|
|
9286
|
+
/**
|
|
9287
|
+
* Resolved notification preferences of a portal user. Notifications are opt-out: a channel that was never stored on the portal user resolves to enabled (true).
|
|
9288
|
+
*/
|
|
9289
|
+
export interface PortalUserNotificationPreferences {
|
|
9290
|
+
/**
|
|
9291
|
+
* Whether the portal user receives in-app notifications.
|
|
9292
|
+
* example:
|
|
9293
|
+
* true
|
|
9294
|
+
*/
|
|
9295
|
+
in_app: boolean;
|
|
9296
|
+
}
|
|
9297
|
+
export interface PortalUserPasskey {
|
|
9298
|
+
/**
|
|
9299
|
+
* WebAuthn credential ID (base64url)
|
|
9300
|
+
*/
|
|
9301
|
+
credential_id: string;
|
|
9302
|
+
name?: string;
|
|
9303
|
+
/**
|
|
9304
|
+
* Domain the passkey works on
|
|
9305
|
+
* example:
|
|
9306
|
+
* kundenportal.example.de
|
|
9307
|
+
*/
|
|
9308
|
+
rp_id: string;
|
|
9309
|
+
device_type?: "singleDevice" | "multiDevice";
|
|
9310
|
+
/**
|
|
9311
|
+
* Whether the passkey is synced, e.g. via iCloud Keychain or Google Password Manager
|
|
9312
|
+
*/
|
|
9313
|
+
backed_up?: boolean;
|
|
9314
|
+
created_at: string; // date-time
|
|
9315
|
+
last_used_at?: string; // date-time
|
|
9316
|
+
}
|
|
9188
9317
|
export type PortalUserRegistrationStatus = "Registration Pending" | "Confirmation Email Sent" | "Registered" | "Email Update In Progress";
|
|
9318
|
+
/**
|
|
9319
|
+
* A portal whose design_id is the design asked about.
|
|
9320
|
+
*/
|
|
9321
|
+
export interface PortalUsingDesign {
|
|
9322
|
+
portal_id: /**
|
|
9323
|
+
* ID of the portal
|
|
9324
|
+
* example:
|
|
9325
|
+
* 453ad7bf-86d5-46c8-8252-bcc868df5e3c
|
|
9326
|
+
*/
|
|
9327
|
+
PortalId;
|
|
9328
|
+
/**
|
|
9329
|
+
* example:
|
|
9330
|
+
* Kundenportal
|
|
9331
|
+
*/
|
|
9332
|
+
name?: string;
|
|
9333
|
+
origin?: /* Origin of the portal */ Origin;
|
|
9334
|
+
/**
|
|
9335
|
+
* example:
|
|
9336
|
+
* 9ba94f20-b872-11ed-b30a-b3e3bf2dc8ab
|
|
9337
|
+
*/
|
|
9338
|
+
design_id?: string;
|
|
9339
|
+
}
|
|
9189
9340
|
export type PortalWidget = EntityWidget | ContentWidget | ActionWidget | TeaserWidget | DocumentWidget | PaymentWidget | MeterReadingWidget | MeterChartWidget | CampaignWidget | ProductRecommendationsWidget;
|
|
9190
9341
|
/**
|
|
9191
9342
|
* A portal-facing projection of a workflow execution (V1 or V2), with the execution
|
|
@@ -9345,9 +9496,19 @@ declare namespace Components {
|
|
|
9345
9496
|
* True when the task has been reached in the execution — all predecessor tasks on its
|
|
9346
9497
|
* path are completed/skipped — so the portal user can act on it (e.g. start its journey).
|
|
9347
9498
|
* Tasks that are only part of the projected future path are returned with is_active false.
|
|
9499
|
+
* The start date is not taken into account: an active task can still be upcoming (see start_date).
|
|
9348
9500
|
*
|
|
9349
9501
|
*/
|
|
9350
9502
|
is_active: boolean;
|
|
9503
|
+
/**
|
|
9504
|
+
* Instant before which nobody may work on the task. While it lies in the future, a task
|
|
9505
|
+
* that is not done yet is upcoming: the Workflows API refuses to complete it, so the
|
|
9506
|
+
* portal shows it as upcoming instead of offering its journey. Neither status nor
|
|
9507
|
+
* is_active reflects it; compare it with the current time. Absent when the task has no
|
|
9508
|
+
* start date or its relative start date has not been resolved yet.
|
|
9509
|
+
*
|
|
9510
|
+
*/
|
|
9511
|
+
start_date?: string; // date-time
|
|
9351
9512
|
ecp?: /* Portal-specific (ECP / installer) display config of a workflow task */ PortalTaskConfig;
|
|
9352
9513
|
installer?: /* Portal-specific (ECP / installer) display config of a workflow task */ PortalTaskConfig;
|
|
9353
9514
|
/**
|
|
@@ -9390,6 +9551,18 @@ declare namespace Components {
|
|
|
9390
9551
|
*/
|
|
9391
9552
|
updated_at?: string;
|
|
9392
9553
|
}
|
|
9554
|
+
/**
|
|
9555
|
+
* The revision a config response shows instead of the live portal config.
|
|
9556
|
+
*/
|
|
9557
|
+
export interface PreviewRevision {
|
|
9558
|
+
/**
|
|
9559
|
+
* example:
|
|
9560
|
+
* 2026-08-25T14:03:11.482Z-a7f3c1d9
|
|
9561
|
+
*/
|
|
9562
|
+
revision_id: string;
|
|
9563
|
+
name?: string;
|
|
9564
|
+
created_at: string; // date-time
|
|
9565
|
+
}
|
|
9393
9566
|
/**
|
|
9394
9567
|
* The product entity
|
|
9395
9568
|
*/
|
|
@@ -9544,6 +9717,21 @@ declare namespace Components {
|
|
|
9544
9717
|
* false
|
|
9545
9718
|
*/
|
|
9546
9719
|
expose_client_secret?: boolean;
|
|
9720
|
+
/**
|
|
9721
|
+
* Temporarily enables SSO debug mode for this provider. While the current time is
|
|
9722
|
+
* before this timestamp, failed SSO logins and token exchanges answer with a `debug`
|
|
9723
|
+
* object (`SSODebugInfo`) next to the error, so admins can see the real cause (e.g. the
|
|
9724
|
+
* IdP's `AADSTS…` error) on the portal login page.
|
|
9725
|
+
*
|
|
9726
|
+
* Capped at 24 hours from the time of the write (plus 5 minutes clock-skew tolerance);
|
|
9727
|
+
* a later value is rejected with 400. `null` or absent turns debug mode off, and an
|
|
9728
|
+
* expired value is simply inactive. Never exposed publicly — public reads only carry
|
|
9729
|
+
* the derived `debug_mode` flag.
|
|
9730
|
+
*
|
|
9731
|
+
* example:
|
|
9732
|
+
* 2026-10-30T12:00:00.000Z
|
|
9733
|
+
*/
|
|
9734
|
+
debug_mode_until?: string | null; // date-time
|
|
9547
9735
|
}
|
|
9548
9736
|
/**
|
|
9549
9737
|
* Human-readable display name for identity provider shown in login
|
|
@@ -9581,6 +9769,15 @@ declare namespace Components {
|
|
|
9581
9769
|
*
|
|
9582
9770
|
*/
|
|
9583
9771
|
MoblieOIDCConfig;
|
|
9772
|
+
/**
|
|
9773
|
+
* Derived from `ProviderConfig.debug_mode_until`: `true` only while SSO debug mode is
|
|
9774
|
+
* active for this provider. Clients may use it to show technical error details on
|
|
9775
|
+
* failed SSO logins. Absent or `false` when debug mode is off.
|
|
9776
|
+
*
|
|
9777
|
+
* example:
|
|
9778
|
+
* false
|
|
9779
|
+
*/
|
|
9780
|
+
debug_mode?: boolean;
|
|
9584
9781
|
}
|
|
9585
9782
|
/**
|
|
9586
9783
|
* Web-only public provider configuration served by `getPublicSSOProviderV3`.
|
|
@@ -9613,6 +9810,15 @@ declare namespace Components {
|
|
|
9613
9810
|
*
|
|
9614
9811
|
*/
|
|
9615
9812
|
OIDCProviderConfig;
|
|
9813
|
+
/**
|
|
9814
|
+
* Derived from `ProviderConfig.debug_mode_until`: `true` only while SSO debug mode is
|
|
9815
|
+
* active for this provider. Clients may use it to show technical error details on
|
|
9816
|
+
* failed SSO logins. Absent or `false` when debug mode is off.
|
|
9817
|
+
*
|
|
9818
|
+
* example:
|
|
9819
|
+
* false
|
|
9820
|
+
*/
|
|
9821
|
+
debug_mode?: boolean;
|
|
9616
9822
|
}
|
|
9617
9823
|
/**
|
|
9618
9824
|
* URL-friendly slug to use as organization-unique identifier for Provider
|
|
@@ -9802,12 +10008,17 @@ declare namespace Components {
|
|
|
9802
10008
|
* Stable, machine-readable codes for best-effort post-publish side effects that exhausted their retries. Publishing itself succeeded; these are not error messages and not meant for display as-is. Clients map each code to their own localized text.
|
|
9803
10009
|
* Known codes: `allowed_entities_change` (portal entity grants and detail pages did not sync), `dns_records_clear` (the previous domain's DNS records were not cleared). New codes may be added without a client update, so treat an unrecognized code as a generic "a follow-up step did not finish" case rather than an error.
|
|
9804
10010
|
*
|
|
10011
|
+
*/
|
|
10012
|
+
post_publish_warnings: string[];
|
|
10013
|
+
/**
|
|
10014
|
+
* Only present when non-empty: blueprint-managed live pages/blocks this publish could not replace because the publisher is not the owning blueprint. Their live version stays as it is; the rest of the revision was published. Detach a node to make it publishable.
|
|
10015
|
+
*
|
|
9805
10016
|
* example:
|
|
9806
10017
|
* [
|
|
9807
10018
|
* "allowed_entities_change"
|
|
9808
10019
|
* ]
|
|
9809
10020
|
*/
|
|
9810
|
-
|
|
10021
|
+
held_back?: /* A blueprint-managed page or block a write tried to change; the stored version was kept. */ HeldBackNode[];
|
|
9811
10022
|
}
|
|
9812
10023
|
export interface PublishRevisionRequest {
|
|
9813
10024
|
/**
|
|
@@ -10122,6 +10333,21 @@ declare namespace Components {
|
|
|
10122
10333
|
* ]
|
|
10123
10334
|
*/
|
|
10124
10335
|
past_routes?: string[];
|
|
10336
|
+
/**
|
|
10337
|
+
* Blueprint instance ids managing this page. Non-empty means the page is blueprint-managed: its page-level fields and its blueprint-managed blocks are read-only for users (single-target writes answer 409 `BLUEPRINT_MANAGED`, bulk saves keep the stored version), while detached and customer-added blocks on it stay editable and the page keeps receiving blueprint updates. Server-managed: ignored (stripped) on every write from a user.
|
|
10338
|
+
*
|
|
10339
|
+
*/
|
|
10340
|
+
_manifest?: string[];
|
|
10341
|
+
/**
|
|
10342
|
+
* Stable id of this page in the blueprint source. Set once: a blueprint install or update (`page_upsert_mode=slug`, portal create, or a revision with `revision_source` `blueprint_sync`) may give a page the lineage it does not have yet, unless another page of the portal holds it. After that it never changes; every other write keeps the stored value. Locks nothing on its own.
|
|
10343
|
+
*
|
|
10344
|
+
*/
|
|
10345
|
+
_lineage_id?: string;
|
|
10346
|
+
/**
|
|
10347
|
+
* Lineage ids of blocks on this page that were detached from their blueprint; a blueprint sync leaves them alone. Server-managed.
|
|
10348
|
+
*
|
|
10349
|
+
*/
|
|
10350
|
+
detached_lineage_ids?: string[];
|
|
10125
10351
|
org_id?: string;
|
|
10126
10352
|
}
|
|
10127
10353
|
/**
|
|
@@ -10256,6 +10482,101 @@ declare namespace Components {
|
|
|
10256
10482
|
*/
|
|
10257
10483
|
scope?: string;
|
|
10258
10484
|
}
|
|
10485
|
+
/**
|
|
10486
|
+
* Technical details of a failed SSO login or token exchange, returned only while SSO debug
|
|
10487
|
+
* mode is active for the provider. Never carries secrets, authorization codes, PKCE
|
|
10488
|
+
* verifiers, tokens or claim values.
|
|
10489
|
+
*
|
|
10490
|
+
*/
|
|
10491
|
+
export interface SSODebugInfo {
|
|
10492
|
+
/**
|
|
10493
|
+
* Which step failed — the backend token exchange (`ssoCallback`) or the login (`ssoLogin`).
|
|
10494
|
+
*/
|
|
10495
|
+
stage?: "exchange" | "login";
|
|
10496
|
+
/**
|
|
10497
|
+
* Stable reason code, e.g. `TOKEN_EXCHANGE_FAILED`, `MISSING_EMAIL_CLAIM`, `INVALID_PROVIDER`.
|
|
10498
|
+
* example:
|
|
10499
|
+
* TOKEN_EXCHANGE_FAILED
|
|
10500
|
+
*/
|
|
10501
|
+
reason?: string;
|
|
10502
|
+
/**
|
|
10503
|
+
* The API's error message.
|
|
10504
|
+
*/
|
|
10505
|
+
message?: string;
|
|
10506
|
+
/**
|
|
10507
|
+
* HTTP status the IdP's token endpoint answered with.
|
|
10508
|
+
* example:
|
|
10509
|
+
* 401
|
|
10510
|
+
*/
|
|
10511
|
+
upstream_status?: number;
|
|
10512
|
+
/**
|
|
10513
|
+
* The IdP's RFC 6749 §5.2 `error`.
|
|
10514
|
+
* example:
|
|
10515
|
+
* invalid_client
|
|
10516
|
+
*/
|
|
10517
|
+
oauth_error?: string;
|
|
10518
|
+
/**
|
|
10519
|
+
* The IdP's RFC 6749 §5.2 `error_description` (e.g. the full `AADSTS…` text).
|
|
10520
|
+
*/
|
|
10521
|
+
oauth_error_description?: string;
|
|
10522
|
+
/**
|
|
10523
|
+
* example:
|
|
10524
|
+
* login.microsoftonline.com
|
|
10525
|
+
*/
|
|
10526
|
+
token_endpoint_host?: string;
|
|
10527
|
+
/**
|
|
10528
|
+
* Path of the configured token endpoint, without query.
|
|
10529
|
+
* example:
|
|
10530
|
+
* /contoso.onmicrosoft.com/oauth2/v2.0/token
|
|
10531
|
+
*/
|
|
10532
|
+
token_endpoint_path?: string;
|
|
10533
|
+
/**
|
|
10534
|
+
* The redirect URI sent in the token exchange.
|
|
10535
|
+
*/
|
|
10536
|
+
redirect_uri?: string;
|
|
10537
|
+
/**
|
|
10538
|
+
* Names (never values) of the claims received from the IdP.
|
|
10539
|
+
*/
|
|
10540
|
+
received_claims?: string[];
|
|
10541
|
+
/**
|
|
10542
|
+
* API request id, for support.
|
|
10543
|
+
*/
|
|
10544
|
+
request_id?: string;
|
|
10545
|
+
/**
|
|
10546
|
+
* English hint for well-known IdP errors.
|
|
10547
|
+
*/
|
|
10548
|
+
hint?: string;
|
|
10549
|
+
}
|
|
10550
|
+
/**
|
|
10551
|
+
* Error response of the public SSO endpoints. Like every error response the message is in
|
|
10552
|
+
* `error`; `reason` carries a stable machine-readable cause when one is known (e.g.
|
|
10553
|
+
* `MISSING_EMAIL_CLAIM`, `INVALID_PROVIDER`, `SELF_REGISTRATION_NOT_ALLOWED`,
|
|
10554
|
+
* `TOKEN_EXCHANGE_FAILED`). `debug` is only present while SSO debug mode is active for the
|
|
10555
|
+
* resolved provider (`ProviderConfig.debug_mode_until`).
|
|
10556
|
+
*
|
|
10557
|
+
*/
|
|
10558
|
+
export interface SSOErrorResp {
|
|
10559
|
+
/**
|
|
10560
|
+
* example:
|
|
10561
|
+
* 400
|
|
10562
|
+
*/
|
|
10563
|
+
status?: number;
|
|
10564
|
+
/**
|
|
10565
|
+
* Error message
|
|
10566
|
+
*/
|
|
10567
|
+
error?: string;
|
|
10568
|
+
/**
|
|
10569
|
+
* Machine-readable cause, when the API can name one.
|
|
10570
|
+
*/
|
|
10571
|
+
reason?: string;
|
|
10572
|
+
debug?: /**
|
|
10573
|
+
* Technical details of a failed SSO login or token exchange, returned only while SSO debug
|
|
10574
|
+
* mode is active for the provider. Never carries secrets, authorization codes, PKCE
|
|
10575
|
+
* verifiers, tokens or claim values.
|
|
10576
|
+
*
|
|
10577
|
+
*/
|
|
10578
|
+
SSODebugInfo;
|
|
10579
|
+
}
|
|
10259
10580
|
export type SSOLoginToken = string;
|
|
10260
10581
|
export interface SaveEntityFile {
|
|
10261
10582
|
entity_id: /**
|
|
@@ -10756,6 +11077,16 @@ declare namespace Components {
|
|
|
10756
11077
|
*/
|
|
10757
11078
|
enabled?: boolean;
|
|
10758
11079
|
};
|
|
11080
|
+
/**
|
|
11081
|
+
* Opt-in, set by the configuring user. When enabled, a second factor is enforced after the password and portal users can add passkeys (fingerprint, face or device PIN) as one variant of it, next to the email code of advanced_mfa. Users with a passkey use it by default; with advanced_mfa off, the passkey is the only second factor once a user has added one. On passwordless portals a passkey can replace the email code. Passkeys are bound to the domain they were added on. Default off; turning it off again restores the previous behaviour and keeps registered passkeys.
|
|
11082
|
+
*
|
|
11083
|
+
*/
|
|
11084
|
+
passkeys?: {
|
|
11085
|
+
/**
|
|
11086
|
+
* Enforce a second factor and allow passkeys as one variant of it
|
|
11087
|
+
*/
|
|
11088
|
+
enabled?: boolean;
|
|
11089
|
+
};
|
|
10759
11090
|
entry_point?: "PASSWORD" | "SSO";
|
|
10760
11091
|
preferred_sso_providers?: /**
|
|
10761
11092
|
* URL-friendly slug to use as organization-unique identifier for Provider
|
|
@@ -10783,6 +11114,12 @@ declare namespace Components {
|
|
|
10783
11114
|
* 6bsd0jkgoie74k2i8mrhc1vest
|
|
10784
11115
|
*/
|
|
10785
11116
|
cognito_user_pool_client_id?: string;
|
|
11117
|
+
/**
|
|
11118
|
+
* Cognito user pool client ID used by the native portal apps (longer refresh token validity)
|
|
11119
|
+
* example:
|
|
11120
|
+
* 3k9fj2l1m0n8b7v6c5x4z3a2s1
|
|
11121
|
+
*/
|
|
11122
|
+
cognito_mobile_client_id?: string;
|
|
10786
11123
|
/**
|
|
10787
11124
|
* Cognito user pool ARN
|
|
10788
11125
|
* example:
|
|
@@ -10975,6 +11312,13 @@ declare namespace Components {
|
|
|
10975
11312
|
* ]
|
|
10976
11313
|
*/
|
|
10977
11314
|
contract_identifiers?: ContractIdentifier[];
|
|
11315
|
+
/**
|
|
11316
|
+
* What the built-in self-assignment (without a contractIdentification hook) assigns once the `contract_identifiers` match a Contract:
|
|
11317
|
+
* - `contracts`: the user's Contact is added as a customer of the Contract.
|
|
11318
|
+
* - `customer_to_portal_user`: the Contract's customers (Contacts and Accounts) are added to the Portal User's `represents`. The Portal User sees all their data, including Contracts, transitively. Mirrors the `contact_to_portal_user` assignment mode of the contractIdentification hook.
|
|
11319
|
+
*
|
|
11320
|
+
*/
|
|
11321
|
+
self_assignment_mode?: "contracts" | "customer_to_portal_user";
|
|
10978
11322
|
/**
|
|
10979
11323
|
* Configuration for contract selector in the portal
|
|
10980
11324
|
*/
|
|
@@ -11158,7 +11502,7 @@ declare namespace Components {
|
|
|
11158
11502
|
*/
|
|
11159
11503
|
is_dummy?: boolean;
|
|
11160
11504
|
/**
|
|
11161
|
-
*
|
|
11505
|
+
* Always true. Legacy v2 storage was migrated; field kept for compatibility and will be removed.
|
|
11162
11506
|
*/
|
|
11163
11507
|
is_v3_item?: boolean;
|
|
11164
11508
|
/**
|
|
@@ -11197,6 +11541,7 @@ declare namespace Components {
|
|
|
11197
11541
|
* Master toggle for the portal's engagement center (in-app notifications including the notification triggers above). Off when absent — portal users only see the engagement center and receive trigger notifications after an admin enables it.
|
|
11198
11542
|
*/
|
|
11199
11543
|
engagement_center_enabled?: boolean;
|
|
11544
|
+
engagement_center_task_templates?: /* Handlebars templates rendering each outstanding task (to-do) row in the portal's engagement center. Resolved server-side per task against the task's entity (same variable syntax as page block templates, e.g. `{{order.order_number}}`, custom and environment variables) plus `task.*` (the workflow step, e.g. `{{task.name}}`), `workflow.*` (the execution, e.g. `{{workflow.name}}`) and `entity.*` (the task's entity regardless of its schema, e.g. `{{entity._title}}`). A template that is absent or blank keeps the portal's default rendering for that line. Admin/builder-only — never exposed via the public portal config. */ EngagementCenterTaskTemplates;
|
|
11200
11545
|
}
|
|
11201
11546
|
export interface UpsertPortalConfigV3 {
|
|
11202
11547
|
/**
|
|
@@ -11357,6 +11702,16 @@ declare namespace Components {
|
|
|
11357
11702
|
*/
|
|
11358
11703
|
enabled?: boolean;
|
|
11359
11704
|
};
|
|
11705
|
+
/**
|
|
11706
|
+
* Opt-in, set by the configuring user. When enabled, a second factor is enforced after the password and portal users can add passkeys (fingerprint, face or device PIN) as one variant of it, next to the email code of advanced_mfa. Users with a passkey use it by default; with advanced_mfa off, the passkey is the only second factor once a user has added one. On passwordless portals a passkey can replace the email code. Passkeys are bound to the domain they were added on. Default off; turning it off again restores the previous behaviour and keeps registered passkeys.
|
|
11707
|
+
*
|
|
11708
|
+
*/
|
|
11709
|
+
passkeys?: {
|
|
11710
|
+
/**
|
|
11711
|
+
* Enforce a second factor and allow passkeys as one variant of it
|
|
11712
|
+
*/
|
|
11713
|
+
enabled?: boolean;
|
|
11714
|
+
};
|
|
11360
11715
|
entry_point?: "PASSWORD" | "SSO";
|
|
11361
11716
|
preferred_sso_providers?: /**
|
|
11362
11717
|
* URL-friendly slug to use as organization-unique identifier for Provider
|
|
@@ -11384,6 +11739,12 @@ declare namespace Components {
|
|
|
11384
11739
|
* 6bsd0jkgoie74k2i8mrhc1vest
|
|
11385
11740
|
*/
|
|
11386
11741
|
cognito_user_pool_client_id?: string;
|
|
11742
|
+
/**
|
|
11743
|
+
* Cognito user pool client ID used by the native portal apps (longer refresh token validity)
|
|
11744
|
+
* example:
|
|
11745
|
+
* 3k9fj2l1m0n8b7v6c5x4z3a2s1
|
|
11746
|
+
*/
|
|
11747
|
+
cognito_mobile_client_id?: string;
|
|
11387
11748
|
/**
|
|
11388
11749
|
* Cognito user pool ARN
|
|
11389
11750
|
* example:
|
|
@@ -11576,6 +11937,13 @@ declare namespace Components {
|
|
|
11576
11937
|
* ]
|
|
11577
11938
|
*/
|
|
11578
11939
|
contract_identifiers?: ContractIdentifier[];
|
|
11940
|
+
/**
|
|
11941
|
+
* What the built-in self-assignment (without a contractIdentification hook) assigns once the `contract_identifiers` match a Contract:
|
|
11942
|
+
* - `contracts`: the user's Contact is added as a customer of the Contract.
|
|
11943
|
+
* - `customer_to_portal_user`: the Contract's customers (Contacts and Accounts) are added to the Portal User's `represents`. The Portal User sees all their data, including Contracts, transitively. Mirrors the `contact_to_portal_user` assignment mode of the contractIdentification hook.
|
|
11944
|
+
*
|
|
11945
|
+
*/
|
|
11946
|
+
self_assignment_mode?: "contracts" | "customer_to_portal_user";
|
|
11579
11947
|
/**
|
|
11580
11948
|
* Configuration for contract selector in the portal
|
|
11581
11949
|
*/
|
|
@@ -11759,7 +12127,7 @@ declare namespace Components {
|
|
|
11759
12127
|
*/
|
|
11760
12128
|
is_dummy?: boolean;
|
|
11761
12129
|
/**
|
|
11762
|
-
*
|
|
12130
|
+
* Always true. Legacy v2 storage was migrated; field kept for compatibility and will be removed.
|
|
11763
12131
|
*/
|
|
11764
12132
|
is_v3_item?: boolean;
|
|
11765
12133
|
/**
|
|
@@ -11795,7 +12163,7 @@ declare namespace Components {
|
|
|
11795
12163
|
*/
|
|
11796
12164
|
portal_sk_v3?: string;
|
|
11797
12165
|
/**
|
|
11798
|
-
*
|
|
12166
|
+
* Always true. Legacy v2 storage was migrated; field kept for compatibility and will be removed.
|
|
11799
12167
|
*/
|
|
11800
12168
|
is_v3_item?: boolean;
|
|
11801
12169
|
widgets: PortalWidget[];
|
|
@@ -11899,64 +12267,6 @@ declare namespace Components {
|
|
|
11899
12267
|
*/
|
|
11900
12268
|
precision?: number;
|
|
11901
12269
|
}
|
|
11902
|
-
/**
|
|
11903
|
-
* One requirement of a hook's correlation wait, for the entity slug it is configured under.
|
|
11904
|
-
*
|
|
11905
|
-
* Without `key` the requirement is satisfied by any entity of that slug. That is safe for
|
|
11906
|
-
* evidence, and for a linked slug only where the inbound use case writes exactly one entity
|
|
11907
|
-
* of it per push - Wilken's `BusinessPartnerChanged` always writes two contacts, and WEMAG's
|
|
11908
|
-
* `DocumentChange` / `D3Metadata` write contacts under the same unique-id keys a registration
|
|
11909
|
-
* push uses - so a second match answers 409 rather than linking a guess.
|
|
11910
|
-
*
|
|
11911
|
-
* With `key`, the value comes from exactly one declared source, `from_identifier` or
|
|
11912
|
-
* `from_caller_contact`. A rule whose source has no value produces no wait at all, so the
|
|
11913
|
-
* hook keeps polling rather than waiting on a requirement that cannot be met.
|
|
11914
|
-
*
|
|
11915
|
-
*/
|
|
11916
|
-
export interface WaitForEntityRule {
|
|
11917
|
-
/**
|
|
11918
|
-
* Unique-id attribute the selector matches on. Must be a member of that entity target's
|
|
11919
|
-
* configured `unique_ids` in the inbound use case; the toolkit reports nothing else.
|
|
11920
|
-
*
|
|
11921
|
-
* example:
|
|
11922
|
-
* reenumber
|
|
11923
|
-
*/
|
|
11924
|
-
key?: string;
|
|
11925
|
-
/**
|
|
11926
|
-
* Identifier the user submitted to take the value from, as `<schema>.<name>` - the same
|
|
11927
|
-
* schema and name the portal's `registration_identifiers` / `contract_identifiers` use.
|
|
11928
|
-
* Mutually exclusive with `from_caller_contact`.
|
|
11929
|
-
*
|
|
11930
|
-
* example:
|
|
11931
|
-
* contact.complete_customer_number
|
|
11932
|
-
*/
|
|
11933
|
-
from_identifier?: string;
|
|
11934
|
-
/**
|
|
11935
|
-
* Attribute of the calling portal user's own contact to take the value from. Only
|
|
11936
|
-
* available to hooks called by a signed-in user. Mutually exclusive with
|
|
11937
|
-
* `from_identifier`.
|
|
11938
|
-
*
|
|
11939
|
-
* example:
|
|
11940
|
-
* external_id
|
|
11941
|
-
*/
|
|
11942
|
-
from_caller_contact?: string;
|
|
11943
|
-
/**
|
|
11944
|
-
* Separator the source value is split on before `part` is taken, for identifiers that
|
|
11945
|
-
* carry a unique id inside a larger value the user types. WEMAG's
|
|
11946
|
-
* `complete_customer_number` is `"0002-<customer_pin>-<reenumber>"`, so splitting on `-`
|
|
11947
|
-
* and taking part 2 yields the contact's `reenumber` unique id.
|
|
11948
|
-
*
|
|
11949
|
-
* example:
|
|
11950
|
-
* -
|
|
11951
|
-
*/
|
|
11952
|
-
split_on?: string;
|
|
11953
|
-
/**
|
|
11954
|
-
* Zero-based index of the part to use after splitting on `split_on`.
|
|
11955
|
-
* example:
|
|
11956
|
-
* 2
|
|
11957
|
-
*/
|
|
11958
|
-
part?: number;
|
|
11959
|
-
}
|
|
11960
12270
|
export interface WidgetAction {
|
|
11961
12271
|
_id: string;
|
|
11962
12272
|
type: "link" | "journey";
|
|
@@ -12078,12 +12388,6 @@ declare namespace Components {
|
|
|
12078
12388
|
}
|
|
12079
12389
|
declare namespace Paths {
|
|
12080
12390
|
namespace AddContractByIdentifiers {
|
|
12081
|
-
namespace Parameters {
|
|
12082
|
-
export type CorrelationId = string; // ^[A-Za-z0-9_-]+$
|
|
12083
|
-
}
|
|
12084
|
-
export interface QueryParameters {
|
|
12085
|
-
correlation_id?: Parameters.CorrelationId /* ^[A-Za-z0-9_-]+$ */;
|
|
12086
|
-
}
|
|
12087
12391
|
/**
|
|
12088
12392
|
* Identifier-value pairs per schema to identify the contract
|
|
12089
12393
|
* example:
|
|
@@ -12109,11 +12413,31 @@ declare namespace Paths {
|
|
|
12109
12413
|
export type $400 = Components.Responses.InvalidRequest;
|
|
12110
12414
|
export type $401 = Components.Responses.Unauthorized;
|
|
12111
12415
|
export type $403 = Components.Responses.Forbidden;
|
|
12112
|
-
export type $404 = Components.Responses.ContractAssignmentNotFound;
|
|
12113
12416
|
export type $409 = Components.Responses.ContractAssignmentConflict;
|
|
12114
12417
|
export type $500 = Components.Responses.InternalServerError;
|
|
12115
12418
|
}
|
|
12116
12419
|
}
|
|
12420
|
+
namespace AddPortalUserPasskey {
|
|
12421
|
+
export interface RequestBody {
|
|
12422
|
+
/**
|
|
12423
|
+
* WebAuthn RegistrationResponseJSON from the browser
|
|
12424
|
+
*/
|
|
12425
|
+
registration_response: {
|
|
12426
|
+
[name: string]: any;
|
|
12427
|
+
};
|
|
12428
|
+
/**
|
|
12429
|
+
* Label shown to the user, e.g. "iPhone"
|
|
12430
|
+
*/
|
|
12431
|
+
name?: string;
|
|
12432
|
+
}
|
|
12433
|
+
namespace Responses {
|
|
12434
|
+
export type $201 = Components.Schemas.PortalUserPasskey;
|
|
12435
|
+
export type $400 = Components.Responses.InvalidRequest;
|
|
12436
|
+
export type $401 = Components.Responses.Unauthorized;
|
|
12437
|
+
export type $403 = Components.Responses.Forbidden;
|
|
12438
|
+
export type $500 = Components.Responses.InternalServerError;
|
|
12439
|
+
}
|
|
12440
|
+
}
|
|
12117
12441
|
namespace CanTriggerPortalFlow {
|
|
12118
12442
|
namespace Parameters {
|
|
12119
12443
|
export type Origin = /* Origin of the portal */ Components.Schemas.Origin;
|
|
@@ -12293,25 +12617,9 @@ declare namespace Paths {
|
|
|
12293
12617
|
*
|
|
12294
12618
|
*/
|
|
12295
12619
|
reason?: "TIMEOUT" | "NOT_FOUND";
|
|
12296
|
-
/**
|
|
12297
|
-
* Correlation id of the triggered ERP sync. Present only for portals waiting on
|
|
12298
|
-
* the Integration Toolkit (`wait_for_toolkit`). Send it back with
|
|
12299
|
-
* `trigger_identifiers_check: false` to keep waiting on the same correlation.
|
|
12300
|
-
*
|
|
12301
|
-
*/
|
|
12302
|
-
correlation_id?: string; // ^[A-Za-z0-9_-]+$
|
|
12303
|
-
/**
|
|
12304
|
-
* Human-readable reason the identifiers did not resolve, when the portal knows
|
|
12305
|
-
* one. Set when the ERP finished sending for this correlation without the
|
|
12306
|
-
* entities the portal needs (e.g. "account data arrived, no contract"), so
|
|
12307
|
-
* support can tell a silent timeout from an incomplete delivery.
|
|
12308
|
-
*
|
|
12309
|
-
*/
|
|
12310
|
-
message?: string;
|
|
12311
12620
|
}
|
|
12312
12621
|
export type $400 = Components.Responses.InvalidRequest;
|
|
12313
12622
|
export type $404 = Components.Responses.NotFound;
|
|
12314
|
-
export type $409 = Components.Responses.ContactAmbiguousMatch;
|
|
12315
12623
|
export type $429 = Components.Responses.TooManyRequests;
|
|
12316
12624
|
export type $500 = Components.Responses.InternalServerError;
|
|
12317
12625
|
}
|
|
@@ -12646,6 +12954,40 @@ declare namespace Paths {
|
|
|
12646
12954
|
export type $500 = Components.Responses.InternalServerError;
|
|
12647
12955
|
}
|
|
12648
12956
|
}
|
|
12957
|
+
namespace CreatePortalRevisionPreview {
|
|
12958
|
+
namespace Parameters {
|
|
12959
|
+
/**
|
|
12960
|
+
* example:
|
|
12961
|
+
* 5da0a718-c822-403d-9f5d-20d4584e0528
|
|
12962
|
+
*/
|
|
12963
|
+
export type PortalId = string; // uuid
|
|
12964
|
+
/**
|
|
12965
|
+
* example:
|
|
12966
|
+
* 2026-08-25T14:03:11.482Z-a7f3c1d9
|
|
12967
|
+
*/
|
|
12968
|
+
export type RevisionId = string;
|
|
12969
|
+
}
|
|
12970
|
+
export interface PathParameters {
|
|
12971
|
+
portal_id: /**
|
|
12972
|
+
* example:
|
|
12973
|
+
* 5da0a718-c822-403d-9f5d-20d4584e0528
|
|
12974
|
+
*/
|
|
12975
|
+
Parameters.PortalId /* uuid */;
|
|
12976
|
+
revision_id: /**
|
|
12977
|
+
* example:
|
|
12978
|
+
* 2026-08-25T14:03:11.482Z-a7f3c1d9
|
|
12979
|
+
*/
|
|
12980
|
+
Parameters.RevisionId;
|
|
12981
|
+
}
|
|
12982
|
+
namespace Responses {
|
|
12983
|
+
export type $200 = Components.Schemas.PortalRevisionPreview;
|
|
12984
|
+
export type $400 = Components.Responses.InvalidRequest;
|
|
12985
|
+
export type $401 = Components.Responses.Unauthorized;
|
|
12986
|
+
export type $403 = Components.Responses.Forbidden;
|
|
12987
|
+
export type $404 = Components.Responses.NotFound;
|
|
12988
|
+
export type $500 = Components.Responses.InternalServerError;
|
|
12989
|
+
}
|
|
12990
|
+
}
|
|
12649
12991
|
namespace CreatePortalUserEntity {
|
|
12650
12992
|
namespace Parameters {
|
|
12651
12993
|
/**
|
|
@@ -12670,6 +13012,23 @@ declare namespace Paths {
|
|
|
12670
13012
|
export type $500 = Components.Responses.InternalServerError;
|
|
12671
13013
|
}
|
|
12672
13014
|
}
|
|
13015
|
+
namespace CreatePortalUserPasskeyRegistrationOptions {
|
|
13016
|
+
export interface RequestBody {
|
|
13017
|
+
/**
|
|
13018
|
+
* The 6-digit code sent to the user's email address
|
|
13019
|
+
*/
|
|
13020
|
+
verification_code: string;
|
|
13021
|
+
}
|
|
13022
|
+
namespace Responses {
|
|
13023
|
+
export interface $200 {
|
|
13024
|
+
[name: string]: any;
|
|
13025
|
+
}
|
|
13026
|
+
export type $400 = Components.Responses.InvalidRequest;
|
|
13027
|
+
export type $401 = Components.Responses.Unauthorized;
|
|
13028
|
+
export type $403 = Components.Responses.Forbidden;
|
|
13029
|
+
export type $500 = Components.Responses.InternalServerError;
|
|
13030
|
+
}
|
|
13031
|
+
}
|
|
12673
13032
|
namespace CreateUser {
|
|
12674
13033
|
namespace Parameters {
|
|
12675
13034
|
export type Origin = /* Origin of the portal */ Components.Schemas.Origin;
|
|
@@ -12725,24 +13084,6 @@ declare namespace Paths {
|
|
|
12725
13084
|
export type $500 = Components.Responses.InternalServerError;
|
|
12726
13085
|
}
|
|
12727
13086
|
}
|
|
12728
|
-
namespace DeleteEntityFile {
|
|
12729
|
-
export type RequestBody = Components.Schemas.DeleteEntityFile;
|
|
12730
|
-
namespace Responses {
|
|
12731
|
-
export interface $202 {
|
|
12732
|
-
deletedFiles?: /**
|
|
12733
|
-
* Entity ID
|
|
12734
|
-
* example:
|
|
12735
|
-
* 5da0a718-c822-403d-9f5d-20d4584e0528
|
|
12736
|
-
*/
|
|
12737
|
-
Components.Schemas.EntityId /* uuid */[];
|
|
12738
|
-
}
|
|
12739
|
-
export type $400 = Components.Responses.InvalidRequest;
|
|
12740
|
-
export type $401 = Components.Responses.Unauthorized;
|
|
12741
|
-
export type $403 = Components.Responses.Forbidden;
|
|
12742
|
-
export type $404 = Components.Responses.NotFound;
|
|
12743
|
-
export type $500 = Components.Responses.InternalServerError;
|
|
12744
|
-
}
|
|
12745
|
-
}
|
|
12746
13087
|
namespace DeletePortal {
|
|
12747
13088
|
namespace Parameters {
|
|
12748
13089
|
export type Origin = /* Origin of the portal */ Components.Schemas.Origin;
|
|
@@ -12824,6 +13165,39 @@ declare namespace Paths {
|
|
|
12824
13165
|
export type $500 = Components.Responses.InternalServerError;
|
|
12825
13166
|
}
|
|
12826
13167
|
}
|
|
13168
|
+
namespace DeletePortalUserPasskey {
|
|
13169
|
+
namespace Parameters {
|
|
13170
|
+
export type CredentialId = string;
|
|
13171
|
+
}
|
|
13172
|
+
export interface PathParameters {
|
|
13173
|
+
credential_id: Parameters.CredentialId;
|
|
13174
|
+
}
|
|
13175
|
+
namespace Responses {
|
|
13176
|
+
export interface $204 {
|
|
13177
|
+
}
|
|
13178
|
+
export type $401 = Components.Responses.Unauthorized;
|
|
13179
|
+
export type $404 = Components.Responses.NotFound;
|
|
13180
|
+
export type $500 = Components.Responses.InternalServerError;
|
|
13181
|
+
}
|
|
13182
|
+
}
|
|
13183
|
+
namespace DetachPortalPage {
|
|
13184
|
+
namespace Responses {
|
|
13185
|
+
export type $200 = Components.Schemas.Page;
|
|
13186
|
+
export type $401 = Components.Responses.Unauthorized;
|
|
13187
|
+
export type $403 = Components.Responses.Forbidden;
|
|
13188
|
+
export type $404 = Components.Responses.NotFound;
|
|
13189
|
+
export type $500 = Components.Responses.InternalServerError;
|
|
13190
|
+
}
|
|
13191
|
+
}
|
|
13192
|
+
namespace DetachPortalPageBlock {
|
|
13193
|
+
namespace Responses {
|
|
13194
|
+
export type $200 = Components.Schemas.Block;
|
|
13195
|
+
export type $401 = Components.Responses.Unauthorized;
|
|
13196
|
+
export type $403 = Components.Responses.Forbidden;
|
|
13197
|
+
export type $404 = Components.Responses.NotFound;
|
|
13198
|
+
export type $500 = Components.Responses.InternalServerError;
|
|
13199
|
+
}
|
|
13200
|
+
}
|
|
12827
13201
|
namespace DisablePartner {
|
|
12828
13202
|
namespace Parameters {
|
|
12829
13203
|
/**
|
|
@@ -15172,6 +15546,10 @@ declare namespace Paths {
|
|
|
15172
15546
|
counter_templates?: {
|
|
15173
15547
|
[name: string]: string;
|
|
15174
15548
|
};
|
|
15549
|
+
/**
|
|
15550
|
+
* When true, the response includes `counter` with the counter's unit, OBIS number, direction and tariff type. Access is checked by metering-api on the counter's parent meter.
|
|
15551
|
+
*/
|
|
15552
|
+
include_counter?: boolean;
|
|
15175
15553
|
/**
|
|
15176
15554
|
* Reference to the meter reading block whose admin-configured content provides both the per-reading templates (content_top_name, main_content_name, content_bottom_name) and the counter templates (counter_title_name, counter_subtitle_name), derived server-side.
|
|
15177
15555
|
*/
|
|
@@ -15192,6 +15570,7 @@ declare namespace Paths {
|
|
|
15192
15570
|
counter_templates_output?: {
|
|
15193
15571
|
[name: string]: string;
|
|
15194
15572
|
};
|
|
15573
|
+
counter?: /* Display details of the counter the readings belong to. Only returned when `include_counter` is true and the counter could be resolved. */ Components.Schemas.MeterReadingCounterDetails;
|
|
15195
15574
|
}
|
|
15196
15575
|
export type $400 = Components.Responses.InvalidRequest;
|
|
15197
15576
|
export type $401 = Components.Responses.Unauthorized;
|
|
@@ -15494,6 +15873,16 @@ declare namespace Paths {
|
|
|
15494
15873
|
*/
|
|
15495
15874
|
enabled?: boolean;
|
|
15496
15875
|
};
|
|
15876
|
+
/**
|
|
15877
|
+
* Opt-in, set by the configuring user. When enabled, a second factor is enforced after the password and portal users can add passkeys (fingerprint, face or device PIN) as one variant of it, next to the email code of advanced_mfa. Users with a passkey use it by default; with advanced_mfa off, the passkey is the only second factor once a user has added one. On passwordless portals a passkey can replace the email code. Passkeys are bound to the domain they were added on. Default off; turning it off again restores the previous behaviour and keeps registered passkeys.
|
|
15878
|
+
*
|
|
15879
|
+
*/
|
|
15880
|
+
passkeys?: {
|
|
15881
|
+
/**
|
|
15882
|
+
* Enforce a second factor and allow passkeys as one variant of it
|
|
15883
|
+
*/
|
|
15884
|
+
enabled?: boolean;
|
|
15885
|
+
};
|
|
15497
15886
|
entry_point?: "PASSWORD" | "SSO";
|
|
15498
15887
|
preferred_sso_providers?: /**
|
|
15499
15888
|
* URL-friendly slug to use as organization-unique identifier for Provider
|
|
@@ -15521,6 +15910,12 @@ declare namespace Paths {
|
|
|
15521
15910
|
* 6bsd0jkgoie74k2i8mrhc1vest
|
|
15522
15911
|
*/
|
|
15523
15912
|
cognito_user_pool_client_id?: string;
|
|
15913
|
+
/**
|
|
15914
|
+
* Cognito user pool client ID used by the native portal apps (longer refresh token validity)
|
|
15915
|
+
* example:
|
|
15916
|
+
* 3k9fj2l1m0n8b7v6c5x4z3a2s1
|
|
15917
|
+
*/
|
|
15918
|
+
cognito_mobile_client_id?: string;
|
|
15524
15919
|
/**
|
|
15525
15920
|
* Cognito user pool ARN
|
|
15526
15921
|
* example:
|
|
@@ -15713,6 +16108,13 @@ declare namespace Paths {
|
|
|
15713
16108
|
* ]
|
|
15714
16109
|
*/
|
|
15715
16110
|
contract_identifiers?: Components.Schemas.ContractIdentifier[];
|
|
16111
|
+
/**
|
|
16112
|
+
* What the built-in self-assignment (without a contractIdentification hook) assigns once the `contract_identifiers` match a Contract:
|
|
16113
|
+
* - `contracts`: the user's Contact is added as a customer of the Contract.
|
|
16114
|
+
* - `customer_to_portal_user`: the Contract's customers (Contacts and Accounts) are added to the Portal User's `represents`. The Portal User sees all their data, including Contracts, transitively. Mirrors the `contact_to_portal_user` assignment mode of the contractIdentification hook.
|
|
16115
|
+
*
|
|
16116
|
+
*/
|
|
16117
|
+
self_assignment_mode?: "contracts" | "customer_to_portal_user";
|
|
15716
16118
|
/**
|
|
15717
16119
|
* Configuration for contract selector in the portal
|
|
15718
16120
|
*/
|
|
@@ -15896,7 +16298,7 @@ declare namespace Paths {
|
|
|
15896
16298
|
*/
|
|
15897
16299
|
is_dummy?: boolean;
|
|
15898
16300
|
/**
|
|
15899
|
-
*
|
|
16301
|
+
* Always true. Legacy v2 storage was migrated; field kept for compatibility and will be removed.
|
|
15900
16302
|
*/
|
|
15901
16303
|
is_v3_item?: boolean;
|
|
15902
16304
|
/**
|
|
@@ -15935,6 +16337,7 @@ declare namespace Paths {
|
|
|
15935
16337
|
* Master toggle for the portal's engagement center (in-app notifications including the notification triggers above). Off when absent — portal users only see the engagement center and receive trigger notifications after an admin enables it.
|
|
15936
16338
|
*/
|
|
15937
16339
|
engagement_center_enabled?: boolean;
|
|
16340
|
+
engagement_center_task_templates?: /* Handlebars templates rendering each outstanding task (to-do) row in the portal's engagement center. Resolved server-side per task against the task's entity (same variable syntax as page block templates, e.g. `{{order.order_number}}`, custom and environment variables) plus `task.*` (the workflow step, e.g. `{{task.name}}`), `workflow.*` (the execution, e.g. `{{workflow.name}}`) and `entity.*` (the task's entity regardless of its schema, e.g. `{{entity._title}}`). A template that is absent or blank keeps the portal's default rendering for that line. Admin/builder-only — never exposed via the public portal config. */ Components.Schemas.EngagementCenterTaskTemplates;
|
|
15938
16341
|
/**
|
|
15939
16342
|
* ID of the organization
|
|
15940
16343
|
* example:
|
|
@@ -15947,6 +16350,26 @@ declare namespace Paths {
|
|
|
15947
16350
|
* 12345
|
|
15948
16351
|
*/
|
|
15949
16352
|
organization_id?: string;
|
|
16353
|
+
/**
|
|
16354
|
+
* Blueprint instance ids managing this portal. Server-managed: ignored (stripped) on every write from a user.
|
|
16355
|
+
*
|
|
16356
|
+
*/
|
|
16357
|
+
_manifest?: string[];
|
|
16358
|
+
/**
|
|
16359
|
+
* Id of this portal in the blueprint source. Set once: a blueprint install or update (portal create, `page_upsert_mode=slug`, or a revision with `revision_source` `blueprint_sync`) may give a portal the lineage it does not have yet, unless another portal of the organization holds it. A portal created as a copy next to the organization's live portal of its origin (downgraded to `ADDITIONAL_PORTAL`) never takes it. After that it never changes; every other write keeps the stored value. Locks nothing on its own.
|
|
16360
|
+
*
|
|
16361
|
+
*/
|
|
16362
|
+
_lineage_id?: string;
|
|
16363
|
+
/**
|
|
16364
|
+
* Lineage ids of pages detached from their blueprint; a blueprint sync leaves them alone. Server-managed.
|
|
16365
|
+
*
|
|
16366
|
+
*/
|
|
16367
|
+
detached_lineage_ids?: string[];
|
|
16368
|
+
/**
|
|
16369
|
+
* Only present on write responses: blueprint-managed pages/blocks the request tried to change. Their stored version was kept and the rest of the save succeeded.
|
|
16370
|
+
*
|
|
16371
|
+
*/
|
|
16372
|
+
held_back?: /* A blueprint-managed page or block a write tried to change; the stored version was kept. */ Components.Schemas.HeldBackNode[];
|
|
15950
16373
|
/**
|
|
15951
16374
|
* Organization settings
|
|
15952
16375
|
*/
|
|
@@ -16002,6 +16425,19 @@ declare namespace Paths {
|
|
|
16002
16425
|
*
|
|
16003
16426
|
*/
|
|
16004
16427
|
Components.Schemas.ProviderConfig[];
|
|
16428
|
+
/**
|
|
16429
|
+
* Present only when the request carried a valid `x-portal-preview-token`: the config is this revision's, not the live one.
|
|
16430
|
+
*
|
|
16431
|
+
*/
|
|
16432
|
+
preview_revision?: {
|
|
16433
|
+
/**
|
|
16434
|
+
* example:
|
|
16435
|
+
* 2026-08-25T14:03:11.482Z-a7f3c1d9
|
|
16436
|
+
*/
|
|
16437
|
+
revision_id: string;
|
|
16438
|
+
name?: string;
|
|
16439
|
+
created_at: string; // date-time
|
|
16440
|
+
};
|
|
16005
16441
|
certificate_details?: {
|
|
16006
16442
|
/**
|
|
16007
16443
|
* Status of the certificate
|
|
@@ -16125,6 +16561,16 @@ declare namespace Paths {
|
|
|
16125
16561
|
*/
|
|
16126
16562
|
enabled?: boolean;
|
|
16127
16563
|
};
|
|
16564
|
+
/**
|
|
16565
|
+
* Opt-in, set by the configuring user. When enabled, a second factor is enforced after the password and portal users can add passkeys (fingerprint, face or device PIN) as one variant of it, next to the email code of advanced_mfa. Users with a passkey use it by default; with advanced_mfa off, the passkey is the only second factor once a user has added one. On passwordless portals a passkey can replace the email code. Passkeys are bound to the domain they were added on. Default off; turning it off again restores the previous behaviour and keeps registered passkeys.
|
|
16566
|
+
*
|
|
16567
|
+
*/
|
|
16568
|
+
passkeys?: {
|
|
16569
|
+
/**
|
|
16570
|
+
* Enforce a second factor and allow passkeys as one variant of it
|
|
16571
|
+
*/
|
|
16572
|
+
enabled?: boolean;
|
|
16573
|
+
};
|
|
16128
16574
|
entry_point?: "PASSWORD" | "SSO";
|
|
16129
16575
|
preferred_sso_providers?: /**
|
|
16130
16576
|
* URL-friendly slug to use as organization-unique identifier for Provider
|
|
@@ -16152,6 +16598,12 @@ declare namespace Paths {
|
|
|
16152
16598
|
* 6bsd0jkgoie74k2i8mrhc1vest
|
|
16153
16599
|
*/
|
|
16154
16600
|
cognito_user_pool_client_id?: string;
|
|
16601
|
+
/**
|
|
16602
|
+
* Cognito user pool client ID used by the native portal apps (longer refresh token validity)
|
|
16603
|
+
* example:
|
|
16604
|
+
* 3k9fj2l1m0n8b7v6c5x4z3a2s1
|
|
16605
|
+
*/
|
|
16606
|
+
cognito_mobile_client_id?: string;
|
|
16155
16607
|
/**
|
|
16156
16608
|
* Cognito user pool ARN
|
|
16157
16609
|
* example:
|
|
@@ -16344,6 +16796,13 @@ declare namespace Paths {
|
|
|
16344
16796
|
* ]
|
|
16345
16797
|
*/
|
|
16346
16798
|
contract_identifiers?: Components.Schemas.ContractIdentifier[];
|
|
16799
|
+
/**
|
|
16800
|
+
* What the built-in self-assignment (without a contractIdentification hook) assigns once the `contract_identifiers` match a Contract:
|
|
16801
|
+
* - `contracts`: the user's Contact is added as a customer of the Contract.
|
|
16802
|
+
* - `customer_to_portal_user`: the Contract's customers (Contacts and Accounts) are added to the Portal User's `represents`. The Portal User sees all their data, including Contracts, transitively. Mirrors the `contact_to_portal_user` assignment mode of the contractIdentification hook.
|
|
16803
|
+
*
|
|
16804
|
+
*/
|
|
16805
|
+
self_assignment_mode?: "contracts" | "customer_to_portal_user";
|
|
16347
16806
|
/**
|
|
16348
16807
|
* Configuration for contract selector in the portal
|
|
16349
16808
|
*/
|
|
@@ -16527,7 +16986,7 @@ declare namespace Paths {
|
|
|
16527
16986
|
*/
|
|
16528
16987
|
is_dummy?: boolean;
|
|
16529
16988
|
/**
|
|
16530
|
-
*
|
|
16989
|
+
* Always true. Legacy v2 storage was migrated; field kept for compatibility and will be removed.
|
|
16531
16990
|
*/
|
|
16532
16991
|
is_v3_item?: boolean;
|
|
16533
16992
|
/**
|
|
@@ -16566,6 +17025,7 @@ declare namespace Paths {
|
|
|
16566
17025
|
* Master toggle for the portal's engagement center (in-app notifications including the notification triggers above). Off when absent — portal users only see the engagement center and receive trigger notifications after an admin enables it.
|
|
16567
17026
|
*/
|
|
16568
17027
|
engagement_center_enabled?: boolean;
|
|
17028
|
+
engagement_center_task_templates?: /* Handlebars templates rendering each outstanding task (to-do) row in the portal's engagement center. Resolved server-side per task against the task's entity (same variable syntax as page block templates, e.g. `{{order.order_number}}`, custom and environment variables) plus `task.*` (the workflow step, e.g. `{{task.name}}`), `workflow.*` (the execution, e.g. `{{workflow.name}}`) and `entity.*` (the task's entity regardless of its schema, e.g. `{{entity._title}}`). A template that is absent or blank keeps the portal's default rendering for that line. Admin/builder-only — never exposed via the public portal config. */ Components.Schemas.EngagementCenterTaskTemplates;
|
|
16569
17029
|
/**
|
|
16570
17030
|
* ID of the organization
|
|
16571
17031
|
* example:
|
|
@@ -16578,6 +17038,26 @@ declare namespace Paths {
|
|
|
16578
17038
|
* 12345
|
|
16579
17039
|
*/
|
|
16580
17040
|
organization_id?: string;
|
|
17041
|
+
/**
|
|
17042
|
+
* Blueprint instance ids managing this portal. Server-managed: ignored (stripped) on every write from a user.
|
|
17043
|
+
*
|
|
17044
|
+
*/
|
|
17045
|
+
_manifest?: string[];
|
|
17046
|
+
/**
|
|
17047
|
+
* Id of this portal in the blueprint source. Set once: a blueprint install or update (portal create, `page_upsert_mode=slug`, or a revision with `revision_source` `blueprint_sync`) may give a portal the lineage it does not have yet, unless another portal of the organization holds it. A portal created as a copy next to the organization's live portal of its origin (downgraded to `ADDITIONAL_PORTAL`) never takes it. After that it never changes; every other write keeps the stored value. Locks nothing on its own.
|
|
17048
|
+
*
|
|
17049
|
+
*/
|
|
17050
|
+
_lineage_id?: string;
|
|
17051
|
+
/**
|
|
17052
|
+
* Lineage ids of pages detached from their blueprint; a blueprint sync leaves them alone. Server-managed.
|
|
17053
|
+
*
|
|
17054
|
+
*/
|
|
17055
|
+
detached_lineage_ids?: string[];
|
|
17056
|
+
/**
|
|
17057
|
+
* Only present on write responses: blueprint-managed pages/blocks the request tried to change. Their stored version was kept and the rest of the save succeeded.
|
|
17058
|
+
*
|
|
17059
|
+
*/
|
|
17060
|
+
held_back?: /* A blueprint-managed page or block a write tried to change; the stored version was kept. */ Components.Schemas.HeldBackNode[];
|
|
16581
17061
|
/**
|
|
16582
17062
|
* Organization settings
|
|
16583
17063
|
*/
|
|
@@ -16633,6 +17113,19 @@ declare namespace Paths {
|
|
|
16633
17113
|
*
|
|
16634
17114
|
*/
|
|
16635
17115
|
Components.Schemas.ProviderConfig[];
|
|
17116
|
+
/**
|
|
17117
|
+
* Present only when the request carried a valid `x-portal-preview-token`: the config is this revision's, not the live one.
|
|
17118
|
+
*
|
|
17119
|
+
*/
|
|
17120
|
+
preview_revision?: {
|
|
17121
|
+
/**
|
|
17122
|
+
* example:
|
|
17123
|
+
* 2026-08-25T14:03:11.482Z-a7f3c1d9
|
|
17124
|
+
*/
|
|
17125
|
+
revision_id: string;
|
|
17126
|
+
name?: string;
|
|
17127
|
+
created_at: string; // date-time
|
|
17128
|
+
};
|
|
16636
17129
|
certificate_details?: {
|
|
16637
17130
|
/**
|
|
16638
17131
|
* Status of the certificate
|
|
@@ -16758,6 +17251,15 @@ declare namespace Paths {
|
|
|
16758
17251
|
export type $500 = Components.Responses.InternalServerError;
|
|
16759
17252
|
}
|
|
16760
17253
|
}
|
|
17254
|
+
namespace GetPortalCopilotAccess {
|
|
17255
|
+
namespace Responses {
|
|
17256
|
+
export interface $200 {
|
|
17257
|
+
allowed: boolean;
|
|
17258
|
+
}
|
|
17259
|
+
export type $401 = Components.Responses.Unauthorized;
|
|
17260
|
+
export type $500 = Components.Responses.InternalServerError;
|
|
17261
|
+
}
|
|
17262
|
+
}
|
|
16761
17263
|
namespace GetPortalExtensions {
|
|
16762
17264
|
namespace Parameters {
|
|
16763
17265
|
export type Origin = /* Origin of the portal */ Components.Schemas.Origin;
|
|
@@ -16937,6 +17439,15 @@ declare namespace Paths {
|
|
|
16937
17439
|
export type $500 = Components.Responses.InternalServerError;
|
|
16938
17440
|
}
|
|
16939
17441
|
}
|
|
17442
|
+
namespace GetPortalUserNotificationPreferences {
|
|
17443
|
+
namespace Responses {
|
|
17444
|
+
export type $200 = /* Resolved notification preferences of a portal user. Notifications are opt-out: a channel that was never stored on the portal user resolves to enabled (true). */ Components.Schemas.PortalUserNotificationPreferences;
|
|
17445
|
+
export type $401 = Components.Responses.Unauthorized;
|
|
17446
|
+
export type $403 = Components.Responses.Forbidden;
|
|
17447
|
+
export type $404 = Components.Responses.NotFound;
|
|
17448
|
+
export type $500 = Components.Responses.InternalServerError;
|
|
17449
|
+
}
|
|
17450
|
+
}
|
|
16940
17451
|
namespace GetPortalWidgets {
|
|
16941
17452
|
namespace Parameters {
|
|
16942
17453
|
export type ContractId = /**
|
|
@@ -17310,6 +17821,16 @@ declare namespace Paths {
|
|
|
17310
17821
|
*/
|
|
17311
17822
|
enabled?: boolean;
|
|
17312
17823
|
};
|
|
17824
|
+
/**
|
|
17825
|
+
* Opt-in, set by the configuring user. When enabled, a second factor is enforced after the password and portal users can add passkeys (fingerprint, face or device PIN) as one variant of it, next to the email code of advanced_mfa. Users with a passkey use it by default; with advanced_mfa off, the passkey is the only second factor once a user has added one. On passwordless portals a passkey can replace the email code. Passkeys are bound to the domain they were added on. Default off; turning it off again restores the previous behaviour and keeps registered passkeys.
|
|
17826
|
+
*
|
|
17827
|
+
*/
|
|
17828
|
+
passkeys?: {
|
|
17829
|
+
/**
|
|
17830
|
+
* Enforce a second factor and allow passkeys as one variant of it
|
|
17831
|
+
*/
|
|
17832
|
+
enabled?: boolean;
|
|
17833
|
+
};
|
|
17313
17834
|
entry_point?: "PASSWORD" | "SSO";
|
|
17314
17835
|
preferred_sso_providers?: /**
|
|
17315
17836
|
* URL-friendly slug to use as organization-unique identifier for Provider
|
|
@@ -17337,6 +17858,12 @@ declare namespace Paths {
|
|
|
17337
17858
|
* 6bsd0jkgoie74k2i8mrhc1vest
|
|
17338
17859
|
*/
|
|
17339
17860
|
cognito_user_pool_client_id?: string;
|
|
17861
|
+
/**
|
|
17862
|
+
* Cognito user pool client ID used by the native portal apps (longer refresh token validity)
|
|
17863
|
+
* example:
|
|
17864
|
+
* 3k9fj2l1m0n8b7v6c5x4z3a2s1
|
|
17865
|
+
*/
|
|
17866
|
+
cognito_mobile_client_id?: string;
|
|
17340
17867
|
/**
|
|
17341
17868
|
* Cognito user pool ARN
|
|
17342
17869
|
* example:
|
|
@@ -17529,6 +18056,13 @@ declare namespace Paths {
|
|
|
17529
18056
|
* ]
|
|
17530
18057
|
*/
|
|
17531
18058
|
contract_identifiers?: Components.Schemas.ContractIdentifier[];
|
|
18059
|
+
/**
|
|
18060
|
+
* What the built-in self-assignment (without a contractIdentification hook) assigns once the `contract_identifiers` match a Contract:
|
|
18061
|
+
* - `contracts`: the user's Contact is added as a customer of the Contract.
|
|
18062
|
+
* - `customer_to_portal_user`: the Contract's customers (Contacts and Accounts) are added to the Portal User's `represents`. The Portal User sees all their data, including Contracts, transitively. Mirrors the `contact_to_portal_user` assignment mode of the contractIdentification hook.
|
|
18063
|
+
*
|
|
18064
|
+
*/
|
|
18065
|
+
self_assignment_mode?: "contracts" | "customer_to_portal_user";
|
|
17532
18066
|
/**
|
|
17533
18067
|
* Configuration for contract selector in the portal
|
|
17534
18068
|
*/
|
|
@@ -17712,7 +18246,7 @@ declare namespace Paths {
|
|
|
17712
18246
|
*/
|
|
17713
18247
|
is_dummy?: boolean;
|
|
17714
18248
|
/**
|
|
17715
|
-
*
|
|
18249
|
+
* Always true. Legacy v2 storage was migrated; field kept for compatibility and will be removed.
|
|
17716
18250
|
*/
|
|
17717
18251
|
is_v3_item?: boolean;
|
|
17718
18252
|
/**
|
|
@@ -17751,6 +18285,7 @@ declare namespace Paths {
|
|
|
17751
18285
|
* Master toggle for the portal's engagement center (in-app notifications including the notification triggers above). Off when absent — portal users only see the engagement center and receive trigger notifications after an admin enables it.
|
|
17752
18286
|
*/
|
|
17753
18287
|
engagement_center_enabled?: boolean;
|
|
18288
|
+
engagement_center_task_templates?: /* Handlebars templates rendering each outstanding task (to-do) row in the portal's engagement center. Resolved server-side per task against the task's entity (same variable syntax as page block templates, e.g. `{{order.order_number}}`, custom and environment variables) plus `task.*` (the workflow step, e.g. `{{task.name}}`), `workflow.*` (the execution, e.g. `{{workflow.name}}`) and `entity.*` (the task's entity regardless of its schema, e.g. `{{entity._title}}`). A template that is absent or blank keeps the portal's default rendering for that line. Admin/builder-only — never exposed via the public portal config. */ Components.Schemas.EngagementCenterTaskTemplates;
|
|
17754
18289
|
/**
|
|
17755
18290
|
* ID of the organization
|
|
17756
18291
|
* example:
|
|
@@ -17763,6 +18298,26 @@ declare namespace Paths {
|
|
|
17763
18298
|
* 12345
|
|
17764
18299
|
*/
|
|
17765
18300
|
organization_id?: string;
|
|
18301
|
+
/**
|
|
18302
|
+
* Blueprint instance ids managing this portal. Server-managed: ignored (stripped) on every write from a user.
|
|
18303
|
+
*
|
|
18304
|
+
*/
|
|
18305
|
+
_manifest?: string[];
|
|
18306
|
+
/**
|
|
18307
|
+
* Id of this portal in the blueprint source. Set once: a blueprint install or update (portal create, `page_upsert_mode=slug`, or a revision with `revision_source` `blueprint_sync`) may give a portal the lineage it does not have yet, unless another portal of the organization holds it. A portal created as a copy next to the organization's live portal of its origin (downgraded to `ADDITIONAL_PORTAL`) never takes it. After that it never changes; every other write keeps the stored value. Locks nothing on its own.
|
|
18308
|
+
*
|
|
18309
|
+
*/
|
|
18310
|
+
_lineage_id?: string;
|
|
18311
|
+
/**
|
|
18312
|
+
* Lineage ids of pages detached from their blueprint; a blueprint sync leaves them alone. Server-managed.
|
|
18313
|
+
*
|
|
18314
|
+
*/
|
|
18315
|
+
detached_lineage_ids?: string[];
|
|
18316
|
+
/**
|
|
18317
|
+
* Only present on write responses: blueprint-managed pages/blocks the request tried to change. Their stored version was kept and the rest of the save succeeded.
|
|
18318
|
+
*
|
|
18319
|
+
*/
|
|
18320
|
+
held_back?: /* A blueprint-managed page or block a write tried to change; the stored version was kept. */ Components.Schemas.HeldBackNode[];
|
|
17766
18321
|
/**
|
|
17767
18322
|
* Organization settings
|
|
17768
18323
|
*/
|
|
@@ -17803,6 +18358,19 @@ declare namespace Paths {
|
|
|
17803
18358
|
*
|
|
17804
18359
|
*/
|
|
17805
18360
|
identity_providers?: /* Minimal public identity provider info — enough to render a provider login button. */ Components.Schemas.PublicIdentityProvider[];
|
|
18361
|
+
/**
|
|
18362
|
+
* Present only when the request carried a valid `x-portal-preview-token`: the config is this revision's, not the live one.
|
|
18363
|
+
*
|
|
18364
|
+
*/
|
|
18365
|
+
preview_revision?: {
|
|
18366
|
+
/**
|
|
18367
|
+
* example:
|
|
18368
|
+
* 2026-08-25T14:03:11.482Z-a7f3c1d9
|
|
18369
|
+
*/
|
|
18370
|
+
revision_id: string;
|
|
18371
|
+
name?: string;
|
|
18372
|
+
created_at: string; // date-time
|
|
18373
|
+
};
|
|
17806
18374
|
}
|
|
17807
18375
|
export type $500 = Components.Responses.InternalServerError;
|
|
17808
18376
|
}
|
|
@@ -18718,10 +19286,20 @@ declare namespace Paths {
|
|
|
18718
19286
|
export type $500 = Components.Responses.InternalServerError;
|
|
18719
19287
|
}
|
|
18720
19288
|
}
|
|
18721
|
-
namespace
|
|
18722
|
-
|
|
18723
|
-
|
|
18724
|
-
|
|
19289
|
+
namespace ListPortalUserPasskeys {
|
|
19290
|
+
namespace Responses {
|
|
19291
|
+
export interface $200 {
|
|
19292
|
+
results?: Components.Schemas.PortalUserPasskey[];
|
|
19293
|
+
}
|
|
19294
|
+
export type $401 = Components.Responses.Unauthorized;
|
|
19295
|
+
export type $403 = Components.Responses.Forbidden;
|
|
19296
|
+
export type $500 = Components.Responses.InternalServerError;
|
|
19297
|
+
}
|
|
19298
|
+
}
|
|
19299
|
+
namespace LoginToPortalAsUser {
|
|
19300
|
+
export interface RequestBody {
|
|
19301
|
+
/**
|
|
19302
|
+
* The email address of the user to log in as
|
|
18725
19303
|
* example:
|
|
18726
19304
|
* portal-customer@email.com
|
|
18727
19305
|
*/
|
|
@@ -18742,6 +19320,12 @@ declare namespace Paths {
|
|
|
18742
19320
|
* A generated login_as_token to log in to a portal impersonating a user.
|
|
18743
19321
|
*/
|
|
18744
19322
|
login_as_token?: string;
|
|
19323
|
+
/**
|
|
19324
|
+
* URL of the portal on its epilot domain, to open `/login-as?token=<login_as_token>` on.
|
|
19325
|
+
* example:
|
|
19326
|
+
* https://my-portal.ecp.epilot.io
|
|
19327
|
+
*/
|
|
19328
|
+
portal_url?: string;
|
|
18745
19329
|
}
|
|
18746
19330
|
}
|
|
18747
19331
|
}
|
|
@@ -19365,6 +19949,16 @@ declare namespace Paths {
|
|
|
19365
19949
|
export type $500 = Components.Responses.InternalServerError;
|
|
19366
19950
|
}
|
|
19367
19951
|
}
|
|
19952
|
+
namespace SendPortalUserPasskeyVerificationCode {
|
|
19953
|
+
namespace Responses {
|
|
19954
|
+
export interface $204 {
|
|
19955
|
+
}
|
|
19956
|
+
export type $401 = Components.Responses.Unauthorized;
|
|
19957
|
+
export type $403 = Components.Responses.Forbidden;
|
|
19958
|
+
export type $429 = Components.Responses.TooManyRequests;
|
|
19959
|
+
export type $500 = Components.Responses.InternalServerError;
|
|
19960
|
+
}
|
|
19961
|
+
}
|
|
19368
19962
|
namespace SsoCallback {
|
|
19369
19963
|
namespace Parameters {
|
|
19370
19964
|
/**
|
|
@@ -19385,6 +19979,15 @@ declare namespace Paths {
|
|
|
19385
19979
|
export type RequestBody = Components.Schemas.SSOCallbackRequest;
|
|
19386
19980
|
namespace Responses {
|
|
19387
19981
|
export type $200 = Components.Schemas.SSOCallbackResponse;
|
|
19982
|
+
export type $400 = /**
|
|
19983
|
+
* Error response of the public SSO endpoints. Like every error response the message is in
|
|
19984
|
+
* `error`; `reason` carries a stable machine-readable cause when one is known (e.g.
|
|
19985
|
+
* `MISSING_EMAIL_CLAIM`, `INVALID_PROVIDER`, `SELF_REGISTRATION_NOT_ALLOWED`,
|
|
19986
|
+
* `TOKEN_EXCHANGE_FAILED`). `debug` is only present while SSO debug mode is active for the
|
|
19987
|
+
* resolved provider (`ProviderConfig.debug_mode_until`).
|
|
19988
|
+
*
|
|
19989
|
+
*/
|
|
19990
|
+
Components.Schemas.SSOErrorResp;
|
|
19388
19991
|
export type $500 = Components.Responses.InternalServerError;
|
|
19389
19992
|
}
|
|
19390
19993
|
}
|
|
@@ -19433,6 +20036,15 @@ declare namespace Paths {
|
|
|
19433
20036
|
*/
|
|
19434
20037
|
email?: string;
|
|
19435
20038
|
}
|
|
20039
|
+
export type $400 = /**
|
|
20040
|
+
* Error response of the public SSO endpoints. Like every error response the message is in
|
|
20041
|
+
* `error`; `reason` carries a stable machine-readable cause when one is known (e.g.
|
|
20042
|
+
* `MISSING_EMAIL_CLAIM`, `INVALID_PROVIDER`, `SELF_REGISTRATION_NOT_ALLOWED`,
|
|
20043
|
+
* `TOKEN_EXCHANGE_FAILED`). `debug` is only present while SSO debug mode is active for the
|
|
20044
|
+
* resolved provider (`ProviderConfig.debug_mode_until`).
|
|
20045
|
+
*
|
|
20046
|
+
*/
|
|
20047
|
+
Components.Schemas.SSOErrorResp;
|
|
19436
20048
|
}
|
|
19437
20049
|
}
|
|
19438
20050
|
namespace SsoLoginV3 {
|
|
@@ -19491,7 +20103,15 @@ declare namespace Paths {
|
|
|
19491
20103
|
*/
|
|
19492
20104
|
email?: string;
|
|
19493
20105
|
}
|
|
19494
|
-
export type $400 =
|
|
20106
|
+
export type $400 = /**
|
|
20107
|
+
* Error response of the public SSO endpoints. Like every error response the message is in
|
|
20108
|
+
* `error`; `reason` carries a stable machine-readable cause when one is known (e.g.
|
|
20109
|
+
* `MISSING_EMAIL_CLAIM`, `INVALID_PROVIDER`, `SELF_REGISTRATION_NOT_ALLOWED`,
|
|
20110
|
+
* `TOKEN_EXCHANGE_FAILED`). `debug` is only present while SSO debug mode is active for the
|
|
20111
|
+
* resolved provider (`ProviderConfig.debug_mode_until`).
|
|
20112
|
+
*
|
|
20113
|
+
*/
|
|
20114
|
+
Components.Schemas.SSOErrorResp;
|
|
19495
20115
|
}
|
|
19496
20116
|
}
|
|
19497
20117
|
namespace SsoRedirect {
|
|
@@ -19583,6 +20203,7 @@ declare namespace Paths {
|
|
|
19583
20203
|
export type $401 = Components.Responses.Unauthorized;
|
|
19584
20204
|
export type $403 = Components.Responses.Forbidden;
|
|
19585
20205
|
export type $404 = Components.Responses.NotFound;
|
|
20206
|
+
export type $409 = Components.Schemas.ErrorResp;
|
|
19586
20207
|
export type $500 = Components.Responses.InternalServerError;
|
|
19587
20208
|
}
|
|
19588
20209
|
}
|
|
@@ -19751,7 +20372,12 @@ declare namespace Paths {
|
|
|
19751
20372
|
}
|
|
19752
20373
|
}
|
|
19753
20374
|
namespace UpdateContact {
|
|
19754
|
-
export type RequestBody =
|
|
20375
|
+
export type RequestBody = /**
|
|
20376
|
+
* Contact attributes a portal user can change. Other attributes are ignored.
|
|
20377
|
+
* Value types follow the organization's contact schema.
|
|
20378
|
+
*
|
|
20379
|
+
*/
|
|
20380
|
+
Components.Schemas.PortalContactUpdate;
|
|
19755
20381
|
namespace Responses {
|
|
19756
20382
|
export interface $200 {
|
|
19757
20383
|
data?: /* The mapped contact of the portal user */ Components.Schemas.Contact;
|
|
@@ -19774,7 +20400,7 @@ declare namespace Paths {
|
|
|
19774
20400
|
export interface PathParameters {
|
|
19775
20401
|
id: Parameters.Id;
|
|
19776
20402
|
}
|
|
19777
|
-
export type RequestBody = Components.Schemas.
|
|
20403
|
+
export type RequestBody = /* Contract attributes a portal user can change. Other attributes are ignored. */ Components.Schemas.PortalContractUpdate;
|
|
19778
20404
|
namespace Responses {
|
|
19779
20405
|
export interface $200 {
|
|
19780
20406
|
data?: /* The contract entity */ Components.Schemas.Contract;
|
|
@@ -19814,52 +20440,6 @@ declare namespace Paths {
|
|
|
19814
20440
|
export type $500 = Components.Responses.InternalServerError;
|
|
19815
20441
|
}
|
|
19816
20442
|
}
|
|
19817
|
-
namespace UpdateOpportunity {
|
|
19818
|
-
namespace Parameters {
|
|
19819
|
-
export type Id = /**
|
|
19820
|
-
* Entity ID
|
|
19821
|
-
* example:
|
|
19822
|
-
* 5da0a718-c822-403d-9f5d-20d4584e0528
|
|
19823
|
-
*/
|
|
19824
|
-
Components.Schemas.EntityId /* uuid */;
|
|
19825
|
-
}
|
|
19826
|
-
export interface PathParameters {
|
|
19827
|
-
id: Parameters.Id;
|
|
19828
|
-
}
|
|
19829
|
-
export type RequestBody = Components.Schemas.Entity;
|
|
19830
|
-
namespace Responses {
|
|
19831
|
-
export interface $200 {
|
|
19832
|
-
data?: /* The opportunity entity */ Components.Schemas.Opportunity;
|
|
19833
|
-
}
|
|
19834
|
-
export type $401 = Components.Responses.Unauthorized;
|
|
19835
|
-
export type $403 = Components.Responses.Forbidden;
|
|
19836
|
-
export type $404 = Components.Responses.NotFound;
|
|
19837
|
-
export type $500 = Components.Responses.InternalServerError;
|
|
19838
|
-
}
|
|
19839
|
-
}
|
|
19840
|
-
namespace UpdateOrder {
|
|
19841
|
-
namespace Parameters {
|
|
19842
|
-
export type Id = /**
|
|
19843
|
-
* Entity ID
|
|
19844
|
-
* example:
|
|
19845
|
-
* 5da0a718-c822-403d-9f5d-20d4584e0528
|
|
19846
|
-
*/
|
|
19847
|
-
Components.Schemas.EntityId /* uuid */;
|
|
19848
|
-
}
|
|
19849
|
-
export interface PathParameters {
|
|
19850
|
-
id: Parameters.Id;
|
|
19851
|
-
}
|
|
19852
|
-
export type RequestBody = Components.Schemas.Entity;
|
|
19853
|
-
namespace Responses {
|
|
19854
|
-
export interface $200 {
|
|
19855
|
-
data?: /* The order entity */ Components.Schemas.Order;
|
|
19856
|
-
}
|
|
19857
|
-
export type $401 = Components.Responses.Unauthorized;
|
|
19858
|
-
export type $403 = Components.Responses.Forbidden;
|
|
19859
|
-
export type $404 = Components.Responses.NotFound;
|
|
19860
|
-
export type $500 = Components.Responses.InternalServerError;
|
|
19861
|
-
}
|
|
19862
|
-
}
|
|
19863
20443
|
namespace UpdatePortalPage {
|
|
19864
20444
|
export type RequestBody = Components.Schemas.PageRequest;
|
|
19865
20445
|
namespace Responses {
|
|
@@ -19915,16 +20495,6 @@ declare namespace Paths {
|
|
|
19915
20495
|
export type $500 = Components.Responses.InternalServerError;
|
|
19916
20496
|
}
|
|
19917
20497
|
}
|
|
19918
|
-
namespace UpdatePortalUser {
|
|
19919
|
-
export type RequestBody = Components.Schemas.Entity;
|
|
19920
|
-
namespace Responses {
|
|
19921
|
-
export interface $200 {
|
|
19922
|
-
data?: /* The portal user entity */ Components.Schemas.PortalUser;
|
|
19923
|
-
}
|
|
19924
|
-
export type $401 = Components.Responses.Unauthorized;
|
|
19925
|
-
export type $500 = Components.Responses.InternalServerError;
|
|
19926
|
-
}
|
|
19927
|
-
}
|
|
19928
20498
|
namespace UpdatePortalUserEmail {
|
|
19929
20499
|
export interface RequestBody {
|
|
19930
20500
|
/**
|
|
@@ -19960,6 +20530,25 @@ declare namespace Paths {
|
|
|
19960
20530
|
export type $500 = Components.Responses.InternalServerError;
|
|
19961
20531
|
}
|
|
19962
20532
|
}
|
|
20533
|
+
namespace UpdatePortalUserNotificationPreferences {
|
|
20534
|
+
/**
|
|
20535
|
+
* Channels to update. Omitted channels are left unchanged.
|
|
20536
|
+
*/
|
|
20537
|
+
export interface RequestBody {
|
|
20538
|
+
/**
|
|
20539
|
+
* Whether the portal user wants to receive in-app notifications.
|
|
20540
|
+
*/
|
|
20541
|
+
in_app?: boolean;
|
|
20542
|
+
}
|
|
20543
|
+
namespace Responses {
|
|
20544
|
+
export type $200 = /* Resolved notification preferences of a portal user. Notifications are opt-out: a channel that was never stored on the portal user resolves to enabled (true). */ Components.Schemas.PortalUserNotificationPreferences;
|
|
20545
|
+
export type $400 = Components.Responses.InvalidRequest;
|
|
20546
|
+
export type $401 = Components.Responses.Unauthorized;
|
|
20547
|
+
export type $403 = Components.Responses.Forbidden;
|
|
20548
|
+
export type $404 = Components.Responses.NotFound;
|
|
20549
|
+
export type $500 = Components.Responses.InternalServerError;
|
|
20550
|
+
}
|
|
20551
|
+
}
|
|
19963
20552
|
namespace UpdateWorkflowStepAsDone {
|
|
19964
20553
|
namespace Parameters {
|
|
19965
20554
|
/**
|
|
@@ -20316,6 +20905,48 @@ declare namespace Paths {
|
|
|
20316
20905
|
Parameters.BlockId /* uuid */;
|
|
20317
20906
|
}
|
|
20318
20907
|
}
|
|
20908
|
+
namespace V2PortalPages$IdBlocks$BlockIdDetach {
|
|
20909
|
+
namespace Parameters {
|
|
20910
|
+
/**
|
|
20911
|
+
* example:
|
|
20912
|
+
* c495fef9-eeca-4019-a989-8390dcd9825b
|
|
20913
|
+
*/
|
|
20914
|
+
export type BlockId = string; // uuid
|
|
20915
|
+
/**
|
|
20916
|
+
* example:
|
|
20917
|
+
* 5da0a718-c822-403d-9f5d-20d4584e0528
|
|
20918
|
+
*/
|
|
20919
|
+
export type Id = string; // uuid
|
|
20920
|
+
}
|
|
20921
|
+
export interface PathParameters {
|
|
20922
|
+
id: /**
|
|
20923
|
+
* example:
|
|
20924
|
+
* 5da0a718-c822-403d-9f5d-20d4584e0528
|
|
20925
|
+
*/
|
|
20926
|
+
Parameters.Id /* uuid */;
|
|
20927
|
+
block_id: /**
|
|
20928
|
+
* example:
|
|
20929
|
+
* c495fef9-eeca-4019-a989-8390dcd9825b
|
|
20930
|
+
*/
|
|
20931
|
+
Parameters.BlockId /* uuid */;
|
|
20932
|
+
}
|
|
20933
|
+
}
|
|
20934
|
+
namespace V2PortalPages$IdDetach {
|
|
20935
|
+
namespace Parameters {
|
|
20936
|
+
/**
|
|
20937
|
+
* example:
|
|
20938
|
+
* 5da0a718-c822-403d-9f5d-20d4584e0528
|
|
20939
|
+
*/
|
|
20940
|
+
export type Id = string; // uuid
|
|
20941
|
+
}
|
|
20942
|
+
export interface PathParameters {
|
|
20943
|
+
id: /**
|
|
20944
|
+
* example:
|
|
20945
|
+
* 5da0a718-c822-403d-9f5d-20d4584e0528
|
|
20946
|
+
*/
|
|
20947
|
+
Parameters.Id /* uuid */;
|
|
20948
|
+
}
|
|
20949
|
+
}
|
|
20319
20950
|
namespace ValidateCaaRecords {
|
|
20320
20951
|
namespace Parameters {
|
|
20321
20952
|
export type Origin = /* Origin of the portal */ Components.Schemas.Origin;
|
|
@@ -20776,8 +21407,8 @@ export interface OperationMethods {
|
|
|
20776
21407
|
* at `destination_template_id`. Intended to be called from the email-template
|
|
20777
21408
|
* migration flow when a duplicated template is refined.
|
|
20778
21409
|
*
|
|
20779
|
-
*
|
|
20780
|
-
* the portal IDs that were rewritten and any whose update failed.
|
|
21410
|
+
* Rows are keyed by portal id (`portal_sk_v3`); a row without one is skipped.
|
|
21411
|
+
* Returns the portal IDs that were rewritten and any whose update failed.
|
|
20781
21412
|
*
|
|
20782
21413
|
*/
|
|
20783
21414
|
'migrateEmailTemplateReferences'(
|
|
@@ -21001,7 +21632,9 @@ export interface OperationMethods {
|
|
|
21001
21632
|
/**
|
|
21002
21633
|
* updateContact - updateContact
|
|
21003
21634
|
*
|
|
21004
|
-
* Updates the contact
|
|
21635
|
+
* Updates the portal user's contact. Only the attributes in `PortalContactUpdate` can be changed;
|
|
21636
|
+
* other attributes are ignored. Returns 403 when the body has none of them.
|
|
21637
|
+
*
|
|
21005
21638
|
*/
|
|
21006
21639
|
'updateContact'(
|
|
21007
21640
|
parameters?: Parameters<UnknownParamsObject> | null,
|
|
@@ -21094,25 +21727,25 @@ export interface OperationMethods {
|
|
|
21094
21727
|
config?: AxiosRequestConfig
|
|
21095
21728
|
): OperationResponse<Paths.GetValidSecondaryAttributes.Responses.$200>
|
|
21096
21729
|
/**
|
|
21097
|
-
*
|
|
21730
|
+
* getPortalCopilotAccess - getPortalCopilotAccess
|
|
21098
21731
|
*
|
|
21099
|
-
*
|
|
21732
|
+
* Whether the signed-in portal user may use the portal chat. False when the chat is off for the portal, when the user does not match its target visibility, or when targets cannot be matched.
|
|
21100
21733
|
*/
|
|
21101
|
-
'
|
|
21734
|
+
'getPortalCopilotAccess'(
|
|
21102
21735
|
parameters?: Parameters<UnknownParamsObject> | null,
|
|
21103
21736
|
data?: any,
|
|
21104
21737
|
config?: AxiosRequestConfig
|
|
21105
|
-
): OperationResponse<Paths.
|
|
21738
|
+
): OperationResponse<Paths.GetPortalCopilotAccess.Responses.$200>
|
|
21106
21739
|
/**
|
|
21107
|
-
*
|
|
21740
|
+
* getPortalUser - getPortalUser
|
|
21108
21741
|
*
|
|
21109
|
-
*
|
|
21742
|
+
* Get the portal user details
|
|
21110
21743
|
*/
|
|
21111
|
-
'
|
|
21744
|
+
'getPortalUser'(
|
|
21112
21745
|
parameters?: Parameters<UnknownParamsObject> | null,
|
|
21113
|
-
data?:
|
|
21746
|
+
data?: any,
|
|
21114
21747
|
config?: AxiosRequestConfig
|
|
21115
|
-
): OperationResponse<Paths.
|
|
21748
|
+
): OperationResponse<Paths.GetPortalUser.Responses.$200>
|
|
21116
21749
|
/**
|
|
21117
21750
|
* deletePortalUser - deletePortalUser
|
|
21118
21751
|
*
|
|
@@ -21145,6 +21778,86 @@ export interface OperationMethods {
|
|
|
21145
21778
|
data?: Paths.ChangePortalUserPassword.RequestBody,
|
|
21146
21779
|
config?: AxiosRequestConfig
|
|
21147
21780
|
): OperationResponse<Paths.ChangePortalUserPassword.Responses.$200>
|
|
21781
|
+
/**
|
|
21782
|
+
* getPortalUserNotificationPreferences - getPortalUserNotificationPreferences
|
|
21783
|
+
*
|
|
21784
|
+
* Returns the notification preferences of the authenticated portal user. Notifications follow an opt-out model: a preference that was never stored on the portal user defaults to enabled (true). Responds 404 while the engagement-center v2 feature is not enabled for the organization.
|
|
21785
|
+
*/
|
|
21786
|
+
'getPortalUserNotificationPreferences'(
|
|
21787
|
+
parameters?: Parameters<UnknownParamsObject> | null,
|
|
21788
|
+
data?: any,
|
|
21789
|
+
config?: AxiosRequestConfig
|
|
21790
|
+
): OperationResponse<Paths.GetPortalUserNotificationPreferences.Responses.$200>
|
|
21791
|
+
/**
|
|
21792
|
+
* updatePortalUserNotificationPreferences - updatePortalUserNotificationPreferences
|
|
21793
|
+
*
|
|
21794
|
+
* Partially updates the notification preferences of the authenticated portal user. Only the channels present in the request body are changed; omitted channels keep their stored value (or the enabled-by-default behaviour when never set). Returns the resulting full preferences. Responds 404 while the engagement-center v2 feature is not enabled for the organization.
|
|
21795
|
+
*/
|
|
21796
|
+
'updatePortalUserNotificationPreferences'(
|
|
21797
|
+
parameters?: Parameters<UnknownParamsObject> | null,
|
|
21798
|
+
data?: Paths.UpdatePortalUserNotificationPreferences.RequestBody,
|
|
21799
|
+
config?: AxiosRequestConfig
|
|
21800
|
+
): OperationResponse<Paths.UpdatePortalUserNotificationPreferences.Responses.$200>
|
|
21801
|
+
/**
|
|
21802
|
+
* listPortalUserPasskeys - listPortalUserPasskeys
|
|
21803
|
+
*
|
|
21804
|
+
* Lists the passkeys the logged-in portal user has added.
|
|
21805
|
+
*/
|
|
21806
|
+
'listPortalUserPasskeys'(
|
|
21807
|
+
parameters?: Parameters<UnknownParamsObject> | null,
|
|
21808
|
+
data?: any,
|
|
21809
|
+
config?: AxiosRequestConfig
|
|
21810
|
+
): OperationResponse<Paths.ListPortalUserPasskeys.Responses.$200>
|
|
21811
|
+
/**
|
|
21812
|
+
* addPortalUserPasskey - addPortalUserPasskey
|
|
21813
|
+
*
|
|
21814
|
+
* Stores a new passkey for the logged-in portal user.
|
|
21815
|
+
* Send the browser's `navigator.credentials.create()` result for options from `createPortalUserPasskeyRegistrationOptions`.
|
|
21816
|
+
* Only available when `auth_settings.passkeys.enabled` is set for the portal.
|
|
21817
|
+
*
|
|
21818
|
+
*/
|
|
21819
|
+
'addPortalUserPasskey'(
|
|
21820
|
+
parameters?: Parameters<UnknownParamsObject> | null,
|
|
21821
|
+
data?: Paths.AddPortalUserPasskey.RequestBody,
|
|
21822
|
+
config?: AxiosRequestConfig
|
|
21823
|
+
): OperationResponse<Paths.AddPortalUserPasskey.Responses.$201>
|
|
21824
|
+
/**
|
|
21825
|
+
* createPortalUserPasskeyRegistrationOptions - createPortalUserPasskeyRegistrationOptions
|
|
21826
|
+
*
|
|
21827
|
+
* Returns WebAuthn options for `navigator.credentials.create()` to add a passkey for the logged-in portal user.
|
|
21828
|
+
* Needs the code from `sendPortalUserPasskeyVerificationCode`, so a session alone can't add a passkey; the code is used up here.
|
|
21829
|
+
* The passkey is bound to the domain in the request's `Origin` header, which must be one of the portal's domains.
|
|
21830
|
+
* Only available when `auth_settings.passkeys.enabled` is set for the portal.
|
|
21831
|
+
*
|
|
21832
|
+
*/
|
|
21833
|
+
'createPortalUserPasskeyRegistrationOptions'(
|
|
21834
|
+
parameters?: Parameters<UnknownParamsObject> | null,
|
|
21835
|
+
data?: Paths.CreatePortalUserPasskeyRegistrationOptions.RequestBody,
|
|
21836
|
+
config?: AxiosRequestConfig
|
|
21837
|
+
): OperationResponse<Paths.CreatePortalUserPasskeyRegistrationOptions.Responses.$200>
|
|
21838
|
+
/**
|
|
21839
|
+
* sendPortalUserPasskeyVerificationCode - sendPortalUserPasskeyVerificationCode
|
|
21840
|
+
*
|
|
21841
|
+
* Emails the logged-in portal user a 6-digit code needed to add a passkey (`createPortalUserPasskeyRegistrationOptions`).
|
|
21842
|
+
* The code is valid for 10 minutes and allows 5 attempts; a new code replaces the previous one and can be requested once a minute.
|
|
21843
|
+
* Only available when `auth_settings.passkeys.enabled` is set for the portal.
|
|
21844
|
+
*
|
|
21845
|
+
*/
|
|
21846
|
+
'sendPortalUserPasskeyVerificationCode'(
|
|
21847
|
+
parameters?: Parameters<UnknownParamsObject> | null,
|
|
21848
|
+
data?: any,
|
|
21849
|
+
config?: AxiosRequestConfig
|
|
21850
|
+
): OperationResponse<Paths.SendPortalUserPasskeyVerificationCode.Responses.$204>
|
|
21851
|
+
/**
|
|
21852
|
+
* deletePortalUserPasskey - deletePortalUserPasskey
|
|
21853
|
+
*
|
|
21854
|
+
* Removes one of the logged-in portal user's passkeys. Works even when passkeys are turned off for the portal.
|
|
21855
|
+
*/
|
|
21856
|
+
'deletePortalUserPasskey'(
|
|
21857
|
+
parameters?: Parameters<Paths.DeletePortalUserPasskey.PathParameters> | null,
|
|
21858
|
+
data?: any,
|
|
21859
|
+
config?: AxiosRequestConfig
|
|
21860
|
+
): OperationResponse<Paths.DeletePortalUserPasskey.Responses.$204>
|
|
21148
21861
|
/**
|
|
21149
21862
|
* resendConfirmationEmail - resendConfirmationEmail
|
|
21150
21863
|
*
|
|
@@ -21269,16 +21982,6 @@ export interface OperationMethods {
|
|
|
21269
21982
|
data?: any,
|
|
21270
21983
|
config?: AxiosRequestConfig
|
|
21271
21984
|
): OperationResponse<Paths.GetOrder.Responses.$200>
|
|
21272
|
-
/**
|
|
21273
|
-
* updateOrder - updateOrder
|
|
21274
|
-
*
|
|
21275
|
-
* Update an order by id. Use getPortalUserEntity instead.
|
|
21276
|
-
*/
|
|
21277
|
-
'updateOrder'(
|
|
21278
|
-
parameters?: Parameters<Paths.UpdateOrder.PathParameters> | null,
|
|
21279
|
-
data?: Paths.UpdateOrder.RequestBody,
|
|
21280
|
-
config?: AxiosRequestConfig
|
|
21281
|
-
): OperationResponse<Paths.UpdateOrder.Responses.$200>
|
|
21282
21985
|
/**
|
|
21283
21986
|
* getAllOpportunities - getAllOpportunities
|
|
21284
21987
|
*
|
|
@@ -21319,16 +22022,6 @@ export interface OperationMethods {
|
|
|
21319
22022
|
data?: any,
|
|
21320
22023
|
config?: AxiosRequestConfig
|
|
21321
22024
|
): OperationResponse<Paths.GetOpportunity.Responses.$200>
|
|
21322
|
-
/**
|
|
21323
|
-
* updateOpportunity - updateOpportunity
|
|
21324
|
-
*
|
|
21325
|
-
* Update an opportunity by id.
|
|
21326
|
-
*/
|
|
21327
|
-
'updateOpportunity'(
|
|
21328
|
-
parameters?: Parameters<Paths.UpdateOpportunity.PathParameters> | null,
|
|
21329
|
-
data?: Paths.UpdateOpportunity.RequestBody,
|
|
21330
|
-
config?: AxiosRequestConfig
|
|
21331
|
-
): OperationResponse<Paths.UpdateOpportunity.Responses.$200>
|
|
21332
22025
|
/**
|
|
21333
22026
|
* getAllRequests - getAllRequests
|
|
21334
22027
|
*
|
|
@@ -21362,7 +22055,9 @@ export interface OperationMethods {
|
|
|
21362
22055
|
/**
|
|
21363
22056
|
* updateContract - updateContract
|
|
21364
22057
|
*
|
|
21365
|
-
*
|
|
22058
|
+
* Updates a contract of the portal user. Only the attributes in `PortalContractUpdate` can be changed;
|
|
22059
|
+
* other attributes are ignored. Returns 403 when the body has none of them.
|
|
22060
|
+
*
|
|
21366
22061
|
*/
|
|
21367
22062
|
'updateContract'(
|
|
21368
22063
|
parameters?: Parameters<Paths.UpdateContract.PathParameters> | null,
|
|
@@ -21383,16 +22078,9 @@ export interface OperationMethods {
|
|
|
21383
22078
|
* addContractByIdentifiers - addContractByIdentifiers
|
|
21384
22079
|
*
|
|
21385
22080
|
* Self-assign contract(s) by pre-configured identifiers.
|
|
21386
|
-
*
|
|
21387
|
-
* When the portal is configured to wait on the Integration Toolkit
|
|
21388
|
-
* (`extension_hooks.contractIdentification.wait_for_toolkit`) and the ERP has not finished
|
|
21389
|
-
* sending within the request budget, the call fails with 404 and `reason: TIMEOUT`, carrying
|
|
21390
|
-
* the `correlation_id` of the triggered sync. Repeating the call with that `correlation_id`
|
|
21391
|
-
* keeps waiting on the same correlation without calling the third party again.
|
|
21392
|
-
*
|
|
21393
22081
|
*/
|
|
21394
22082
|
'addContractByIdentifiers'(
|
|
21395
|
-
parameters?: Parameters<
|
|
22083
|
+
parameters?: Parameters<UnknownParamsObject> | null,
|
|
21396
22084
|
data?: Paths.AddContractByIdentifiers.RequestBody,
|
|
21397
22085
|
config?: AxiosRequestConfig
|
|
21398
22086
|
): OperationResponse<Paths.AddContractByIdentifiers.Responses.$200>
|
|
@@ -21459,16 +22147,6 @@ export interface OperationMethods {
|
|
|
21459
22147
|
data?: Paths.SaveEntityFile.RequestBody,
|
|
21460
22148
|
config?: AxiosRequestConfig
|
|
21461
22149
|
): OperationResponse<Paths.SaveEntityFile.Responses.$201>
|
|
21462
|
-
/**
|
|
21463
|
-
* deleteEntityFile - deleteEntityFile
|
|
21464
|
-
*
|
|
21465
|
-
* Delete files from an entity
|
|
21466
|
-
*/
|
|
21467
|
-
'deleteEntityFile'(
|
|
21468
|
-
parameters?: Parameters<UnknownParamsObject> | null,
|
|
21469
|
-
data?: Paths.DeleteEntityFile.RequestBody,
|
|
21470
|
-
config?: AxiosRequestConfig
|
|
21471
|
-
): OperationResponse<Paths.DeleteEntityFile.Responses.$202>
|
|
21472
22150
|
/**
|
|
21473
22151
|
* savePortalFiles - savePortalFiles
|
|
21474
22152
|
*
|
|
@@ -21581,6 +22259,10 @@ export interface OperationMethods {
|
|
|
21581
22259
|
* 2. Using domain
|
|
21582
22260
|
* 3. Using origin (legacy)
|
|
21583
22261
|
*
|
|
22262
|
+
* A partner user can log in as a portal user the vendor shared with their organization by sending
|
|
22263
|
+
* `x-epilot-org-id: <vendor org id>` with a `portal_id`. This needs `portal:login_as_user` on that portal in the
|
|
22264
|
+
* partner role and the portal user shared with the partner organization.
|
|
22265
|
+
*
|
|
21584
22266
|
*/
|
|
21585
22267
|
'loginToPortalAsUser'(
|
|
21586
22268
|
parameters?: Parameters<UnknownParamsObject> | null,
|
|
@@ -21696,7 +22378,7 @@ export interface OperationMethods {
|
|
|
21696
22378
|
/**
|
|
21697
22379
|
* getOutstandingTasks - Get outstanding workflow tasks for the portal user
|
|
21698
22380
|
*
|
|
21699
|
-
* Returns all outstanding workflow journey tasks for the authenticated portal user, across their opportunity, order and contract entities. Each task is an active workflow step that exposes a journey the customer still needs to fill out.
|
|
22381
|
+
* Returns all outstanding workflow journey tasks for the authenticated portal user, across their opportunity, order and contract entities. Each task is an active workflow step that exposes a journey the customer still needs to fill out. A step whose start date still lies in the future is left out until that date.
|
|
21700
22382
|
*/
|
|
21701
22383
|
'getOutstandingTasks'(
|
|
21702
22384
|
parameters?: Parameters<UnknownParamsObject> | null,
|
|
@@ -21917,6 +22599,28 @@ export interface OperationMethods {
|
|
|
21917
22599
|
data?: any,
|
|
21918
22600
|
config?: AxiosRequestConfig
|
|
21919
22601
|
): OperationResponse<Paths.DeletePortalPage.Responses.$204>
|
|
22602
|
+
/**
|
|
22603
|
+
* detachPortalPage - detachPortalPage
|
|
22604
|
+
*
|
|
22605
|
+
* Detach a blueprint-managed page from its blueprint. The page and all of its blocks become local (editable, no longer updated by the blueprint) and the page's lineage is tombstoned on the portal so future syncs skip it. One-way. Idempotent for pages that are not managed.
|
|
22606
|
+
*
|
|
22607
|
+
*/
|
|
22608
|
+
'detachPortalPage'(
|
|
22609
|
+
parameters?: Parameters<Paths.V2PortalPages$IdDetach.PathParameters> | null,
|
|
22610
|
+
data?: any,
|
|
22611
|
+
config?: AxiosRequestConfig
|
|
22612
|
+
): OperationResponse<Paths.DetachPortalPage.Responses.$200>
|
|
22613
|
+
/**
|
|
22614
|
+
* detachPortalPageBlock - detachPortalPageBlock
|
|
22615
|
+
*
|
|
22616
|
+
* Detach a blueprint-managed block. The block becomes the customer's and its lineage is tombstoned on the page so future syncs skip it. A managed page stays managed and keeps receiving blueprint updates for everything else. One-way. Idempotent for blocks that are not managed.
|
|
22617
|
+
*
|
|
22618
|
+
*/
|
|
22619
|
+
'detachPortalPageBlock'(
|
|
22620
|
+
parameters?: Parameters<Paths.V2PortalPages$IdBlocks$BlockIdDetach.PathParameters> | null,
|
|
22621
|
+
data?: any,
|
|
22622
|
+
config?: AxiosRequestConfig
|
|
22623
|
+
): OperationResponse<Paths.DetachPortalPageBlock.Responses.$200>
|
|
21920
22624
|
/**
|
|
21921
22625
|
* getPortalPages - getPortalPages
|
|
21922
22626
|
*
|
|
@@ -22231,6 +22935,21 @@ export interface OperationMethods {
|
|
|
22231
22935
|
data?: Paths.UpdatePortalRevision.RequestBody,
|
|
22232
22936
|
config?: AxiosRequestConfig
|
|
22233
22937
|
): OperationResponse<Paths.UpdatePortalRevision.Responses.$200>
|
|
22938
|
+
/**
|
|
22939
|
+
* createPortalRevisionPreview - createPortalRevisionPreview
|
|
22940
|
+
*
|
|
22941
|
+
* Mints a short-lived preview token for one revision and returns a link that opens the revision inside the real end-customer portal, on the portal's live domain, without publishing it.
|
|
22942
|
+
*
|
|
22943
|
+
* The portal sends the token back in the `x-portal-preview-token` header. Public and portal-user config, page, widget and extension reads that honour it answer with the revision's config and pages instead of the live ones and add `preview_revision` to config responses. Server-owned fields (ids, domains, Cognito pool identifiers, extension secrets) always come from the live portal. Nothing is written: the live portal, its pages and which revision is published stay as they are.
|
|
22944
|
+
*
|
|
22945
|
+
* Requires view permission on the portal. Returns `404` when portal versioning or revision preview is not enabled for the organization, or when the revision does not exist.
|
|
22946
|
+
*
|
|
22947
|
+
*/
|
|
22948
|
+
'createPortalRevisionPreview'(
|
|
22949
|
+
parameters?: Parameters<Paths.CreatePortalRevisionPreview.PathParameters> | null,
|
|
22950
|
+
data?: any,
|
|
22951
|
+
config?: AxiosRequestConfig
|
|
22952
|
+
): OperationResponse<Paths.CreatePortalRevisionPreview.Responses.$200>
|
|
22234
22953
|
/**
|
|
22235
22954
|
* publishPortalRevision - publishPortalRevision
|
|
22236
22955
|
*
|
|
@@ -22790,8 +23509,8 @@ export interface PathsDictionary {
|
|
|
22790
23509
|
* at `destination_template_id`. Intended to be called from the email-template
|
|
22791
23510
|
* migration flow when a duplicated template is refined.
|
|
22792
23511
|
*
|
|
22793
|
-
*
|
|
22794
|
-
* the portal IDs that were rewritten and any whose update failed.
|
|
23512
|
+
* Rows are keyed by portal id (`portal_sk_v3`); a row without one is skipped.
|
|
23513
|
+
* Returns the portal IDs that were rewritten and any whose update failed.
|
|
22795
23514
|
*
|
|
22796
23515
|
*/
|
|
22797
23516
|
'post'(
|
|
@@ -23049,7 +23768,9 @@ export interface PathsDictionary {
|
|
|
23049
23768
|
/**
|
|
23050
23769
|
* updateContact - updateContact
|
|
23051
23770
|
*
|
|
23052
|
-
* Updates the contact
|
|
23771
|
+
* Updates the portal user's contact. Only the attributes in `PortalContactUpdate` can be changed;
|
|
23772
|
+
* other attributes are ignored. Returns 403 when the body has none of them.
|
|
23773
|
+
*
|
|
23053
23774
|
*/
|
|
23054
23775
|
'patch'(
|
|
23055
23776
|
parameters?: Parameters<UnknownParamsObject> | null,
|
|
@@ -23154,27 +23875,29 @@ export interface PathsDictionary {
|
|
|
23154
23875
|
config?: AxiosRequestConfig
|
|
23155
23876
|
): OperationResponse<Paths.GetValidSecondaryAttributes.Responses.$200>
|
|
23156
23877
|
}
|
|
23157
|
-
['/v2/portal/
|
|
23878
|
+
['/v2/portal/copilot/access']: {
|
|
23158
23879
|
/**
|
|
23159
|
-
*
|
|
23880
|
+
* getPortalCopilotAccess - getPortalCopilotAccess
|
|
23160
23881
|
*
|
|
23161
|
-
*
|
|
23882
|
+
* Whether the signed-in portal user may use the portal chat. False when the chat is off for the portal, when the user does not match its target visibility, or when targets cannot be matched.
|
|
23162
23883
|
*/
|
|
23163
23884
|
'get'(
|
|
23164
23885
|
parameters?: Parameters<UnknownParamsObject> | null,
|
|
23165
23886
|
data?: any,
|
|
23166
23887
|
config?: AxiosRequestConfig
|
|
23167
|
-
): OperationResponse<Paths.
|
|
23888
|
+
): OperationResponse<Paths.GetPortalCopilotAccess.Responses.$200>
|
|
23889
|
+
}
|
|
23890
|
+
['/v2/portal/user']: {
|
|
23168
23891
|
/**
|
|
23169
|
-
*
|
|
23892
|
+
* getPortalUser - getPortalUser
|
|
23170
23893
|
*
|
|
23171
|
-
*
|
|
23894
|
+
* Get the portal user details
|
|
23172
23895
|
*/
|
|
23173
|
-
'
|
|
23896
|
+
'get'(
|
|
23174
23897
|
parameters?: Parameters<UnknownParamsObject> | null,
|
|
23175
|
-
data?:
|
|
23898
|
+
data?: any,
|
|
23176
23899
|
config?: AxiosRequestConfig
|
|
23177
|
-
): OperationResponse<Paths.
|
|
23900
|
+
): OperationResponse<Paths.GetPortalUser.Responses.$200>
|
|
23178
23901
|
/**
|
|
23179
23902
|
* deletePortalUser - deletePortalUser
|
|
23180
23903
|
*
|
|
@@ -23212,6 +23935,96 @@ export interface PathsDictionary {
|
|
|
23212
23935
|
config?: AxiosRequestConfig
|
|
23213
23936
|
): OperationResponse<Paths.ChangePortalUserPassword.Responses.$200>
|
|
23214
23937
|
}
|
|
23938
|
+
['/v2/portal/user/notification-preferences']: {
|
|
23939
|
+
/**
|
|
23940
|
+
* getPortalUserNotificationPreferences - getPortalUserNotificationPreferences
|
|
23941
|
+
*
|
|
23942
|
+
* Returns the notification preferences of the authenticated portal user. Notifications follow an opt-out model: a preference that was never stored on the portal user defaults to enabled (true). Responds 404 while the engagement-center v2 feature is not enabled for the organization.
|
|
23943
|
+
*/
|
|
23944
|
+
'get'(
|
|
23945
|
+
parameters?: Parameters<UnknownParamsObject> | null,
|
|
23946
|
+
data?: any,
|
|
23947
|
+
config?: AxiosRequestConfig
|
|
23948
|
+
): OperationResponse<Paths.GetPortalUserNotificationPreferences.Responses.$200>
|
|
23949
|
+
/**
|
|
23950
|
+
* updatePortalUserNotificationPreferences - updatePortalUserNotificationPreferences
|
|
23951
|
+
*
|
|
23952
|
+
* Partially updates the notification preferences of the authenticated portal user. Only the channels present in the request body are changed; omitted channels keep their stored value (or the enabled-by-default behaviour when never set). Returns the resulting full preferences. Responds 404 while the engagement-center v2 feature is not enabled for the organization.
|
|
23953
|
+
*/
|
|
23954
|
+
'put'(
|
|
23955
|
+
parameters?: Parameters<UnknownParamsObject> | null,
|
|
23956
|
+
data?: Paths.UpdatePortalUserNotificationPreferences.RequestBody,
|
|
23957
|
+
config?: AxiosRequestConfig
|
|
23958
|
+
): OperationResponse<Paths.UpdatePortalUserNotificationPreferences.Responses.$200>
|
|
23959
|
+
}
|
|
23960
|
+
['/v2/portal/user/passkeys']: {
|
|
23961
|
+
/**
|
|
23962
|
+
* listPortalUserPasskeys - listPortalUserPasskeys
|
|
23963
|
+
*
|
|
23964
|
+
* Lists the passkeys the logged-in portal user has added.
|
|
23965
|
+
*/
|
|
23966
|
+
'get'(
|
|
23967
|
+
parameters?: Parameters<UnknownParamsObject> | null,
|
|
23968
|
+
data?: any,
|
|
23969
|
+
config?: AxiosRequestConfig
|
|
23970
|
+
): OperationResponse<Paths.ListPortalUserPasskeys.Responses.$200>
|
|
23971
|
+
/**
|
|
23972
|
+
* addPortalUserPasskey - addPortalUserPasskey
|
|
23973
|
+
*
|
|
23974
|
+
* Stores a new passkey for the logged-in portal user.
|
|
23975
|
+
* Send the browser's `navigator.credentials.create()` result for options from `createPortalUserPasskeyRegistrationOptions`.
|
|
23976
|
+
* Only available when `auth_settings.passkeys.enabled` is set for the portal.
|
|
23977
|
+
*
|
|
23978
|
+
*/
|
|
23979
|
+
'post'(
|
|
23980
|
+
parameters?: Parameters<UnknownParamsObject> | null,
|
|
23981
|
+
data?: Paths.AddPortalUserPasskey.RequestBody,
|
|
23982
|
+
config?: AxiosRequestConfig
|
|
23983
|
+
): OperationResponse<Paths.AddPortalUserPasskey.Responses.$201>
|
|
23984
|
+
}
|
|
23985
|
+
['/v2/portal/user/passkeys/registration-options']: {
|
|
23986
|
+
/**
|
|
23987
|
+
* createPortalUserPasskeyRegistrationOptions - createPortalUserPasskeyRegistrationOptions
|
|
23988
|
+
*
|
|
23989
|
+
* Returns WebAuthn options for `navigator.credentials.create()` to add a passkey for the logged-in portal user.
|
|
23990
|
+
* Needs the code from `sendPortalUserPasskeyVerificationCode`, so a session alone can't add a passkey; the code is used up here.
|
|
23991
|
+
* The passkey is bound to the domain in the request's `Origin` header, which must be one of the portal's domains.
|
|
23992
|
+
* Only available when `auth_settings.passkeys.enabled` is set for the portal.
|
|
23993
|
+
*
|
|
23994
|
+
*/
|
|
23995
|
+
'post'(
|
|
23996
|
+
parameters?: Parameters<UnknownParamsObject> | null,
|
|
23997
|
+
data?: Paths.CreatePortalUserPasskeyRegistrationOptions.RequestBody,
|
|
23998
|
+
config?: AxiosRequestConfig
|
|
23999
|
+
): OperationResponse<Paths.CreatePortalUserPasskeyRegistrationOptions.Responses.$200>
|
|
24000
|
+
}
|
|
24001
|
+
['/v2/portal/user/passkeys/verification-code']: {
|
|
24002
|
+
/**
|
|
24003
|
+
* sendPortalUserPasskeyVerificationCode - sendPortalUserPasskeyVerificationCode
|
|
24004
|
+
*
|
|
24005
|
+
* Emails the logged-in portal user a 6-digit code needed to add a passkey (`createPortalUserPasskeyRegistrationOptions`).
|
|
24006
|
+
* The code is valid for 10 minutes and allows 5 attempts; a new code replaces the previous one and can be requested once a minute.
|
|
24007
|
+
* Only available when `auth_settings.passkeys.enabled` is set for the portal.
|
|
24008
|
+
*
|
|
24009
|
+
*/
|
|
24010
|
+
'post'(
|
|
24011
|
+
parameters?: Parameters<UnknownParamsObject> | null,
|
|
24012
|
+
data?: any,
|
|
24013
|
+
config?: AxiosRequestConfig
|
|
24014
|
+
): OperationResponse<Paths.SendPortalUserPasskeyVerificationCode.Responses.$204>
|
|
24015
|
+
}
|
|
24016
|
+
['/v2/portal/user/passkeys/{credential_id}']: {
|
|
24017
|
+
/**
|
|
24018
|
+
* deletePortalUserPasskey - deletePortalUserPasskey
|
|
24019
|
+
*
|
|
24020
|
+
* Removes one of the logged-in portal user's passkeys. Works even when passkeys are turned off for the portal.
|
|
24021
|
+
*/
|
|
24022
|
+
'delete'(
|
|
24023
|
+
parameters?: Parameters<Paths.DeletePortalUserPasskey.PathParameters> | null,
|
|
24024
|
+
data?: any,
|
|
24025
|
+
config?: AxiosRequestConfig
|
|
24026
|
+
): OperationResponse<Paths.DeletePortalUserPasskey.Responses.$204>
|
|
24027
|
+
}
|
|
23215
24028
|
['/v2/portal/user/resend/confirmation-email/{id}']: {
|
|
23216
24029
|
/**
|
|
23217
24030
|
* resendConfirmationEmail - resendConfirmationEmail
|
|
@@ -23359,16 +24172,6 @@ export interface PathsDictionary {
|
|
|
23359
24172
|
data?: any,
|
|
23360
24173
|
config?: AxiosRequestConfig
|
|
23361
24174
|
): OperationResponse<Paths.GetOrder.Responses.$200>
|
|
23362
|
-
/**
|
|
23363
|
-
* updateOrder - updateOrder
|
|
23364
|
-
*
|
|
23365
|
-
* Update an order by id. Use getPortalUserEntity instead.
|
|
23366
|
-
*/
|
|
23367
|
-
'patch'(
|
|
23368
|
-
parameters?: Parameters<Paths.UpdateOrder.PathParameters> | null,
|
|
23369
|
-
data?: Paths.UpdateOrder.RequestBody,
|
|
23370
|
-
config?: AxiosRequestConfig
|
|
23371
|
-
): OperationResponse<Paths.UpdateOrder.Responses.$200>
|
|
23372
24175
|
}
|
|
23373
24176
|
['/v2/portal/opportunity']: {
|
|
23374
24177
|
/**
|
|
@@ -23417,16 +24220,6 @@ export interface PathsDictionary {
|
|
|
23417
24220
|
data?: any,
|
|
23418
24221
|
config?: AxiosRequestConfig
|
|
23419
24222
|
): OperationResponse<Paths.GetOpportunity.Responses.$200>
|
|
23420
|
-
/**
|
|
23421
|
-
* updateOpportunity - updateOpportunity
|
|
23422
|
-
*
|
|
23423
|
-
* Update an opportunity by id.
|
|
23424
|
-
*/
|
|
23425
|
-
'patch'(
|
|
23426
|
-
parameters?: Parameters<Paths.UpdateOpportunity.PathParameters> | null,
|
|
23427
|
-
data?: Paths.UpdateOpportunity.RequestBody,
|
|
23428
|
-
config?: AxiosRequestConfig
|
|
23429
|
-
): OperationResponse<Paths.UpdateOpportunity.Responses.$200>
|
|
23430
24223
|
}
|
|
23431
24224
|
['/v2/portal/request']: {
|
|
23432
24225
|
/**
|
|
@@ -23466,7 +24259,9 @@ export interface PathsDictionary {
|
|
|
23466
24259
|
/**
|
|
23467
24260
|
* updateContract - updateContract
|
|
23468
24261
|
*
|
|
23469
|
-
*
|
|
24262
|
+
* Updates a contract of the portal user. Only the attributes in `PortalContractUpdate` can be changed;
|
|
24263
|
+
* other attributes are ignored. Returns 403 when the body has none of them.
|
|
24264
|
+
*
|
|
23470
24265
|
*/
|
|
23471
24266
|
'patch'(
|
|
23472
24267
|
parameters?: Parameters<Paths.UpdateContract.PathParameters> | null,
|
|
@@ -23491,16 +24286,9 @@ export interface PathsDictionary {
|
|
|
23491
24286
|
* addContractByIdentifiers - addContractByIdentifiers
|
|
23492
24287
|
*
|
|
23493
24288
|
* Self-assign contract(s) by pre-configured identifiers.
|
|
23494
|
-
*
|
|
23495
|
-
* When the portal is configured to wait on the Integration Toolkit
|
|
23496
|
-
* (`extension_hooks.contractIdentification.wait_for_toolkit`) and the ERP has not finished
|
|
23497
|
-
* sending within the request budget, the call fails with 404 and `reason: TIMEOUT`, carrying
|
|
23498
|
-
* the `correlation_id` of the triggered sync. Repeating the call with that `correlation_id`
|
|
23499
|
-
* keeps waiting on the same correlation without calling the third party again.
|
|
23500
|
-
*
|
|
23501
24289
|
*/
|
|
23502
24290
|
'post'(
|
|
23503
|
-
parameters?: Parameters<
|
|
24291
|
+
parameters?: Parameters<UnknownParamsObject> | null,
|
|
23504
24292
|
data?: Paths.AddContractByIdentifiers.RequestBody,
|
|
23505
24293
|
config?: AxiosRequestConfig
|
|
23506
24294
|
): OperationResponse<Paths.AddContractByIdentifiers.Responses.$200>
|
|
@@ -23579,16 +24367,6 @@ export interface PathsDictionary {
|
|
|
23579
24367
|
data?: Paths.SaveEntityFile.RequestBody,
|
|
23580
24368
|
config?: AxiosRequestConfig
|
|
23581
24369
|
): OperationResponse<Paths.SaveEntityFile.Responses.$201>
|
|
23582
|
-
/**
|
|
23583
|
-
* deleteEntityFile - deleteEntityFile
|
|
23584
|
-
*
|
|
23585
|
-
* Delete files from an entity
|
|
23586
|
-
*/
|
|
23587
|
-
'delete'(
|
|
23588
|
-
parameters?: Parameters<UnknownParamsObject> | null,
|
|
23589
|
-
data?: Paths.DeleteEntityFile.RequestBody,
|
|
23590
|
-
config?: AxiosRequestConfig
|
|
23591
|
-
): OperationResponse<Paths.DeleteEntityFile.Responses.$202>
|
|
23592
24370
|
}
|
|
23593
24371
|
['/v2/portal/portal/files']: {
|
|
23594
24372
|
/**
|
|
@@ -23723,6 +24501,10 @@ export interface PathsDictionary {
|
|
|
23723
24501
|
* 2. Using domain
|
|
23724
24502
|
* 3. Using origin (legacy)
|
|
23725
24503
|
*
|
|
24504
|
+
* A partner user can log in as a portal user the vendor shared with their organization by sending
|
|
24505
|
+
* `x-epilot-org-id: <vendor org id>` with a `portal_id`. This needs `portal:login_as_user` on that portal in the
|
|
24506
|
+
* partner role and the portal user shared with the partner organization.
|
|
24507
|
+
*
|
|
23726
24508
|
*/
|
|
23727
24509
|
'post'(
|
|
23728
24510
|
parameters?: Parameters<UnknownParamsObject> | null,
|
|
@@ -23860,7 +24642,7 @@ export interface PathsDictionary {
|
|
|
23860
24642
|
/**
|
|
23861
24643
|
* getOutstandingTasks - Get outstanding workflow tasks for the portal user
|
|
23862
24644
|
*
|
|
23863
|
-
* Returns all outstanding workflow journey tasks for the authenticated portal user, across their opportunity, order and contract entities. Each task is an active workflow step that exposes a journey the customer still needs to fill out.
|
|
24645
|
+
* Returns all outstanding workflow journey tasks for the authenticated portal user, across their opportunity, order and contract entities. Each task is an active workflow step that exposes a journey the customer still needs to fill out. A step whose start date still lies in the future is left out until that date.
|
|
23864
24646
|
*/
|
|
23865
24647
|
'get'(
|
|
23866
24648
|
parameters?: Parameters<UnknownParamsObject> | null,
|
|
@@ -24108,6 +24890,32 @@ export interface PathsDictionary {
|
|
|
24108
24890
|
config?: AxiosRequestConfig
|
|
24109
24891
|
): OperationResponse<Paths.DeletePortalPage.Responses.$204>
|
|
24110
24892
|
}
|
|
24893
|
+
['/v2/portal/pages/{id}/detach']: {
|
|
24894
|
+
/**
|
|
24895
|
+
* detachPortalPage - detachPortalPage
|
|
24896
|
+
*
|
|
24897
|
+
* Detach a blueprint-managed page from its blueprint. The page and all of its blocks become local (editable, no longer updated by the blueprint) and the page's lineage is tombstoned on the portal so future syncs skip it. One-way. Idempotent for pages that are not managed.
|
|
24898
|
+
*
|
|
24899
|
+
*/
|
|
24900
|
+
'post'(
|
|
24901
|
+
parameters?: Parameters<Paths.V2PortalPages$IdDetach.PathParameters> | null,
|
|
24902
|
+
data?: any,
|
|
24903
|
+
config?: AxiosRequestConfig
|
|
24904
|
+
): OperationResponse<Paths.DetachPortalPage.Responses.$200>
|
|
24905
|
+
}
|
|
24906
|
+
['/v2/portal/pages/{id}/blocks/{block_id}/detach']: {
|
|
24907
|
+
/**
|
|
24908
|
+
* detachPortalPageBlock - detachPortalPageBlock
|
|
24909
|
+
*
|
|
24910
|
+
* Detach a blueprint-managed block. The block becomes the customer's and its lineage is tombstoned on the page so future syncs skip it. A managed page stays managed and keeps receiving blueprint updates for everything else. One-way. Idempotent for blocks that are not managed.
|
|
24911
|
+
*
|
|
24912
|
+
*/
|
|
24913
|
+
'post'(
|
|
24914
|
+
parameters?: Parameters<Paths.V2PortalPages$IdBlocks$BlockIdDetach.PathParameters> | null,
|
|
24915
|
+
data?: any,
|
|
24916
|
+
config?: AxiosRequestConfig
|
|
24917
|
+
): OperationResponse<Paths.DetachPortalPageBlock.Responses.$200>
|
|
24918
|
+
}
|
|
24111
24919
|
['/v2/portal/pages']: {
|
|
24112
24920
|
/**
|
|
24113
24921
|
* getPortalPages - getPortalPages
|
|
@@ -24464,6 +25272,23 @@ export interface PathsDictionary {
|
|
|
24464
25272
|
config?: AxiosRequestConfig
|
|
24465
25273
|
): OperationResponse<Paths.UpdatePortalRevision.Responses.$200>
|
|
24466
25274
|
}
|
|
25275
|
+
['/v3/portal/config/{portal_id}/revisions/{revision_id}:preview']: {
|
|
25276
|
+
/**
|
|
25277
|
+
* createPortalRevisionPreview - createPortalRevisionPreview
|
|
25278
|
+
*
|
|
25279
|
+
* Mints a short-lived preview token for one revision and returns a link that opens the revision inside the real end-customer portal, on the portal's live domain, without publishing it.
|
|
25280
|
+
*
|
|
25281
|
+
* The portal sends the token back in the `x-portal-preview-token` header. Public and portal-user config, page, widget and extension reads that honour it answer with the revision's config and pages instead of the live ones and add `preview_revision` to config responses. Server-owned fields (ids, domains, Cognito pool identifiers, extension secrets) always come from the live portal. Nothing is written: the live portal, its pages and which revision is published stay as they are.
|
|
25282
|
+
*
|
|
25283
|
+
* Requires view permission on the portal. Returns `404` when portal versioning or revision preview is not enabled for the organization, or when the revision does not exist.
|
|
25284
|
+
*
|
|
25285
|
+
*/
|
|
25286
|
+
'post'(
|
|
25287
|
+
parameters?: Parameters<Paths.CreatePortalRevisionPreview.PathParameters> | null,
|
|
25288
|
+
data?: any,
|
|
25289
|
+
config?: AxiosRequestConfig
|
|
25290
|
+
): OperationResponse<Paths.CreatePortalRevisionPreview.Responses.$200>
|
|
25291
|
+
}
|
|
24467
25292
|
['/v3/portal/config/{portal_id}/publish']: {
|
|
24468
25293
|
/**
|
|
24469
25294
|
* publishPortalRevision - publishPortalRevision
|
|
@@ -24707,11 +25532,11 @@ export type CreateSupportRequest = Components.Schemas.CreateSupportRequest;
|
|
|
24707
25532
|
export type CreateUserRequest = Components.Schemas.CreateUserRequest;
|
|
24708
25533
|
export type Currency = Components.Schemas.Currency;
|
|
24709
25534
|
export type DataRetrievalItem = Components.Schemas.DataRetrievalItem;
|
|
24710
|
-
export type DeleteEntityFile = Components.Schemas.DeleteEntityFile;
|
|
24711
25535
|
export type Direction = Components.Schemas.Direction;
|
|
24712
25536
|
export type DocumentWidget = Components.Schemas.DocumentWidget;
|
|
24713
25537
|
export type DomainSettings = Components.Schemas.DomainSettings;
|
|
24714
25538
|
export type EmailTemplates = Components.Schemas.EmailTemplates;
|
|
25539
|
+
export type EngagementCenterTaskTemplates = Components.Schemas.EngagementCenterTaskTemplates;
|
|
24715
25540
|
export type Entity = Components.Schemas.Entity;
|
|
24716
25541
|
export type EntityEditRule = Components.Schemas.EntityEditRule;
|
|
24717
25542
|
export type EntityFileCount = Components.Schemas.EntityFileCount;
|
|
@@ -24754,6 +25579,7 @@ export type File = Components.Schemas.File;
|
|
|
24754
25579
|
export type FileItem = Components.Schemas.FileItem;
|
|
24755
25580
|
export type FilePreviewResult = Components.Schemas.FilePreviewResult;
|
|
24756
25581
|
export type Grant = Components.Schemas.Grant;
|
|
25582
|
+
export type HeldBackNode = Components.Schemas.HeldBackNode;
|
|
24757
25583
|
export type IdentifierAttribute = Components.Schemas.IdentifierAttribute;
|
|
24758
25584
|
export type InstallmentEvent = Components.Schemas.InstallmentEvent;
|
|
24759
25585
|
export type JourneyActions = Components.Schemas.JourneyActions;
|
|
@@ -24763,6 +25589,7 @@ export type JuiceSettings = Components.Schemas.JuiceSettings;
|
|
|
24763
25589
|
export type Meter = Components.Schemas.Meter;
|
|
24764
25590
|
export type MeterChartWidget = Components.Schemas.MeterChartWidget;
|
|
24765
25591
|
export type MeterReading = Components.Schemas.MeterReading;
|
|
25592
|
+
export type MeterReadingCounterDetails = Components.Schemas.MeterReadingCounterDetails;
|
|
24766
25593
|
export type MeterReadingPhoto = Components.Schemas.MeterReadingPhoto;
|
|
24767
25594
|
export type MeterReadingPhotoData = Components.Schemas.MeterReadingPhotoData;
|
|
24768
25595
|
export type MeterReadingWidget = Components.Schemas.MeterReadingWidget;
|
|
@@ -24788,6 +25615,9 @@ export type PaymentWidget = Components.Schemas.PaymentWidget;
|
|
|
24788
25615
|
export type PortalConfig = Components.Schemas.PortalConfig;
|
|
24789
25616
|
export type PortalConfigSummaryV3 = Components.Schemas.PortalConfigSummaryV3;
|
|
24790
25617
|
export type PortalConfigV3 = Components.Schemas.PortalConfigV3;
|
|
25618
|
+
export type PortalContactUpdate = Components.Schemas.PortalContactUpdate;
|
|
25619
|
+
export type PortalContractUpdate = Components.Schemas.PortalContractUpdate;
|
|
25620
|
+
export type PortalCopilotVisibility = Components.Schemas.PortalCopilotVisibility;
|
|
24791
25621
|
export type PortalDataExportColumn = Components.Schemas.PortalDataExportColumn;
|
|
24792
25622
|
export type PortalDescriptionOverrides = Components.Schemas.PortalDescriptionOverrides;
|
|
24793
25623
|
export type PortalFeatureSettings = Components.Schemas.PortalFeatureSettings;
|
|
@@ -24797,6 +25627,7 @@ export type PortalNotification = Components.Schemas.PortalNotification;
|
|
|
24797
25627
|
export type PortalRevision = Components.Schemas.PortalRevision;
|
|
24798
25628
|
export type PortalRevisionCreated = Components.Schemas.PortalRevisionCreated;
|
|
24799
25629
|
export type PortalRevisionList = Components.Schemas.PortalRevisionList;
|
|
25630
|
+
export type PortalRevisionPreview = Components.Schemas.PortalRevisionPreview;
|
|
24800
25631
|
export type PortalRevisionRequest = Components.Schemas.PortalRevisionRequest;
|
|
24801
25632
|
export type PortalRevisionSummary = Components.Schemas.PortalRevisionSummary;
|
|
24802
25633
|
export type PortalSurface = Components.Schemas.PortalSurface;
|
|
@@ -24804,11 +25635,15 @@ export type PortalSurfaceDataAccess = Components.Schemas.PortalSurfaceDataAccess
|
|
|
24804
25635
|
export type PortalSurfaceEntityAccess = Components.Schemas.PortalSurfaceEntityAccess;
|
|
24805
25636
|
export type PortalTaskConfig = Components.Schemas.PortalTaskConfig;
|
|
24806
25637
|
export type PortalUser = Components.Schemas.PortalUser;
|
|
25638
|
+
export type PortalUserNotificationPreferences = Components.Schemas.PortalUserNotificationPreferences;
|
|
25639
|
+
export type PortalUserPasskey = Components.Schemas.PortalUserPasskey;
|
|
24807
25640
|
export type PortalUserRegistrationStatus = Components.Schemas.PortalUserRegistrationStatus;
|
|
25641
|
+
export type PortalUsingDesign = Components.Schemas.PortalUsingDesign;
|
|
24808
25642
|
export type PortalWidget = Components.Schemas.PortalWidget;
|
|
24809
25643
|
export type PortalWorkflow = Components.Schemas.PortalWorkflow;
|
|
24810
25644
|
export type PortalWorkflowStage = Components.Schemas.PortalWorkflowStage;
|
|
24811
25645
|
export type PortalWorkflowTask = Components.Schemas.PortalWorkflowTask;
|
|
25646
|
+
export type PreviewRevision = Components.Schemas.PreviewRevision;
|
|
24812
25647
|
export type Product = Components.Schemas.Product;
|
|
24813
25648
|
export type ProductRecommendationsWidget = Components.Schemas.ProductRecommendationsWidget;
|
|
24814
25649
|
export type ProviderConfig = Components.Schemas.ProviderConfig;
|
|
@@ -24841,6 +25676,8 @@ export type Rule = Components.Schemas.Rule;
|
|
|
24841
25676
|
export type SAMLProviderConfig = Components.Schemas.SAMLProviderConfig;
|
|
24842
25677
|
export type SSOCallbackRequest = Components.Schemas.SSOCallbackRequest;
|
|
24843
25678
|
export type SSOCallbackResponse = Components.Schemas.SSOCallbackResponse;
|
|
25679
|
+
export type SSODebugInfo = Components.Schemas.SSODebugInfo;
|
|
25680
|
+
export type SSOErrorResp = Components.Schemas.SSOErrorResp;
|
|
24844
25681
|
export type SSOLoginToken = Components.Schemas.SSOLoginToken;
|
|
24845
25682
|
export type SaveEntityFile = Components.Schemas.SaveEntityFile;
|
|
24846
25683
|
export type SavePortalFile = Components.Schemas.SavePortalFile;
|
|
@@ -24868,7 +25705,6 @@ export type UserRequest = Components.Schemas.UserRequest;
|
|
|
24868
25705
|
export type VisualizationDataRange = Components.Schemas.VisualizationDataRange;
|
|
24869
25706
|
export type VisualizationMetadata = Components.Schemas.VisualizationMetadata;
|
|
24870
25707
|
export type VisualizationTypeOption = Components.Schemas.VisualizationTypeOption;
|
|
24871
|
-
export type WaitForEntityRule = Components.Schemas.WaitForEntityRule;
|
|
24872
25708
|
export type WidgetAction = Components.Schemas.WidgetAction;
|
|
24873
25709
|
export type WidgetBase = Components.Schemas.WidgetBase;
|
|
24874
25710
|
export type WorfklowIdentifier = Components.Schemas.WorfklowIdentifier;
|