@epilot/sdk 2.8.7 → 2.8.9
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/definitions/access-token-runtime.json +1 -1
- package/definitions/access-token.json +155 -1
- package/definitions/app.json +101 -8
- package/definitions/automation.json +120 -0
- package/definitions/blueprint-manifest-runtime.json +1 -1
- package/definitions/blueprint-manifest.json +1651 -357
- package/definitions/configuration-hub-runtime.json +1 -1
- package/definitions/configuration-hub.json +623 -0
- package/definitions/customer-portal-runtime.json +1 -1
- package/definitions/customer-portal.json +383 -78
- package/definitions/design-runtime.json +1 -1
- package/definitions/design.json +52 -12
- package/definitions/event-catalog-runtime.json +1 -1
- package/definitions/event-catalog.json +168 -12
- package/definitions/file-runtime.json +1 -1
- package/definitions/file.json +152 -4
- package/definitions/integration-toolkit-runtime.json +1 -1
- package/definitions/integration-toolkit.json +782 -13
- package/definitions/journey-runtime.json +1 -1
- package/definitions/journey.json +38 -1
- package/definitions/notes-runtime.json +1 -1
- package/definitions/notes.json +123 -1
- package/definitions/pricing.json +224 -406
- package/definitions/snapshot-runtime.json +1 -0
- package/definitions/snapshot.json +973 -0
- package/definitions/targeting-runtime.json +1 -1
- package/definitions/targeting.json +258 -7
- package/definitions/user-runtime.json +1 -1
- package/definitions/user.json +441 -0
- package/definitions/webhooks.json +31 -0
- package/dist/{ai-agents.d-OkXfr2bz.d.cts → ai-agents.d-CC5IjXrs.d.cts} +0 -2
- package/dist/{ai-agents.d-OkXfr2bz.d.ts → ai-agents.d-CC5IjXrs.d.ts} +0 -2
- package/dist/apis/access-token.cjs +6 -6
- package/dist/apis/access-token.js +1 -1
- package/dist/apis/address-suggestions.cjs +6 -6
- package/dist/apis/address-suggestions.js +1 -1
- package/dist/apis/address.cjs +6 -6
- package/dist/apis/address.js +1 -1
- package/dist/apis/ai-agents.cjs +6 -6
- package/dist/apis/ai-agents.d.cts +2 -2
- package/dist/apis/ai-agents.d.ts +2 -2
- package/dist/apis/ai-agents.js +1 -1
- package/dist/apis/app.cjs +6 -6
- package/dist/apis/app.js +1 -1
- package/dist/apis/audit-logs.cjs +6 -6
- package/dist/apis/audit-logs.js +1 -1
- package/dist/apis/automation.cjs +6 -6
- package/dist/apis/automation.js +1 -1
- package/dist/apis/billing.cjs +6 -6
- package/dist/apis/billing.js +1 -1
- package/dist/apis/blueprint-manifest.cjs +6 -6
- package/dist/apis/blueprint-manifest.js +1 -1
- package/dist/apis/calendar.cjs +6 -6
- package/dist/apis/calendar.js +1 -1
- package/dist/apis/configuration-hub.cjs +6 -6
- package/dist/apis/configuration-hub.js +1 -1
- package/dist/apis/consent.cjs +6 -6
- package/dist/apis/consent.js +1 -1
- package/dist/apis/customer-portal.cjs +6 -6
- package/dist/apis/customer-portal.js +1 -1
- package/dist/apis/dashboard.cjs +6 -6
- package/dist/apis/dashboard.js +1 -1
- package/dist/apis/data-governance.cjs +6 -6
- package/dist/apis/data-governance.js +1 -1
- package/dist/apis/deduplication.cjs +6 -6
- package/dist/apis/deduplication.js +1 -1
- package/dist/apis/design.cjs +6 -6
- package/dist/apis/design.js +1 -1
- package/dist/apis/document.cjs +6 -6
- package/dist/apis/document.js +1 -1
- package/dist/apis/email-settings.cjs +6 -6
- package/dist/apis/email-settings.js +1 -1
- package/dist/apis/email-template.cjs +6 -6
- package/dist/apis/email-template.js +1 -1
- package/dist/apis/entity-mapping.cjs +6 -6
- package/dist/apis/entity-mapping.js +1 -1
- package/dist/apis/entity.cjs +6 -6
- package/dist/apis/entity.js +1 -1
- package/dist/apis/environments.cjs +6 -6
- package/dist/apis/environments.js +1 -1
- package/dist/apis/event-catalog.cjs +6 -6
- package/dist/apis/event-catalog.js +1 -1
- package/dist/apis/file.cjs +6 -6
- package/dist/apis/file.js +1 -1
- package/dist/apis/iban.cjs +6 -6
- package/dist/apis/iban.js +1 -1
- package/dist/apis/integration-toolkit.cjs +6 -6
- package/dist/apis/integration-toolkit.js +1 -1
- package/dist/apis/journey.cjs +6 -6
- package/dist/apis/journey.d.cts +2 -2
- package/dist/apis/journey.d.ts +2 -2
- package/dist/apis/journey.js +1 -1
- package/dist/apis/kanban.cjs +6 -6
- package/dist/apis/kanban.js +1 -1
- package/dist/apis/message.cjs +6 -6
- package/dist/apis/message.js +1 -1
- package/dist/apis/metering.cjs +6 -6
- package/dist/apis/metering.js +1 -1
- package/dist/apis/notes.cjs +6 -6
- package/dist/apis/notes.js +1 -1
- package/dist/apis/notification.cjs +6 -6
- package/dist/apis/notification.js +1 -1
- package/dist/apis/organization.cjs +6 -6
- package/dist/apis/organization.js +1 -1
- package/dist/apis/partner-directory.cjs +6 -6
- package/dist/apis/partner-directory.js +1 -1
- package/dist/apis/permissions.cjs +6 -6
- package/dist/apis/permissions.js +1 -1
- package/dist/apis/pricing-tier.cjs +6 -6
- package/dist/apis/pricing-tier.js +1 -1
- package/dist/apis/pricing.cjs +6 -6
- package/dist/apis/pricing.js +1 -1
- package/dist/apis/purpose.cjs +6 -6
- package/dist/apis/purpose.js +1 -1
- package/dist/apis/query.cjs +6 -6
- package/dist/apis/query.js +1 -1
- package/dist/apis/sandbox.cjs +6 -6
- package/dist/apis/sandbox.js +1 -1
- package/dist/apis/sharing.cjs +6 -6
- package/dist/apis/sharing.js +1 -1
- package/dist/apis/snapshot.cjs +8 -8
- package/dist/apis/snapshot.d.cts +2 -2
- package/dist/apis/snapshot.d.ts +2 -2
- package/dist/apis/snapshot.js +2 -2
- package/dist/apis/submission.cjs +6 -6
- package/dist/apis/submission.js +1 -1
- package/dist/apis/target.cjs +6 -6
- package/dist/apis/target.js +1 -1
- package/dist/apis/targeting.cjs +6 -6
- package/dist/apis/targeting.js +1 -1
- package/dist/apis/template-variables.cjs +6 -6
- package/dist/apis/template-variables.js +1 -1
- package/dist/apis/user.cjs +6 -6
- package/dist/apis/user.js +1 -1
- package/dist/apis/validation-rules.cjs +6 -6
- package/dist/apis/validation-rules.js +1 -1
- package/dist/apis/webhooks.cjs +6 -6
- package/dist/apis/webhooks.js +1 -1
- package/dist/apis/workflow-definition.cjs +6 -6
- package/dist/apis/workflow-definition.js +1 -1
- package/dist/apis/workflow.cjs +6 -6
- package/dist/apis/workflow.js +1 -1
- package/dist/{chunk-7LIGFCRI.cjs → chunk-4GI6KGKZ.cjs} +3 -3
- package/dist/chunk-54QNWEPZ.js +14 -0
- package/dist/{chunk-CMANJ4LY.js → chunk-VMKT7UQS.js} +3 -3
- package/dist/chunk-YXJ4PBFQ.cjs +14 -0
- package/dist/index.cjs +10 -10
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +2 -2
- package/dist/journey-LHVSSVTG.cjs +7 -0
- package/dist/journey-NXL264XW.js +7 -0
- package/dist/{journey.d-BenIUWaO.d.cts → journey.d-B1sOeMHw.d.cts} +16 -3
- package/dist/{journey.d-BenIUWaO.d.ts → journey.d-B1sOeMHw.d.ts} +16 -3
- package/dist/snapshot-6CCO4NYL.js +7 -0
- package/dist/snapshot-GWB56VPP.cjs +7 -0
- package/dist/{snapshot-runtime-5TT575JS.cjs → snapshot-runtime-6DV42FVY.cjs} +2 -2
- package/dist/{snapshot-runtime-KWRGOKF4.js → snapshot-runtime-IW57MINC.js} +1 -1
- package/dist/{snapshot.d-C-n4wkIu.d.cts → snapshot.d-D5z6-hzE.d.cts} +30 -22
- package/dist/{snapshot.d-C-n4wkIu.d.ts → snapshot.d-D5z6-hzE.d.ts} +30 -22
- package/docs/journey.md +28 -8
- package/docs/snapshot.md +8 -6
- package/package.json +1 -1
- package/dist/chunk-4SZCKUY2.js +0 -14
- package/dist/chunk-ULKFBO7E.cjs +0 -14
- package/dist/journey-4DIIPRU4.js +0 -7
- package/dist/journey-ATC3Y5AW.cjs +0 -7
- package/dist/snapshot-GDJOEFJQ.js +0 -7
- package/dist/snapshot-UKV54UQQ.cjs +0 -7
|
@@ -1867,6 +1867,13 @@
|
|
|
1867
1867
|
"example": "CAA_ERROR"
|
|
1868
1868
|
}
|
|
1869
1869
|
}
|
|
1870
|
+
},
|
|
1871
|
+
"identity_providers": {
|
|
1872
|
+
"type": "array",
|
|
1873
|
+
"description": "SSO identity providers configured for the portal. Includes raw\n`oidc_config.client_secret` values so the admin UI can round-trip\nthem. Customers are encouraged to reference secrets via env\ntemplates (`{{ env.VAR }}`) rather than embed raw values.\n",
|
|
1874
|
+
"items": {
|
|
1875
|
+
"$ref": "#/components/schemas/ProviderConfig"
|
|
1876
|
+
}
|
|
1870
1877
|
}
|
|
1871
1878
|
}
|
|
1872
1879
|
}
|
|
@@ -1994,6 +2001,13 @@
|
|
|
1994
2001
|
"example": "CAA_ERROR"
|
|
1995
2002
|
}
|
|
1996
2003
|
}
|
|
2004
|
+
},
|
|
2005
|
+
"identity_providers": {
|
|
2006
|
+
"type": "array",
|
|
2007
|
+
"description": "SSO identity providers configured for the portal. Includes raw\n`oidc_config.client_secret` values so the admin UI can round-trip\nthem. Customers are encouraged to reference secrets via env\ntemplates (`{{ env.VAR }}`) rather than embed raw values.\n",
|
|
2008
|
+
"items": {
|
|
2009
|
+
"$ref": "#/components/schemas/ProviderConfig"
|
|
2010
|
+
}
|
|
1997
2011
|
}
|
|
1998
2012
|
}
|
|
1999
2013
|
}
|
|
@@ -7668,7 +7682,7 @@
|
|
|
7668
7682
|
],
|
|
7669
7683
|
"responses": {
|
|
7670
7684
|
"200": {
|
|
7671
|
-
"description": "Resolved public SSO provider configuration",
|
|
7685
|
+
"description": "Resolved public SSO provider configuration. The handler strips `oidc_config.client_secret` from the response (kept server-side for the token exchange); the schema includes it for shape compatibility with the portal-config response.",
|
|
7672
7686
|
"content": {
|
|
7673
7687
|
"application/json": {
|
|
7674
7688
|
"schema": {
|
|
@@ -8381,6 +8395,96 @@
|
|
|
8381
8395
|
}
|
|
8382
8396
|
}
|
|
8383
8397
|
},
|
|
8398
|
+
"/v2/portal/config/triggered-journeys/{trigger_name}": {
|
|
8399
|
+
"parameters": [
|
|
8400
|
+
{
|
|
8401
|
+
"in": "path",
|
|
8402
|
+
"name": "trigger_name",
|
|
8403
|
+
"required": true,
|
|
8404
|
+
"schema": {
|
|
8405
|
+
"type": "string",
|
|
8406
|
+
"enum": [
|
|
8407
|
+
"FIRST_LOGIN",
|
|
8408
|
+
"ACCEPT_ORDER",
|
|
8409
|
+
"DECLINE_ORDER"
|
|
8410
|
+
]
|
|
8411
|
+
},
|
|
8412
|
+
"description": "The trigger event for the auto-triggered journey"
|
|
8413
|
+
}
|
|
8414
|
+
],
|
|
8415
|
+
"get": {
|
|
8416
|
+
"operationId": "getTriggeredJourney",
|
|
8417
|
+
"summary": "getTriggeredJourney",
|
|
8418
|
+
"description": "Returns the auto-triggered journey configured for the given trigger\nwith handlebars templates in `context_params` already resolved.\nUses the caller's auth context (contact, portal user) plus any\n`context_entities` supplied at trigger time (e.g. the order being\naccepted) — same resolver as `getPortalPages`.\n",
|
|
8419
|
+
"tags": [
|
|
8420
|
+
"ECP"
|
|
8421
|
+
],
|
|
8422
|
+
"security": [
|
|
8423
|
+
{
|
|
8424
|
+
"PortalAuth": []
|
|
8425
|
+
}
|
|
8426
|
+
],
|
|
8427
|
+
"parameters": [
|
|
8428
|
+
{
|
|
8429
|
+
"in": "query",
|
|
8430
|
+
"name": "context_entities",
|
|
8431
|
+
"required": false,
|
|
8432
|
+
"description": "Additional entities to include in the resolution context (e.g. the order being accepted at trigger time). Portal User and Contact entities are automatically part of the context.",
|
|
8433
|
+
"schema": {
|
|
8434
|
+
"$ref": "#/components/schemas/ContextEntities"
|
|
8435
|
+
}
|
|
8436
|
+
}
|
|
8437
|
+
],
|
|
8438
|
+
"responses": {
|
|
8439
|
+
"200": {
|
|
8440
|
+
"description": "The triggered journey has been resolved successfully.",
|
|
8441
|
+
"content": {
|
|
8442
|
+
"application/json": {
|
|
8443
|
+
"schema": {
|
|
8444
|
+
"type": "object",
|
|
8445
|
+
"properties": {
|
|
8446
|
+
"trigger_name": {
|
|
8447
|
+
"type": "string",
|
|
8448
|
+
"enum": [
|
|
8449
|
+
"FIRST_LOGIN",
|
|
8450
|
+
"ACCEPT_ORDER",
|
|
8451
|
+
"DECLINE_ORDER"
|
|
8452
|
+
]
|
|
8453
|
+
},
|
|
8454
|
+
"journey_id": {
|
|
8455
|
+
"$ref": "#/components/schemas/EntityId"
|
|
8456
|
+
},
|
|
8457
|
+
"context_params": {
|
|
8458
|
+
"type": "array",
|
|
8459
|
+
"items": {
|
|
8460
|
+
"type": "object",
|
|
8461
|
+
"properties": {
|
|
8462
|
+
"key": {
|
|
8463
|
+
"type": "string"
|
|
8464
|
+
},
|
|
8465
|
+
"value": {
|
|
8466
|
+
"type": "string"
|
|
8467
|
+
}
|
|
8468
|
+
}
|
|
8469
|
+
}
|
|
8470
|
+
}
|
|
8471
|
+
}
|
|
8472
|
+
}
|
|
8473
|
+
}
|
|
8474
|
+
}
|
|
8475
|
+
},
|
|
8476
|
+
"401": {
|
|
8477
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
8478
|
+
},
|
|
8479
|
+
"404": {
|
|
8480
|
+
"$ref": "#/components/responses/NotFound"
|
|
8481
|
+
},
|
|
8482
|
+
"500": {
|
|
8483
|
+
"$ref": "#/components/responses/InternalServerError"
|
|
8484
|
+
}
|
|
8485
|
+
}
|
|
8486
|
+
}
|
|
8487
|
+
},
|
|
8384
8488
|
"/v2/portal/pages/default": {
|
|
8385
8489
|
"get": {
|
|
8386
8490
|
"operationId": "getDefaultPages",
|
|
@@ -10708,14 +10812,18 @@
|
|
|
10708
10812
|
"description": "Default admin users for pending user notification to notify"
|
|
10709
10813
|
}
|
|
10710
10814
|
}
|
|
10815
|
+
},
|
|
10816
|
+
"identity_providers": {
|
|
10817
|
+
"type": "array",
|
|
10818
|
+
"description": "SSO identity providers for the portal. When sent on a portal save (PUT/POST),\nthe list is fully synced — incoming providers are upserted and any existing\nproviders not in the list are deleted. Omit the field to leave SSO\nconfiguration unchanged; send an empty array to remove all providers.\n\nEach provider is persisted verbatim — `oidc_config.client_secret` is stored\nas sent. Customers are encouraged to reference an org env secret via\n`{{ env.VAR }}` rather than embed raw values.\n",
|
|
10819
|
+
"items": {
|
|
10820
|
+
"$ref": "#/components/schemas/ProviderConfig"
|
|
10821
|
+
}
|
|
10711
10822
|
}
|
|
10712
10823
|
}
|
|
10713
10824
|
},
|
|
10714
10825
|
"CommonConfigAttributes": {
|
|
10715
10826
|
"type": "object",
|
|
10716
|
-
"required": [
|
|
10717
|
-
"domain"
|
|
10718
|
-
],
|
|
10719
10827
|
"properties": {
|
|
10720
10828
|
"enabled": {
|
|
10721
10829
|
"type": "boolean",
|
|
@@ -10771,14 +10879,19 @@
|
|
|
10771
10879
|
},
|
|
10772
10880
|
"self_registration_account_setting": {
|
|
10773
10881
|
"type": "string",
|
|
10774
|
-
"description": "Controls behavior of self-registration when account is
|
|
10882
|
+
"description": "Controls behavior of self-registration when account is the registration\nentity. `BLOCK_IF_PORTAL_USER_EXISTS` matches an existing account and\nrejects the request when any portal user is already linked to that\naccount (no creation). Blocking can also be enabled on the other\nnon-create modes via `block_registration_if_portal_user_exists`.\n",
|
|
10775
10883
|
"enum": [
|
|
10776
|
-
"
|
|
10884
|
+
"ALLOW_WITH_CREATION",
|
|
10777
10885
|
"DENY",
|
|
10778
|
-
"
|
|
10886
|
+
"ALWAYS_CREATE",
|
|
10887
|
+
"BLOCK_IF_PORTAL_USER_EXISTS",
|
|
10779
10888
|
"DISALLOW_COMPLETELY"
|
|
10780
10889
|
]
|
|
10781
10890
|
},
|
|
10891
|
+
"block_registration_if_portal_user_exists": {
|
|
10892
|
+
"type": "boolean",
|
|
10893
|
+
"description": "Account-mode only. Reject registration when the resolved account already\nhas any portal user (any portal user whose mapped contact is linked to\nthe account).\n"
|
|
10894
|
+
},
|
|
10782
10895
|
"self_registration_entity": {
|
|
10783
10896
|
"type": "string",
|
|
10784
10897
|
"description": "Entity type used as the primary identifier for self-registration",
|
|
@@ -11095,6 +11208,40 @@
|
|
|
11095
11208
|
}
|
|
11096
11209
|
]
|
|
11097
11210
|
},
|
|
11211
|
+
"contact_identifiers_for_account": {
|
|
11212
|
+
"type": "array",
|
|
11213
|
+
"description": "Account-mode only. Identifiers on the contact entity of the primarily\nidentified account. Used to pick an existing related contact within the\nresolved account; if none matches, the values are written onto the new\ncontact that is created and linked to the account.\n",
|
|
11214
|
+
"items": {
|
|
11215
|
+
"$ref": "#/components/schemas/RegistrationIdentifier"
|
|
11216
|
+
},
|
|
11217
|
+
"example": [
|
|
11218
|
+
{
|
|
11219
|
+
"name": "first_name",
|
|
11220
|
+
"schema": "contact"
|
|
11221
|
+
},
|
|
11222
|
+
{
|
|
11223
|
+
"name": "last_name",
|
|
11224
|
+
"schema": "contact"
|
|
11225
|
+
}
|
|
11226
|
+
]
|
|
11227
|
+
},
|
|
11228
|
+
"additional_contact_attributes": {
|
|
11229
|
+
"type": "array",
|
|
11230
|
+
"description": "Contact attributes collected from the user during self-registration that are\nwritten onto the newly created contact but are not used to identify an\nexisting one.\n",
|
|
11231
|
+
"items": {
|
|
11232
|
+
"$ref": "#/components/schemas/AdditionalContactAttribute"
|
|
11233
|
+
},
|
|
11234
|
+
"example": [
|
|
11235
|
+
{
|
|
11236
|
+
"name": "first_name",
|
|
11237
|
+
"required": true
|
|
11238
|
+
},
|
|
11239
|
+
{
|
|
11240
|
+
"name": "last_name",
|
|
11241
|
+
"required": true
|
|
11242
|
+
}
|
|
11243
|
+
]
|
|
11244
|
+
},
|
|
11098
11245
|
"triggered_journeys": {
|
|
11099
11246
|
"type": "array",
|
|
11100
11247
|
"description": "Journeys automatically opened on a portal user action",
|
|
@@ -11111,6 +11258,21 @@
|
|
|
11111
11258
|
},
|
|
11112
11259
|
"journey_id": {
|
|
11113
11260
|
"$ref": "#/components/schemas/EntityId"
|
|
11261
|
+
},
|
|
11262
|
+
"context_params": {
|
|
11263
|
+
"type": "array",
|
|
11264
|
+
"description": "Context parameters forwarded to the journey when it is\nauto-triggered. Values may contain handlebars templates\nthat reference the available context (e.g.\n`{{contact._id}}`, `{{portal_user.email}}`,\n`{{order._id}}`) — these are resolved at trigger time by\n`GET /v2/portal/config/triggered-journeys/{trigger_name}`\nusing the caller's auth context plus runtime entities\nsupplied via the `context_entities` query param.\n",
|
|
11265
|
+
"items": {
|
|
11266
|
+
"type": "object",
|
|
11267
|
+
"properties": {
|
|
11268
|
+
"key": {
|
|
11269
|
+
"type": "string"
|
|
11270
|
+
},
|
|
11271
|
+
"value": {
|
|
11272
|
+
"type": "string"
|
|
11273
|
+
}
|
|
11274
|
+
}
|
|
11275
|
+
}
|
|
11114
11276
|
}
|
|
11115
11277
|
}
|
|
11116
11278
|
}
|
|
@@ -11222,9 +11384,6 @@
|
|
|
11222
11384
|
}
|
|
11223
11385
|
},
|
|
11224
11386
|
"UpsertPortalConfig": {
|
|
11225
|
-
"required": [
|
|
11226
|
-
"domain"
|
|
11227
|
-
],
|
|
11228
11387
|
"allOf": [
|
|
11229
11388
|
{
|
|
11230
11389
|
"$ref": "#/components/schemas/UpdateOnlyPortalConfigAttributes"
|
|
@@ -11802,6 +11961,28 @@
|
|
|
11802
11961
|
}
|
|
11803
11962
|
}
|
|
11804
11963
|
},
|
|
11964
|
+
"contact_identifiers_for_account": {
|
|
11965
|
+
"type": "object",
|
|
11966
|
+
"description": "Account-mode only. Values for the contact identifiers configured\nunder `contact_identifiers_for_account` on the portal. Used to\nfind an existing related contact within the resolved account, or\nwritten onto the new contact if none matches.\n",
|
|
11967
|
+
"additionalProperties": {
|
|
11968
|
+
"type": "string"
|
|
11969
|
+
},
|
|
11970
|
+
"example": {
|
|
11971
|
+
"first_name": "John",
|
|
11972
|
+
"last_name": "Doe"
|
|
11973
|
+
}
|
|
11974
|
+
},
|
|
11975
|
+
"additional_contact_attributes": {
|
|
11976
|
+
"type": "object",
|
|
11977
|
+
"description": "Values for the contact attributes configured under\n`additional_contact_attributes` on the portal. These are written\nonto the newly created contact but are not used to identify an\nexisting one.\n",
|
|
11978
|
+
"additionalProperties": {
|
|
11979
|
+
"type": "string"
|
|
11980
|
+
},
|
|
11981
|
+
"example": {
|
|
11982
|
+
"first_name": "John",
|
|
11983
|
+
"last_name": "Doe"
|
|
11984
|
+
}
|
|
11985
|
+
},
|
|
11805
11986
|
"account_id": {
|
|
11806
11987
|
"type": "string",
|
|
11807
11988
|
"description": "ID of the account"
|
|
@@ -13915,6 +14096,24 @@
|
|
|
13915
14096
|
}
|
|
13916
14097
|
}
|
|
13917
14098
|
},
|
|
14099
|
+
"AdditionalContactAttribute": {
|
|
14100
|
+
"type": "object",
|
|
14101
|
+
"description": "A contact attribute that is collected from the user during self-registration\nand written onto the newly created contact, but is NOT used to identify\nan existing contact.\n",
|
|
14102
|
+
"required": [
|
|
14103
|
+
"name"
|
|
14104
|
+
],
|
|
14105
|
+
"properties": {
|
|
14106
|
+
"name": {
|
|
14107
|
+
"type": "string",
|
|
14108
|
+
"description": "Name of the contact attribute"
|
|
14109
|
+
},
|
|
14110
|
+
"required": {
|
|
14111
|
+
"type": "boolean",
|
|
14112
|
+
"description": "Whether the user must provide a value for this attribute",
|
|
14113
|
+
"default": false
|
|
14114
|
+
}
|
|
14115
|
+
}
|
|
14116
|
+
},
|
|
13918
14117
|
"ContractIdentifier": {
|
|
13919
14118
|
"type": "object",
|
|
13920
14119
|
"properties": {
|
|
@@ -14062,6 +14261,9 @@
|
|
|
14062
14261
|
"contractIdentification": {
|
|
14063
14262
|
"type": "object",
|
|
14064
14263
|
"properties": {
|
|
14264
|
+
"app": {
|
|
14265
|
+
"$ref": "#/components/schemas/PublicAppDetails"
|
|
14266
|
+
},
|
|
14065
14267
|
"extension": {
|
|
14066
14268
|
"$ref": "#/components/schemas/PublicExtensionDetails"
|
|
14067
14269
|
},
|
|
@@ -14640,7 +14842,8 @@
|
|
|
14640
14842
|
},
|
|
14641
14843
|
"result": {
|
|
14642
14844
|
"type": "string",
|
|
14643
|
-
"
|
|
14845
|
+
"deprecated": true,
|
|
14846
|
+
"description": "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."
|
|
14644
14847
|
}
|
|
14645
14848
|
},
|
|
14646
14849
|
"required": [
|
|
@@ -14648,6 +14851,20 @@
|
|
|
14648
14851
|
"headers"
|
|
14649
14852
|
]
|
|
14650
14853
|
},
|
|
14854
|
+
"resolved": {
|
|
14855
|
+
"type": "object",
|
|
14856
|
+
"properties": {
|
|
14857
|
+
"result": {
|
|
14858
|
+
"type": "string",
|
|
14859
|
+
"description": "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`."
|
|
14860
|
+
},
|
|
14861
|
+
"error_message_path": {
|
|
14862
|
+
"type": "string",
|
|
14863
|
+
"description": "Optional path to a human-readable error message in the third-party response body, used when the call fails (non-2xx status).\nIf specified and the path resolves to a string, that message is forwarded to the end user instead of a generic error.\n",
|
|
14864
|
+
"example": "error.message"
|
|
14865
|
+
}
|
|
14866
|
+
}
|
|
14867
|
+
},
|
|
14651
14868
|
"use_static_ips": {
|
|
14652
14869
|
"type": "boolean",
|
|
14653
14870
|
"deprecated": true,
|
|
@@ -14710,7 +14927,8 @@
|
|
|
14710
14927
|
},
|
|
14711
14928
|
"result": {
|
|
14712
14929
|
"type": "string",
|
|
14713
|
-
"
|
|
14930
|
+
"deprecated": true,
|
|
14931
|
+
"description": "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."
|
|
14714
14932
|
}
|
|
14715
14933
|
},
|
|
14716
14934
|
"required": [
|
|
@@ -14718,6 +14936,20 @@
|
|
|
14718
14936
|
"headers"
|
|
14719
14937
|
]
|
|
14720
14938
|
},
|
|
14939
|
+
"resolved": {
|
|
14940
|
+
"type": "object",
|
|
14941
|
+
"properties": {
|
|
14942
|
+
"result": {
|
|
14943
|
+
"type": "string",
|
|
14944
|
+
"description": "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`."
|
|
14945
|
+
},
|
|
14946
|
+
"error_message_path": {
|
|
14947
|
+
"type": "string",
|
|
14948
|
+
"description": "Optional path to a human-readable error message in the third-party response body, used when the call fails (non-2xx status).\nIf specified and the path resolves to a string, that message is forwarded to the end user instead of a generic error.\n",
|
|
14949
|
+
"example": "error.message"
|
|
14950
|
+
}
|
|
14951
|
+
}
|
|
14952
|
+
},
|
|
14721
14953
|
"assignment_mode": {
|
|
14722
14954
|
"type": "string",
|
|
14723
14955
|
"enum": [
|
|
@@ -14822,11 +15054,16 @@
|
|
|
14822
15054
|
"type": "object",
|
|
14823
15055
|
"description": "Response to the call",
|
|
14824
15056
|
"properties": {
|
|
14825
|
-
"
|
|
15057
|
+
"data_path": {
|
|
14826
15058
|
"type": "string",
|
|
14827
15059
|
"description": "Optional path to an array in the response. If specified and the path points to an array,\nthe hook will map over each item using 'Item' variable for interpolation.\nRelevant only if plausibility_mode is \"range\".\n",
|
|
14828
15060
|
"example": "data.results"
|
|
14829
15061
|
},
|
|
15062
|
+
"dataPath": {
|
|
15063
|
+
"type": "string",
|
|
15064
|
+
"deprecated": true,
|
|
15065
|
+
"description": "Deprecated. Use `data_path` instead."
|
|
15066
|
+
},
|
|
14830
15067
|
"counter_identifiers": {
|
|
14831
15068
|
"description": "Counter identifier(s) used to match against the meter's counters.\nCan be a string (counter ID) or an object with counter properties.\nThe backend resolves this to meter_counter_id in the final response.\nRelevant only if plausibility_mode is \"range\".\n",
|
|
14832
15069
|
"oneOf": [
|
|
@@ -14859,6 +15096,11 @@
|
|
|
14859
15096
|
"type": "string",
|
|
14860
15097
|
"description": "Lower allowed limit of the meter reading",
|
|
14861
15098
|
"example": "{{CallResponse.data.lower_limit}}"
|
|
15099
|
+
},
|
|
15100
|
+
"error_message_path": {
|
|
15101
|
+
"type": "string",
|
|
15102
|
+
"description": "Optional path to a human-readable error message in the third-party response body, used when the call fails (non-2xx status).\nIf specified and the path resolves to a string, that message is forwarded to the end user instead of a generic error.\n",
|
|
15103
|
+
"example": "error.message"
|
|
14862
15104
|
}
|
|
14863
15105
|
}
|
|
14864
15106
|
},
|
|
@@ -14935,9 +15177,19 @@
|
|
|
14935
15177
|
"resolved": {
|
|
14936
15178
|
"type": "object",
|
|
14937
15179
|
"properties": {
|
|
14938
|
-
"
|
|
15180
|
+
"data_path": {
|
|
14939
15181
|
"type": "string",
|
|
14940
15182
|
"description": "Optional path to the data (array) in the response. If omitted, the data is assumed to be on the top level."
|
|
15183
|
+
},
|
|
15184
|
+
"dataPath": {
|
|
15185
|
+
"type": "string",
|
|
15186
|
+
"deprecated": true,
|
|
15187
|
+
"description": "Deprecated. Use `data_path` instead."
|
|
15188
|
+
},
|
|
15189
|
+
"error_message_path": {
|
|
15190
|
+
"type": "string",
|
|
15191
|
+
"description": "Optional path to a human-readable error message in the third-party response body, used when the call fails (non-2xx status).\nIf specified and the path resolves to a string, that message is forwarded to the end user instead of a generic error.\n",
|
|
15192
|
+
"example": "error.message"
|
|
14941
15193
|
}
|
|
14942
15194
|
}
|
|
14943
15195
|
},
|
|
@@ -15013,9 +15265,19 @@
|
|
|
15013
15265
|
"resolved": {
|
|
15014
15266
|
"type": "object",
|
|
15015
15267
|
"properties": {
|
|
15016
|
-
"
|
|
15268
|
+
"data_path": {
|
|
15017
15269
|
"type": "string",
|
|
15018
15270
|
"description": "Optional path to the data (array) in the response. If omitted, the data is assumed to be on the top level."
|
|
15271
|
+
},
|
|
15272
|
+
"dataPath": {
|
|
15273
|
+
"type": "string",
|
|
15274
|
+
"deprecated": true,
|
|
15275
|
+
"description": "Deprecated. Use `data_path` instead."
|
|
15276
|
+
},
|
|
15277
|
+
"error_message_path": {
|
|
15278
|
+
"type": "string",
|
|
15279
|
+
"description": "Optional path to a human-readable error message in the third-party response body, used when the call fails (non-2xx status).\nIf specified and the path resolves to a string, that message is forwarded to the end user instead of a generic error.\n",
|
|
15280
|
+
"example": "error.message"
|
|
15019
15281
|
}
|
|
15020
15282
|
}
|
|
15021
15283
|
},
|
|
@@ -15095,6 +15357,16 @@
|
|
|
15095
15357
|
"url"
|
|
15096
15358
|
]
|
|
15097
15359
|
},
|
|
15360
|
+
"resolved": {
|
|
15361
|
+
"type": "object",
|
|
15362
|
+
"properties": {
|
|
15363
|
+
"error_message_path": {
|
|
15364
|
+
"type": "string",
|
|
15365
|
+
"description": "Optional path to a human-readable error message in the third-party response body, used when the call fails (non-2xx status).\nIf specified and the path resolves to a string, that message is forwarded to the end user instead of a generic error.\n",
|
|
15366
|
+
"example": "error.message"
|
|
15367
|
+
}
|
|
15368
|
+
}
|
|
15369
|
+
},
|
|
15098
15370
|
"use_static_ips": {
|
|
15099
15371
|
"type": "boolean",
|
|
15100
15372
|
"deprecated": true,
|
|
@@ -15167,9 +15439,19 @@
|
|
|
15167
15439
|
"resolved": {
|
|
15168
15440
|
"type": "object",
|
|
15169
15441
|
"properties": {
|
|
15170
|
-
"
|
|
15442
|
+
"data_path": {
|
|
15171
15443
|
"type": "string",
|
|
15172
15444
|
"description": "Optional path to the metadata object in the response. If omitted, the metadata is assumed to be on the top level."
|
|
15445
|
+
},
|
|
15446
|
+
"dataPath": {
|
|
15447
|
+
"type": "string",
|
|
15448
|
+
"deprecated": true,
|
|
15449
|
+
"description": "Deprecated. Use `data_path` instead."
|
|
15450
|
+
},
|
|
15451
|
+
"error_message_path": {
|
|
15452
|
+
"type": "string",
|
|
15453
|
+
"description": "Optional path to a human-readable error message in the third-party response body, used when the call fails (non-2xx status).\nIf specified and the path resolves to a string, that message is forwarded to the end user instead of a generic error.\n",
|
|
15454
|
+
"example": "error.message"
|
|
15173
15455
|
}
|
|
15174
15456
|
}
|
|
15175
15457
|
},
|
|
@@ -15245,9 +15527,19 @@
|
|
|
15245
15527
|
"resolved": {
|
|
15246
15528
|
"type": "object",
|
|
15247
15529
|
"properties": {
|
|
15248
|
-
"
|
|
15530
|
+
"data_path": {
|
|
15249
15531
|
"type": "string",
|
|
15250
15532
|
"description": "Optional path to the data (array) in the response. If omitted, the data is assumed to be on the top level."
|
|
15533
|
+
},
|
|
15534
|
+
"dataPath": {
|
|
15535
|
+
"type": "string",
|
|
15536
|
+
"deprecated": true,
|
|
15537
|
+
"description": "Deprecated. Use `data_path` instead."
|
|
15538
|
+
},
|
|
15539
|
+
"error_message_path": {
|
|
15540
|
+
"type": "string",
|
|
15541
|
+
"description": "Optional path to a human-readable error message in the third-party response body, used when the call fails (non-2xx status).\nIf specified and the path resolves to a string, that message is forwarded to the end user instead of a generic error.\n",
|
|
15542
|
+
"example": "error.message"
|
|
15251
15543
|
}
|
|
15252
15544
|
}
|
|
15253
15545
|
},
|
|
@@ -15611,7 +15903,7 @@
|
|
|
15611
15903
|
"$ref": "#/components/schemas/ProviderDisplayName"
|
|
15612
15904
|
},
|
|
15613
15905
|
"oidc_config": {
|
|
15614
|
-
"$ref": "#/components/schemas/
|
|
15906
|
+
"$ref": "#/components/schemas/OIDCProviderConfig"
|
|
15615
15907
|
},
|
|
15616
15908
|
"mobile_oidc_config": {
|
|
15617
15909
|
"$ref": "#/components/schemas/MoblieOIDCConfig"
|
|
@@ -15761,7 +16053,7 @@
|
|
|
15761
16053
|
},
|
|
15762
16054
|
"OIDCProviderConfig": {
|
|
15763
16055
|
"type": "object",
|
|
15764
|
-
"description": "OIDC provider configuration.
|
|
16056
|
+
"description": "OIDC provider configuration. Values are resolved at SSO invocation time\n(login / callback), so the fields below may reference org env vars via\nmustache-like templates, e.g. `{{ env.MY_PROVIDER_CLIENT_SECRET }}`.\n\nFields used to render the SSO buttons up-front (`ProviderConfig.slug`,\n`ProviderConfig.display_name`) are NOT interpolated and must be literal.\n",
|
|
15765
16057
|
"properties": {
|
|
15766
16058
|
"type": {
|
|
15767
16059
|
"type": "string",
|
|
@@ -15809,61 +16101,8 @@
|
|
|
15809
16101
|
"enum": [
|
|
15810
16102
|
"login",
|
|
15811
16103
|
"select_account",
|
|
15812
|
-
"consent"
|
|
15813
|
-
|
|
15814
|
-
}
|
|
15815
|
-
},
|
|
15816
|
-
"required": [
|
|
15817
|
-
"oidc_issuer",
|
|
15818
|
-
"client_id",
|
|
15819
|
-
"scope"
|
|
15820
|
-
]
|
|
15821
|
-
},
|
|
15822
|
-
"OIDCProviderPublicConfig": {
|
|
15823
|
-
"type": "object",
|
|
15824
|
-
"description": "Public OIDC provider configuration. Same as OIDCProviderConfig but never includes\nthe `client_secret` field — it is kept server-side and only used to exchange the\nauthorization code at the SSO callback. String fields are returned with env var\nplaceholders already resolved when fetched via `GET /v2/portal/public/sso/providers/{provider_slug}`.\n",
|
|
15825
|
-
"properties": {
|
|
15826
|
-
"type": {
|
|
15827
|
-
"type": "string",
|
|
15828
|
-
"enum": [
|
|
15829
|
-
"authorization_code",
|
|
15830
|
-
"implicit"
|
|
15831
|
-
],
|
|
15832
|
-
"default": "implicit"
|
|
15833
|
-
},
|
|
15834
|
-
"oidc_issuer": {
|
|
15835
|
-
"type": "string",
|
|
15836
|
-
"description": "Issuing Authority URL",
|
|
15837
|
-
"example": "https://login.microsoftonline.com/33d4f3e5-3df2-421e-b92e-a63cfa680a88/v2.0"
|
|
15838
|
-
},
|
|
15839
|
-
"redirect_uri": {
|
|
15840
|
-
"type": "string",
|
|
15841
|
-
"description": "Redirect URI for the OIDC flow",
|
|
15842
|
-
"example": "https://customer-portal.com/login"
|
|
15843
|
-
},
|
|
15844
|
-
"client_id": {
|
|
15845
|
-
"type": "string",
|
|
15846
|
-
"example": "ab81daf8-8b1f-42d6-94ca-c51621054c75"
|
|
15847
|
-
},
|
|
15848
|
-
"has_client_secret": {
|
|
15849
|
-
"type": "boolean",
|
|
15850
|
-
"description": "Whether the client secret is present (the value itself is kept server-side)",
|
|
15851
|
-
"example": true
|
|
15852
|
-
},
|
|
15853
|
-
"scope": {
|
|
15854
|
-
"type": "string",
|
|
15855
|
-
"description": "Space-separated list of OAuth 2.0 scopes to request from OpenID Connect",
|
|
15856
|
-
"example": "openid email"
|
|
15857
|
-
},
|
|
15858
|
-
"metadata": {
|
|
15859
|
-
"$ref": "#/components/schemas/OIDCProviderMetadata"
|
|
15860
|
-
},
|
|
15861
|
-
"prompt": {
|
|
15862
|
-
"type": "string",
|
|
15863
|
-
"enum": [
|
|
15864
|
-
"login",
|
|
15865
|
-
"select_account",
|
|
15866
|
-
"consent"
|
|
16104
|
+
"consent",
|
|
16105
|
+
"signup"
|
|
15867
16106
|
]
|
|
15868
16107
|
}
|
|
15869
16108
|
},
|
|
@@ -15875,7 +16114,7 @@
|
|
|
15875
16114
|
},
|
|
15876
16115
|
"MoblieOIDCConfig": {
|
|
15877
16116
|
"type": "object",
|
|
15878
|
-
"description": "Mobile OIDC configuration.
|
|
16117
|
+
"description": "Mobile OIDC configuration. Values are resolved at SSO invocation time, so the\nfields below may reference org env vars via mustache-like templates, e.g.\n`{{ env.MOBILE_CLIENT_SECRET }}`.\n",
|
|
15879
16118
|
"properties": {
|
|
15880
16119
|
"client_id": {
|
|
15881
16120
|
"type": "string",
|
|
@@ -15892,6 +16131,18 @@
|
|
|
15892
16131
|
"OIDCProviderMetadata": {
|
|
15893
16132
|
"type": "object",
|
|
15894
16133
|
"properties": {
|
|
16134
|
+
"response_modes_supported": {
|
|
16135
|
+
"type": "array",
|
|
16136
|
+
"description": "Response modes the provider accepts (e.g. `form_post` for Apple)",
|
|
16137
|
+
"items": {
|
|
16138
|
+
"type": "string",
|
|
16139
|
+
"enum": [
|
|
16140
|
+
"form_post",
|
|
16141
|
+
"fragment",
|
|
16142
|
+
"query"
|
|
16143
|
+
]
|
|
16144
|
+
}
|
|
16145
|
+
},
|
|
15895
16146
|
"authorization_endpoint": {
|
|
15896
16147
|
"type": "string",
|
|
15897
16148
|
"description": "URL of the authorization endpoint",
|
|
@@ -16407,14 +16658,19 @@
|
|
|
16407
16658
|
},
|
|
16408
16659
|
"self_registration_account_setting": {
|
|
16409
16660
|
"type": "string",
|
|
16410
|
-
"description": "Controls behavior of self-registration when account is
|
|
16661
|
+
"description": "Controls behavior of self-registration when account is the registration\nentity. `BLOCK_IF_PORTAL_USER_EXISTS` matches an existing account and\nrejects the request when any portal user is already linked to that\naccount (no creation). Blocking can also be enabled on the other\nnon-create modes via `block_registration_if_portal_user_exists`.\n",
|
|
16411
16662
|
"enum": [
|
|
16412
|
-
"
|
|
16663
|
+
"ALLOW_WITH_CREATION",
|
|
16413
16664
|
"DENY",
|
|
16414
|
-
"
|
|
16665
|
+
"ALWAYS_CREATE",
|
|
16666
|
+
"BLOCK_IF_PORTAL_USER_EXISTS",
|
|
16415
16667
|
"DISALLOW_COMPLETELY"
|
|
16416
16668
|
]
|
|
16417
16669
|
},
|
|
16670
|
+
"block_registration_if_portal_user_exists": {
|
|
16671
|
+
"type": "boolean",
|
|
16672
|
+
"description": "Account-mode only. Reject registration when the resolved account already\nhas any portal user (any portal user whose mapped contact is linked to\nthe account).\n"
|
|
16673
|
+
},
|
|
16418
16674
|
"self_registration_entity": {
|
|
16419
16675
|
"type": "string",
|
|
16420
16676
|
"description": "Entity type used as the primary identifier for self-registration",
|
|
@@ -16731,6 +16987,40 @@
|
|
|
16731
16987
|
}
|
|
16732
16988
|
]
|
|
16733
16989
|
},
|
|
16990
|
+
"contact_identifiers_for_account": {
|
|
16991
|
+
"type": "array",
|
|
16992
|
+
"description": "Account-mode only. Identifiers on the contact entity of the primarily\nidentified account. Used to pick an existing related contact within the\nresolved account; if none matches, the values are written onto the new\ncontact that is created and linked to the account.\n",
|
|
16993
|
+
"items": {
|
|
16994
|
+
"$ref": "#/components/schemas/RegistrationIdentifier"
|
|
16995
|
+
},
|
|
16996
|
+
"example": [
|
|
16997
|
+
{
|
|
16998
|
+
"name": "first_name",
|
|
16999
|
+
"schema": "contact"
|
|
17000
|
+
},
|
|
17001
|
+
{
|
|
17002
|
+
"name": "last_name",
|
|
17003
|
+
"schema": "contact"
|
|
17004
|
+
}
|
|
17005
|
+
]
|
|
17006
|
+
},
|
|
17007
|
+
"additional_contact_attributes": {
|
|
17008
|
+
"type": "array",
|
|
17009
|
+
"description": "Contact attributes collected from the user during self-registration that are\nwritten onto the newly created contact but are not used to identify an\nexisting one.\n",
|
|
17010
|
+
"items": {
|
|
17011
|
+
"$ref": "#/components/schemas/AdditionalContactAttribute"
|
|
17012
|
+
},
|
|
17013
|
+
"example": [
|
|
17014
|
+
{
|
|
17015
|
+
"name": "first_name",
|
|
17016
|
+
"required": true
|
|
17017
|
+
},
|
|
17018
|
+
{
|
|
17019
|
+
"name": "last_name",
|
|
17020
|
+
"required": true
|
|
17021
|
+
}
|
|
17022
|
+
]
|
|
17023
|
+
},
|
|
16734
17024
|
"triggered_journeys": {
|
|
16735
17025
|
"type": "array",
|
|
16736
17026
|
"description": "Journeys automatically opened on a portal user action",
|
|
@@ -16747,6 +17037,21 @@
|
|
|
16747
17037
|
},
|
|
16748
17038
|
"journey_id": {
|
|
16749
17039
|
"$ref": "#/components/schemas/EntityId"
|
|
17040
|
+
},
|
|
17041
|
+
"context_params": {
|
|
17042
|
+
"type": "array",
|
|
17043
|
+
"description": "Context parameters forwarded to the journey when it is\nauto-triggered. Values may contain handlebars templates\nthat reference the available context (e.g.\n`{{contact._id}}`, `{{portal_user.email}}`,\n`{{order._id}}`) — these are resolved at trigger time by\n`GET /v2/portal/config/triggered-journeys/{trigger_name}`\nusing the caller's auth context plus runtime entities\nsupplied via the `context_entities` query param.\n",
|
|
17044
|
+
"items": {
|
|
17045
|
+
"type": "object",
|
|
17046
|
+
"properties": {
|
|
17047
|
+
"key": {
|
|
17048
|
+
"type": "string"
|
|
17049
|
+
},
|
|
17050
|
+
"value": {
|
|
17051
|
+
"type": "string"
|
|
17052
|
+
}
|
|
17053
|
+
}
|
|
17054
|
+
}
|
|
16750
17055
|
}
|
|
16751
17056
|
}
|
|
16752
17057
|
}
|