Get All Workflow Definitions
Endpoint: GET /api/metadata/workflow
Gets all the workflow definitions in the cluster.
Query parameters
Parameter | Description | Type | Required/ Optional |
---|---|---|---|
access | The access level being requested. Supported values: READ, CREATE, UPDATE, EXECUTE, and DELETE. Default is READ. | string | Optional. |
metadata | Whether metadata (such as tags) should be included in the response. Default is false. | boolean | Optional. |
tagKey | Option to filter based on the tag key associated with the task definitions. | string | Optional. |
tagValue | Option to filter based on the tag value associated with the task definitions. | string | Optional. |
name | The name of a specific workflow definition to retrieve. | string | Optional. |
short | Whether to retrieve only essential parameters of the workflow definition, excluding task data. Default is false. Set to true to retrieve only the essential part of the definition. | boolean | Optional. |
Response
Returns an array containing all the workflow definitions in the cluster, optionally including metadata such as tags based on the query parameters.
Examples
Get all workflow definitions with a specific tag
Request
curl -X 'GET' \
'https://<YOUR_CLUSTER>/api/metadata/workflow?access=READ&metadata=false&tagKey=api&tagValue=doc' \
-H 'accept: */*' \
-H 'X-Authorization: <TOKEN>'
Response
Returns all workflow definitions with tag api:doc
.
[
{
"createTime": 0,
"updateTime": 1735802256013,
"name": "api-test",
"description": "Sample workflow created using API",
"version": 1,
"tasks": [
{
"name": "event",
"taskReferenceName": "event_ref",
"inputParameters": {},
"type": "EVENT",
"decisionCases": {},
"defaultCase": [],
"forkTasks": [],
"startDelay": 0,
"joinOn": [],
"sink": "sqs:internal_event_name",
"optional": false,
"defaultExclusiveJoinTask": [],
"asyncComplete": false,
"loopOver": [],
"onStateChange": {},
"permissive": false
}
],
"inputParameters": [],
"outputParameters": {},
"failureWorkflow": "",
"schemaVersion": 2,
"restartable": false,
"workflowStatusListenerEnabled": false,
"ownerEmail": "john.doe@acme.com",
"timeoutPolicy": "ALERT_ONLY",
"timeoutSeconds": 0,
"variables": {},
"inputTemplate": {},
"enforceSchema": true,
"overwriteTags": true,
"tags": [
{
"key": "api",
"value": "doc"
}
]
}
]
Get all workflow definitions with metadata set to true
Request
curl -X 'GET' \
'https://<YOUR-CLUSTER>/api/metadata/workflow?access=READ&metadata=true&short=false' \
-H 'accept: */*' \
-H 'X-Authorization: <TOKEN>'
Response
Returns an array containing all the workflow definitions in the cluster, including their tags metadata. For example:
//truncated response
{
"createTime": 0,
"updateTime": 1735802256013,
"name": "api-test",
"description": "Sample workflow created using API",
"version": 1,
"tasks": [
{
"name": "event",
"taskReferenceName": "event_ref",
"inputParameters": {},
"type": "EVENT",
"decisionCases": {},
"defaultCase": [],
"forkTasks": [],
"startDelay": 0,
"joinOn": [],
"sink": "sqs:internal_event_name",
"optional": false,
"defaultExclusiveJoinTask": [],
"asyncComplete": false,
"loopOver": [],
"onStateChange": {},
"permissive": false
}
],
"inputParameters": [],
"outputParameters": {},
"failureWorkflow": "",
"schemaVersion": 2,
"restartable": false,
"workflowStatusListenerEnabled": false,
"ownerEmail": "john.doe@acme.com",
"timeoutPolicy": "ALERT_ONLY",
"timeoutSeconds": 0,
"variables": {},
"inputTemplate": {},
"enforceSchema": true,
"metadata": {},
"overwriteTags": true,
"tags": [
{
"key": "api",
"value": "doc"
}
]
}
Get all workflow definitions with metadata set to false
Request
curl -X 'GET' \
'https://<YOUR-CLUSTER>/api/metadata/workflow?access=READ&metadata=false&short=false' \
-H 'accept: */*' \
-H 'X-Authorization: <TOKEN>
Response
Returns an array containing all the workflow definitions in the cluster without any tag metadata. For example:
//truncated response
{
"createTime": 0,
"updateTime": 1735802256013,
"name": "api-test",
"description": "Sample workflow created using API",
"version": 1,
"tasks": [
{
"name": "event",
"taskReferenceName": "event_ref",
"inputParameters": {},
"type": "EVENT",
"decisionCases": {},
"defaultCase": [],
"forkTasks": [],
"startDelay": 0,
"joinOn": [],
"sink": "sqs:internal_event_name",
"optional": false,
"defaultExclusiveJoinTask": [],
"asyncComplete": false,
"loopOver": [],
"onStateChange": {},
"permissive": false
}
],
"inputParameters": [],
"outputParameters": {},
"failureWorkflow": "",
"schemaVersion": 2,
"restartable": false,
"workflowStatusListenerEnabled": false,
"ownerEmail": "john.doe@acme.com",
"timeoutPolicy": "ALERT_ONLY",
"timeoutSeconds": 0,
"variables": {},
"inputTemplate": {},
"enforceSchema": true,
"metadata": {}
}
Get a specific workflow definition
Request
curl -X 'GET' \
'https://<YOUR-CLUSTER>/api/metadata/workflow?access=READ&metadata=false&name=http&short=false' \
-H 'accept: */*' \
-H 'X-Authorization: <TOKEN>'
Response
Returns the queried workflow definition JSON.
[
{
"createTime": 1746097239757,
"updateTime": 1746519880610,
"name": "http",
"description": "http",
"version": 1,
"tasks": [
{
"name": "http",
"taskReferenceName": "http_ref",
"inputParameters": {
"uri": "https://orkes-api-tester.orkesconductor.com/api",
"method": "GET",
"accept": "application/json",
"contentType": "application/json",
"encode": true
},
"type": "HTTP",
"decisionCases": {},
"defaultCase": [],
"forkTasks": [],
"startDelay": 0,
"joinOn": [],
"optional": true,
"defaultExclusiveJoinTask": [],
"asyncComplete": true,
"loopOver": [],
"onStateChange": {},
"permissive": false
}
],
"inputParameters": [
"name"
],
"outputParameters": {},
"failureWorkflow": "",
"schemaVersion": 2,
"restartable": true,
"workflowStatusListenerEnabled": false,
"ownerEmail": "john.doe@acme.com",
"timeoutPolicy": "ALERT_ONLY",
"timeoutSeconds": 0,
"variables": {},
"inputTemplate": {},
"enforceSchema": true,
"metadata": {}
}
]
Get all workflow definitions with short set to true
Request
curl -X 'GET' \
'https://<YOUR-CLUSTER>/api/metadata/workflow?access=READ&metadata=false&short=true' \
-H 'accept: */*' \
-H 'X-Authorization: <TOKEN>'
Response
Returns an array of all workflow definitions in the cluster, including only their essential parameters and excluding task data. For example:
//truncated response
{
"createTime": 1735802166798,
"updateTime": 0,
"name": "api-test",
"description": "Sample workflow created using API",
"version": 1,
"tasks": [],
"inputParameters": [],
"outputParameters": {},
"failureWorkflow": "",
"schemaVersion": 2,
"restartable": false,
"workflowStatusListenerEnabled": false,
"ownerEmail": "john.doe@acme.com",
"timeoutPolicy": "ALERT_ONLY",
"timeoutSeconds": 0,
"variables": {},
"inputTemplate": {},
"enforceSchema": true,
"metadata": {}
}
Get all workflow definitions with short set to false
Request
curl -X 'GET' \
'https://<YOUR-CLUSTER>/api/metadata/workflow?access=READ&metadata=false&short=false' \
-H 'accept: */*' \
-H 'X-Authorization: <TOKEN>'
Response
Returns an array of all workflow definitions in the cluster, including complete data for each definition. For example:
//truncated response
{
"createTime": 0,
"updateTime": 1735802256013,
"name": "api-test",
"description": "Sample workflow created using API",
"version": 1,
"tasks": [
{
"name": "event",
"taskReferenceName": "event_ref",
"inputParameters": {},
"type": "EVENT",
"decisionCases": {},
"defaultCase": [],
"forkTasks": [],
"startDelay": 0,
"joinOn": [],
"sink": "sqs:internal_event_name",
"optional": false,
"defaultExclusiveJoinTask": [],
"asyncComplete": false,
"loopOver": [],
"onStateChange": {},
"permissive": false
}
],
"inputParameters": [],
"outputParameters": {},
"failureWorkflow": "",
"schemaVersion": 2,
"restartable": false,
"workflowStatusListenerEnabled": false,
"ownerEmail": "john.doe@acme.com",
"timeoutPolicy": "ALERT_ONLY",
"timeoutSeconds": 0,
"variables": {},
"inputTemplate": {},
"enforceSchema": true,
"metadata": {}
}