- 23 Dec 2022
- 4 Minutes to read
- Print
- DarkLight
REST API
- Updated on 23 Dec 2022
- 4 Minutes to read
- Print
- DarkLight
Euclid Studio REST API
Euclid Studio flows can be called via the REST API. To do so, we need to execute an HTTP request against
http://<server>:<port>/EuclidStudio/api/v1
where <server>
and <port>
are the address to the Euclid Studio server. E.g.,
http://localhost:8080/EuclidStudio/api/v1
The REST API can be used to get the status of and execute jobs, or navigate flows.
Note: for a Euclid Studio version prior to 4.2.0, see here for information about the REST API.
Jobs Status and Execution
GET /jobs/{jobId}
Get the status of a Job
Only a single job status can be retrieved with this method
Parameters
Name | Input | Type | Required | Description |
---|---|---|---|---|
jobId | path | string | true | Job Id provided in the execution request |
filter | query | string | false | A value of executionStatus will limit the response to just that field's value |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | JobStatus |
400 | Bad Request | Bad Request or Server error | None |
Example responses
200 Response
Response Body (click to expand)
{
"id": "54d9d784-e574-4160-9f44-6fb95317fecb",
"jobType": "RUNPROFILE",
"flowName": "Sleep6Split",
"runProfileName": "default",
"jobName": "Sleep6Split_default",
"startTime": 1621440119691,
"endTime": 1621440135054,
"executionStatus": "COMPLETED",
"log": "05/19/2021 12:01:59,698 [pool-8-thread-2] INFO user.${ctx:USER} job.RunProfileJobImpl - \r\n+---------------------------------------------------------+\r\n| Job Execution Details |\r\n+----------------+----------------------------------------+\r\n| NAME | VALUE |\r\n+----------------+----------------------------------------+\r\n| Job Name | Sleep6Split_default |\r\n+----------------+----------------------------------------+\r\n| Execution Id | 54d9d784-e574-4160-9f44-6fb95317fecb |\r\n+----------------+----------------------------------------+\r\n\r\n05/19/2021 12:01:59,706 [pool-8-thread-2] INFO user.${ctx:USER} service.DefaultFlowExecutionServiceImpl - \r\n+------------------------------------------------------+\r\n| Execution Details |\r\n+-------------+----------------------------------------+\r\n| NAME | VALUE |\r\n+-------------+----------------------------------------+\r\n| Flow Id | f21bf040-c22b-454e-8561-2115e90aaa55 |\r\n+-------------+----------------------------------------+\r\n| Flow Name | C:/Temp/Sleep6Split.flx |\r\n+-------------+----------------------------------------+\r\n| Type | RUNPROFILE |\r\n+-------------+----------------------------------------+\r\n| RUNITEM | default |\r\n+-------------+----------------------------------------+\r\n\r\n05/19/2021 12:02:04,832 [pool-11-thread-1] PERFORMANCE user.${ctx:USER} node.DatabaseCommandOutputNode - node_6896891:Command Line:Command Line | Elapsed Time (s): 5.122\r\n05/19/2021 12:02:09,946 [pool-11-thread-1] PERFORMANCE user.${ctx:USER} node.DatabaseCommandOutputNode - node_7446635:Command Line:Command Line | Elapsed Time (s): 5.11\r\n05/19/2021 12:02:15,045 [pool-11-thread-1] PERFORMANCE user.${ctx:USER} node.DatabaseCommandOutputNode - node_2714217:Command Line:Command Line | Elapsed Time (s): 5.098\r\n05/19/2021 12:02:15,050 [pool-8-thread-2] INFO user.${ctx:USER} service.DefaultFlowExecutionServiceImpl - \r\n+----------------------------------------------+\r\n| Execution Results |\r\n+----------+-------------+---------------------+\r\n| NAME | STATUS | RUNTIME |\r\n+----------+-------------+---------------------+\r\n| Step 1 | COMPLETED | 5.123 seconds |\r\n+----------+-------------+---------------------+\r\n| Step 2 | COMPLETED | 5.110 seconds |\r\n+----------+-------------+---------------------+\r\n| Step 3 | COMPLETED | 5.098 seconds |\r\n+----------+-------------+---------------------+\r\n| Total | COMPLETED | 15.335 seconds |\r\n+----------+-------------+---------------------+\r\n\r\n05/19/2021 12:02:15,053 [pool-8-thread-2] INFO user.${ctx:USER} job.RunProfileJobImpl - Job completed successfully.\r\n",
"executionPerformanceReport": null,
"error": null,
"currentStepId": "Step 3",
"currentStepDescription": "Step 3 (1)",
"currentStepStartTime": 1621440135045,
"currentStepStatus": "COMPLETED",
"runProfile": "Sleep6Split_default",
"runtimeFormatted": "15.363 seconds",
"startTimeFormatted": "2021-05-19 12:01:59.691",
"endTimeFormatted": "2021-05-19 12:02:15.054",
"currentStepElapsedTime": "N/A"
}
GET /jobs
Get the status for multiple Jobs (max of 100)
You can choose to filter the list of Job Statuses using the filter query parameter
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
filter | query | string | false | A value of active will filter by running Jobs and a value of history will filter by completed Jobs. Excluding this parameter returns the first 100 Jobs running and completed. |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | Inline |
400 | Bad Request | Bad Request or Server error | None |
Example responses
200 Response
Response Body (click to expand)
[
{
"id": "54d9d784-e574-4160-9f44-6fb95317fecb",
"jobType": "RUNPROFILE",
"flowName": "Sleep6Split",
"runProfileName": "default",
"jobName": "Sleep6Split_default",
"startTime": 1621440119691,
"endTime": null,
"executionStatus": "RUNNING",
"log": null,
"executionPerformanceReport": null,
"error": null,
"currentStepId": "Step 3",
"currentStepDescription": "Step 3 (0 of 1 completed)",
"currentStepStartTime": 1621440129947,
"currentStepStatus": "RUNNING",
"runProfile": "Sleep6Split_default",
"runtimeFormatted": "",
"startTimeFormatted": "2021-05-19 12:01:59.691",
"endTimeFormatted": "",
"currentStepElapsedTime": "0:00:04"
},
{
"id": "2956fdae-73f8-45ec-a999-bf3514020472",
"jobType": "RUNPROFILE",
"flowName": "Demo",
"runProfileName": "default",
"jobName": "Demo_default",
"startTime": 1621440116248,
"endTime": 1621440126291,
"executionStatus": "COMPLETED",
"log": "05/19/2021 12:01:56,485 [pool-8-thread-1] INFO user.${ctx:USER} job.RunProfileJobImpl - \r\n+---------------------------------------------------------+\r\n| Job Execution Details |\r\n+----------------+----------------------------------------+\r\n| NAME | VALUE |\r\n+----------------+----------------------------------------+\r\n| Job Name | Demo_default |\r\n+----------------+----------------------------------------+\r\n| Execution Id | 2956fdae-73f8-45ec-a999-bf3514020472 |\r\n+----------------+----------------------------------------+\r\n\r\n05/19/2021 12:01:56,527 [pool-8-thread-1] INFO user.${ctx:USER} service.DefaultFlowExecutionServiceImpl - \r\n+------------------------------------------------------+\r\n| Execution Details |\r\n+-------------+----------------------------------------+\r\n| NAME | VALUE |\r\n+-------------+----------------------------------------+\r\n| Flow Id | 2932ca30-8871-48b1-8e9b-90b744020b68 |\r\n+-------------+----------------------------------------+\r\n| Flow Name | C:/Temp/Demo.flx |\r\n+-------------+----------------------------------------+\r\n| Type | RUNPROFILE |\r\n+-------------+----------------------------------------+\r\n| RUNITEM | default |\r\n+-------------+----------------------------------------+\r\n\r\n+--------------------------------------------------------------+\r\n| Parameter Set: demo_params |\r\n+--------------+----------+------------------------------------+\r\n| NAME | TYPE | VALUE |\r\n+--------------+----------+------------------------------------+\r\n| SOURCEFILE | STRING | \"C:\\Temp\\retail_unit_demand.csv\" |\r\n+--------------+----------+------------------------------------+\r\n| TABLENAME | STRING | \"DEMO_TABLE\" |\r\n+--------------+----------+------------------------------------+\r\n\r\n\r\n\r\n05/19/2021 12:01:56,580 [pool-9-thread-1] PERFORMANCE user.${ctx:USER} node.FlatFileSourceNode - node_8759684:Flat File:Flat File | Elapsed Time (s): 0.045 | Rows: 118 | Rows/sec: 2622.222222222222\r\n05/19/2021 12:01:57,792 [pool-9-thread-1] PERFORMANCE user.${ctx:USER} node.ForecastModelNode - node_3996940:Forecast:Forecast | Elapsed Time (s): 1.257 | Rows: 118 | Rows/sec: 93.87430389817025\r\n05/19/2021 12:01:59,150 [pool-9-thread-1] PERFORMANCE user.${ctx:USER} node.DatabaseExportNode - node_7954912:Database:Database | Elapsed Time (s): 2.616 | Rows: 0 | Rows/sec: 0.0\r\n05/19/2021 12:02:06,270 [pool-9-thread-1] PERFORMANCE user.${ctx:USER} node.DatabaseCommandOutputNode - node_9063046:Command Line:Command Line | Elapsed Time (s): 7.116\r\n05/19/2021 12:02:06,278 [pool-8-thread-1] INFO user.${ctx:USER} service.DefaultFlowExecutionServiceImpl - \r\n+----------------------------------------------+\r\n| Execution Results |\r\n+----------+-------------+---------------------+\r\n| NAME | STATUS | RUNTIME |\r\n+----------+-------------+---------------------+\r\n| Step 1 | COMPLETED | N/A |\r\n+----------+-------------+---------------------+\r\n| Step 2 | COMPLETED | 2.618 seconds |\r\n+----------+-------------+---------------------+\r\n| Step 3 | COMPLETED | 7.116 seconds |\r\n+----------+-------------+---------------------+\r\n| Total | COMPLETED | 9.738 seconds |\r\n+----------+-------------+---------------------+\r\n\r\n05/19/2021 12:02:06,290 [pool-8-thread-1] INFO user.${ctx:USER} job.RunProfileJobImpl - Job completed successfully.\r\n",
"executionPerformanceReport": null,
"error": null,
"currentStepId": "Step 3",
"currentStepDescription": "Step 3 (1)",
"currentStepStartTime": 1621440126270,
"currentStepStatus": "COMPLETED",
"runProfile": "Demo_default",
"runtimeFormatted": "10.043 seconds",
"startTimeFormatted": "2021-05-19 12:01:56.248",
"endTimeFormatted": "2021-05-19 12:02:06.291",
"currentStepElapsedTime": "N/A"
}
]
POST /jobs
Submit a Job execution request
All details on the request are passed in the request body
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | JobRequest | false | none |
Body parameter
Note: string, integer, and float are the only supported parameter types via the API
{
"flowFileName": "C:/Temp/Demo.flx",
"runProfileName": "default",
"notificationEnabled": false,
"parameters":[
{
"name":"TABLENAME",
"type":"string",
"value": "DEMO_TABLE"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | successful operation | JobExecutionResponse |
202 | Accepted | Accepted | JobExecutionResponse |
400 | Bad Request | Bad Request or Server error | None |
Example responses
200 Response
{
"jobId": "2956fdae-73f8-45ec-a999-bf3514020472"
}
Properties
Property | Value |
---|---|
jobType | BRANCH |
jobType | RUNPROFILE |
executionStatus | QUEUED |
executionStatus | RUNNING |
executionStatus | CANCELLED |
executionStatus | ERROR |
executionStatus | COMPLETED |
currentStepStatus | RUNNING |
currentStepStatus | COMPLETED |
Flow Navigation
GET /flows
Navigate to a specific Flow
This api should only be used for navigation in your browser
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
flowFileName | query | string | true | Fully qualified path to the Flow File |
runProfile | query | string | true | Name of the Run Profile to execute |
nodeId | query | string | false | Full Node Id of the Node to open on navigation |
Example Parameter Strings
Navigate to a Flow and Run Profile
http://localhost:9696/EuclidStudio/api/v1/flows?flowFileName=c:/Flows/example.flx&runProfile=default
Navigate to a specific node
http://localhost:9696/EuclidStudio/api/v1/flows?flowFileName=c:/Flows/example.flx&runProfile=default&nodeId=node_9259502
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
default | Default | successful operation | None |