@epilot/cli 0.1.144 → 0.1.146
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/automation.json +344 -12
- package/definitions/event-catalog.json +431 -12
- package/definitions/journey.json +80 -0
- package/dist/bin/epilot.js +6 -6
- package/dist/{chunk-4EODPJ5A.js → chunk-2LYPV5T2.js} +7 -2
- package/dist/{completion-HPDI7RNO.js → completion-O46M2V67.js} +1 -1
- package/dist/{upgrade-4LGBIDMY.js → upgrade-R2OMPLKS.js} +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -79,6 +79,15 @@
|
|
|
79
79
|
"example": "wfABCDEFGH"
|
|
80
80
|
}
|
|
81
81
|
},
|
|
82
|
+
{
|
|
83
|
+
"name": "trigger_event_name",
|
|
84
|
+
"in": "query",
|
|
85
|
+
"description": "Filter by Event Catalog event name. Returns only automations that have an event_catalog trigger for this event.",
|
|
86
|
+
"schema": {
|
|
87
|
+
"type": "string",
|
|
88
|
+
"example": "CustomerRequestSubmitted"
|
|
89
|
+
}
|
|
90
|
+
},
|
|
82
91
|
{
|
|
83
92
|
"name": "include_flows",
|
|
84
93
|
"in": "query",
|
|
@@ -1249,6 +1258,9 @@
|
|
|
1249
1258
|
},
|
|
1250
1259
|
{
|
|
1251
1260
|
"$ref": "#/components/schemas/FlowsTrigger"
|
|
1261
|
+
},
|
|
1262
|
+
{
|
|
1263
|
+
"$ref": "#/components/schemas/EventCatalogTrigger"
|
|
1252
1264
|
}
|
|
1253
1265
|
]
|
|
1254
1266
|
},
|
|
@@ -1900,12 +1912,168 @@
|
|
|
1900
1912
|
"items": {
|
|
1901
1913
|
"type": "string"
|
|
1902
1914
|
}
|
|
1915
|
+
},
|
|
1916
|
+
"graph_context": {
|
|
1917
|
+
"type": "array",
|
|
1918
|
+
"description": "Multi-hop graph queries (executed via entity-api's `POST /v1/entity:graph`), each\nmerging every traversed node into the mapping's source context under its own node id,\nso `mapping_attributes` (e.g. `_copy` / `_template`) can reference it alongside the\nmain entity, e.g. `{ \"_copy\": \"order.line_items\" }`.\n\n`seed.entity_id` and any node `filter[].value` may contain `{{handlebars}}`\nplaceholders (e.g. `{{trigger.entity._id}}`) that are resolved at execution time\nagainst the mapping's source context. Resolution and graph execution happen in\nentity-mapping-api; this API only accepts, validates and passes through this field.\n",
|
|
1919
|
+
"items": {
|
|
1920
|
+
"$ref": "#/components/schemas/GraphContextEntry"
|
|
1921
|
+
}
|
|
1903
1922
|
}
|
|
1904
1923
|
},
|
|
1905
1924
|
"required": [
|
|
1906
1925
|
"target_schema"
|
|
1907
1926
|
]
|
|
1908
1927
|
},
|
|
1928
|
+
"GraphContextEntry": {
|
|
1929
|
+
"type": "object",
|
|
1930
|
+
"description": "One multi-hop graph query to run against entity-api's `POST /v1/entity:graph`. Every node\nin `graph.nodes` is merged into the mapping's source context under its own `id`, so\nlisting multiple nodes here costs one entity-api call, not one per node. A node's value\noverwrites any existing source-context key of the same name (the source entity, a 1-hop\nrelation, or another graph node).\n",
|
|
1931
|
+
"required": [
|
|
1932
|
+
"seed",
|
|
1933
|
+
"graph"
|
|
1934
|
+
],
|
|
1935
|
+
"properties": {
|
|
1936
|
+
"seed": {
|
|
1937
|
+
"$ref": "#/components/schemas/GraphSeed"
|
|
1938
|
+
},
|
|
1939
|
+
"graph": {
|
|
1940
|
+
"$ref": "#/components/schemas/GraphDefinition"
|
|
1941
|
+
}
|
|
1942
|
+
}
|
|
1943
|
+
},
|
|
1944
|
+
"GraphSeed": {
|
|
1945
|
+
"type": "object",
|
|
1946
|
+
"required": [
|
|
1947
|
+
"entity_id",
|
|
1948
|
+
"node_id"
|
|
1949
|
+
],
|
|
1950
|
+
"properties": {
|
|
1951
|
+
"entity_id": {
|
|
1952
|
+
"type": "string",
|
|
1953
|
+
"format": "uuid"
|
|
1954
|
+
},
|
|
1955
|
+
"node_id": {
|
|
1956
|
+
"type": "string",
|
|
1957
|
+
"description": "The node ID in the graph definition that corresponds to the seed entity",
|
|
1958
|
+
"example": "contact"
|
|
1959
|
+
}
|
|
1960
|
+
}
|
|
1961
|
+
},
|
|
1962
|
+
"GraphDefinition": {
|
|
1963
|
+
"type": "object",
|
|
1964
|
+
"required": [
|
|
1965
|
+
"nodes",
|
|
1966
|
+
"edges"
|
|
1967
|
+
],
|
|
1968
|
+
"properties": {
|
|
1969
|
+
"nodes": {
|
|
1970
|
+
"type": "array",
|
|
1971
|
+
"description": "List of node definitions in the graph",
|
|
1972
|
+
"items": {
|
|
1973
|
+
"$ref": "#/components/schemas/GraphNode"
|
|
1974
|
+
}
|
|
1975
|
+
},
|
|
1976
|
+
"edges": {
|
|
1977
|
+
"type": "array",
|
|
1978
|
+
"description": "List of edge definitions connecting nodes",
|
|
1979
|
+
"items": {
|
|
1980
|
+
"$ref": "#/components/schemas/GraphEdge"
|
|
1981
|
+
}
|
|
1982
|
+
}
|
|
1983
|
+
}
|
|
1984
|
+
},
|
|
1985
|
+
"GraphNode": {
|
|
1986
|
+
"type": "object",
|
|
1987
|
+
"required": [
|
|
1988
|
+
"id",
|
|
1989
|
+
"schema"
|
|
1990
|
+
],
|
|
1991
|
+
"properties": {
|
|
1992
|
+
"id": {
|
|
1993
|
+
"type": "string",
|
|
1994
|
+
"description": "Unique identifier for this node in the graph definition",
|
|
1995
|
+
"example": "contact"
|
|
1996
|
+
},
|
|
1997
|
+
"schema": {
|
|
1998
|
+
"type": "string",
|
|
1999
|
+
"description": "Entity schema slug for this node",
|
|
2000
|
+
"example": "contact"
|
|
2001
|
+
},
|
|
2002
|
+
"cardinality": {
|
|
2003
|
+
"type": "string",
|
|
2004
|
+
"enum": [
|
|
2005
|
+
"one",
|
|
2006
|
+
"many"
|
|
2007
|
+
],
|
|
2008
|
+
"description": "\"one\": this node resolves to a single entity. \"many\" (default if unset): this node\nresolves to an array of entities. The seed node always returns a single entity\nregardless of this setting.\n",
|
|
2009
|
+
"example": "one"
|
|
2010
|
+
},
|
|
2011
|
+
"fields": {
|
|
2012
|
+
"type": "array",
|
|
2013
|
+
"description": "Optional entity fields to include in the hydrated response for this node.",
|
|
2014
|
+
"items": {
|
|
2015
|
+
"type": "string"
|
|
2016
|
+
}
|
|
2017
|
+
},
|
|
2018
|
+
"filter": {
|
|
2019
|
+
"type": "array",
|
|
2020
|
+
"description": "Narrows this node's traversal results to entities matching every filter (AND\nsemantics). Useful for disambiguating among multiple entities reachable via the same\ngraph edge.\n",
|
|
2021
|
+
"items": {
|
|
2022
|
+
"$ref": "#/components/schemas/GraphNodeFilter"
|
|
2023
|
+
}
|
|
2024
|
+
}
|
|
2025
|
+
}
|
|
2026
|
+
},
|
|
2027
|
+
"GraphNodeFilter": {
|
|
2028
|
+
"type": "object",
|
|
2029
|
+
"description": "Entities are included in this node's result only if `attribute` exactly equals the literal `value`.",
|
|
2030
|
+
"required": [
|
|
2031
|
+
"attribute",
|
|
2032
|
+
"value"
|
|
2033
|
+
],
|
|
2034
|
+
"properties": {
|
|
2035
|
+
"attribute": {
|
|
2036
|
+
"type": "string",
|
|
2037
|
+
"description": "Entity attribute name to match against.",
|
|
2038
|
+
"example": "order_number"
|
|
2039
|
+
},
|
|
2040
|
+
"value": {
|
|
2041
|
+
"description": "Literal value the attribute must exactly equal for the entity to be included in this node's result. Supports `{{handlebars}}` placeholders resolved against sourceContext when given as a string.",
|
|
2042
|
+
"oneOf": [
|
|
2043
|
+
{
|
|
2044
|
+
"type": "string",
|
|
2045
|
+
"nullable": true
|
|
2046
|
+
},
|
|
2047
|
+
{
|
|
2048
|
+
"type": "number"
|
|
2049
|
+
},
|
|
2050
|
+
{
|
|
2051
|
+
"type": "boolean"
|
|
2052
|
+
}
|
|
2053
|
+
],
|
|
2054
|
+
"example": "OR-113"
|
|
2055
|
+
}
|
|
2056
|
+
}
|
|
2057
|
+
},
|
|
2058
|
+
"GraphEdge": {
|
|
2059
|
+
"type": "object",
|
|
2060
|
+
"required": [
|
|
2061
|
+
"from",
|
|
2062
|
+
"to"
|
|
2063
|
+
],
|
|
2064
|
+
"properties": {
|
|
2065
|
+
"from": {
|
|
2066
|
+
"type": "string",
|
|
2067
|
+
"description": "Source node ID",
|
|
2068
|
+
"example": "contact"
|
|
2069
|
+
},
|
|
2070
|
+
"to": {
|
|
2071
|
+
"type": "string",
|
|
2072
|
+
"description": "Target node ID",
|
|
2073
|
+
"example": "billing_account"
|
|
2074
|
+
}
|
|
2075
|
+
}
|
|
2076
|
+
},
|
|
1909
2077
|
"MappingConfigRef": {
|
|
1910
2078
|
"type": "object",
|
|
1911
2079
|
"properties": {
|
|
@@ -2663,10 +2831,7 @@
|
|
|
2663
2831
|
"language_code": {
|
|
2664
2832
|
"type": "string",
|
|
2665
2833
|
"description": "Language code for the email template",
|
|
2666
|
-
"
|
|
2667
|
-
"de",
|
|
2668
|
-
"en"
|
|
2669
|
-
]
|
|
2834
|
+
"example": "de"
|
|
2670
2835
|
},
|
|
2671
2836
|
"reply_mode": {
|
|
2672
2837
|
"type": "string",
|
|
@@ -2697,10 +2862,7 @@
|
|
|
2697
2862
|
},
|
|
2698
2863
|
"language_code": {
|
|
2699
2864
|
"type": "string",
|
|
2700
|
-
"
|
|
2701
|
-
"de",
|
|
2702
|
-
"en"
|
|
2703
|
-
]
|
|
2865
|
+
"example": "de"
|
|
2704
2866
|
},
|
|
2705
2867
|
"notify_portal_user_only": {
|
|
2706
2868
|
"type": "boolean",
|
|
@@ -3503,10 +3665,12 @@
|
|
|
3503
3665
|
},
|
|
3504
3666
|
"originType": {
|
|
3505
3667
|
"type": "string",
|
|
3668
|
+
"description": "`event` reads the operand from the trigger's Event Catalog payload instead of an entity: `attribute` is then a dot path into the payload (e.g. `ticket.subject`). Only valid with `origin: trigger` on flows started by an EventCatalogTrigger.\n",
|
|
3506
3669
|
"enum": [
|
|
3507
3670
|
"entity",
|
|
3508
3671
|
"workflow",
|
|
3509
|
-
"journey_block"
|
|
3672
|
+
"journey_block",
|
|
3673
|
+
"event"
|
|
3510
3674
|
]
|
|
3511
3675
|
},
|
|
3512
3676
|
"schema": {
|
|
@@ -3796,6 +3960,9 @@
|
|
|
3796
3960
|
},
|
|
3797
3961
|
{
|
|
3798
3962
|
"$ref": "#/components/schemas/TriggerEventMessaging"
|
|
3963
|
+
},
|
|
3964
|
+
{
|
|
3965
|
+
"$ref": "#/components/schemas/TriggerEventEventCatalog"
|
|
3799
3966
|
}
|
|
3800
3967
|
]
|
|
3801
3968
|
},
|
|
@@ -3855,7 +4022,6 @@
|
|
|
3855
4022
|
},
|
|
3856
4023
|
"WorkflowExecutionContext": {
|
|
3857
4024
|
"type": "object",
|
|
3858
|
-
"description": "Automation Executions triggered by workflow task automations will always carry information about the triggering workflow. This information is helpful in correlating workflow executions with all the triggered automation executions\n",
|
|
3859
4025
|
"required": [
|
|
3860
4026
|
"workflow_exec_id",
|
|
3861
4027
|
"workflow_role"
|
|
@@ -3897,12 +4063,17 @@
|
|
|
3897
4063
|
}
|
|
3898
4064
|
}
|
|
3899
4065
|
}
|
|
4066
|
+
},
|
|
4067
|
+
"trigger_user_id": {
|
|
4068
|
+
"type": "string",
|
|
4069
|
+
"description": "Id of the user on whose behalf the workflow task triggered this automation — the caller of a user-initiated run, or the user whose task completion advanced the flow to the automation task. Action workers resolve it as the acting user for template variable resolution (user.*) and email thread assignment, matching the attribution of manually triggered executions. Absent when no human action led to the trigger (scheduler fires, journey-triggered flows).\n",
|
|
4070
|
+
"example": "10006129"
|
|
3900
4071
|
}
|
|
3901
4072
|
}
|
|
3902
4073
|
},
|
|
3903
4074
|
"WorkflowWaitContext": {
|
|
3904
4075
|
"type": "object",
|
|
3905
|
-
"description": "
|
|
4076
|
+
"description": "Correlation stamped when the triggering submission entity carried workflow wait claims from a journey link (AL-2521). Consumed by svc-workflows to resume a task waiting on this journey submission.\n",
|
|
3906
4077
|
"required": [
|
|
3907
4078
|
"workflow_execution_id",
|
|
3908
4079
|
"workflow_task_id"
|
|
@@ -4088,6 +4259,92 @@
|
|
|
4088
4259
|
"operation_type"
|
|
4089
4260
|
]
|
|
4090
4261
|
},
|
|
4262
|
+
"TriggerEventEventCatalog": {
|
|
4263
|
+
"type": "object",
|
|
4264
|
+
"description": "Set on executions started by an Event Catalog event (see EventCatalogTrigger). The full event payload is not stored inline (it may be up to 256 KB) but by reference in `payload_ref`; automation workers hydrate it before every action.\n",
|
|
4265
|
+
"properties": {
|
|
4266
|
+
"type": {
|
|
4267
|
+
"type": "string",
|
|
4268
|
+
"enum": [
|
|
4269
|
+
"event_catalog"
|
|
4270
|
+
]
|
|
4271
|
+
},
|
|
4272
|
+
"org_id": {
|
|
4273
|
+
"type": "string",
|
|
4274
|
+
"example": "123"
|
|
4275
|
+
},
|
|
4276
|
+
"entity_id": {
|
|
4277
|
+
"$ref": "#/components/schemas/EntityId"
|
|
4278
|
+
},
|
|
4279
|
+
"entity_node_id": {
|
|
4280
|
+
"type": "string",
|
|
4281
|
+
"description": "Node id of the event's entity graph that was resolved to `entity_id`",
|
|
4282
|
+
"example": "ticket"
|
|
4283
|
+
},
|
|
4284
|
+
"event_id": {
|
|
4285
|
+
"type": "string",
|
|
4286
|
+
"description": "Event Catalog event id (ULID) of the published event",
|
|
4287
|
+
"example": "01K3ZK8QZ7Y7Q2M8W1V3N4X5P6"
|
|
4288
|
+
},
|
|
4289
|
+
"event_name": {
|
|
4290
|
+
"type": "string",
|
|
4291
|
+
"example": "CustomerRequestSubmitted"
|
|
4292
|
+
},
|
|
4293
|
+
"event_version": {
|
|
4294
|
+
"type": "string",
|
|
4295
|
+
"description": "Version the payload was delivered in (the version pinned on the trigger)",
|
|
4296
|
+
"example": "1.1"
|
|
4297
|
+
},
|
|
4298
|
+
"published_version": {
|
|
4299
|
+
"type": "string",
|
|
4300
|
+
"description": "Version the event was originally published with, before downgrading to `event_version`",
|
|
4301
|
+
"example": "1.2"
|
|
4302
|
+
},
|
|
4303
|
+
"event_time": {
|
|
4304
|
+
"type": "string",
|
|
4305
|
+
"format": "date-time"
|
|
4306
|
+
},
|
|
4307
|
+
"trigger_source_type": {
|
|
4308
|
+
"type": "string",
|
|
4309
|
+
"description": "How the event was triggered in the catalog (api | automation | operation | portal_user)",
|
|
4310
|
+
"example": "operation"
|
|
4311
|
+
},
|
|
4312
|
+
"trigger_source": {
|
|
4313
|
+
"type": "string",
|
|
4314
|
+
"description": "Opaque source reference from the catalog (e.g. activity id, automation execution id)"
|
|
4315
|
+
},
|
|
4316
|
+
"payload_ref": {
|
|
4317
|
+
"$ref": "#/components/schemas/TriggerEventPayloadRef"
|
|
4318
|
+
}
|
|
4319
|
+
},
|
|
4320
|
+
"required": [
|
|
4321
|
+
"type",
|
|
4322
|
+
"org_id",
|
|
4323
|
+
"entity_id",
|
|
4324
|
+
"entity_node_id",
|
|
4325
|
+
"event_id",
|
|
4326
|
+
"event_name",
|
|
4327
|
+
"event_version"
|
|
4328
|
+
]
|
|
4329
|
+
},
|
|
4330
|
+
"TriggerEventPayloadRef": {
|
|
4331
|
+
"type": "object",
|
|
4332
|
+
"description": "S3 reference to the stored trigger event payload (`_downgrades` stripped, downgraded to the pinned version)",
|
|
4333
|
+
"properties": {
|
|
4334
|
+
"bucket": {
|
|
4335
|
+
"type": "string",
|
|
4336
|
+
"example": "automation-trigger-payloads-prod"
|
|
4337
|
+
},
|
|
4338
|
+
"key": {
|
|
4339
|
+
"type": "string",
|
|
4340
|
+
"example": "trigger-payloads/123/6c8e5d9a-7f1b-4c2e-9d3a-0b1c2d3e4f5a.json"
|
|
4341
|
+
}
|
|
4342
|
+
},
|
|
4343
|
+
"required": [
|
|
4344
|
+
"bucket",
|
|
4345
|
+
"key"
|
|
4346
|
+
]
|
|
4347
|
+
},
|
|
4091
4348
|
"ApiCallerContext": {
|
|
4092
4349
|
"type": "object",
|
|
4093
4350
|
"additionalProperties": true,
|
|
@@ -4999,7 +5256,12 @@
|
|
|
4999
5256
|
"updateEntity",
|
|
5000
5257
|
"deleteEntity",
|
|
5001
5258
|
"softDeleteEntity",
|
|
5002
|
-
"restoreEntity"
|
|
5259
|
+
"restoreEntity",
|
|
5260
|
+
"relationsAdded",
|
|
5261
|
+
"relationsRemoved",
|
|
5262
|
+
"relationsSoftDeleted",
|
|
5263
|
+
"relationsRestored",
|
|
5264
|
+
"relationsDeleted"
|
|
5003
5265
|
]
|
|
5004
5266
|
},
|
|
5005
5267
|
"EntitySearchFilter": {
|
|
@@ -5205,6 +5467,76 @@
|
|
|
5205
5467
|
}
|
|
5206
5468
|
]
|
|
5207
5469
|
},
|
|
5470
|
+
"EventCatalogTrigger": {
|
|
5471
|
+
"description": "Starts the flow when an Event Catalog event is published for the organization. The execution runs in the context of one entity from the event's entity graph (`entity_node_id`), and the event payload is available to conditions and actions as the `event` variable context.\n",
|
|
5472
|
+
"allOf": [
|
|
5473
|
+
{
|
|
5474
|
+
"$ref": "#/components/schemas/AutomationTrigger"
|
|
5475
|
+
},
|
|
5476
|
+
{
|
|
5477
|
+
"type": "object",
|
|
5478
|
+
"properties": {
|
|
5479
|
+
"type": {
|
|
5480
|
+
"type": "string",
|
|
5481
|
+
"enum": [
|
|
5482
|
+
"event_catalog"
|
|
5483
|
+
]
|
|
5484
|
+
},
|
|
5485
|
+
"configuration": {
|
|
5486
|
+
"type": "object",
|
|
5487
|
+
"properties": {
|
|
5488
|
+
"event_name": {
|
|
5489
|
+
"type": "string",
|
|
5490
|
+
"description": "Name of the Event Catalog event that starts this flow",
|
|
5491
|
+
"example": "CustomerRequestSubmitted"
|
|
5492
|
+
},
|
|
5493
|
+
"event_version": {
|
|
5494
|
+
"type": "string",
|
|
5495
|
+
"description": "Event version (MAJOR.MINOR) this trigger is pinned to. Payloads published in a newer version are downgraded to this version before the flow runs, so field references in conditions and actions stay stable.\n",
|
|
5496
|
+
"example": "1.1"
|
|
5497
|
+
},
|
|
5498
|
+
"entity_node_id": {
|
|
5499
|
+
"type": "string",
|
|
5500
|
+
"description": "Id of the cardinality-one node in the event's entity graph whose entity becomes the execution's main entity (the entity actions operate on).\n",
|
|
5501
|
+
"example": "ticket"
|
|
5502
|
+
},
|
|
5503
|
+
"entity_schema": {
|
|
5504
|
+
"type": "string",
|
|
5505
|
+
"description": "Schema of the entity behind `entity_node_id`, denormalized from the event definition at configuration time",
|
|
5506
|
+
"example": "ticket"
|
|
5507
|
+
},
|
|
5508
|
+
"ignore_automation_triggered": {
|
|
5509
|
+
"type": "boolean",
|
|
5510
|
+
"default": true,
|
|
5511
|
+
"description": "When true (default), events that were emitted by an automation (`_trigger_source_type: automation`) do not start this flow. This prevents automation → event → automation chains unless explicitly enabled.\n"
|
|
5512
|
+
}
|
|
5513
|
+
},
|
|
5514
|
+
"required": [
|
|
5515
|
+
"event_name",
|
|
5516
|
+
"event_version",
|
|
5517
|
+
"entity_node_id",
|
|
5518
|
+
"entity_schema"
|
|
5519
|
+
]
|
|
5520
|
+
}
|
|
5521
|
+
},
|
|
5522
|
+
"required": [
|
|
5523
|
+
"type",
|
|
5524
|
+
"configuration"
|
|
5525
|
+
]
|
|
5526
|
+
}
|
|
5527
|
+
],
|
|
5528
|
+
"example": {
|
|
5529
|
+
"id": "12d4f45a-1883-4841-a94c-5928cb338a94",
|
|
5530
|
+
"type": "event_catalog",
|
|
5531
|
+
"configuration": {
|
|
5532
|
+
"event_name": "CustomerRequestSubmitted",
|
|
5533
|
+
"event_version": "1.1",
|
|
5534
|
+
"entity_node_id": "ticket",
|
|
5535
|
+
"entity_schema": "ticket",
|
|
5536
|
+
"ignore_automation_triggered": true
|
|
5537
|
+
}
|
|
5538
|
+
}
|
|
5539
|
+
},
|
|
5208
5540
|
"TriggerCondition": {
|
|
5209
5541
|
"type": "object",
|
|
5210
5542
|
"properties": {
|
|
@@ -48,6 +48,39 @@
|
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
+
},
|
|
52
|
+
"post": {
|
|
53
|
+
"operationId": "createCustomEvent",
|
|
54
|
+
"summary": "createCustomEvent",
|
|
55
|
+
"description": "Reserve an org-scoped custom event name and persist its immutable v1.0 draft definition.",
|
|
56
|
+
"tags": [
|
|
57
|
+
"Event Catalog"
|
|
58
|
+
],
|
|
59
|
+
"requestBody": {
|
|
60
|
+
"required": true,
|
|
61
|
+
"content": {
|
|
62
|
+
"application/json": {
|
|
63
|
+
"schema": {
|
|
64
|
+
"$ref": "#/components/schemas/CreateCustomEventPayload"
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
"responses": {
|
|
70
|
+
"201": {
|
|
71
|
+
"description": "Custom event draft created",
|
|
72
|
+
"content": {
|
|
73
|
+
"application/json": {
|
|
74
|
+
"schema": {
|
|
75
|
+
"$ref": "#/components/schemas/EventConfig"
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
"409": {
|
|
81
|
+
"description": "Name is reserved by a built-in or existing org event"
|
|
82
|
+
}
|
|
83
|
+
}
|
|
51
84
|
}
|
|
52
85
|
},
|
|
53
86
|
"/v1/events/{event_name}": {
|
|
@@ -125,6 +158,127 @@
|
|
|
125
158
|
"description": "Event not found"
|
|
126
159
|
}
|
|
127
160
|
}
|
|
161
|
+
},
|
|
162
|
+
"delete": {
|
|
163
|
+
"operationId": "deprecateCustomEvent",
|
|
164
|
+
"summary": "deprecateCustomEvent",
|
|
165
|
+
"description": "Soft-deprecate an org-scoped custom event. Definitions and v1.0 history remain readable.",
|
|
166
|
+
"tags": [
|
|
167
|
+
"Event Catalog"
|
|
168
|
+
],
|
|
169
|
+
"parameters": [
|
|
170
|
+
{
|
|
171
|
+
"name": "event_name",
|
|
172
|
+
"in": "path",
|
|
173
|
+
"required": true,
|
|
174
|
+
"schema": {
|
|
175
|
+
"type": "string"
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
],
|
|
179
|
+
"responses": {
|
|
180
|
+
"204": {
|
|
181
|
+
"description": "Custom event deprecated"
|
|
182
|
+
},
|
|
183
|
+
"404": {
|
|
184
|
+
"description": "Event not found"
|
|
185
|
+
},
|
|
186
|
+
"409": {
|
|
187
|
+
"description": "Built-ins cannot be deprecated or lifecycle cannot transition"
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
},
|
|
192
|
+
"/v1/events/{event_name}:preview": {
|
|
193
|
+
"post": {
|
|
194
|
+
"operationId": "previewCustomEvent",
|
|
195
|
+
"summary": "previewCustomEvent",
|
|
196
|
+
"description": "Assemble and fully validate a persisted custom-event draft without publishing it.",
|
|
197
|
+
"tags": [
|
|
198
|
+
"Event Catalog"
|
|
199
|
+
],
|
|
200
|
+
"parameters": [
|
|
201
|
+
{
|
|
202
|
+
"name": "event_name",
|
|
203
|
+
"in": "path",
|
|
204
|
+
"required": true,
|
|
205
|
+
"schema": {
|
|
206
|
+
"type": "string"
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
],
|
|
210
|
+
"requestBody": {
|
|
211
|
+
"required": true,
|
|
212
|
+
"content": {
|
|
213
|
+
"application/json": {
|
|
214
|
+
"schema": {
|
|
215
|
+
"$ref": "#/components/schemas/TriggerEventPayload"
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
},
|
|
220
|
+
"responses": {
|
|
221
|
+
"200": {
|
|
222
|
+
"description": "Deterministic preview result",
|
|
223
|
+
"content": {
|
|
224
|
+
"application/json": {
|
|
225
|
+
"schema": {
|
|
226
|
+
"$ref": "#/components/schemas/PreviewEventResponse"
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
},
|
|
231
|
+
"400": {
|
|
232
|
+
"description": "Projection or schema validation failed"
|
|
233
|
+
},
|
|
234
|
+
"404": {
|
|
235
|
+
"description": "Custom event not found"
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
},
|
|
240
|
+
"/v1/events/{event_name}:publish": {
|
|
241
|
+
"post": {
|
|
242
|
+
"operationId": "publishCustomEventDefinition",
|
|
243
|
+
"summary": "publishCustomEventDefinition",
|
|
244
|
+
"description": "Conditionally activate an immutable custom-event v1.0 definition.",
|
|
245
|
+
"tags": [
|
|
246
|
+
"Event Catalog"
|
|
247
|
+
],
|
|
248
|
+
"parameters": [
|
|
249
|
+
{
|
|
250
|
+
"name": "event_name",
|
|
251
|
+
"in": "path",
|
|
252
|
+
"required": true,
|
|
253
|
+
"schema": {
|
|
254
|
+
"type": "string"
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
],
|
|
258
|
+
"requestBody": {
|
|
259
|
+
"content": {
|
|
260
|
+
"application/json": {
|
|
261
|
+
"schema": {
|
|
262
|
+
"$ref": "#/components/schemas/PublishCustomEventPayload"
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
},
|
|
267
|
+
"responses": {
|
|
268
|
+
"200": {
|
|
269
|
+
"description": "Published event configuration",
|
|
270
|
+
"content": {
|
|
271
|
+
"application/json": {
|
|
272
|
+
"schema": {
|
|
273
|
+
"$ref": "#/components/schemas/EventConfig"
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
},
|
|
278
|
+
"409": {
|
|
279
|
+
"description": "Definition is not a draft or base publication choice is invalid"
|
|
280
|
+
}
|
|
281
|
+
}
|
|
128
282
|
}
|
|
129
283
|
},
|
|
130
284
|
"/v1/events/{event_name}/json_schema": {
|
|
@@ -437,7 +591,7 @@
|
|
|
437
591
|
"post": {
|
|
438
592
|
"operationId": "triggerEvent",
|
|
439
593
|
"summary": "triggerEvent",
|
|
440
|
-
"description": "Explicitly trigger an event by providing input field values and an optional entity seed\nfor graph hydration. The event must be enabled for the organization.\n\n- For events with an entity_graph, a seed (entity_id + node_id) is required\n- For events without an entity_graph, only fields are needed\n- Entity operation context fields (operation, trigger_entity, activity_id, activity_type)\n are not included when triggering via API\n",
|
|
594
|
+
"description": "Explicitly trigger an event by providing input field values and an optional entity seed\nfor graph hydration. The event must be enabled for the organization.\n\n- For events with an entity_graph, a seed (entity_id + node_id) is required\n- For events without an entity_graph, only fields are needed\n- Entity operation context fields (operation, trigger_entity, activity_id, activity_type)\n are not included when triggering via API\n- Events marked `automation_trigger_only` require `_trigger_source_type: automation` and a\n stable execution/action ID in `_trigger_source`; retries with that ID return the same\n logical event, including while durable delivery is pending\n",
|
|
441
595
|
"tags": [
|
|
442
596
|
"Event Catalog"
|
|
443
597
|
],
|
|
@@ -464,7 +618,7 @@
|
|
|
464
618
|
},
|
|
465
619
|
"responses": {
|
|
466
620
|
"200": {
|
|
467
|
-
"description": "Event
|
|
621
|
+
"description": "Event published successfully",
|
|
468
622
|
"content": {
|
|
469
623
|
"application/json": {
|
|
470
624
|
"schema": {
|
|
@@ -481,6 +635,33 @@
|
|
|
481
635
|
},
|
|
482
636
|
"404": {
|
|
483
637
|
"description": "Event not found"
|
|
638
|
+
},
|
|
639
|
+
"409": {
|
|
640
|
+
"description": "The Automation trigger source was already used with different trigger input, including a different entity seed"
|
|
641
|
+
},
|
|
642
|
+
"425": {
|
|
643
|
+
"description": "The hydrated entity graph is not ready yet, another request currently owns the\nidempotency lease, or a durably queued event (including an already-requested redrive)\nis awaiting publication. Automation must retry with the same trigger source and may\nadvance only after a 200 response.\n",
|
|
644
|
+
"headers": {
|
|
645
|
+
"Retry-After": {
|
|
646
|
+
"description": "Seconds before the Automation action should retry",
|
|
647
|
+
"schema": {
|
|
648
|
+
"type": "integer",
|
|
649
|
+
"minimum": 1
|
|
650
|
+
}
|
|
651
|
+
}
|
|
652
|
+
}
|
|
653
|
+
},
|
|
654
|
+
"503": {
|
|
655
|
+
"description": "Durable delivery exhausted its bounded automatic redrives. The same logical event is\nretained and no new event is created. An API retry with the same trigger source\nrequests a redrive of the existing Standard workflow from its failed task checkpoint\nand receives this retryable response. Subsequent retries receive 425 while that\nredrive is pending or running.\n",
|
|
656
|
+
"headers": {
|
|
657
|
+
"Retry-After": {
|
|
658
|
+
"description": "Seconds before the Automation action should retry",
|
|
659
|
+
"schema": {
|
|
660
|
+
"type": "integer",
|
|
661
|
+
"minimum": 1
|
|
662
|
+
}
|
|
663
|
+
}
|
|
664
|
+
}
|
|
484
665
|
}
|
|
485
666
|
}
|
|
486
667
|
}
|
|
@@ -594,6 +775,34 @@
|
|
|
594
775
|
"default": false,
|
|
595
776
|
"example": true
|
|
596
777
|
},
|
|
778
|
+
"automation_trigger_only": {
|
|
779
|
+
"type": "boolean",
|
|
780
|
+
"readOnly": true,
|
|
781
|
+
"description": "Whether explicit triggering is restricted to Automation. When true, callers must pass\n`_trigger_source_type: automation` and a stable `_trigger_source`. The trigger uses\nstrict entity readiness validation and the durable Automation outbox.\nRequires `automation_trigger: true` and cannot be combined with `entity_operation`.\n",
|
|
782
|
+
"default": false,
|
|
783
|
+
"example": true
|
|
784
|
+
},
|
|
785
|
+
"automation_trigger_seed_node": {
|
|
786
|
+
"type": "string",
|
|
787
|
+
"readOnly": true,
|
|
788
|
+
"description": "Required entity-graph seed node for an Automation-only trigger. When configured, an\nexplicit trigger using any other node is rejected before hydration.\n",
|
|
789
|
+
"example": "ticket"
|
|
790
|
+
},
|
|
791
|
+
"event_origin": {
|
|
792
|
+
"type": "string",
|
|
793
|
+
"readOnly": true,
|
|
794
|
+
"enum": [
|
|
795
|
+
"builtin",
|
|
796
|
+
"custom"
|
|
797
|
+
],
|
|
798
|
+
"description": "Definition ownership. Built-ins always win a name collision."
|
|
799
|
+
},
|
|
800
|
+
"mapping": {
|
|
801
|
+
"$ref": "#/components/schemas/EventMapping"
|
|
802
|
+
},
|
|
803
|
+
"lineage": {
|
|
804
|
+
"$ref": "#/components/schemas/CustomEventLineage"
|
|
805
|
+
},
|
|
597
806
|
"success_criteria": {
|
|
598
807
|
"type": "array",
|
|
599
808
|
"description": "Org-defined success criteria for this event: the entity attributes that an\norganization considers must be captured for an event change request to be\ntreated as complete (e.g. for telephony / self-service flows).\n\nAdvisory metadata — event-catalog does NOT require an org to define any and\ndoes NOT enforce them when an event is triggered or published. The org may\ndefine none (empty array or omitted). When provided, each entry is validated\nfor well-formedness on write (see SuccessCriterion).\n",
|
|
@@ -629,17 +838,187 @@
|
|
|
629
838
|
}
|
|
630
839
|
]
|
|
631
840
|
},
|
|
632
|
-
"
|
|
633
|
-
"
|
|
634
|
-
"
|
|
635
|
-
|
|
636
|
-
|
|
841
|
+
"CreateCustomEventPayload": {
|
|
842
|
+
"type": "object",
|
|
843
|
+
"description": "Complete immutable custom-event v1.0 definition. Publication is a separate conditional action.",
|
|
844
|
+
"properties": {
|
|
845
|
+
"event_name": {
|
|
846
|
+
"type": "string",
|
|
847
|
+
"pattern": "^[A-Z][A-Za-z0-9]{2,79}$"
|
|
637
848
|
},
|
|
638
|
-
{
|
|
639
|
-
"type": "
|
|
849
|
+
"event_title": {
|
|
850
|
+
"type": "string",
|
|
851
|
+
"minLength": 1,
|
|
852
|
+
"maxLength": 160
|
|
853
|
+
},
|
|
854
|
+
"event_description": {
|
|
855
|
+
"type": "string",
|
|
856
|
+
"maxLength": 2000
|
|
857
|
+
},
|
|
858
|
+
"event_tags": {
|
|
859
|
+
"type": "array",
|
|
860
|
+
"items": {
|
|
861
|
+
"type": "string"
|
|
862
|
+
}
|
|
863
|
+
},
|
|
864
|
+
"schema_fields": {
|
|
865
|
+
"type": "object",
|
|
866
|
+
"additionalProperties": {
|
|
867
|
+
"$ref": "#/components/schemas/CustomSchemaField"
|
|
868
|
+
}
|
|
869
|
+
},
|
|
870
|
+
"entity_graph": {
|
|
871
|
+
"$ref": "#/components/schemas/GraphDefinition"
|
|
872
|
+
},
|
|
873
|
+
"entity_operation": {
|
|
874
|
+
"$ref": "#/components/schemas/EntityOperationTrigger"
|
|
875
|
+
},
|
|
876
|
+
"automation_trigger": {
|
|
877
|
+
"type": "boolean",
|
|
878
|
+
"default": true
|
|
879
|
+
},
|
|
880
|
+
"mapping": {
|
|
881
|
+
"$ref": "#/components/schemas/EventMapping"
|
|
882
|
+
},
|
|
883
|
+
"lineage": {
|
|
884
|
+
"$ref": "#/components/schemas/CustomEventLineage"
|
|
885
|
+
},
|
|
886
|
+
"example": {
|
|
887
|
+
"type": "object",
|
|
888
|
+
"additionalProperties": true
|
|
889
|
+
}
|
|
890
|
+
},
|
|
891
|
+
"required": [
|
|
892
|
+
"event_name",
|
|
893
|
+
"event_title",
|
|
894
|
+
"schema_fields"
|
|
895
|
+
]
|
|
896
|
+
},
|
|
897
|
+
"EventMapping": {
|
|
898
|
+
"type": "object",
|
|
899
|
+
"description": "Guided mappings use schema_fields graph_source expressions; raw mode evaluates one JSONata object transform.",
|
|
900
|
+
"properties": {
|
|
901
|
+
"mode": {
|
|
902
|
+
"type": "string",
|
|
903
|
+
"enum": [
|
|
904
|
+
"guided",
|
|
905
|
+
"jsonata"
|
|
906
|
+
],
|
|
907
|
+
"default": "guided"
|
|
908
|
+
},
|
|
909
|
+
"jsonata": {
|
|
910
|
+
"type": "string",
|
|
911
|
+
"minLength": 1,
|
|
912
|
+
"maxLength": 20000
|
|
640
913
|
}
|
|
914
|
+
},
|
|
915
|
+
"required": [
|
|
916
|
+
"mode"
|
|
641
917
|
]
|
|
642
918
|
},
|
|
919
|
+
"CustomEventLineage": {
|
|
920
|
+
"type": "object",
|
|
921
|
+
"description": "Optional catalog lineage to a separately named base event. It does not replace the base event.",
|
|
922
|
+
"properties": {
|
|
923
|
+
"base_event_name": {
|
|
924
|
+
"type": "string"
|
|
925
|
+
},
|
|
926
|
+
"base_event_version": {
|
|
927
|
+
"type": "string"
|
|
928
|
+
}
|
|
929
|
+
},
|
|
930
|
+
"required": [
|
|
931
|
+
"base_event_name",
|
|
932
|
+
"base_event_version"
|
|
933
|
+
]
|
|
934
|
+
},
|
|
935
|
+
"PurposeFilterSnapshot": {
|
|
936
|
+
"type": "object",
|
|
937
|
+
"properties": {
|
|
938
|
+
"id": {
|
|
939
|
+
"type": "string",
|
|
940
|
+
"minLength": 1
|
|
941
|
+
},
|
|
942
|
+
"display_name": {
|
|
943
|
+
"type": "string",
|
|
944
|
+
"minLength": 1
|
|
945
|
+
}
|
|
946
|
+
},
|
|
947
|
+
"required": [
|
|
948
|
+
"id",
|
|
949
|
+
"display_name"
|
|
950
|
+
]
|
|
951
|
+
},
|
|
952
|
+
"PublishCustomEventPayload": {
|
|
953
|
+
"type": "object",
|
|
954
|
+
"properties": {
|
|
955
|
+
"enabled": {
|
|
956
|
+
"type": "boolean",
|
|
957
|
+
"default": true
|
|
958
|
+
},
|
|
959
|
+
"auto_trigger": {
|
|
960
|
+
"type": "boolean",
|
|
961
|
+
"default": true
|
|
962
|
+
},
|
|
963
|
+
"base_auto_trigger_enabled": {
|
|
964
|
+
"type": "boolean",
|
|
965
|
+
"description": "Optional publication choice. False disables only the named lineage base event's org auto-trigger overlay."
|
|
966
|
+
}
|
|
967
|
+
}
|
|
968
|
+
},
|
|
969
|
+
"ValidationIssue": {
|
|
970
|
+
"type": "object",
|
|
971
|
+
"properties": {
|
|
972
|
+
"path": {
|
|
973
|
+
"type": "string"
|
|
974
|
+
},
|
|
975
|
+
"message": {
|
|
976
|
+
"type": "string"
|
|
977
|
+
}
|
|
978
|
+
},
|
|
979
|
+
"required": [
|
|
980
|
+
"path",
|
|
981
|
+
"message"
|
|
982
|
+
]
|
|
983
|
+
},
|
|
984
|
+
"PreviewEventResponse": {
|
|
985
|
+
"type": "object",
|
|
986
|
+
"properties": {
|
|
987
|
+
"payload": {
|
|
988
|
+
"type": "object",
|
|
989
|
+
"additionalProperties": true
|
|
990
|
+
},
|
|
991
|
+
"errors": {
|
|
992
|
+
"type": "array",
|
|
993
|
+
"items": {
|
|
994
|
+
"$ref": "#/components/schemas/ValidationIssue"
|
|
995
|
+
}
|
|
996
|
+
}
|
|
997
|
+
},
|
|
998
|
+
"required": [
|
|
999
|
+
"payload",
|
|
1000
|
+
"errors"
|
|
1001
|
+
]
|
|
1002
|
+
},
|
|
1003
|
+
"UpdateEventPayload": {
|
|
1004
|
+
"type": "object",
|
|
1005
|
+
"description": "Mutable org activation overlay. Immutable event definition fields are not accepted.",
|
|
1006
|
+
"properties": {
|
|
1007
|
+
"enabled": {
|
|
1008
|
+
"type": "boolean"
|
|
1009
|
+
},
|
|
1010
|
+
"auto_trigger": {
|
|
1011
|
+
"type": "boolean"
|
|
1012
|
+
},
|
|
1013
|
+
"success_criteria": {
|
|
1014
|
+
"type": "array",
|
|
1015
|
+
"items": {
|
|
1016
|
+
"$ref": "#/components/schemas/SuccessCriterion"
|
|
1017
|
+
}
|
|
1018
|
+
}
|
|
1019
|
+
},
|
|
1020
|
+
"additionalProperties": false
|
|
1021
|
+
},
|
|
643
1022
|
"PrimitiveField": {
|
|
644
1023
|
"type": "object",
|
|
645
1024
|
"description": "A primitive JSON Schema field definition",
|
|
@@ -700,6 +1079,17 @@
|
|
|
700
1079
|
"items"
|
|
701
1080
|
]
|
|
702
1081
|
},
|
|
1082
|
+
"CustomSchemaField": {
|
|
1083
|
+
"description": "Custom v1 fields support JSON Schema values and context entities; attachment semantics are built-in-only.",
|
|
1084
|
+
"oneOf": [
|
|
1085
|
+
{
|
|
1086
|
+
"$ref": "#/components/schemas/PrimitiveField"
|
|
1087
|
+
},
|
|
1088
|
+
{
|
|
1089
|
+
"$ref": "#/components/schemas/ContextEntity"
|
|
1090
|
+
}
|
|
1091
|
+
]
|
|
1092
|
+
},
|
|
703
1093
|
"SchemaField": {
|
|
704
1094
|
"oneOf": [
|
|
705
1095
|
{
|
|
@@ -982,6 +1372,13 @@
|
|
|
982
1372
|
"items": {
|
|
983
1373
|
"$ref": "#/components/schemas/InlineDowngradeStep"
|
|
984
1374
|
}
|
|
1375
|
+
},
|
|
1376
|
+
"_automation_chain": {
|
|
1377
|
+
"type": "array",
|
|
1378
|
+
"description": "Ordered automation flow ids that caused this event (at most 100), propagated verbatim from the trigger input or the originating entity operation. Internal loop-prevention transport for automation-api; svc-webhooks strips it before delivery.",
|
|
1379
|
+
"items": {
|
|
1380
|
+
"type": "string"
|
|
1381
|
+
}
|
|
985
1382
|
}
|
|
986
1383
|
},
|
|
987
1384
|
"required": [
|
|
@@ -1208,6 +1605,13 @@
|
|
|
1208
1605
|
"Kündigung",
|
|
1209
1606
|
"Umzug/Auszug"
|
|
1210
1607
|
]
|
|
1608
|
+
},
|
|
1609
|
+
"purpose_filters": {
|
|
1610
|
+
"type": "array",
|
|
1611
|
+
"description": "Stable purpose IDs plus immutable display-name snapshots for custom events.",
|
|
1612
|
+
"items": {
|
|
1613
|
+
"$ref": "#/components/schemas/PurposeFilterSnapshot"
|
|
1614
|
+
}
|
|
1211
1615
|
}
|
|
1212
1616
|
},
|
|
1213
1617
|
"required": [
|
|
@@ -1300,6 +1704,14 @@
|
|
|
1300
1704
|
"TriggerEventPayload": {
|
|
1301
1705
|
"type": "object",
|
|
1302
1706
|
"description": "Payload for explicitly triggering an event via API",
|
|
1707
|
+
"example": {
|
|
1708
|
+
"seed": {
|
|
1709
|
+
"entity_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
|
|
1710
|
+
"node_id": "ticket"
|
|
1711
|
+
},
|
|
1712
|
+
"_trigger_source_type": "automation",
|
|
1713
|
+
"_trigger_source": "execution-id/action-id"
|
|
1714
|
+
},
|
|
1303
1715
|
"properties": {
|
|
1304
1716
|
"seed": {
|
|
1305
1717
|
"type": "object",
|
|
@@ -1338,7 +1750,14 @@
|
|
|
1338
1750
|
},
|
|
1339
1751
|
"_trigger_source": {
|
|
1340
1752
|
"type": "string",
|
|
1341
|
-
"description": "Identifier of the specific trigger source.\nExamples: user ID, automation execution ID, activity ID, portal user email\nDefaults to the calling user ID if not specified.\n"
|
|
1753
|
+
"description": "Identifier of the specific trigger source.\nExamples: user ID, automation execution ID, activity ID, portal user email\nDefaults to the calling user ID if not specified.\nRequired for events marked `automation_trigger_only` and must remain stable across\naction retries.\n"
|
|
1754
|
+
},
|
|
1755
|
+
"_automation_chain": {
|
|
1756
|
+
"type": "array",
|
|
1757
|
+
"description": "Ordered automation flow ids that caused this trigger (at most 100); propagated verbatim onto the published event for automation loop prevention.",
|
|
1758
|
+
"items": {
|
|
1759
|
+
"type": "string"
|
|
1760
|
+
}
|
|
1342
1761
|
}
|
|
1343
1762
|
}
|
|
1344
1763
|
},
|
|
@@ -1348,7 +1767,7 @@
|
|
|
1348
1767
|
"properties": {
|
|
1349
1768
|
"success": {
|
|
1350
1769
|
"type": "boolean",
|
|
1351
|
-
"description": "Whether the event was
|
|
1770
|
+
"description": "Whether the event was published successfully"
|
|
1352
1771
|
},
|
|
1353
1772
|
"event_id": {
|
|
1354
1773
|
"type": "string",
|
|
@@ -1356,7 +1775,7 @@
|
|
|
1356
1775
|
},
|
|
1357
1776
|
"event_bridge_event_id": {
|
|
1358
1777
|
"type": "string",
|
|
1359
|
-
"description": "EventBridge event ID
|
|
1778
|
+
"description": "EventBridge event ID when synchronous delivery or a completed retry provides it"
|
|
1360
1779
|
}
|
|
1361
1780
|
},
|
|
1362
1781
|
"required": [
|
package/definitions/journey.json
CHANGED
|
@@ -263,6 +263,50 @@
|
|
|
263
263
|
}
|
|
264
264
|
}
|
|
265
265
|
},
|
|
266
|
+
"/v1/journey/environment-variables": {
|
|
267
|
+
"get": {
|
|
268
|
+
"operationId": "getJourneyEnvironmentVariables",
|
|
269
|
+
"summary": "getJourneyEnvironmentVariables",
|
|
270
|
+
"description": "List the organization's environment variables that a journey block may use as an options source. Only Map 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.",
|
|
271
|
+
"security": [
|
|
272
|
+
{
|
|
273
|
+
"EpilotAuth": []
|
|
274
|
+
}
|
|
275
|
+
],
|
|
276
|
+
"tags": [
|
|
277
|
+
"Journeys"
|
|
278
|
+
],
|
|
279
|
+
"responses": {
|
|
280
|
+
"200": {
|
|
281
|
+
"description": "Map environment variables available as an options source",
|
|
282
|
+
"headers": {
|
|
283
|
+
"Cache-Control": {
|
|
284
|
+
"schema": {
|
|
285
|
+
"type": "string"
|
|
286
|
+
},
|
|
287
|
+
"description": "Always private, no-store"
|
|
288
|
+
}
|
|
289
|
+
},
|
|
290
|
+
"content": {
|
|
291
|
+
"application/json": {
|
|
292
|
+
"schema": {
|
|
293
|
+
"$ref": "#/components/schemas/JourneyEnvironmentVariablesResponse"
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
},
|
|
298
|
+
"401": {
|
|
299
|
+
"description": "Authorization token missing"
|
|
300
|
+
},
|
|
301
|
+
"403": {
|
|
302
|
+
"description": "Not permitted to read this organization's journeys"
|
|
303
|
+
},
|
|
304
|
+
"502": {
|
|
305
|
+
"description": "Environment resolver unavailable"
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
},
|
|
266
310
|
"/v1/journey/products/{id}": {
|
|
267
311
|
"get": {
|
|
268
312
|
"operationId": "getJourneyProducts",
|
|
@@ -1126,6 +1170,42 @@
|
|
|
1126
1170
|
}
|
|
1127
1171
|
}
|
|
1128
1172
|
},
|
|
1173
|
+
"JourneyEnvironmentVariablesResponse": {
|
|
1174
|
+
"type": "object",
|
|
1175
|
+
"required": [
|
|
1176
|
+
"items"
|
|
1177
|
+
],
|
|
1178
|
+
"properties": {
|
|
1179
|
+
"items": {
|
|
1180
|
+
"type": "array",
|
|
1181
|
+
"items": {
|
|
1182
|
+
"type": "object",
|
|
1183
|
+
"required": [
|
|
1184
|
+
"key",
|
|
1185
|
+
"type",
|
|
1186
|
+
"value"
|
|
1187
|
+
],
|
|
1188
|
+
"properties": {
|
|
1189
|
+
"key": {
|
|
1190
|
+
"type": "string"
|
|
1191
|
+
},
|
|
1192
|
+
"type": {
|
|
1193
|
+
"type": "string",
|
|
1194
|
+
"enum": [
|
|
1195
|
+
"Map"
|
|
1196
|
+
]
|
|
1197
|
+
},
|
|
1198
|
+
"value": {
|
|
1199
|
+
"$ref": "#/components/schemas/EnvironmentMap"
|
|
1200
|
+
},
|
|
1201
|
+
"description": {
|
|
1202
|
+
"type": "string"
|
|
1203
|
+
}
|
|
1204
|
+
}
|
|
1205
|
+
}
|
|
1206
|
+
}
|
|
1207
|
+
}
|
|
1208
|
+
},
|
|
1129
1209
|
"GetJourneysResponse": {
|
|
1130
1210
|
"type": "object"
|
|
1131
1211
|
},
|
package/dist/bin/epilot.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
API_LIST
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-2LYPV5T2.js";
|
|
5
5
|
|
|
6
6
|
// bin/epilot.ts
|
|
7
7
|
import { runMain } from "citty";
|
|
@@ -11,7 +11,7 @@ import { defineCommand } from "citty";
|
|
|
11
11
|
var main = defineCommand({
|
|
12
12
|
meta: {
|
|
13
13
|
name: "epilot",
|
|
14
|
-
version: "0.1.
|
|
14
|
+
version: "0.1.146",
|
|
15
15
|
description: "CLI for epilot APIs"
|
|
16
16
|
},
|
|
17
17
|
args: {
|
|
@@ -30,8 +30,8 @@ var main = defineCommand({
|
|
|
30
30
|
auth: () => import("../auth-WMXFMPWE.js").then((m) => m.default),
|
|
31
31
|
profile: () => import("../profile-OZJL5ZPT.js").then((m) => m.default),
|
|
32
32
|
config: () => import("../config-DGZIMLZK.js").then((m) => m.default),
|
|
33
|
-
completion: () => import("../completion-
|
|
34
|
-
upgrade: () => import("../upgrade-
|
|
33
|
+
completion: () => import("../completion-O46M2V67.js").then((m) => m.default),
|
|
34
|
+
upgrade: () => import("../upgrade-R2OMPLKS.js").then((m) => m.default),
|
|
35
35
|
"access-token": () => import("../access-token-WWE6BDJH.js").then((m) => m.default),
|
|
36
36
|
address: () => import("../address-EH3C4CVB.js").then((m) => m.default),
|
|
37
37
|
"address-suggestions": () => import("../address-suggestions-RRSLOBFW.js").then((m) => m.default),
|
|
@@ -134,13 +134,13 @@ process.stderr.on("error", (err) => {
|
|
|
134
134
|
if (err.code === "EPIPE") process.exit(0);
|
|
135
135
|
throw err;
|
|
136
136
|
});
|
|
137
|
-
var VERSION = true ? "0.1.
|
|
137
|
+
var VERSION = true ? "0.1.146" : (await null).default.version;
|
|
138
138
|
var reorderedArgv = hoistFlagsAfterSubcommand(process.argv.slice(2));
|
|
139
139
|
process.argv = [process.argv[0], process.argv[1], ...reorderedArgv];
|
|
140
140
|
var args = process.argv.slice(2);
|
|
141
141
|
var completionsIdx = args.indexOf("--_completions");
|
|
142
142
|
if (completionsIdx >= 0) {
|
|
143
|
-
const { handleCompletions } = await import("../completion-
|
|
143
|
+
const { handleCompletions } = await import("../completion-O46M2V67.js");
|
|
144
144
|
handleCompletions(args[completionsIdx + 1], args[completionsIdx + 2]);
|
|
145
145
|
process.exit(0);
|
|
146
146
|
}
|
|
@@ -810,11 +810,15 @@ var API_LIST = [
|
|
|
810
810
|
kebabName: "event-catalog",
|
|
811
811
|
title: "Event Catalog API",
|
|
812
812
|
serverUrl: "https://event-catalog.sls.epilot.io",
|
|
813
|
-
operationCount:
|
|
813
|
+
operationCount: 14,
|
|
814
814
|
operationIds: [
|
|
815
815
|
"listEvents",
|
|
816
|
+
"createCustomEvent",
|
|
816
817
|
"getEvent",
|
|
817
818
|
"patchEvent",
|
|
819
|
+
"deprecateCustomEvent",
|
|
820
|
+
"previewCustomEvent",
|
|
821
|
+
"publishCustomEventDefinition",
|
|
818
822
|
"getEventJSONSchema",
|
|
819
823
|
"getEventExample",
|
|
820
824
|
"listEventVersions",
|
|
@@ -962,12 +966,13 @@ var API_LIST = [
|
|
|
962
966
|
kebabName: "journey",
|
|
963
967
|
title: "Journey API",
|
|
964
968
|
serverUrl: "https://journey-config.sls.epilot.io",
|
|
965
|
-
operationCount:
|
|
969
|
+
operationCount: 18,
|
|
966
970
|
operationIds: [
|
|
967
971
|
"getJourneysByOrgId",
|
|
968
972
|
"getJourney",
|
|
969
973
|
"removeJourney",
|
|
970
974
|
"getJourneyEnvironment",
|
|
975
|
+
"getJourneyEnvironmentVariables",
|
|
971
976
|
"getJourneyProducts",
|
|
972
977
|
"createJourney",
|
|
973
978
|
"updateJourney",
|
|
@@ -72,7 +72,7 @@ ${GREEN}${BOLD}Upgraded to @epilot/cli@${latest}${RESET}
|
|
|
72
72
|
}
|
|
73
73
|
});
|
|
74
74
|
var getCurrentVersion = () => {
|
|
75
|
-
if (true) return "0.1.
|
|
75
|
+
if (true) return "0.1.146";
|
|
76
76
|
try {
|
|
77
77
|
const output = execSync("npm ls -g @epilot/cli --depth=0 --json 2>/dev/null", {
|
|
78
78
|
encoding: "utf-8",
|