@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"s":"https://access-token.sls.epilot.io","o":[["createAccessToken","post","/v1/access-tokens",null,1],["listAccessTokens","get","/v1/access-tokens",[["token_type","q"]]],["revokeAccessToken","delete","/v1/access-tokens/{id}",[["id","p",true]]],["getAccessTokenJwks","get","/v1/access-tokens/.well-known/jwks.json"],["getAccessTokenOIDC","get","/v1/access-tokens/.well-known/openid-configuration"],["getPublicTokenJwks","get","/v1/access-tokens/public/.well-known/jwks.json"],["getPublicTokenOIDC","get","/v1/access-tokens/public/.well-known/openid-configuration"]],"v":"3.0.3"}
|
|
1
|
+
{"s":"https://access-token.sls.epilot.io","o":[["createAccessToken","post","/v1/access-tokens",null,1],["listAccessTokens","get","/v1/access-tokens",[["token_type","q"]]],["revokeAccessToken","delete","/v1/access-tokens/{id}",[["id","p",true]]],["getAccessTokenJwks","get","/v1/access-tokens/.well-known/jwks.json"],["getAccessTokenOIDC","get","/v1/access-tokens/.well-known/openid-configuration"],["getPublicTokenJwks","get","/v1/access-tokens/public/.well-known/jwks.json"],["getPortalPreviewTokenJwks","get","/v1/access-tokens/portal-preview/.well-known/jwks.json"],["getPublicTokenOIDC","get","/v1/access-tokens/public/.well-known/openid-configuration"],["getPortalPreviewTokenOIDC","get","/v1/access-tokens/portal-preview/.well-known/openid-configuration"]],"v":"3.0.3"}
|
|
@@ -70,6 +70,14 @@
|
|
|
70
70
|
]
|
|
71
71
|
}
|
|
72
72
|
},
|
|
73
|
+
"portal_preview": {
|
|
74
|
+
"value": {
|
|
75
|
+
"name": "Portal Preview Token for previewing customer portal",
|
|
76
|
+
"token_type": "portal_preview",
|
|
77
|
+
"portal_id": "portal_abc123",
|
|
78
|
+
"portal_user_id": "user_xyz789"
|
|
79
|
+
}
|
|
80
|
+
},
|
|
73
81
|
"app": {
|
|
74
82
|
"value": {
|
|
75
83
|
"name": "App Access Token",
|
|
@@ -361,6 +369,63 @@
|
|
|
361
369
|
}
|
|
362
370
|
}
|
|
363
371
|
},
|
|
372
|
+
"/v1/access-tokens/portal-preview/.well-known/jwks.json": {
|
|
373
|
+
"get": {
|
|
374
|
+
"operationId": "getPortalPreviewTokenJwks",
|
|
375
|
+
"summary": "getPortalPreviewTokenJwks",
|
|
376
|
+
"description": "Get jwks public key set to verify portal preview tokens generated by this API",
|
|
377
|
+
"tags": [
|
|
378
|
+
"Public"
|
|
379
|
+
],
|
|
380
|
+
"security": [],
|
|
381
|
+
"responses": {
|
|
382
|
+
"200": {
|
|
383
|
+
"description": "Set of jwks",
|
|
384
|
+
"content": {
|
|
385
|
+
"application/json": {
|
|
386
|
+
"schema": {
|
|
387
|
+
"type": "object",
|
|
388
|
+
"properties": {
|
|
389
|
+
"keys": {
|
|
390
|
+
"type": "array",
|
|
391
|
+
"items": {
|
|
392
|
+
"type": "object",
|
|
393
|
+
"properties": {
|
|
394
|
+
"alg": {
|
|
395
|
+
"type": "string",
|
|
396
|
+
"example": "RS256"
|
|
397
|
+
},
|
|
398
|
+
"e": {
|
|
399
|
+
"type": "string",
|
|
400
|
+
"example": "AQAB"
|
|
401
|
+
},
|
|
402
|
+
"kid": {
|
|
403
|
+
"type": "string",
|
|
404
|
+
"example": "tXWU5mPMbRPczpbQwi6vbhLF4GgF3wlMDSyqo7pfeiw="
|
|
405
|
+
},
|
|
406
|
+
"kty": {
|
|
407
|
+
"type": "string",
|
|
408
|
+
"example": "RSA"
|
|
409
|
+
},
|
|
410
|
+
"n": {
|
|
411
|
+
"type": "string",
|
|
412
|
+
"example": "h_QDoCjZ8W_trtYXaP7_S22wf5r5Wd9XBLED78oT44bJjQXn8ddcFV8Hik65_4IYXVX_hTTU4zpxe3H8vx2j7-Zz3O59mYMp5S0MzODNEdf5Y_2o19eis0brmAJniixsNlQ9LlYkdrVamrgaxHu3ZpP_99zkfFybYeuYoQNzb3PyrT8xVnz_USs_nlFMHpGUxvvz7gfKPqxcLvgLJr4cwI9yzaSY9CD4qW181QVcnL_WzpQ8xx6AuhhHZQ1l_3GG4InTk8ahE7U2ZHVu8RrX6d01pMgc3piEcet9RgFLnhbTg3YIiKGoAbN42wJn_x3lgIAC42T9mbmTsHyUdS6nUQ"
|
|
413
|
+
},
|
|
414
|
+
"use": {
|
|
415
|
+
"type": "string",
|
|
416
|
+
"example": "sig"
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
},
|
|
364
429
|
"/v1/access-tokens/public/.well-known/openid-configuration": {
|
|
365
430
|
"get": {
|
|
366
431
|
"operationId": "getPublicTokenOIDC",
|
|
@@ -395,6 +460,41 @@
|
|
|
395
460
|
}
|
|
396
461
|
}
|
|
397
462
|
}
|
|
463
|
+
},
|
|
464
|
+
"/v1/access-tokens/portal-preview/.well-known/openid-configuration": {
|
|
465
|
+
"get": {
|
|
466
|
+
"operationId": "getPortalPreviewTokenOIDC",
|
|
467
|
+
"summary": "getPortalPreviewTokenOIDC",
|
|
468
|
+
"description": "OpenID Connect configuration for Access Token API a a portal preview identity provider\n\nNote: This API is not a fully compliant OAuth2.0 / OIDC identity provider, but this endpoint is useful to\nautomate the process of verifying JWT tokens.\n",
|
|
469
|
+
"tags": [
|
|
470
|
+
"Public"
|
|
471
|
+
],
|
|
472
|
+
"security": [],
|
|
473
|
+
"responses": {
|
|
474
|
+
"200": {
|
|
475
|
+
"description": "OpenID Configuration",
|
|
476
|
+
"content": {
|
|
477
|
+
"application/json": {
|
|
478
|
+
"schema": {
|
|
479
|
+
"type": "object",
|
|
480
|
+
"properties": {
|
|
481
|
+
"issuer": {
|
|
482
|
+
"type": "string",
|
|
483
|
+
"format": "uri",
|
|
484
|
+
"example": "https://access-token.sls.epilot.io/v1/access-tokens/portal-preview"
|
|
485
|
+
},
|
|
486
|
+
"jwks_uri": {
|
|
487
|
+
"type": "string",
|
|
488
|
+
"format": "uri",
|
|
489
|
+
"example": "https://access-token.sls.epilot.io/v1/access-tokens/portal-preview/.well-known/jwks.json"
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
}
|
|
497
|
+
}
|
|
398
498
|
}
|
|
399
499
|
},
|
|
400
500
|
"components": {
|
|
@@ -434,7 +534,8 @@
|
|
|
434
534
|
"journey",
|
|
435
535
|
"portal",
|
|
436
536
|
"assume",
|
|
437
|
-
"app"
|
|
537
|
+
"app",
|
|
538
|
+
"portal_preview"
|
|
438
539
|
],
|
|
439
540
|
"description": "Access token type",
|
|
440
541
|
"example": "api"
|
|
@@ -447,6 +548,10 @@
|
|
|
447
548
|
"type": "string",
|
|
448
549
|
"description": "Portal ID for access token type \"portal\""
|
|
449
550
|
},
|
|
551
|
+
"PortalUserId": {
|
|
552
|
+
"type": "string",
|
|
553
|
+
"description": "Portal User ID for access token type \"portal_preview\""
|
|
554
|
+
},
|
|
450
555
|
"TokenParameters": {
|
|
451
556
|
"anyOf": [
|
|
452
557
|
{
|
|
@@ -463,6 +568,9 @@
|
|
|
463
568
|
},
|
|
464
569
|
{
|
|
465
570
|
"$ref": "#/components/schemas/AppTokenParameters"
|
|
571
|
+
},
|
|
572
|
+
{
|
|
573
|
+
"$ref": "#/components/schemas/PortalPreviewTokenParameters"
|
|
466
574
|
}
|
|
467
575
|
]
|
|
468
576
|
},
|
|
@@ -484,6 +592,11 @@
|
|
|
484
592
|
}
|
|
485
593
|
]
|
|
486
594
|
},
|
|
595
|
+
"ReadOnly": {
|
|
596
|
+
"type": "boolean",
|
|
597
|
+
"description": "When true, the issued token may only perform read-only actions. Any action guarded by permissions that is not read-only (i.e. not a view/export/download action) is denied, regardless of the roles the token carries.",
|
|
598
|
+
"example": true
|
|
599
|
+
},
|
|
487
600
|
"AccessTokenParameters": {
|
|
488
601
|
"type": "object",
|
|
489
602
|
"additionalProperties": false,
|
|
@@ -502,6 +615,9 @@
|
|
|
502
615
|
},
|
|
503
616
|
"expires_in": {
|
|
504
617
|
"$ref": "#/components/schemas/ExpiresIn"
|
|
618
|
+
},
|
|
619
|
+
"read_only": {
|
|
620
|
+
"$ref": "#/components/schemas/ReadOnly"
|
|
505
621
|
}
|
|
506
622
|
},
|
|
507
623
|
"required": [
|
|
@@ -573,6 +689,9 @@
|
|
|
573
689
|
},
|
|
574
690
|
"assignments": {
|
|
575
691
|
"$ref": "#/components/schemas/Assignments"
|
|
692
|
+
},
|
|
693
|
+
"read_only": {
|
|
694
|
+
"$ref": "#/components/schemas/ReadOnly"
|
|
576
695
|
}
|
|
577
696
|
},
|
|
578
697
|
"required": [
|
|
@@ -597,12 +716,41 @@
|
|
|
597
716
|
},
|
|
598
717
|
"expires_in": {
|
|
599
718
|
"$ref": "#/components/schemas/ExpiresIn"
|
|
719
|
+
},
|
|
720
|
+
"read_only": {
|
|
721
|
+
"$ref": "#/components/schemas/ReadOnly"
|
|
600
722
|
}
|
|
601
723
|
},
|
|
602
724
|
"required": [
|
|
603
725
|
"name"
|
|
604
726
|
]
|
|
605
727
|
},
|
|
728
|
+
"PortalPreviewTokenParameters": {
|
|
729
|
+
"type": "object",
|
|
730
|
+
"additionalProperties": false,
|
|
731
|
+
"properties": {
|
|
732
|
+
"name": {
|
|
733
|
+
"$ref": "#/components/schemas/AccessTokenName"
|
|
734
|
+
},
|
|
735
|
+
"token_type": {
|
|
736
|
+
"type": "string",
|
|
737
|
+
"enum": [
|
|
738
|
+
"portal_preview"
|
|
739
|
+
]
|
|
740
|
+
},
|
|
741
|
+
"portal_id": {
|
|
742
|
+
"$ref": "#/components/schemas/PortalId"
|
|
743
|
+
},
|
|
744
|
+
"portal_user_id": {
|
|
745
|
+
"$ref": "#/components/schemas/PortalUserId"
|
|
746
|
+
}
|
|
747
|
+
},
|
|
748
|
+
"required": [
|
|
749
|
+
"name",
|
|
750
|
+
"portal_id",
|
|
751
|
+
"portal_user_id"
|
|
752
|
+
]
|
|
753
|
+
},
|
|
606
754
|
"AccessTokenItem": {
|
|
607
755
|
"type": "object",
|
|
608
756
|
"properties": {
|
|
@@ -625,9 +773,15 @@
|
|
|
625
773
|
"portal_id": {
|
|
626
774
|
"$ref": "#/components/schemas/PortalId"
|
|
627
775
|
},
|
|
776
|
+
"portal_user_id": {
|
|
777
|
+
"$ref": "#/components/schemas/PortalUserId"
|
|
778
|
+
},
|
|
628
779
|
"assignments": {
|
|
629
780
|
"$ref": "#/components/schemas/Assignments"
|
|
630
781
|
},
|
|
782
|
+
"read_only": {
|
|
783
|
+
"$ref": "#/components/schemas/ReadOnly"
|
|
784
|
+
},
|
|
631
785
|
"last_used": {
|
|
632
786
|
"type": "string",
|
|
633
787
|
"format": "date",
|
package/definitions/app.json
CHANGED
|
@@ -2750,7 +2750,8 @@
|
|
|
2750
2750
|
},
|
|
2751
2751
|
"result": {
|
|
2752
2752
|
"type": "string",
|
|
2753
|
-
"
|
|
2753
|
+
"deprecated": true,
|
|
2754
|
+
"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."
|
|
2754
2755
|
}
|
|
2755
2756
|
},
|
|
2756
2757
|
"required": [
|
|
@@ -2760,6 +2761,21 @@
|
|
|
2760
2761
|
],
|
|
2761
2762
|
"additionalProperties": false
|
|
2762
2763
|
},
|
|
2764
|
+
"resolved": {
|
|
2765
|
+
"type": "object",
|
|
2766
|
+
"properties": {
|
|
2767
|
+
"result": {
|
|
2768
|
+
"type": "string",
|
|
2769
|
+
"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`."
|
|
2770
|
+
},
|
|
2771
|
+
"error_message_path": {
|
|
2772
|
+
"type": "string",
|
|
2773
|
+
"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",
|
|
2774
|
+
"example": "error.message"
|
|
2775
|
+
}
|
|
2776
|
+
},
|
|
2777
|
+
"additionalProperties": false
|
|
2778
|
+
},
|
|
2763
2779
|
"use_static_ips": {
|
|
2764
2780
|
"type": "boolean",
|
|
2765
2781
|
"deprecated": true,
|
|
@@ -2832,7 +2848,8 @@
|
|
|
2832
2848
|
},
|
|
2833
2849
|
"result": {
|
|
2834
2850
|
"type": "string",
|
|
2835
|
-
"
|
|
2851
|
+
"deprecated": true,
|
|
2852
|
+
"description": "Deprecated. Use `resolved.result` instead. 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."
|
|
2836
2853
|
}
|
|
2837
2854
|
},
|
|
2838
2855
|
"required": [
|
|
@@ -2841,6 +2858,21 @@
|
|
|
2841
2858
|
],
|
|
2842
2859
|
"additionalProperties": false
|
|
2843
2860
|
},
|
|
2861
|
+
"resolved": {
|
|
2862
|
+
"type": "object",
|
|
2863
|
+
"properties": {
|
|
2864
|
+
"result": {
|
|
2865
|
+
"type": "string",
|
|
2866
|
+
"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`."
|
|
2867
|
+
},
|
|
2868
|
+
"error_message_path": {
|
|
2869
|
+
"type": "string",
|
|
2870
|
+
"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",
|
|
2871
|
+
"example": "error.message"
|
|
2872
|
+
}
|
|
2873
|
+
},
|
|
2874
|
+
"additionalProperties": false
|
|
2875
|
+
},
|
|
2844
2876
|
"assignment_mode": {
|
|
2845
2877
|
"type": "string",
|
|
2846
2878
|
"enum": [
|
|
@@ -2953,11 +2985,16 @@
|
|
|
2953
2985
|
"type": "object",
|
|
2954
2986
|
"description": "Response to the call",
|
|
2955
2987
|
"properties": {
|
|
2956
|
-
"
|
|
2988
|
+
"data_path": {
|
|
2957
2989
|
"type": "string",
|
|
2958
2990
|
"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",
|
|
2959
2991
|
"example": "data.results"
|
|
2960
2992
|
},
|
|
2993
|
+
"dataPath": {
|
|
2994
|
+
"type": "string",
|
|
2995
|
+
"deprecated": true,
|
|
2996
|
+
"description": "Deprecated. Use `data_path` instead."
|
|
2997
|
+
},
|
|
2961
2998
|
"counter_identifiers": {
|
|
2962
2999
|
"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",
|
|
2963
3000
|
"type": "object",
|
|
@@ -2982,6 +3019,11 @@
|
|
|
2982
3019
|
"type": "string",
|
|
2983
3020
|
"description": "Lower allowed limit of the meter reading",
|
|
2984
3021
|
"example": "{{CallResponse.data.lower_limit}}"
|
|
3022
|
+
},
|
|
3023
|
+
"error_message_path": {
|
|
3024
|
+
"type": "string",
|
|
3025
|
+
"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",
|
|
3026
|
+
"example": "error.message"
|
|
2985
3027
|
}
|
|
2986
3028
|
},
|
|
2987
3029
|
"additionalProperties": false
|
|
@@ -3081,9 +3123,19 @@
|
|
|
3081
3123
|
"resolved": {
|
|
3082
3124
|
"type": "object",
|
|
3083
3125
|
"properties": {
|
|
3084
|
-
"
|
|
3126
|
+
"data_path": {
|
|
3085
3127
|
"type": "string",
|
|
3086
3128
|
"description": "Optional path to the data (array) in the response. If omitted, the data is assumed to be on the top level."
|
|
3129
|
+
},
|
|
3130
|
+
"dataPath": {
|
|
3131
|
+
"type": "string",
|
|
3132
|
+
"deprecated": true,
|
|
3133
|
+
"description": "Deprecated. Use `data_path` instead."
|
|
3134
|
+
},
|
|
3135
|
+
"error_message_path": {
|
|
3136
|
+
"type": "string",
|
|
3137
|
+
"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",
|
|
3138
|
+
"example": "error.message"
|
|
3087
3139
|
}
|
|
3088
3140
|
},
|
|
3089
3141
|
"additionalProperties": false
|
|
@@ -3182,9 +3234,19 @@
|
|
|
3182
3234
|
"resolved": {
|
|
3183
3235
|
"type": "object",
|
|
3184
3236
|
"properties": {
|
|
3185
|
-
"
|
|
3237
|
+
"data_path": {
|
|
3186
3238
|
"type": "string",
|
|
3187
3239
|
"description": "Optional path to the data (array) in the response. If omitted, the data is assumed to be on the top level."
|
|
3240
|
+
},
|
|
3241
|
+
"dataPath": {
|
|
3242
|
+
"type": "string",
|
|
3243
|
+
"deprecated": true,
|
|
3244
|
+
"description": "Deprecated. Use `data_path` instead."
|
|
3245
|
+
},
|
|
3246
|
+
"error_message_path": {
|
|
3247
|
+
"type": "string",
|
|
3248
|
+
"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",
|
|
3249
|
+
"example": "error.message"
|
|
3188
3250
|
}
|
|
3189
3251
|
},
|
|
3190
3252
|
"additionalProperties": false
|
|
@@ -3273,6 +3335,17 @@
|
|
|
3273
3335
|
],
|
|
3274
3336
|
"additionalProperties": false
|
|
3275
3337
|
},
|
|
3338
|
+
"resolved": {
|
|
3339
|
+
"type": "object",
|
|
3340
|
+
"properties": {
|
|
3341
|
+
"error_message_path": {
|
|
3342
|
+
"type": "string",
|
|
3343
|
+
"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",
|
|
3344
|
+
"example": "error.message"
|
|
3345
|
+
}
|
|
3346
|
+
},
|
|
3347
|
+
"additionalProperties": false
|
|
3348
|
+
},
|
|
3276
3349
|
"use_static_ips": {
|
|
3277
3350
|
"type": "boolean",
|
|
3278
3351
|
"deprecated": true,
|
|
@@ -3291,7 +3364,7 @@
|
|
|
3291
3364
|
"additionalProperties": false
|
|
3292
3365
|
},
|
|
3293
3366
|
"PortalExtensionHookVisualizationMetadata": {
|
|
3294
|
-
"description": "Hook that returns runtime metadata describing how a visualization (consumption / price / cost chart) should be rendered for a given portal context (meter, contract, etc). It is invoked by the portal before fetching data, with the same context the data hook would receive, so that the discovery shape can vary per meter/contract. The expected response to the call is:\n - 200 with a JSON body of shape:\n {\n \"type_options\": [\n { \"id\": \"ht\", \"label\": { \"en\": \"High tariff\" }, \"aggregation_group\": \"consumption\", \"statistical_method\": \"sum\", \"unit\": \"kWh\" },\n ...\n ],\n \"intervals\": [\"PT15M\", \"PT1H\", \"P1D\", \"P1M\"],\n \"data_range\": { \"from\": \"2024-01-01T00:00:00Z\", \"to\": \"2026-05-01T00:00:00Z\" }\n }\n Each type option carries its own `statistical_method`, which describes the method already applied to that type's data and dictates the chart shape: `sum` is rendered as a bar chart; `min`, `average`, and `max` are rendered as a line chart. A single visualization can therefore mix bar-shaped types with line-shaped types. Defaults to `sum` when omitted.\n `aggregation_group` controls how types within a group are visually combined (depends on the per-type `statistical_method`):\n - bar chart (`sum`): same-group types are stacked into a single bar (e.g. ht/nt summed into total consumption); different-group types render side-by-side.\n - line chart (`min` / `average` / `max`): same-group types are rendered as an area chart; different-group types render as separate lines.\n All fields are optional; the consumer falls back to its defaults for whatever the hook does not return.\nThe portal looks up this hook implicitly per extension (one `visualizationMetadata` hook per extension) — there is no need for a data-retrieval hook to reference it explicitly.\n",
|
|
3367
|
+
"description": "Hook that returns runtime metadata describing how a visualization (consumption / price / cost chart) should be rendered for a given portal context (meter, contract, etc). It is invoked by the portal before fetching data, with the same context the data hook would receive, so that the discovery shape can vary per meter/contract. The expected response to the call is:\n - 200 with a JSON body of shape:\n {\n \"type_options\": [\n { \"id\": \"ht\", \"label\": { \"en\": \"High tariff\" }, \"aggregation_group\": \"consumption\", \"statistical_method\": \"sum\", \"unit\": \"kWh\", \"color\": \"primary\", \"precision\": 2 },\n ...\n ],\n \"intervals\": [\"PT15M\", \"PT1H\", \"P1D\", \"P1M\"],\n \"data_range\": { \"from\": \"2024-01-01T00:00:00Z\", \"to\": \"2026-05-01T00:00:00Z\" }\n }\n Each type option carries its own `statistical_method`, which describes the method already applied to that type's data and dictates the chart shape: `sum` is rendered as a bar chart; `min`, `average`, and `max` are rendered as a line chart. A single visualization can therefore mix bar-shaped types with line-shaped types. Defaults to `sum` when omitted.\n Each type option may also customize its rendering: `color` picks a Spark palette color (`primary`, `slate`, `mauve`, `orange`, `red`, `tomato`, `amber`, `green`, `blue`) used to draw the type's series; `precision` sets the number of decimal places to show for that type's values (axis labels, tooltips, summaries). Both are optional — the consumer falls back to its own defaults when they are omitted.\n `aggregation_group` controls how types within a group are visually combined (depends on the per-type `statistical_method`):\n - bar chart (`sum`): same-group types are stacked into a single bar (e.g. ht/nt summed into total consumption); different-group types render side-by-side.\n - line chart (`min` / `average` / `max`): same-group types are rendered as an area chart; different-group types render as separate lines.\n All fields are optional; the consumer falls back to its defaults for whatever the hook does not return.\nThe portal looks up this hook implicitly per extension (one `visualizationMetadata` hook per extension) — there is no need for a data-retrieval hook to reference it explicitly.\n",
|
|
3295
3368
|
"type": "object",
|
|
3296
3369
|
"properties": {
|
|
3297
3370
|
"id": {
|
|
@@ -3353,9 +3426,19 @@
|
|
|
3353
3426
|
"resolved": {
|
|
3354
3427
|
"type": "object",
|
|
3355
3428
|
"properties": {
|
|
3356
|
-
"
|
|
3429
|
+
"data_path": {
|
|
3357
3430
|
"type": "string",
|
|
3358
3431
|
"description": "Optional path to the metadata object in the response. If omitted, the metadata is assumed to be on the top level."
|
|
3432
|
+
},
|
|
3433
|
+
"dataPath": {
|
|
3434
|
+
"type": "string",
|
|
3435
|
+
"deprecated": true,
|
|
3436
|
+
"description": "Deprecated. Use `data_path` instead."
|
|
3437
|
+
},
|
|
3438
|
+
"error_message_path": {
|
|
3439
|
+
"type": "string",
|
|
3440
|
+
"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",
|
|
3441
|
+
"example": "error.message"
|
|
3359
3442
|
}
|
|
3360
3443
|
},
|
|
3361
3444
|
"additionalProperties": false
|
|
@@ -3454,9 +3537,19 @@
|
|
|
3454
3537
|
"resolved": {
|
|
3455
3538
|
"type": "object",
|
|
3456
3539
|
"properties": {
|
|
3457
|
-
"
|
|
3540
|
+
"data_path": {
|
|
3458
3541
|
"type": "string",
|
|
3459
3542
|
"description": "Optional path to the data (array) in the response. If omitted, the data is assumed to be on the top level."
|
|
3543
|
+
},
|
|
3544
|
+
"dataPath": {
|
|
3545
|
+
"type": "string",
|
|
3546
|
+
"deprecated": true,
|
|
3547
|
+
"description": "Deprecated. Use `data_path` instead."
|
|
3548
|
+
},
|
|
3549
|
+
"error_message_path": {
|
|
3550
|
+
"type": "string",
|
|
3551
|
+
"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",
|
|
3552
|
+
"example": "error.message"
|
|
3460
3553
|
}
|
|
3461
3554
|
},
|
|
3462
3555
|
"additionalProperties": false
|
|
@@ -1064,6 +1064,13 @@
|
|
|
1064
1064
|
"$ref": "#/components/schemas/ActionSchedule"
|
|
1065
1065
|
}
|
|
1066
1066
|
},
|
|
1067
|
+
"loops": {
|
|
1068
|
+
"type": "array",
|
|
1069
|
+
"description": "Loop scope definitions. Each loop has an id and a source_path resolved against the trigger entity at execution time. Actions referencing a loop's id via their loop_id property run once per item in the resolved array. Loop members must be contiguous in the actions array.\n",
|
|
1070
|
+
"items": {
|
|
1071
|
+
"$ref": "#/components/schemas/AutomationLoop"
|
|
1072
|
+
}
|
|
1073
|
+
},
|
|
1067
1074
|
"actions": {
|
|
1068
1075
|
"type": "array",
|
|
1069
1076
|
"description": "The actions (nodes) of the automation flow",
|
|
@@ -1354,9 +1361,48 @@
|
|
|
1354
1361
|
"schedule_id": {
|
|
1355
1362
|
"type": "string",
|
|
1356
1363
|
"description": "Schedule Id which indicates the schedule of the action"
|
|
1364
|
+
},
|
|
1365
|
+
"loop_id": {
|
|
1366
|
+
"type": "string",
|
|
1367
|
+
"description": "Id of a loop scope defined on the parent flow. When set, the action runs once per item resolved from the loop's source_path. All actions sharing the same loop_id must be contiguous in the actions array.\n"
|
|
1357
1368
|
}
|
|
1358
1369
|
}
|
|
1359
1370
|
},
|
|
1371
|
+
"AutomationLoop": {
|
|
1372
|
+
"type": "object",
|
|
1373
|
+
"description": "A loop scope on an automation flow.",
|
|
1374
|
+
"properties": {
|
|
1375
|
+
"id": {
|
|
1376
|
+
"type": "string",
|
|
1377
|
+
"description": "Stable identifier referenced by AutomationActionConfig.loop_id",
|
|
1378
|
+
"example": "loop_contracts"
|
|
1379
|
+
},
|
|
1380
|
+
"source_path": {
|
|
1381
|
+
"type": "string",
|
|
1382
|
+
"description": "Path resolved against the trigger entity to produce the array of iteration items. e.g. submission.steps[0]['Contracts'].\n",
|
|
1383
|
+
"example": "submission.steps[0]['Contracts']"
|
|
1384
|
+
},
|
|
1385
|
+
"source_type": {
|
|
1386
|
+
"type": "string",
|
|
1387
|
+
"description": "How source_path is interpreted. 'journey-multi-select' is the v1 source type (journey card block with multi-select). Future source types (e.g. 'previous-action-outputs', 'entity-relation') will be added here.\n",
|
|
1388
|
+
"enum": [
|
|
1389
|
+
"journey-multi-select",
|
|
1390
|
+
"previous-action-outputs",
|
|
1391
|
+
"entity-relation"
|
|
1392
|
+
],
|
|
1393
|
+
"default": "journey-multi-select"
|
|
1394
|
+
},
|
|
1395
|
+
"length": {
|
|
1396
|
+
"type": "integer",
|
|
1397
|
+
"description": "Maximum number of iterations. 0 / omitted = iterate the full resolved array.\n",
|
|
1398
|
+
"minimum": 0
|
|
1399
|
+
}
|
|
1400
|
+
},
|
|
1401
|
+
"required": [
|
|
1402
|
+
"id",
|
|
1403
|
+
"source_path"
|
|
1404
|
+
]
|
|
1405
|
+
},
|
|
1360
1406
|
"AutomationActionExecutionState": {
|
|
1361
1407
|
"type": "object",
|
|
1362
1408
|
"properties": {
|
|
@@ -1379,9 +1425,49 @@
|
|
|
1379
1425
|
},
|
|
1380
1426
|
"retry_strategy": {
|
|
1381
1427
|
"$ref": "#/components/schemas/RetryStrategy"
|
|
1428
|
+
},
|
|
1429
|
+
"iterations": {
|
|
1430
|
+
"type": "array",
|
|
1431
|
+
"description": "For looped actions, an archive of completed iterations. The action's own execution_status / outputs / error_output always reflect the current (latest) iteration. The previous iteration's state is pushed here before the action is reset for the next pass.\n",
|
|
1432
|
+
"items": {
|
|
1433
|
+
"$ref": "#/components/schemas/AutomationActionIteration"
|
|
1434
|
+
}
|
|
1382
1435
|
}
|
|
1383
1436
|
}
|
|
1384
1437
|
},
|
|
1438
|
+
"AutomationActionIteration": {
|
|
1439
|
+
"type": "object",
|
|
1440
|
+
"description": "A snapshot of a single completed pass through a looped action.",
|
|
1441
|
+
"properties": {
|
|
1442
|
+
"index": {
|
|
1443
|
+
"type": "integer",
|
|
1444
|
+
"minimum": 0,
|
|
1445
|
+
"description": "Zero-based iteration index within the loop scope."
|
|
1446
|
+
},
|
|
1447
|
+
"execution_status": {
|
|
1448
|
+
"$ref": "#/components/schemas/ExecutionStatus"
|
|
1449
|
+
},
|
|
1450
|
+
"started_at": {
|
|
1451
|
+
"type": "string",
|
|
1452
|
+
"format": "date-time"
|
|
1453
|
+
},
|
|
1454
|
+
"ended_at": {
|
|
1455
|
+
"type": "string",
|
|
1456
|
+
"format": "date-time"
|
|
1457
|
+
},
|
|
1458
|
+
"outputs": {
|
|
1459
|
+
"type": "object",
|
|
1460
|
+
"additionalProperties": true
|
|
1461
|
+
},
|
|
1462
|
+
"error_output": {
|
|
1463
|
+
"$ref": "#/components/schemas/ErrorOutput"
|
|
1464
|
+
}
|
|
1465
|
+
},
|
|
1466
|
+
"required": [
|
|
1467
|
+
"index",
|
|
1468
|
+
"execution_status"
|
|
1469
|
+
]
|
|
1470
|
+
},
|
|
1385
1471
|
"RetryStrategy": {
|
|
1386
1472
|
"type": "string",
|
|
1387
1473
|
"description": "different behaviors for retrying failed execution actions.",
|
|
@@ -3263,6 +3349,9 @@
|
|
|
3263
3349
|
"type": "boolean",
|
|
3264
3350
|
"description": "Result of the condition evaluation"
|
|
3265
3351
|
},
|
|
3352
|
+
"error_output": {
|
|
3353
|
+
"$ref": "#/components/schemas/ErrorOutput"
|
|
3354
|
+
},
|
|
3266
3355
|
"statements": {
|
|
3267
3356
|
"type": "array",
|
|
3268
3357
|
"items": {
|
|
@@ -3433,6 +3522,20 @@
|
|
|
3433
3522
|
},
|
|
3434
3523
|
"workflow_context": {
|
|
3435
3524
|
"$ref": "#/components/schemas/WorkflowExecutionContext"
|
|
3525
|
+
},
|
|
3526
|
+
"loops": {
|
|
3527
|
+
"type": "array",
|
|
3528
|
+
"description": "Loop scope definitions propagated from the flow onto the execution record. Each loop has an id and a source_path resolved against the trigger entity at execution time. Actions referencing a loop's id via their loop_id property run once per item in the resolved array.\n",
|
|
3529
|
+
"items": {
|
|
3530
|
+
"$ref": "#/components/schemas/AutomationLoop"
|
|
3531
|
+
}
|
|
3532
|
+
},
|
|
3533
|
+
"loop_state": {
|
|
3534
|
+
"type": "object",
|
|
3535
|
+
"description": "Runtime iteration state, keyed by loop_id. Tracks the current_index and total for each active loop scope. Entries are removed once a loop exits.\n",
|
|
3536
|
+
"additionalProperties": {
|
|
3537
|
+
"$ref": "#/components/schemas/AutomationLoopState"
|
|
3538
|
+
}
|
|
3436
3539
|
}
|
|
3437
3540
|
},
|
|
3438
3541
|
"required": [
|
|
@@ -3444,6 +3547,23 @@
|
|
|
3444
3547
|
"actions"
|
|
3445
3548
|
]
|
|
3446
3549
|
},
|
|
3550
|
+
"AutomationLoopState": {
|
|
3551
|
+
"type": "object",
|
|
3552
|
+
"properties": {
|
|
3553
|
+
"current_index": {
|
|
3554
|
+
"type": "integer",
|
|
3555
|
+
"minimum": 0
|
|
3556
|
+
},
|
|
3557
|
+
"total": {
|
|
3558
|
+
"type": "integer",
|
|
3559
|
+
"minimum": 0
|
|
3560
|
+
}
|
|
3561
|
+
},
|
|
3562
|
+
"required": [
|
|
3563
|
+
"current_index",
|
|
3564
|
+
"total"
|
|
3565
|
+
]
|
|
3566
|
+
},
|
|
3447
3567
|
"WorkflowExecutionContext": {
|
|
3448
3568
|
"type": "object",
|
|
3449
3569
|
"required": [
|