# Workflow Service

Workflow Service API is a wrapper API on existing orchestrator services (Apache Airflow) defined in a way which suits the domain workflow needs. This API is responsible for creation and maintenance of the workflows. Operational tasks such as starting, stopping and pausing workflows are also part of this API. <br><br>
url: 'http://www.apache.org/licenses/LICENSE-2.0.html'

```plain {% title="Client ID" %}
963f2cc6915e479fa0fcb73ec2ec90e7
```


Version: 1.0.0

## Servers

SLB Saas OSDU (SGP)
```
https://as5.api.enterprisedata.slb.com/api/workflow/v1
```

SLB SaaS OSDU (BRS)
```
https://br5.api.enterprisedata.slb.com/api/workflow/v1
```

SLB Saas OSDU (WEU)
```
https://eu5.api.enterprisedata.slb.com/api/workflow/v1
```

SLB SaaS OSDU (EUT)
```
https://eu6.api.enterprisedata.slb.com/api/workflow/v1
```

SLB Saas OSDU (MDE)
```
https://eu7.api.enterprisedata.slb.com/api/workflow/v1
```

SLB Saas OSDU (PSC)
```
https://us5.api.enterprisedata.slb.com/api/workflow/v1
```

SLB Saas OSDU (USC)
```
https://us7.api.enterprisedata.slb.com/api/workflow/v1
```

SLB Saas OSDU (WUS)
```
https://us8.api.enterprisedata.slb.com/api/workflow/v1
```

SLB Saas OSDU (SAS)
```
https://as6.api.enterprisedata.slb.com/api/workflow/v1
```

SLB Saas OSDU (SWC)
```
https://eu8.api.enterprisedata.slb.com/api/workflow/v1
```

SLB Saas OSDU (MYW)
```
https://as7.api.enterprisedata.slb.com/api/workflow/v1
```

SLB Saas OSDU (ZAN)
```
https://za1.api.enterprisedata.slb.com/api/workflow/v1
```

## Security

### bearer

User Token from SLB Authenticator Service

Type: http
Scheme: bearer
Bearer Format: JWT

## Download OpenAPI description

 - [Workflow Service](https://developer.slb.com/_bundle/solutions/core-service/apis/OSDU-Workflow-Service.yaml)

## Workflow

 - [GET /workflow](https://developer.slb.com/solutions/core-service/apis/osdu-workflow-service/workflow/listallworkflow.md): List all workflows for provided partition. **Key Points** 1. This will include both the private and public workflows. 2. Workflows can be fetched using this API. 3. If the workflow service is down we
 - [POST /workflow](https://developer.slb.com/solutions/core-service/apis/osdu-workflow-service/workflow/deployworkflow.md): Register a new workflow. Workflows (Airflow DAGs) could be composed of standard components (In-built Airflow operators, hooks & sensors) or custom components (User-defined operators, hooks and sensors
 - [GET /workflow/{workflow_name}](https://developer.slb.com/solutions/core-service/apis/osdu-workflow-service/workflow/getworkflow.md): Get details of a registered workflow using the workflow name.
 - [DELETE /workflow/{workflow_name}](https://developer.slb.com/solutions/core-service/apis/osdu-workflow-service/workflow/deleteworkflow.md): Delete a registered workflow based on the workflow name. Workflow runs with status either SUCCESS or FAILED can be deleted.
## Workflow Run

 - [GET /workflow/{workflow_name}/workflowRun](https://developer.slb.com/solutions/core-service/apis/osdu-workflow-service/workflow-run/getallworkflowinstances.md): Get all the workflow run instances for the workflow specified by the workflow name.
 - [POST /workflow/{workflow_name}/workflowRun](https://developer.slb.com/solutions/core-service/apis/osdu-workflow-service/workflow-run/triggerworkflow.md): Trigger the execution of a valid workflow which is already registered.<br><br>
 - [GET /workflow/{workflow_name}/workflowRun/{runId}](https://developer.slb.com/solutions/core-service/apis/osdu-workflow-service/workflow-run/getworkflowrun.md): Returns the status of a workflow run which can be one of the following - 1. SUBMITTED - Workflow trigger accepted by platform, but actual workflow run has not started. 2. RUNNING - Workflow in
 - [PUT /workflow/{workflow_name}/workflowRun/{runId}](https://developer.slb.com/solutions/core-service/apis/osdu-workflow-service/workflow-run/updateworkflowrun.md): Explicitly update the status of a workflow run.
 - [GET /workflow/{workflowId}/workflowRun/{runId}/getSignedUrl](https://developer.slb.com/solutions/core-service/apis/osdu-workflow-service/workflow-run/getsignedurl.md): Returns a signed url with read/write access to a location which can be shared between different tasks in a workflow run.
## Custom Operators

 - [POST /customOperator](https://developer.slb.com/solutions/core-service/apis/osdu-workflow-service/custom-operators/registercustomoperator.md): Register a custom operator which can be re-used in multiple workflows.
 - [GET /customOperator](https://developer.slb.com/solutions/core-service/apis/osdu-workflow-service/custom-operators/getallcustomoperators.md): Get all the registered custom operators in a data partition. The results can be limited using the limit parameter.
 - [GET /customOperator/{customOperatorId}](https://developer.slb.com/solutions/core-service/apis/osdu-workflow-service/custom-operators/getcustomoperatorbyid.md): Returns a single custom operator based on the custom operator ID.
## Info

 - [GET /info](https://developer.slb.com/solutions/core-service/apis/osdu-workflow-service/info/version%20info.md): For deployment available public `/info` endpoint, which provides build and git related information.
