2024-02-07 18:44:49 -05:00
---
layout: default
title: Get a workflow status
parent: Workflow APIs
nav_order: 40
---
# Get a workflow status
This is an experimental feature and is not recommended for use in a production environment. For updates on the progress of the feature or if you want to leave feedback, see the associated [GitHub issue ](https://github.com/opensearch-project/flow-framework/issues/475 ).
{: .warning}
2024-02-20 12:09:31 -05:00
[Provisioning a workflow ]({{site.url}}{{site.baseurl}}/automating-configurations/api/provision-workflow/ ) may take a significant amount of time, particularly when the action is associated with OpenSearch indexing operations. The Get Workflow State API permits monitoring of the provisioning deployment status until it is complete.
2024-02-07 18:44:49 -05:00
## Path and HTTP methods
```json
GET /_plugins/_flow_framework/workflow/< workflow_id > /_status
```
## Path parameters
The following table lists the available path parameters.
| Parameter | Data type | Description |
| :--- | :--- | :--- |
| `workflow_id` | String | The ID of the workflow from which to obtain the status. Required for the `PUT` method. |
## Query parameters
The `all` parameter specifies whether the response should return all fields.
When set to `false` (the default), the response contains the following fields:
- `workflow_id`
- any `error` state
- `state`
- a list of `resources_created`
When set to `true` , the response contains the following additional fields:
- `provisioning_progress`
- `provision_start_time`
- `provision_end_time`
- `user`
- `user_outputs`
To receive all available fields in the response, set `all` to `true` :
```json
GET /_plugins/_flow_framework/workflow/8xL8bowB8y25Tqfenm50/_status?all=true
```
{% include copy-curl.html %}
#### Example request
```json
GET /_plugins/_flow_framework/workflow/8xL8bowB8y25Tqfenm50/_status
```
{% include copy-curl.html %}
#### Example response
OpenSearch responds with a summary of the provisioning status and a list of created resources.
Before provisioning has begun, OpenSearch does not return any resources:
```json
{
"workflow_id" : "8xL8bowB8y25Tqfenm50",
"state": "NOT_STARTED"
}
```
While provisioning is in progress, OpenSearch returns a partial resource list:
```json
{
"workflow_id" : "8xL8bowB8y25Tqfenm50",
"state": "PROVISIONING",
"resources_created": [
{
"workflow_step_name": "create_connector",
"workflow_step_id": "create_connector_1",
2024-03-05 13:32:24 -05:00
"resource_type": "connector_id",
"resource_id": "NdjCQYwBLmvn802B0IwE"
2024-02-07 18:44:49 -05:00
}
]
}
```
Upon provisioning completion, OpenSearch returns the full resource list:
```json
{
"workflow_id" : "8xL8bowB8y25Tqfenm50",
"state": "COMPLETED",
"resources_created": [
{
"workflow_step_name": "create_connector",
"workflow_step_id": "create_connector_1",
2024-03-05 13:32:24 -05:00
"resource_type": "connector_id",
"resource_id": "NdjCQYwBLmvn802B0IwE"
2024-02-07 18:44:49 -05:00
},
{
"workflow_step_name": "register_remote_model",
"workflow_step_id": "register_model_2",
2024-03-05 13:32:24 -05:00
"resource_type": "model_id",
"resource_id": "N9jCQYwBLmvn802B0oyh"
2024-02-07 18:44:49 -05:00
}
]
}
```