@epilot/customer-portal-client 0.48.0 → 0.48.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epilot/customer-portal-client",
3
- "version": "0.48.0",
3
+ "version": "0.48.1",
4
4
  "description": "API Client for epilot portal API",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -2460,6 +2460,18 @@
2460
2460
  "responses": {}
2461
2461
  }
2462
2462
  },
2463
+ "/v3/portal/public/user/temporary-password/complete": {
2464
+ "post": {
2465
+ "operationId": "completeTemporaryPassword",
2466
+ "requestBody": {
2467
+ "required": true,
2468
+ "content": {
2469
+ "application/json": {}
2470
+ }
2471
+ },
2472
+ "responses": {}
2473
+ }
2474
+ },
2463
2475
  "/v2/portal/campaign/{campaign_id}/entity:status": {
2464
2476
  "put": {
2465
2477
  "operationId": "updateCampaignPortalBlockStatus",
@@ -2717,6 +2729,12 @@
2717
2729
  "responses": {}
2718
2730
  }
2719
2731
  },
2732
+ "/v3/portal/configs/summaries": {
2733
+ "get": {
2734
+ "operationId": "listPortalConfigSummaries",
2735
+ "responses": {}
2736
+ }
2737
+ },
2720
2738
  "/v3/portal/config/swap": {
2721
2739
  "post": {
2722
2740
  "operationId": "swapPortalConfig",
package/src/openapi.json CHANGED
@@ -10025,6 +10025,86 @@
10025
10025
  }
10026
10026
  }
10027
10027
  },
10028
+ "/v3/portal/public/user/temporary-password/complete": {
10029
+ "post": {
10030
+ "operationId": "completeTemporaryPassword",
10031
+ "summary": "completeTemporaryPassword",
10032
+ "description": "Replaces a portal user's temporary password with the password they chose.",
10033
+ "tags": [
10034
+ "Public"
10035
+ ],
10036
+ "security": [],
10037
+ "requestBody": {
10038
+ "required": true,
10039
+ "content": {
10040
+ "application/json": {
10041
+ "schema": {
10042
+ "type": "object",
10043
+ "required": [
10044
+ "org_id",
10045
+ "portal_id",
10046
+ "email",
10047
+ "temporary_password",
10048
+ "new_password"
10049
+ ],
10050
+ "properties": {
10051
+ "org_id": {
10052
+ "type": "string",
10053
+ "description": "Organization ID",
10054
+ "example": "123"
10055
+ },
10056
+ "portal_id": {
10057
+ "type": "string",
10058
+ "description": "ID of the portal the user belongs to",
10059
+ "example": "7hj28akg-97fb-4f5c-b2a1-3e4fbc1d8c7a"
10060
+ },
10061
+ "email": {
10062
+ "type": "string",
10063
+ "description": "Email address of the portal user",
10064
+ "example": "user@example.com"
10065
+ },
10066
+ "temporary_password": {
10067
+ "type": "string",
10068
+ "description": "Temporary password from the email"
10069
+ },
10070
+ "new_password": {
10071
+ "type": "string",
10072
+ "description": "New password, must match the portal's password policy"
10073
+ }
10074
+ }
10075
+ }
10076
+ }
10077
+ }
10078
+ },
10079
+ "responses": {
10080
+ "200": {
10081
+ "description": "The new password was set.",
10082
+ "content": {
10083
+ "application/json": {
10084
+ "schema": {
10085
+ "type": "object",
10086
+ "properties": {
10087
+ "message": {
10088
+ "type": "string",
10089
+ "example": "Password set successfully."
10090
+ }
10091
+ }
10092
+ }
10093
+ }
10094
+ }
10095
+ },
10096
+ "400": {
10097
+ "$ref": "#/components/responses/InvalidRequest"
10098
+ },
10099
+ "429": {
10100
+ "$ref": "#/components/responses/TooManyRequests"
10101
+ },
10102
+ "500": {
10103
+ "$ref": "#/components/responses/InternalServerError"
10104
+ }
10105
+ }
10106
+ }
10107
+ },
10028
10108
  "/v2/portal/campaign/{campaign_id}/entity:status": {
10029
10109
  "put": {
10030
10110
  "operationId": "updateCampaignPortalBlockStatus",
@@ -11115,6 +11195,50 @@
11115
11195
  }
11116
11196
  }
11117
11197
  },
11198
+ "/v3/portal/configs/summaries": {
11199
+ "get": {
11200
+ "operationId": "listPortalConfigSummaries",
11201
+ "summary": "listPortalConfigSummaries",
11202
+ "description": "Lists the portals of the organization as lightweight summaries: the identifying,\ndisplay and registration fields of each portal config, without pages, email\ntemplates, grants, feature flags, identity providers or certificate details.\n\nUse it for portal overviews and pickers. Read a single portal with\n`getPortalConfigV3` when the full configuration is needed.\n",
11203
+ "tags": [
11204
+ "ECP Admin"
11205
+ ],
11206
+ "security": [
11207
+ {
11208
+ "EpilotAuth": []
11209
+ }
11210
+ ],
11211
+ "responses": {
11212
+ "200": {
11213
+ "description": "Portal config summaries retrieved successfully.",
11214
+ "content": {
11215
+ "application/json": {
11216
+ "schema": {
11217
+ "type": "object",
11218
+ "properties": {
11219
+ "data": {
11220
+ "type": "array",
11221
+ "items": {
11222
+ "$ref": "#/components/schemas/PortalConfigSummaryV3"
11223
+ }
11224
+ }
11225
+ }
11226
+ }
11227
+ }
11228
+ }
11229
+ },
11230
+ "401": {
11231
+ "$ref": "#/components/responses/Unauthorized"
11232
+ },
11233
+ "403": {
11234
+ "$ref": "#/components/responses/Forbidden"
11235
+ },
11236
+ "500": {
11237
+ "$ref": "#/components/responses/InternalServerError"
11238
+ }
11239
+ }
11240
+ }
11241
+ },
11118
11242
  "/v3/portal/config/swap": {
11119
11243
  "post": {
11120
11244
  "operationId": "swapPortalConfig",
@@ -11169,6 +11293,9 @@
11169
11293
  "message": {
11170
11294
  "type": "string",
11171
11295
  "example": "Domain and users swapped successfully."
11296
+ },
11297
+ "portal_references": {
11298
+ "$ref": "#/components/schemas/SwapPortalReferencesResult"
11172
11299
  }
11173
11300
  }
11174
11301
  }
@@ -13105,37 +13232,7 @@
13105
13232
  "example": false
13106
13233
  },
13107
13234
  "feature_settings": {
13108
- "type": "object",
13109
- "description": "Feature settings for the portal",
13110
- "properties": {
13111
- "start_page": {
13112
- "type": "boolean",
13113
- "description": "Start page feature flag"
13114
- },
13115
- "billing": {
13116
- "type": "boolean",
13117
- "description": "Billing feature flag"
13118
- },
13119
- "change_due_date": {
13120
- "type": "boolean",
13121
- "description": "Change due date feature flag"
13122
- },
13123
- "new_design": {
13124
- "type": "boolean",
13125
- "description": "Enable or disable the new design for the portal"
13126
- },
13127
- "mcp_enabled": {
13128
- "type": "boolean",
13129
- "description": "Enable the MCP (AI agent) connector channel for this portal"
13130
- },
13131
- "mcp_grant_version": {
13132
- "type": "integer",
13133
- "minimum": 0,
13134
- "default": 0,
13135
- "readOnly": true,
13136
- "description": "Server-managed generation used to invalidate MCP grants after the connector is disabled or re-enabled"
13137
- }
13138
- }
13235
+ "$ref": "#/components/schemas/PortalFeatureSettings"
13139
13236
  },
13140
13237
  "accessToken": {
13141
13238
  "type": "string",
@@ -14202,6 +14299,11 @@
14202
14299
  },
14203
14300
  "example": []
14204
14301
  },
14302
+ "has_portal_user": {
14303
+ "type": "boolean",
14304
+ "description": "Whether the identified contact already has a portal user on this portal, so the caller\ncan skip offering account creation. Present only on a match; omitted when it could not\nbe determined.\n",
14305
+ "example": false
14306
+ },
14205
14307
  "reason": {
14206
14308
  "type": "string",
14207
14309
  "enum": [
@@ -15954,8 +16056,7 @@
15954
16056
  "type": "string",
15955
16057
  "enum": [
15956
16058
  "portal-config",
15957
- "portal-block",
15958
- "portal-widget"
16059
+ "portal-block"
15959
16060
  ]
15960
16061
  },
15961
16062
  "resource": {
@@ -20221,37 +20322,7 @@
20221
20322
  "example": false
20222
20323
  },
20223
20324
  "feature_settings": {
20224
- "type": "object",
20225
- "description": "Feature settings for the portal",
20226
- "properties": {
20227
- "start_page": {
20228
- "type": "boolean",
20229
- "description": "Start page feature flag"
20230
- },
20231
- "billing": {
20232
- "type": "boolean",
20233
- "description": "Billing feature flag"
20234
- },
20235
- "change_due_date": {
20236
- "type": "boolean",
20237
- "description": "Change due date feature flag"
20238
- },
20239
- "new_design": {
20240
- "type": "boolean",
20241
- "description": "Enable or disable the new design for the portal"
20242
- },
20243
- "mcp_enabled": {
20244
- "type": "boolean",
20245
- "description": "Enable the MCP (AI agent) connector channel for this portal"
20246
- },
20247
- "mcp_grant_version": {
20248
- "type": "integer",
20249
- "minimum": 0,
20250
- "default": 0,
20251
- "readOnly": true,
20252
- "description": "Server-managed generation used to invalidate MCP grants after the connector is disabled or re-enabled"
20253
- }
20254
- }
20325
+ "$ref": "#/components/schemas/PortalFeatureSettings"
20255
20326
  },
20256
20327
  "accessToken": {
20257
20328
  "type": "string",
@@ -20910,6 +20981,208 @@
20910
20981
  }
20911
20982
  ]
20912
20983
  },
20984
+ "PortalFeatureSettings": {
20985
+ "type": "object",
20986
+ "description": "Feature settings for the portal",
20987
+ "properties": {
20988
+ "start_page": {
20989
+ "type": "boolean",
20990
+ "deprecated": true,
20991
+ "description": "Retired, not read. A portal shows a start page by having a `dashboard` page."
20992
+ },
20993
+ "billing": {
20994
+ "type": "boolean",
20995
+ "deprecated": true,
20996
+ "description": "Retired, not read. Billing follows the organization's `commodity_billing` setting."
20997
+ },
20998
+ "commodity_billing": {
20999
+ "type": "boolean",
21000
+ "deprecated": true,
21001
+ "description": "Retired, not read. Billing pages and blocks follow the organization's `commodity_billing` setting."
21002
+ },
21003
+ "change_due_date": {
21004
+ "type": "boolean",
21005
+ "deprecated": true,
21006
+ "description": "Retired, not read."
21007
+ },
21008
+ "new_design": {
21009
+ "type": "boolean",
21010
+ "description": "Enable or disable the new design for the portal"
21011
+ },
21012
+ "mcp_enabled": {
21013
+ "type": "boolean",
21014
+ "description": "Enable the MCP (AI agent) connector channel for this portal"
21015
+ },
21016
+ "mcp_grant_version": {
21017
+ "type": "integer",
21018
+ "minimum": 0,
21019
+ "default": 0,
21020
+ "readOnly": true,
21021
+ "description": "Server-managed generation used to invalidate MCP grants after the connector is disabled or re-enabled"
21022
+ },
21023
+ "portal_copilot": {
21024
+ "type": "boolean",
21025
+ "default": false,
21026
+ "description": "Enable the portal copilot chat for this portal"
21027
+ },
21028
+ "portal_copilot_agent_id": {
21029
+ "type": "string",
21030
+ "description": "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."
21031
+ }
21032
+ }
21033
+ },
21034
+ "PortalConfigSummaryV3": {
21035
+ "type": "object",
21036
+ "description": "Lightweight view of a portal config for lists and pickers. Carries the identifying,\ndisplay and registration fields only. Pages, email templates, grants, feature flags,\nidentity providers and certificate details are left out; read them per portal with\n`getPortalConfigV3`.\n",
21037
+ "properties": {
21038
+ "portal_id": {
21039
+ "$ref": "#/components/schemas/PortalId"
21040
+ },
21041
+ "organization_id": {
21042
+ "type": "string",
21043
+ "example": 12345,
21044
+ "description": "ID of the organization"
21045
+ },
21046
+ "origin": {
21047
+ "$ref": "#/components/schemas/Origin"
21048
+ },
21049
+ "name": {
21050
+ "type": "string",
21051
+ "description": "Name of the portal"
21052
+ },
21053
+ "enabled": {
21054
+ "type": "boolean",
21055
+ "description": "Whether the portal is enabled"
21056
+ },
21057
+ "domain": {
21058
+ "type": "string",
21059
+ "description": "Custom domain of the portal"
21060
+ },
21061
+ "epilot_domain": {
21062
+ "type": "string",
21063
+ "description": "epilot-hosted domain of the portal"
21064
+ },
21065
+ "is_epilot_domain": {
21066
+ "type": "boolean"
21067
+ },
21068
+ "dnsStatus": {
21069
+ "type": "string",
21070
+ "description": "Status of the custom domain setup, when a custom domain is configured",
21071
+ "enum": [
21072
+ "CONFIGURING",
21073
+ "PENDING",
21074
+ "SUCCEED",
21075
+ "EXPIRED",
21076
+ "NEW_CERT_IN_PROGRESS"
21077
+ ]
21078
+ },
21079
+ "design_id": {
21080
+ "$ref": "#/components/schemas/EntityId"
21081
+ },
21082
+ "logo_image": {
21083
+ "type": "object",
21084
+ "description": "The logo to show for the portal in lists: the `logoImage` of the first page\nthat sets one. Absent when no page carries a logo; fall back to the design.\n",
21085
+ "properties": {
21086
+ "url": {
21087
+ "type": "string",
21088
+ "description": "Logo for the light theme",
21089
+ "example": "https://epilot-bucket.s3.eu-central-1.amazonaws.com/12344/logo.png"
21090
+ },
21091
+ "dark_url": {
21092
+ "type": "string",
21093
+ "description": "Logo for the dark theme"
21094
+ }
21095
+ }
21096
+ },
21097
+ "default_user_to_notify": {
21098
+ "type": "object",
21099
+ "description": "Default 360 user to notify upon an internal notification",
21100
+ "properties": {
21101
+ "onPendingUser": {
21102
+ "type": "array",
21103
+ "items": {
21104
+ "$ref": "#/components/schemas/AdminUser"
21105
+ },
21106
+ "description": "Default admin users for pending user notification to notify"
21107
+ }
21108
+ }
21109
+ },
21110
+ "feature_settings": {
21111
+ "$ref": "#/components/schemas/PortalFeatureSettings"
21112
+ },
21113
+ "self_registration_setting": {
21114
+ "type": "string",
21115
+ "enum": [
21116
+ "ALLOW_WITH_CONTACT_CREATION",
21117
+ "ALLOW_WITHOUT_CONTACT_CREATION",
21118
+ "DENY",
21119
+ "ALWAYS_CREATE_CONTACT",
21120
+ "DISALLOW_COMPLETELY",
21121
+ "BLOCK_IF_PORTAL_USER_EXISTS"
21122
+ ]
21123
+ },
21124
+ "self_registration_account_setting": {
21125
+ "type": "string",
21126
+ "enum": [
21127
+ "ALLOW_WITH_CREATION",
21128
+ "DENY",
21129
+ "ALWAYS_CREATE",
21130
+ "BLOCK_IF_PORTAL_USER_EXISTS",
21131
+ "DISALLOW_COMPLETELY"
21132
+ ]
21133
+ },
21134
+ "block_registration_if_portal_user_exists": {
21135
+ "type": "boolean"
21136
+ },
21137
+ "self_registration_entity": {
21138
+ "type": "string",
21139
+ "description": "Entity type used as the primary identifier for self-registration",
21140
+ "enum": [
21141
+ "contact",
21142
+ "account"
21143
+ ]
21144
+ },
21145
+ "user_account_self_management": {
21146
+ "type": "boolean",
21147
+ "description": "Enable or disable user account self management"
21148
+ },
21149
+ "registration_identifiers": {
21150
+ "type": "array",
21151
+ "description": "Identifiers to identify a contact of a portal user during the registration.",
21152
+ "items": {
21153
+ "$ref": "#/components/schemas/ContractIdentifier"
21154
+ }
21155
+ },
21156
+ "surfaces": {
21157
+ "type": "array",
21158
+ "description": "Surfaces this portal's data is reached from besides the portal UI itself.",
21159
+ "items": {
21160
+ "$ref": "#/components/schemas/PortalSurface"
21161
+ }
21162
+ },
21163
+ "is_dummy": {
21164
+ "type": "boolean"
21165
+ },
21166
+ "is_v3_item": {
21167
+ "type": "boolean"
21168
+ },
21169
+ "published_revision_id": {
21170
+ "type": "string",
21171
+ "readOnly": true,
21172
+ "description": "ID of the currently published revision, if the portal has been published"
21173
+ },
21174
+ "_created_at": {
21175
+ "type": "string",
21176
+ "format": "date-time",
21177
+ "readOnly": true
21178
+ },
21179
+ "_updated_at": {
21180
+ "type": "string",
21181
+ "format": "date-time",
21182
+ "readOnly": true
21183
+ }
21184
+ }
21185
+ },
20913
21186
  "JuiceSettings": {
20914
21187
  "type": "object",
20915
21188
  "properties": {
@@ -20929,6 +21202,24 @@
20929
21202
  "type": "string",
20930
21203
  "description": "The URL to redirect to",
20931
21204
  "example": "https://example.com"
21205
+ },
21206
+ "title": {
21207
+ "type": "string",
21208
+ "description": "Portal name, served as the document title before the app boots",
21209
+ "example": "Kundenportal"
21210
+ },
21211
+ "prevent_indexing": {
21212
+ "type": "boolean",
21213
+ "description": "Whether the served document should carry a `noindex, nofollow` robots meta tag"
21214
+ },
21215
+ "organization_id": {
21216
+ "type": "string",
21217
+ "description": "Organization of the portal, used to preload its design from the served document",
21218
+ "example": "123"
21219
+ },
21220
+ "design_id": {
21221
+ "type": "string",
21222
+ "description": "Design of the portal, used to preload it from the served document"
20932
21223
  }
20933
21224
  }
20934
21225
  },
@@ -21207,9 +21498,82 @@
21207
21498
  },
21208
21499
  "SwappableConfig": {
21209
21500
  "type": "string",
21210
- "description": "Optional configuration item that a portal swap can additionally include. The swap always transfers the pages and the functional experience config that keep the portal working. These items are opt-in on top of that and are OFF by default. Domain and access/security settings (domain, cognito_details, auth_settings) can never be swapped and are therefore not part of this enum.",
21501
+ "description": "Optional configuration item that a portal swap can additionally include. The swap always transfers the pages and the functional experience config that keep the portal working. These items are opt-in on top of that and are OFF by default. Domain and access/security settings (domain, cognito_details, auth_settings) can never be swapped and are therefore not part of this enum.\n- `email_templates`: swap the email templates of the two portals.\n- `portal_references`: after the swap, re-point configuration in other services from the source portal to the target portal: the portal on journey login (AuthControl) blocks and in file upload portal access, and the portal of automation flow portal triggers. One-directional: references to the target portal are left unchanged, because the target keeps its domain and users. System flows are not changed. Uses the caller's permissions; the outcome is returned in `portal_references`.",
21211
21502
  "enum": [
21212
- "email_templates"
21503
+ "email_templates",
21504
+ "portal_references"
21505
+ ]
21506
+ },
21507
+ "SwapPortalReferencesResult": {
21508
+ "type": "object",
21509
+ "description": "Outcome of the `portal_references` swap option. Only present when that option was requested. The swap itself has already succeeded when this is returned, so failures here do not undo it.",
21510
+ "properties": {
21511
+ "journeys": {
21512
+ "$ref": "#/components/schemas/SwapPortalReferenceGroup"
21513
+ },
21514
+ "automation_flows": {
21515
+ "$ref": "#/components/schemas/SwapPortalReferenceGroup"
21516
+ }
21517
+ },
21518
+ "required": [
21519
+ "journeys",
21520
+ "automation_flows"
21521
+ ]
21522
+ },
21523
+ "SwapPortalReferenceGroup": {
21524
+ "type": "object",
21525
+ "properties": {
21526
+ "updated": {
21527
+ "type": "array",
21528
+ "description": "Items whose references now point at the target portal.",
21529
+ "items": {
21530
+ "$ref": "#/components/schemas/SwapPortalReferenceItem"
21531
+ }
21532
+ },
21533
+ "failed": {
21534
+ "type": "array",
21535
+ "description": "Items that reference the source portal but could not be updated.",
21536
+ "items": {
21537
+ "$ref": "#/components/schemas/SwapPortalReferenceItem"
21538
+ }
21539
+ },
21540
+ "list_error": {
21541
+ "type": "string",
21542
+ "description": "Set when the items could not be listed, so none of them were checked."
21543
+ }
21544
+ },
21545
+ "required": [
21546
+ "updated",
21547
+ "failed"
21548
+ ]
21549
+ },
21550
+ "SwapPortalReferenceItem": {
21551
+ "type": "object",
21552
+ "properties": {
21553
+ "id": {
21554
+ "type": "string",
21555
+ "description": "Journey id or automation flow id."
21556
+ },
21557
+ "name": {
21558
+ "type": "string"
21559
+ },
21560
+ "paths": {
21561
+ "type": "array",
21562
+ "description": "Where the reference sat in the item.",
21563
+ "items": {
21564
+ "type": "string"
21565
+ },
21566
+ "example": [
21567
+ "steps[0].uischema.elements[2].options.portalId"
21568
+ ]
21569
+ },
21570
+ "error": {
21571
+ "type": "string",
21572
+ "description": "Why the update failed. Only set on failed items."
21573
+ }
21574
+ },
21575
+ "required": [
21576
+ "id"
21213
21577
  ]
21214
21578
  },
21215
21579
  "PortalUserRegistrationStatus": {