# Get workflows

Retrieve the workflow phase configuration for incident and maintenance events.

Source: https://statusdashboard.com/docs/api/event-management/workflows/get

`GET /app/workflows`

Returns the tenant's custom workflow configuration for both incident and maintenance event types.

***

## Request
See [API Basics](/docs/api) for required headers.

This endpoint takes no request body or query parameters.

***

## Sample request
```bash
curl https://api.statusdashboard.com/app/workflows \
  -H "Authorization: Bearer bcf847abf5c6:def456"
```

## Sample response
**Status: `200 OK`**

```json
{
  "workflows": {
    "incident": [
      {
        "label": "Investigating",
        "description": "Issue has been identified and investigation is underway to determine the root cause.",
        "color": "#D97706",
        "icon": "search",
        "order": 1,
        "isFinal": false
      },
      {
        "label": "Identified",
        "description": "Root cause has been identified and a fix is being implemented.",
        "color": "#6366F1",
        "icon": "alert-circle",
        "order": 2,
        "isFinal": false
      },
      {
        "label": "Monitoring",
        "description": "Fix has been deployed and the system is being monitored to ensure stability.",
        "color": "#0284C7",
        "icon": "eye",
        "order": 3,
        "isFinal": false
      },
      {
        "label": "Resolved",
        "description": "Issue has been fully resolved and all systems are operating normally.",
        "color": "#059669",
        "icon": "check-circle",
        "order": 4,
        "isFinal": true
      }
    ],
    "maintenance": [
      {
        "label": "Scheduled",
        "description": "Maintenance window has been scheduled and announced to users.",
        "color": "#2563EB",
        "icon": "clock",
        "order": 1,
        "isFinal": false,
        "isScheduled": true
      },
      {
        "label": "In Progress",
        "description": "Maintenance is currently underway and systems may be unavailable.",
        "color": "#CA8A04",
        "icon": "wrench",
        "order": 2,
        "isFinal": false
      },
      {
        "label": "Completed",
        "description": "Maintenance has been completed and all systems are back online.",
        "color": "#059669",
        "icon": "check-circle",
        "order": 3,
        "isFinal": true
      }
    ]
  },
  "limits": {
    "workflowPhases": 6
  }
}
```

***

## Response fields
| Field                   | Type                 | Description                                                                                                                           |
| ----------------------- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| `workflows.incident`    | array                | Incident workflow phases sorted by `order` ascending (execution order). Index `0` is the first phase; the final phase is always last. |
| `workflows.maintenance` | array                | Maintenance workflow phases sorted by `order` ascending. Index `0` is the scheduled/planned phase; the final phase is always last.    |
| `[].label`              | string               | Display name of the phase. Max 50 characters.                                                                                         |
| `[].description`        | string               | Human-readable description of the phase. Max 150 characters.                                                                          |
| `[].color`              | string               | Hex color used for the phase badge and timeline.                                                                                      |
| `[].icon`               | string               | Approved Lucide icon key.                                                                                                             |
| `[].order`              | number               | 1-based execution order.                                                                                                              |
| `[].isFinal`            | boolean              | `true` if this is the terminal/resolved phase. At most one per workflow type.                                                         |
| `[].isScheduled`        | boolean \| undefined | `true` if this is the initial scheduled phase. Maintenance workflow only.                                                             |
| `limits.workflowPhases` | number               | Organization limit for max phases per workflow type (default 6; incident and maintenance each have this cap).                         |

***

## Error responses
| Status | When                      |
| ------ | ------------------------- |
| `403`  | Insufficient permissions. |
