@epilot/cli 0.1.217 → 0.1.219
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/README.md +1 -1
- package/definitions/integration-toolkit.json +251 -63
- package/definitions/journey.json +399 -13
- package/definitions/validation-rules.json +12 -4
- package/dist/{access-token-3M2UX4T6.js → access-token-5EGR5NKF.js} +2 -2
- package/dist/{add-component-OPHPQVKJ.js → add-component-5ICCDC6Y.js} +2 -2
- package/dist/{add-function-5CYOHZ7P.js → add-function-QUPNWLXV.js} +2 -2
- package/dist/{address-J4KS6BOG.js → address-2APS3ZFA.js} +2 -2
- package/dist/{address-suggestions-QWVT62EJ.js → address-suggestions-SQQIIDUS.js} +2 -2
- package/dist/{ai-agents-HF4YITS3.js → ai-agents-QSTISFUB.js} +2 -2
- package/dist/{api-X5RFKKY2.js → api-Y2AGZ7DL.js} +2 -2
- package/dist/app-OAM546RR.js +26 -0
- package/dist/{audit-logs-3HPYMEC5.js → audit-logs-ASR5YDPX.js} +2 -2
- package/dist/{automation-B5LPDDHE.js → automation-ARKKXZ4N.js} +2 -2
- package/dist/{billing-65PESTXT.js → billing-W75ATH3R.js} +2 -2
- package/dist/bin/epilot.js +61 -61
- package/dist/{blueprint-manifest-DAZKXY6Y.js → blueprint-manifest-YZKBJJUH.js} +2 -2
- package/dist/{calendar-KKMDDYL2.js → calendar-J7POWVCH.js} +2 -2
- package/dist/{chat-CJGKHP3Z.js → chat-DLEGOIKF.js} +2 -2
- package/dist/{chunk-5FSHMIOE.js → chunk-DDASH75P.js} +2 -1
- package/dist/{chunk-FQEFNWP5.js → chunk-DMXN5DQ3.js} +1 -1
- package/dist/{chunk-5L5T6X6K.js → chunk-EI3OI74J.js} +1 -1
- package/dist/{chunk-PSPOGWKK.js → chunk-FATBFGLI.js} +1 -1
- package/dist/{completion-M33AEL4C.js → completion-U7O4D7KF.js} +1 -1
- package/dist/{configuration-hub-ECWKJBGK.js → configuration-hub-7XRTAWKP.js} +2 -2
- package/dist/{consent-UQUUE7J6.js → consent-V3B4QUXA.js} +2 -2
- package/dist/{customer-portal-NX5UJKEV.js → customer-portal-ZJ3ZS2XJ.js} +2 -2
- package/dist/{dashboard-RSLWJKGP.js → dashboard-XCV2ICAJ.js} +2 -2
- package/dist/{data-governance-FHKBA3BN.js → data-governance-XWJEGYCM.js} +2 -2
- package/dist/{deduplication-CC3WHXZY.js → deduplication-QPT6WVWI.js} +2 -2
- package/dist/{deploy-XZGEQ6GR.js → deploy-COJGJXTC.js} +2 -2
- package/dist/{design-NUR555F3.js → design-X4R7RU7C.js} +2 -2
- package/dist/{dev-24VLQZQ4.js → dev-VUARXC3O.js} +2 -2
- package/dist/{document-MIEHS4ZA.js → document-7AF6KN77.js} +2 -2
- package/dist/{email-settings-VOAWAJVR.js → email-settings-PK52XJHJ.js} +2 -2
- package/dist/{email-template-PDWVABPF.js → email-template-5FREPM5R.js} +2 -2
- package/dist/{entity-Q5XRPXK3.js → entity-FMXVIMWW.js} +2 -2
- package/dist/{entity-mapping-XTP5EZKN.js → entity-mapping-TEYDQZXF.js} +2 -2
- package/dist/{environments-KOSJ2RJN.js → environments-R7GUAQAK.js} +2 -2
- package/dist/{event-catalog-UB6V5VFA.js → event-catalog-WVFDH6PR.js} +2 -2
- package/dist/{export-LU2GYUH5.js → export-6NGGXIXQ.js} +2 -2
- package/dist/{external-values-QTRGFXHM.js → external-values-G534OEJ4.js} +2 -2
- package/dist/{file-NIQI7POE.js → file-L25IM4MF.js} +2 -2
- package/dist/{iban-LHWCBAQ7.js → iban-D3ARIURH.js} +2 -2
- package/dist/{identity-A2YGE6NU.js → identity-LH6R4G4S.js} +2 -2
- package/dist/{init-SXCLEVSU.js → init-Y6FRIAEL.js} +2 -2
- package/dist/{integration-toolkit-2G7IAM6J.js → integration-toolkit-HZFVF6WQ.js} +2 -2
- package/dist/{journey-44RFHMEI.js → journey-DVAAYPDH.js} +2 -2
- package/dist/{kanban-YQNWUEP5.js → kanban-A5TLZ3LJ.js} +2 -2
- package/dist/{message-765PKUPP.js → message-WCU3ZH2T.js} +2 -2
- package/dist/{metering-X4X4IB2N.js → metering-RLDCKCXG.js} +2 -2
- package/dist/{notes-S2RGS5GS.js → notes-NYLFJK7Z.js} +2 -2
- package/dist/{notification-7OC2VNY4.js → notification-4UIIJTG5.js} +2 -2
- package/dist/{organization-E3LUMPDA.js → organization-TR5AP5D7.js} +2 -2
- package/dist/{partner-directory-E46TTPOH.js → partner-directory-HI2EITVD.js} +2 -2
- package/dist/{permissions-E3UUYQ7Y.js → permissions-O5TKGYQS.js} +2 -2
- package/dist/{phone-integration-HNX6JZJI.js → phone-integration-CS5HF7JZ.js} +2 -2
- package/dist/{pricing-7E2AGIBW.js → pricing-6O7GAHLE.js} +2 -2
- package/dist/{pricing-tier-3WCRO2JD.js → pricing-tier-47DCOAV3.js} +2 -2
- package/dist/{purpose-YHKYRAEX.js → purpose-3B2LMEMG.js} +2 -2
- package/dist/{query-5BSWYUX5.js → query-2TOQGHFD.js} +2 -2
- package/dist/{remove-component-OEIF3NPI.js → remove-component-VGM37NQG.js} +2 -2
- package/dist/{review-25ONTL5I.js → review-CNU33MHA.js} +2 -2
- package/dist/{sandbox-YMP32UAJ.js → sandbox-VOW4UHYP.js} +2 -2
- package/dist/{sharing-JDHABGOF.js → sharing-A5MF4BI5.js} +2 -2
- package/dist/{snapshot-777DZOU7.js → snapshot-BDVWM2YQ.js} +2 -2
- package/dist/{submission-4OOXHJQU.js → submission-NLNXE342.js} +2 -2
- package/dist/{targeting-ZN3TTNBW.js → targeting-I2NLORRP.js} +2 -2
- package/dist/{template-variables-QKRWZ73M.js → template-variables-IMQ72RU5.js} +2 -2
- package/dist/{upgrade-HV4QFQDL.js → upgrade-2Q35NLPS.js} +1 -1
- package/dist/{user-ZEYIH72Y.js → user-5RYSBYDR.js} +2 -2
- package/dist/{validate-U32MNCLO.js → validate-37KPISM6.js} +2 -2
- package/dist/{validation-rules-BLNNCBAS.js → validation-rules-MVZA3DE5.js} +2 -2
- package/dist/{versions-REG3C7BJ.js → versions-T3FNT46B.js} +2 -2
- package/dist/{webhooks-55M66HQZ.js → webhooks-MXFNAOKX.js} +2 -2
- package/dist/{workflow-QBBYQCHF.js → workflow-T674TLJS.js} +2 -2
- package/dist/{workflow-definition-D3BXTZK4.js → workflow-definition-KO62VLXY.js} +2 -2
- package/package.json +1 -1
- package/dist/app-ZGZWK7T7.js +0 -26
package/definitions/journey.json
CHANGED
|
@@ -44,6 +44,12 @@
|
|
|
44
44
|
"/v1/journey/organization/{id}": {
|
|
45
45
|
"get": {
|
|
46
46
|
"operationId": "getJourneysByOrgId",
|
|
47
|
+
"x-epilot-permissions": [
|
|
48
|
+
{
|
|
49
|
+
"action": "entity:view",
|
|
50
|
+
"resource": "journey:*"
|
|
51
|
+
}
|
|
52
|
+
],
|
|
47
53
|
"summary": "getJourneysByOrgId",
|
|
48
54
|
"description": "Get all journeys by organization id",
|
|
49
55
|
"tags": [
|
|
@@ -88,6 +94,19 @@
|
|
|
88
94
|
"/v1/journey/configuration/{id}": {
|
|
89
95
|
"get": {
|
|
90
96
|
"operationId": "getJourney",
|
|
97
|
+
"x-epilot-permissions": [
|
|
98
|
+
{
|
|
99
|
+
"anyOf": [
|
|
100
|
+
{
|
|
101
|
+
"action": "entity:view",
|
|
102
|
+
"resource": "journey:*"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"access": "portal"
|
|
106
|
+
}
|
|
107
|
+
]
|
|
108
|
+
}
|
|
109
|
+
],
|
|
91
110
|
"summary": "getJourney",
|
|
92
111
|
"description": "Get journey by id. Private journeys requires valid private token to be passed",
|
|
93
112
|
"security": [
|
|
@@ -178,6 +197,12 @@
|
|
|
178
197
|
},
|
|
179
198
|
"delete": {
|
|
180
199
|
"operationId": "removeJourney",
|
|
200
|
+
"x-epilot-permissions": [
|
|
201
|
+
{
|
|
202
|
+
"action": "entity:delete",
|
|
203
|
+
"resource": "journey:*"
|
|
204
|
+
}
|
|
205
|
+
],
|
|
181
206
|
"summary": "removeJourney",
|
|
182
207
|
"description": "Remove journey by id",
|
|
183
208
|
"tags": [
|
|
@@ -223,6 +248,12 @@
|
|
|
223
248
|
"/v1/journey/configuration/{id}/revisions": {
|
|
224
249
|
"post": {
|
|
225
250
|
"operationId": "createJourneyRevision",
|
|
251
|
+
"x-epilot-permissions": [
|
|
252
|
+
{
|
|
253
|
+
"action": "entity:edit",
|
|
254
|
+
"resource": "journey:*"
|
|
255
|
+
}
|
|
256
|
+
],
|
|
226
257
|
"summary": "createJourneyRevision",
|
|
227
258
|
"description": "Creates a revision: an immutable copy of the complete journey configuration, identified by `revision_id`. Nothing customers receive changes; the revision only becomes the published version when it is published. The payload is complete and is not merged against the journey record or the previous revision. The entity datasource set of the revision is stored separately through the datasources API under the same `revision_id`.\n\nOnly available for organizations with journey versioning enabled; returns `404` otherwise.\n",
|
|
228
259
|
"tags": [
|
|
@@ -291,6 +322,12 @@
|
|
|
291
322
|
},
|
|
292
323
|
"get": {
|
|
293
324
|
"operationId": "listJourneyRevisions",
|
|
325
|
+
"x-epilot-permissions": [
|
|
326
|
+
{
|
|
327
|
+
"action": "entity:edit",
|
|
328
|
+
"resource": "journey:*"
|
|
329
|
+
}
|
|
330
|
+
],
|
|
294
331
|
"summary": "listJourneyRevisions",
|
|
295
332
|
"description": "Lists the journey's revision history, newest first. Metadata only, no configuration payload. `is_published` says whether a revision is the published version right now, which is a different question from `published_at`, which records the last time it was published.\n\nOnly available for organizations with journey versioning enabled; returns `404` otherwise.\n",
|
|
296
333
|
"tags": [
|
|
@@ -361,6 +398,12 @@
|
|
|
361
398
|
"/v1/journey/configuration/{id}/revisions/{revision_id}": {
|
|
362
399
|
"get": {
|
|
363
400
|
"operationId": "getJourneyRevision",
|
|
401
|
+
"x-epilot-permissions": [
|
|
402
|
+
{
|
|
403
|
+
"action": "entity:edit",
|
|
404
|
+
"resource": "journey:*"
|
|
405
|
+
}
|
|
406
|
+
],
|
|
364
407
|
"summary": "getJourneyRevision",
|
|
365
408
|
"description": "Returns one revision with its full configuration, in the shape the builder holds a journey in, so it can be loaded straight into the editor as unsaved changes. Reading a revision changes nothing; a client persists it, if at all, by posting it back to `POST .../revisions`.\n\nOnly available for organizations with journey versioning enabled; returns `404` otherwise.\n",
|
|
366
409
|
"tags": [
|
|
@@ -417,6 +460,12 @@
|
|
|
417
460
|
"/v1/journey/configuration/{id}/publish": {
|
|
418
461
|
"post": {
|
|
419
462
|
"operationId": "publishJourneyRevision",
|
|
463
|
+
"x-epilot-permissions": [
|
|
464
|
+
{
|
|
465
|
+
"action": "entity:edit",
|
|
466
|
+
"resource": "journey:*"
|
|
467
|
+
}
|
|
468
|
+
],
|
|
420
469
|
"summary": "publishJourneyRevision",
|
|
421
470
|
"description": "Makes one revision the published version, the one customers receive, in a single transaction: the revision's configuration is copied onto the journey record, its datasource set onto the published datasources, and `name`, `description`, `published_at` and `published_by` are stamped onto the revision. Any revision can be published, old or new, so publishing an older revision is the rollback.\n\n`name` is generated server-side when omitted, so every published revision carries one; an omitted name never replaces a name a previous publish already set. `settings.isActive` is never changed by a publish.\n\nOnly available for organizations with journey versioning enabled; returns `404` otherwise.\n",
|
|
422
471
|
"tags": [
|
|
@@ -480,6 +529,12 @@
|
|
|
480
529
|
"/v1/journey/configuration/{id}/publish-state": {
|
|
481
530
|
"get": {
|
|
482
531
|
"operationId": "getJourneyPublishState",
|
|
532
|
+
"x-epilot-permissions": [
|
|
533
|
+
{
|
|
534
|
+
"action": "entity:edit",
|
|
535
|
+
"resource": "journey:*"
|
|
536
|
+
}
|
|
537
|
+
],
|
|
483
538
|
"summary": "getJourneyPublishState",
|
|
484
539
|
"description": "Answers which revision is the published version without paging through the history. A journey that has not adopted versioning yet returns `200` with `published_revision_id: null`, not `404`.\n\nOnly available for organizations with journey versioning enabled; returns `404` otherwise.\n",
|
|
485
540
|
"tags": [
|
|
@@ -526,6 +581,18 @@
|
|
|
526
581
|
"/v1/journey/configuration/{id}/environment": {
|
|
527
582
|
"get": {
|
|
528
583
|
"operationId": "getJourneyEnvironment",
|
|
584
|
+
"x-epilot-permissions": [
|
|
585
|
+
{
|
|
586
|
+
"anyOf": [
|
|
587
|
+
{
|
|
588
|
+
"access": "org"
|
|
589
|
+
},
|
|
590
|
+
{
|
|
591
|
+
"access": "portal"
|
|
592
|
+
}
|
|
593
|
+
]
|
|
594
|
+
}
|
|
595
|
+
],
|
|
529
596
|
"summary": "getJourneyEnvironment",
|
|
530
597
|
"description": "Resolve the environment variables referenced by this journey: the environment-backed datasources declared in its steps, whether they source a block's options or supply the value an attached validation rule compares against, answered per datasource id; and the variables its logic conditions read, keyed by variable key (`variables` / `variableErrors`). Only browser-safe value types are returned; validation-rule values additionally exclude `Map`. Accepts either the public journey access token bound to this journey, or the caller's own portal (ECP) or epilot user token. A PRIVATE journey is served only to a portal or user token permitted to view it, the same rule getJourney applies.",
|
|
531
598
|
"security": [
|
|
@@ -585,6 +652,11 @@
|
|
|
585
652
|
"/v1/journey/configuration/{id}/external-values": {
|
|
586
653
|
"post": {
|
|
587
654
|
"operationId": "resolveJourneyExternalValues",
|
|
655
|
+
"x-epilot-permissions": [
|
|
656
|
+
{
|
|
657
|
+
"access": "portal"
|
|
658
|
+
}
|
|
659
|
+
],
|
|
588
660
|
"summary": "resolveJourneyExternalValues",
|
|
589
661
|
"description": "Resolve the External Values hooks this journey's validation rules compare against.\n\nThe journey runtime never calls external-values-api itself. A request names a datasource\nid declared by the saved journey config; the app and hook it resolves are read from that\nconfig, so a visitor cannot aim an installed app's integration at an arbitrary hook.\n\nRequires a portal token: a hook call reaches the organization's third-party system, so it\nstays behind the identified-customer boundary. Public journeys skip these conditions.\n\nAnswers 200 whenever the request itself was valid, including when a hook failed — per\ndatasource, so one unreachable system never fails the rules that did resolve.\n",
|
|
590
662
|
"security": [
|
|
@@ -648,6 +720,12 @@
|
|
|
648
720
|
"/v1/journey/environment-variables": {
|
|
649
721
|
"get": {
|
|
650
722
|
"operationId": "getJourneyEnvironmentVariables",
|
|
723
|
+
"x-epilot-permissions": [
|
|
724
|
+
{
|
|
725
|
+
"action": "entity:view",
|
|
726
|
+
"resource": "journey:*"
|
|
727
|
+
}
|
|
728
|
+
],
|
|
651
729
|
"summary": "getJourneyEnvironmentVariables",
|
|
652
730
|
"description": "List the organization's client-safe environment variables a journey may use: Map and List<Link> as an options source; Text, Number, Boolean and lists of them in logic conditions. Only variables that currently hold a valid value are returned. Intended for the journey builder's authoring UI; requires a journey authoring token, not an environments token.",
|
|
653
731
|
"security": [
|
|
@@ -689,9 +767,61 @@
|
|
|
689
767
|
}
|
|
690
768
|
}
|
|
691
769
|
},
|
|
770
|
+
"/v1/journey/template-variables": {
|
|
771
|
+
"get": {
|
|
772
|
+
"operationId": "getJourneyTemplateVariables",
|
|
773
|
+
"summary": "getJourneyTemplateVariables",
|
|
774
|
+
"description": "List what a journey template can reference beyond the entity's own attributes: the organization's Custom Variables and its scalar environment variables (`String`, `Text`, `Number`, `Boolean`). Names only, never values. Intended for the journey builder's variable picker; requires a journey authoring token, not an environments token.",
|
|
775
|
+
"x-epilot-permissions": [
|
|
776
|
+
{
|
|
777
|
+
"action": "entity:view",
|
|
778
|
+
"resource": "journey:*"
|
|
779
|
+
}
|
|
780
|
+
],
|
|
781
|
+
"security": [
|
|
782
|
+
{
|
|
783
|
+
"EpilotAuth": []
|
|
784
|
+
}
|
|
785
|
+
],
|
|
786
|
+
"tags": [
|
|
787
|
+
"Journeys"
|
|
788
|
+
],
|
|
789
|
+
"responses": {
|
|
790
|
+
"200": {
|
|
791
|
+
"description": "Custom Variables and scalar environment variables available to templates",
|
|
792
|
+
"headers": {
|
|
793
|
+
"Cache-Control": {
|
|
794
|
+
"schema": {
|
|
795
|
+
"type": "string"
|
|
796
|
+
},
|
|
797
|
+
"description": "Always private, no-store"
|
|
798
|
+
}
|
|
799
|
+
},
|
|
800
|
+
"content": {
|
|
801
|
+
"application/json": {
|
|
802
|
+
"schema": {
|
|
803
|
+
"$ref": "#/components/schemas/JourneyTemplateVariablesResponse"
|
|
804
|
+
}
|
|
805
|
+
}
|
|
806
|
+
}
|
|
807
|
+
},
|
|
808
|
+
"401": {
|
|
809
|
+
"description": "Authorization token missing"
|
|
810
|
+
},
|
|
811
|
+
"403": {
|
|
812
|
+
"description": "Not permitted to read this organization's journeys"
|
|
813
|
+
}
|
|
814
|
+
}
|
|
815
|
+
}
|
|
816
|
+
},
|
|
692
817
|
"/v1/journey/products/{id}": {
|
|
693
818
|
"get": {
|
|
694
819
|
"operationId": "getJourneyProducts",
|
|
820
|
+
"x-epilot-permissions": [
|
|
821
|
+
{
|
|
822
|
+
"access": "org"
|
|
823
|
+
}
|
|
824
|
+
],
|
|
695
825
|
"summary": "getJourneyProducts",
|
|
696
826
|
"description": "Get products available in the journey by id. requires public journey token to be passed.",
|
|
697
827
|
"security": [
|
|
@@ -777,6 +907,12 @@
|
|
|
777
907
|
"/v1/journey/configuration": {
|
|
778
908
|
"post": {
|
|
779
909
|
"operationId": "createJourney",
|
|
910
|
+
"x-epilot-permissions": [
|
|
911
|
+
{
|
|
912
|
+
"action": "entity:create",
|
|
913
|
+
"resource": "journey"
|
|
914
|
+
}
|
|
915
|
+
],
|
|
780
916
|
"summary": "createJourney",
|
|
781
917
|
"description": "Create a Journey",
|
|
782
918
|
"tags": [
|
|
@@ -830,6 +966,12 @@
|
|
|
830
966
|
},
|
|
831
967
|
"put": {
|
|
832
968
|
"operationId": "updateJourney",
|
|
969
|
+
"x-epilot-permissions": [
|
|
970
|
+
{
|
|
971
|
+
"action": "entity:edit",
|
|
972
|
+
"resource": "journey:*"
|
|
973
|
+
}
|
|
974
|
+
],
|
|
833
975
|
"summary": "updateJourney",
|
|
834
976
|
"description": "Update a Journey",
|
|
835
977
|
"tags": [
|
|
@@ -876,6 +1018,12 @@
|
|
|
876
1018
|
},
|
|
877
1019
|
"patch": {
|
|
878
1020
|
"operationId": "patchUpdateJourney",
|
|
1021
|
+
"x-epilot-permissions": [
|
|
1022
|
+
{
|
|
1023
|
+
"action": "entity:edit",
|
|
1024
|
+
"resource": "journey:*"
|
|
1025
|
+
}
|
|
1026
|
+
],
|
|
879
1027
|
"summary": "patchUpdateJourney",
|
|
880
1028
|
"description": "Update a Journey (partially / patch). Support for nested properties updates (e.g. \"property[0].name\").",
|
|
881
1029
|
"tags": [
|
|
@@ -943,6 +1091,12 @@
|
|
|
943
1091
|
"/v1/journey/configuration/search": {
|
|
944
1092
|
"post": {
|
|
945
1093
|
"operationId": "searchJourneys",
|
|
1094
|
+
"x-epilot-permissions": [
|
|
1095
|
+
{
|
|
1096
|
+
"action": "entity:view",
|
|
1097
|
+
"resource": "journey:*"
|
|
1098
|
+
}
|
|
1099
|
+
],
|
|
946
1100
|
"summary": "searchJourneys",
|
|
947
1101
|
"description": "Search Journeys",
|
|
948
1102
|
"tags": [
|
|
@@ -976,6 +1130,11 @@
|
|
|
976
1130
|
"/v1/journey/document:generate": {
|
|
977
1131
|
"post": {
|
|
978
1132
|
"operationId": "generateDocument",
|
|
1133
|
+
"x-epilot-permissions": [
|
|
1134
|
+
{
|
|
1135
|
+
"access": "org"
|
|
1136
|
+
}
|
|
1137
|
+
],
|
|
979
1138
|
"summary": "generateDocument",
|
|
980
1139
|
"description": "Builds document generated from a template with journey values.\"\n\nSupported input document types:\n- .docx\n\nSupported output document types:\n- .pdf\n- .docx but limited to only text based variables\n\nUses [Document API](https://gitlab.com/e-pilot/product/file-management/document-api) to generate the document.\nUses [Template Variables API](https://docs.epilot.io/api/template-variables) to replace variables in the document.\n",
|
|
981
1140
|
"security": [
|
|
@@ -1013,6 +1172,12 @@
|
|
|
1013
1172
|
"/v2/journey/configuration": {
|
|
1014
1173
|
"post": {
|
|
1015
1174
|
"operationId": "createJourneyV2",
|
|
1175
|
+
"x-epilot-permissions": [
|
|
1176
|
+
{
|
|
1177
|
+
"action": "entity:create",
|
|
1178
|
+
"resource": "journey"
|
|
1179
|
+
}
|
|
1180
|
+
],
|
|
1016
1181
|
"summary": "createJourneyV2",
|
|
1017
1182
|
"description": "Create a Journey",
|
|
1018
1183
|
"tags": [
|
|
@@ -1066,6 +1231,12 @@
|
|
|
1066
1231
|
},
|
|
1067
1232
|
"put": {
|
|
1068
1233
|
"operationId": "updateJourneyV2",
|
|
1234
|
+
"x-epilot-permissions": [
|
|
1235
|
+
{
|
|
1236
|
+
"action": "entity:edit",
|
|
1237
|
+
"resource": "journey:*"
|
|
1238
|
+
}
|
|
1239
|
+
],
|
|
1069
1240
|
"summary": "updateJourneyV2",
|
|
1070
1241
|
"description": "Update a Journey",
|
|
1071
1242
|
"tags": [
|
|
@@ -1123,6 +1294,12 @@
|
|
|
1123
1294
|
},
|
|
1124
1295
|
"patch": {
|
|
1125
1296
|
"operationId": "patchUpdateJourneyV2",
|
|
1297
|
+
"x-epilot-permissions": [
|
|
1298
|
+
{
|
|
1299
|
+
"action": "entity:edit",
|
|
1300
|
+
"resource": "journey:*"
|
|
1301
|
+
}
|
|
1302
|
+
],
|
|
1126
1303
|
"summary": "patchUpdateJourneyV2",
|
|
1127
1304
|
"description": "Update a Journey (partially / patch). Support for nested properties updates (e.g. \"property[0].name\").",
|
|
1128
1305
|
"tags": [
|
|
@@ -1241,6 +1418,12 @@
|
|
|
1241
1418
|
},
|
|
1242
1419
|
"delete": {
|
|
1243
1420
|
"operationId": "removeJourneyV2",
|
|
1421
|
+
"x-epilot-permissions": [
|
|
1422
|
+
{
|
|
1423
|
+
"action": "entity:delete",
|
|
1424
|
+
"resource": "journey:*"
|
|
1425
|
+
}
|
|
1426
|
+
],
|
|
1244
1427
|
"summary": "removeJourneyV2",
|
|
1245
1428
|
"description": "Remove journey by id",
|
|
1246
1429
|
"tags": [
|
|
@@ -1275,9 +1458,7 @@
|
|
|
1275
1458
|
"tags": [
|
|
1276
1459
|
"Journeys"
|
|
1277
1460
|
],
|
|
1278
|
-
"security": [
|
|
1279
|
-
{}
|
|
1280
|
-
],
|
|
1461
|
+
"security": [],
|
|
1281
1462
|
"parameters": [
|
|
1282
1463
|
{
|
|
1283
1464
|
"name": "id",
|
|
@@ -1340,6 +1521,11 @@
|
|
|
1340
1521
|
"/v1/journey/button-options": {
|
|
1341
1522
|
"get": {
|
|
1342
1523
|
"operationId": "getButtonOptions",
|
|
1524
|
+
"x-epilot-permissions": [
|
|
1525
|
+
{
|
|
1526
|
+
"access": "org"
|
|
1527
|
+
}
|
|
1528
|
+
],
|
|
1343
1529
|
"summary": "getButtonOptions",
|
|
1344
1530
|
"description": "Get button options from a csv file.",
|
|
1345
1531
|
"security": [
|
|
@@ -1843,6 +2029,156 @@
|
|
|
1843
2029
|
}
|
|
1844
2030
|
}
|
|
1845
2031
|
},
|
|
2032
|
+
"JourneyTemplatingContext": {
|
|
2033
|
+
"description": "What the journey's Handlebars templates need from the organization, derived from the served configuration only. Present when the journey contains templates and templating is enabled for the organization. Read-only: like `featureFlags`, it is dropped from any write, so a client that sends the configuration back never stores it.\n",
|
|
2034
|
+
"type": "object",
|
|
2035
|
+
"properties": {
|
|
2036
|
+
"templating": {
|
|
2037
|
+
"$ref": "#/components/schemas/JourneyTemplating"
|
|
2038
|
+
}
|
|
2039
|
+
}
|
|
2040
|
+
},
|
|
2041
|
+
"JourneyTemplateVariablesResponse": {
|
|
2042
|
+
"type": "object",
|
|
2043
|
+
"required": [
|
|
2044
|
+
"customVariables",
|
|
2045
|
+
"environment"
|
|
2046
|
+
],
|
|
2047
|
+
"properties": {
|
|
2048
|
+
"customVariables": {
|
|
2049
|
+
"type": "array",
|
|
2050
|
+
"description": "Custom Variables a template can expand as `{{key}}`",
|
|
2051
|
+
"items": {
|
|
2052
|
+
"type": "object",
|
|
2053
|
+
"required": [
|
|
2054
|
+
"key",
|
|
2055
|
+
"name"
|
|
2056
|
+
],
|
|
2057
|
+
"properties": {
|
|
2058
|
+
"key": {
|
|
2059
|
+
"type": "string"
|
|
2060
|
+
},
|
|
2061
|
+
"name": {
|
|
2062
|
+
"type": "string"
|
|
2063
|
+
}
|
|
2064
|
+
}
|
|
2065
|
+
}
|
|
2066
|
+
},
|
|
2067
|
+
"environment": {
|
|
2068
|
+
"type": "array",
|
|
2069
|
+
"description": "Environment variables a template can read as `{{env.key}}`; a Link as `{{env.key.url}}` and `{{env.key.label}}`",
|
|
2070
|
+
"items": {
|
|
2071
|
+
"type": "object",
|
|
2072
|
+
"required": [
|
|
2073
|
+
"key",
|
|
2074
|
+
"type"
|
|
2075
|
+
],
|
|
2076
|
+
"properties": {
|
|
2077
|
+
"key": {
|
|
2078
|
+
"type": "string"
|
|
2079
|
+
},
|
|
2080
|
+
"type": {
|
|
2081
|
+
"type": "string",
|
|
2082
|
+
"enum": [
|
|
2083
|
+
"String",
|
|
2084
|
+
"Text",
|
|
2085
|
+
"Number",
|
|
2086
|
+
"Boolean",
|
|
2087
|
+
"Link"
|
|
2088
|
+
]
|
|
2089
|
+
},
|
|
2090
|
+
"description": {
|
|
2091
|
+
"type": "string"
|
|
2092
|
+
},
|
|
2093
|
+
"group": {
|
|
2094
|
+
"type": "string",
|
|
2095
|
+
"description": "The environment group the variable belongs to, when it has one"
|
|
2096
|
+
}
|
|
2097
|
+
}
|
|
2098
|
+
}
|
|
2099
|
+
}
|
|
2100
|
+
}
|
|
2101
|
+
},
|
|
2102
|
+
"JourneyTemplating": {
|
|
2103
|
+
"type": "object",
|
|
2104
|
+
"required": [
|
|
2105
|
+
"customVariables",
|
|
2106
|
+
"env"
|
|
2107
|
+
],
|
|
2108
|
+
"properties": {
|
|
2109
|
+
"customVariables": {
|
|
2110
|
+
"type": "array",
|
|
2111
|
+
"description": "Custom Variables the journey's templates reference, expanded transitively",
|
|
2112
|
+
"items": {
|
|
2113
|
+
"type": "object",
|
|
2114
|
+
"required": [
|
|
2115
|
+
"key",
|
|
2116
|
+
"template"
|
|
2117
|
+
],
|
|
2118
|
+
"properties": {
|
|
2119
|
+
"key": {
|
|
2120
|
+
"type": "string"
|
|
2121
|
+
},
|
|
2122
|
+
"template": {
|
|
2123
|
+
"type": "string"
|
|
2124
|
+
}
|
|
2125
|
+
}
|
|
2126
|
+
}
|
|
2127
|
+
},
|
|
2128
|
+
"env": {
|
|
2129
|
+
"type": "object",
|
|
2130
|
+
"description": "Browser-safe environment values the templates read, keyed by variable key; scalars, or a Link's fields",
|
|
2131
|
+
"additionalProperties": {
|
|
2132
|
+
"oneOf": [
|
|
2133
|
+
{
|
|
2134
|
+
"type": "string"
|
|
2135
|
+
},
|
|
2136
|
+
{
|
|
2137
|
+
"type": "number"
|
|
2138
|
+
},
|
|
2139
|
+
{
|
|
2140
|
+
"type": "boolean"
|
|
2141
|
+
},
|
|
2142
|
+
{
|
|
2143
|
+
"$ref": "#/components/schemas/JourneyTemplatingLink"
|
|
2144
|
+
}
|
|
2145
|
+
]
|
|
2146
|
+
}
|
|
2147
|
+
}
|
|
2148
|
+
}
|
|
2149
|
+
},
|
|
2150
|
+
"JourneyTemplatingLink": {
|
|
2151
|
+
"type": "object",
|
|
2152
|
+
"description": "A Link variable; label and description are a string or per-language strings, resolved by the runtime",
|
|
2153
|
+
"required": [
|
|
2154
|
+
"url",
|
|
2155
|
+
"label"
|
|
2156
|
+
],
|
|
2157
|
+
"properties": {
|
|
2158
|
+
"url": {
|
|
2159
|
+
"type": "string"
|
|
2160
|
+
},
|
|
2161
|
+
"label": {
|
|
2162
|
+
"$ref": "#/components/schemas/JourneyTemplatingTranslatable"
|
|
2163
|
+
},
|
|
2164
|
+
"description": {
|
|
2165
|
+
"$ref": "#/components/schemas/JourneyTemplatingTranslatable"
|
|
2166
|
+
}
|
|
2167
|
+
}
|
|
2168
|
+
},
|
|
2169
|
+
"JourneyTemplatingTranslatable": {
|
|
2170
|
+
"oneOf": [
|
|
2171
|
+
{
|
|
2172
|
+
"type": "string"
|
|
2173
|
+
},
|
|
2174
|
+
{
|
|
2175
|
+
"type": "object",
|
|
2176
|
+
"additionalProperties": {
|
|
2177
|
+
"type": "string"
|
|
2178
|
+
}
|
|
2179
|
+
}
|
|
2180
|
+
]
|
|
2181
|
+
},
|
|
1846
2182
|
"JourneyEnvironmentVariablesResponse": {
|
|
1847
2183
|
"type": "object",
|
|
1848
2184
|
"required": [
|
|
@@ -2517,6 +2853,32 @@
|
|
|
2517
2853
|
"modernProducts": {
|
|
2518
2854
|
"type": "boolean",
|
|
2519
2855
|
"description": "Opt this journey into the modern product presentation (product tiles and details modal). Effective when true OR the organization flag `journey-modern-products` is on.\n"
|
|
2856
|
+
},
|
|
2857
|
+
"modernLauncher": {
|
|
2858
|
+
"type": "boolean",
|
|
2859
|
+
"description": "Opt this launcher journey into the modern Journey Launcher (picker, card and hero shells). Launcher journeys only. Effective when true OR the organization flag `journey-modern-launcher` is on.\n"
|
|
2860
|
+
}
|
|
2861
|
+
}
|
|
2862
|
+
},
|
|
2863
|
+
"offline": {
|
|
2864
|
+
"type": "object",
|
|
2865
|
+
"nullable": true,
|
|
2866
|
+
"description": "Offline journeys (ER-5432). Revision-owned like every other setting: effective on publish. The runtime prepares an offline pack for this journey only when the organization flag `journey-offline` is on AND `enabled` is true.\n",
|
|
2867
|
+
"additionalProperties": false,
|
|
2868
|
+
"required": [
|
|
2869
|
+
"enabled"
|
|
2870
|
+
],
|
|
2871
|
+
"properties": {
|
|
2872
|
+
"enabled": {
|
|
2873
|
+
"type": "boolean",
|
|
2874
|
+
"description": "Prepare this journey for offline use on devices that open it online first."
|
|
2875
|
+
},
|
|
2876
|
+
"packTtlHours": {
|
|
2877
|
+
"type": "integer",
|
|
2878
|
+
"minimum": 1,
|
|
2879
|
+
"maximum": 720,
|
|
2880
|
+
"description": "How long a prepared pack stays fresh before the next online open refreshes it. Default 24.",
|
|
2881
|
+
"example": 24
|
|
2520
2882
|
}
|
|
2521
2883
|
}
|
|
2522
2884
|
}
|
|
@@ -2538,11 +2900,6 @@
|
|
|
2538
2900
|
"example": "123e4567-e89b-12d3-a456-426614174000"
|
|
2539
2901
|
}
|
|
2540
2902
|
},
|
|
2541
|
-
"blueprint_customization": {
|
|
2542
|
-
"type": "object",
|
|
2543
|
-
"description": "Blueprint field-locking contract (server-managed). Carries the\nauthor plane (locks, default level) and the org plane (server-derived\noverlay). Public writes never persist client-supplied values — the\nstored contract is authoritative; it is written only by the\nBlueprints install pipeline.\n",
|
|
2544
|
-
"additionalProperties": true
|
|
2545
|
-
},
|
|
2546
2903
|
"createdBy": {
|
|
2547
2904
|
"type": "string"
|
|
2548
2905
|
},
|
|
@@ -3073,6 +3430,32 @@
|
|
|
3073
3430
|
"modernProducts": {
|
|
3074
3431
|
"type": "boolean",
|
|
3075
3432
|
"description": "Opt this journey into the modern product presentation (product tiles and details modal). Effective when true OR the organization flag `journey-modern-products` is on.\n"
|
|
3433
|
+
},
|
|
3434
|
+
"modernLauncher": {
|
|
3435
|
+
"type": "boolean",
|
|
3436
|
+
"description": "Opt this launcher journey into the modern Journey Launcher (picker, card and hero shells). Launcher journeys only. Effective when true OR the organization flag `journey-modern-launcher` is on.\n"
|
|
3437
|
+
}
|
|
3438
|
+
}
|
|
3439
|
+
},
|
|
3440
|
+
"offline": {
|
|
3441
|
+
"type": "object",
|
|
3442
|
+
"nullable": true,
|
|
3443
|
+
"description": "Offline journeys (ER-5432). Revision-owned like every other setting: effective on publish. The runtime prepares an offline pack for this journey only when the organization flag `journey-offline` is on AND `enabled` is true.\n",
|
|
3444
|
+
"additionalProperties": false,
|
|
3445
|
+
"required": [
|
|
3446
|
+
"enabled"
|
|
3447
|
+
],
|
|
3448
|
+
"properties": {
|
|
3449
|
+
"enabled": {
|
|
3450
|
+
"type": "boolean",
|
|
3451
|
+
"description": "Prepare this journey for offline use on devices that open it online first."
|
|
3452
|
+
},
|
|
3453
|
+
"packTtlHours": {
|
|
3454
|
+
"type": "integer",
|
|
3455
|
+
"minimum": 1,
|
|
3456
|
+
"maximum": 720,
|
|
3457
|
+
"description": "How long a prepared pack stays fresh before the next online open refreshes it. Default 24.",
|
|
3458
|
+
"example": 24
|
|
3076
3459
|
}
|
|
3077
3460
|
}
|
|
3078
3461
|
}
|
|
@@ -3090,11 +3473,6 @@
|
|
|
3090
3473
|
"format": "uuid",
|
|
3091
3474
|
"example": "123e4567-e89b-12d3-a456-426614174000"
|
|
3092
3475
|
}
|
|
3093
|
-
},
|
|
3094
|
-
"blueprint_customization": {
|
|
3095
|
-
"type": "object",
|
|
3096
|
-
"description": "Blueprint field-locking contract (server-managed). Carries the\nauthor plane (locks, default level) and the org plane (server-derived\noverlay). Public writes never persist client-supplied values — the\nstored contract is authoritative; it is written only by the\nBlueprints install pipeline.\n",
|
|
3097
|
-
"additionalProperties": true
|
|
3098
3476
|
}
|
|
3099
3477
|
},
|
|
3100
3478
|
"required": [
|
|
@@ -3248,6 +3626,9 @@
|
|
|
3248
3626
|
},
|
|
3249
3627
|
{
|
|
3250
3628
|
"$ref": "#/components/schemas/JourneyFeatureFlags"
|
|
3629
|
+
},
|
|
3630
|
+
{
|
|
3631
|
+
"$ref": "#/components/schemas/JourneyTemplatingContext"
|
|
3251
3632
|
}
|
|
3252
3633
|
]
|
|
3253
3634
|
},
|
|
@@ -3900,6 +4281,11 @@
|
|
|
3900
4281
|
"type": "boolean",
|
|
3901
4282
|
"description": "When set to false, third-party cookies and resources should be completely disabled to comply with GDPR regulations.",
|
|
3902
4283
|
"example": true
|
|
4284
|
+
},
|
|
4285
|
+
"offline": {
|
|
4286
|
+
"type": "boolean",
|
|
4287
|
+
"description": "Offline journeys (ER-5432): whether the published revision has settings.offline.enabled. Absent when the setting was never set.",
|
|
4288
|
+
"example": true
|
|
3903
4289
|
}
|
|
3904
4290
|
}
|
|
3905
4291
|
},
|
|
@@ -208,7 +208,7 @@
|
|
|
208
208
|
}
|
|
209
209
|
},
|
|
210
210
|
"400": {
|
|
211
|
-
"description": "Bad Request - Invalid request body. Invalid external or environment comparison values additionally\ncarry a `code`: `external_value_not_found` when the app is not installed or the hook / result does not\nexist, `external_value_incompatible` when the
|
|
211
|
+
"description": "Bad Request - Invalid request body. Invalid external or environment comparison values additionally\ncarry a `code`: `external_value_not_found` when the app is not installed or the hook / result does not\nexist or an `inputs` key is not a value input the hook declares, `external_value_incompatible` when the\nresult type does not match the compared kind or an input's parameter is used as another kind in the rule,\n`environment_variable_not_found` when the referenced environment variable does not exist in the\norganisation, `environment_variable_incompatible` when its type cannot be compared as required\n(`Number` for numbers, `Text` for text and dates, `Number` / `Text` / `Boolean` for `applies_when`;\n`String`, `SecretString`, `Map` and `JSON` never).\n",
|
|
212
212
|
"content": {
|
|
213
213
|
"application/json": {
|
|
214
214
|
"schema": {
|
|
@@ -493,7 +493,7 @@
|
|
|
493
493
|
}
|
|
494
494
|
},
|
|
495
495
|
"400": {
|
|
496
|
-
"description": "Bad Request - Invalid request body. Invalid external or environment comparison values additionally\ncarry a `code`: `external_value_not_found` when the app is not installed or the hook / result does not\nexist, `external_value_incompatible` when the
|
|
496
|
+
"description": "Bad Request - Invalid request body. Invalid external or environment comparison values additionally\ncarry a `code`: `external_value_not_found` when the app is not installed or the hook / result does not\nexist or an `inputs` key is not a value input the hook declares, `external_value_incompatible` when the\nresult type does not match the compared kind or an input's parameter is used as another kind in the rule,\n`environment_variable_not_found` when the referenced environment variable does not exist in the\norganisation, `environment_variable_incompatible` when its type cannot be compared as required\n(`Number` for numbers, `Text` for text and dates, `Number` / `Text` / `Boolean` for `applies_when`;\n`String`, `SecretString`, `Map` and `JSON` never).\n",
|
|
497
497
|
"content": {
|
|
498
498
|
"application/json": {
|
|
499
499
|
"schema": {
|
|
@@ -2193,7 +2193,7 @@
|
|
|
2193
2193
|
},
|
|
2194
2194
|
"ExternalValue": {
|
|
2195
2195
|
"type": "object",
|
|
2196
|
-
"description": "A comparison value produced at evaluation time by an External Values hook of an installed\napp (component type `EXTERNAL_VALUES`). The rule stores the reference only; the value is\nresolved server-side by the external-values-api, which executes the hook's HTTP call with\nthe app's credentials and returns the typed result identified by `result_id`.\n\nWrite-time validation checks that the app is installed in the organisation, that the hook\nand result exist, and that the result's type is compatible with the compared kind\n(`number` results for numeric comparisons, `text` for text, `date` for date). External values\nare resolved only for authenticated consumers (epilot 360 users and portal end customers);\nin public journeys the dependent conditions are skipped.\n",
|
|
2196
|
+
"description": "A comparison value produced at evaluation time by an External Values hook of an installed\napp (component type `EXTERNAL_VALUES`). The rule stores the reference only; the value is\nresolved server-side by the external-values-api, which executes the hook's HTTP call with\nthe app's credentials and returns the typed result identified by `result_id`.\n\nWrite-time validation checks that the app is installed in the organisation, that the hook\nand result exist, and that the result's type is compatible with the compared kind\n(`number` results for numeric comparisons, `text` for text, `date` for date). External values\nare resolved only for authenticated consumers (epilot 360 users and portal end customers);\nin public journeys the dependent conditions are skipped.\n\nA hook may declare value inputs (`contexts` entries `{ \"type\": \"value\", \"name\", \"value_type\" }`)\nbesides the entities it receives. `inputs` supplies them from rule parameters, which the\nconsumer binds like any other parameter and sends to the hook as `Context.<name>`.\n",
|
|
2197
2197
|
"required": [
|
|
2198
2198
|
"source",
|
|
2199
2199
|
"app_id",
|
|
@@ -2228,6 +2228,14 @@
|
|
|
2228
2228
|
"pattern": "^[a-zA-Z0-9_-]+$",
|
|
2229
2229
|
"description": "ID of the result entry within the hook whose value is compared."
|
|
2230
2230
|
},
|
|
2231
|
+
"inputs": {
|
|
2232
|
+
"type": "object",
|
|
2233
|
+
"maxProperties": 10,
|
|
2234
|
+
"description": "Values for the hook's value inputs, keyed by the input name the hook declares\n(`contexts` entry of type `value`), e.g. `{ \"reading_date\": { \"source\": \"parameter\", \"name\": \"reading_date\" } }`.\nOnly parameters are supported. Write-time validation checks that every key is a value input the\nhook declares and uses the input's `value_type` (`number`, `text`, `date` or `boolean`) as the\nparameter's kind, so the parameter must not be compared as another kind elsewhere in the rule.\nAn input parameter must not carry an adjustment. Declared inputs without an entry are allowed;\nthe consumer omits an input that has no value.\n",
|
|
2235
|
+
"additionalProperties": {
|
|
2236
|
+
"$ref": "#/components/schemas/ParameterValue"
|
|
2237
|
+
}
|
|
2238
|
+
},
|
|
2231
2239
|
"adjust": {
|
|
2232
2240
|
"$ref": "#/components/schemas/ValueAdjustment"
|
|
2233
2241
|
}
|
|
@@ -2235,7 +2243,7 @@
|
|
|
2235
2243
|
},
|
|
2236
2244
|
"ParameterValue": {
|
|
2237
2245
|
"type": "object",
|
|
2238
|
-
"description": "A comparison value supplied by the
|
|
2246
|
+
"description": "A comparison value supplied by the consumer that evaluates the rule, identified by a name\nthe rule chooses (e.g. `start_date`). The rule stores the name only. The consumer binds the\nname to a source of its own - a journey binds it to the value of another block - and\nresolves it at evaluation time, so the rule never references the consumer's objects and\nstays reusable across journeys and forms.\n\nA parameter's kind is determined by the field it is used in: `number`, `text` or `date`\nfor comparison values, range bounds, adjustment amounts and relative date offsets, or a\nnumber, string or boolean as an `applies_when` value, or the `value_type` of the External\nValues hook input it supplies (`ExternalValue.inputs`). One name is compared as one kind\nthroughout a rule; a rule using a name as two kinds is rejected at write time. A parameter\nthe consumer leaves unbound or empty leaves the comparison unresolved.\n",
|
|
2239
2247
|
"required": [
|
|
2240
2248
|
"source",
|
|
2241
2249
|
"name"
|