# Get Workflow Status

`GET /api/workflows/{id}/status`

## Description
Check whether a workflow is deployed and whether its draft has changed since the last deployment. Use it before executing a workflow.

## Parameters

- **id** (path) (required) — `string`: The unique identifier of the workflow.

## Responses

### 200 — Deployment status of the workflow.

```json
{
  "type": "object",
  "properties": {
    "isDeployed": {
      "type": "boolean",
      "description": "Whether the workflow has an active deployment."
    },
    "deployedAt": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time",
      "description": "When the workflow was last deployed. null when never deployed."
    },
    "isPublished": {
      "type": "boolean",
      "description": "Whether the workflow is published."
    },
    "needsRedeployment": {
      "type": "boolean",
      "description": "True when the draft differs from the deployed version. Always false for undeployed workflows."
    }
  }
}
```

### 401 — Invalid or missing API key. Ensure the X-API-Key header is set with a valid key.

```json
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string",
      "description": "Human-readable error message."
    }
  }
}
```

### 403 — The key is not authorized for this workflow's workspace, or the caller cannot read the workflow.

```json
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}
```

### 404 — The requested resource was not found. Verify the ID is correct and belongs to your workspace.

```json
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string",
      "description": "Human-readable error message."
    }
  }
}
```
