Skip to main content

Get Workflow Definition

Endpoint: GET /api/metadata/workflow/{name}

Gets a specific workflow definition from the cluster.

Path parameters

ParameterDescriptionTypeRequired/ Optional
nameThe name of the workflow definition to be retrieved.stringRequired.

Query parameters

ParameterDescriptionTypeRequired/ Optional
versionThe version of the workflow to be retrieved. If unspecified, the latest version is retrieved.integerOptional.
metadataWhether metadata (such as tags) should be included in the response. Default is false.booleanOptional.

Response

Returns the workflow definition and includes the metadata if queried.

Examples

Get an individual workflow definition without metadata

Request

curl -X 'GET' \
'https://<YOUR_CLUSTER>/api/metadata/workflow/api-test?metadata=false' \
-H 'accept: */*' \
-H 'X-Authorization: <TOKEN>'

Response

Returns the workflow definition, without any tags metadata. For example:

{
"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
}
Get an individual workflow definition with metadata

Request

curl -X 'GET' \
'https://<YOUR_CLUSTER>/api/metadata/workflow/api-test?metadata=true' \
-H 'accept: */*' \
-H 'X-Authorization: <TOKEN>'

Response

Returns the workflow definition, including its tags metadata. For example:

{
"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 a specific version of a workflow definition

Request

curl -X 'GET' \
'https://<YOUR-CLUSTER>/api/metadata/workflow/api-test?version=10&metadata=false' \
-H 'accept: */*' \
-H 'X-Authorization: <TOKEN>'

Response

Returns the workflow definition with the queried version. For example:

{
"createTime": 1752670058073,
"updateTime": 1752670179823,
"name": "api-test",
"description": "Sample workflow created using API",
"version": 10,
"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
},
{
"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": 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": {}
}