REST API

Prev Next

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