{
  "info": {
    "_postman_id": "99612d78-bf27-43af-93b8-3f469c515bc9",
    "name": "Windmill admin health API",
    "description": "Contact Support:\n Name: Windmill Team\n Email: contact@windmill.dev",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
    "createdAt": "2026-07-28T03:30:46.000Z",
    "updatedAt": "2026-07-28T03:30:46.000Z",
    "lastUpdatedBy": "35240",
    "uid": "35240-99612d78-bf27-43af-93b8-3f469c515bc9"
  },
  "item": [
    {
      "name": "health",
      "item": [
        {
          "name": "status",
          "item": [
            {
              "name": "Health Status",
              "id": "d2febba3-4671-45a1-b787-f68850e8b77d",
              "protocolProfileBehavior": {
                "disableBodyPruning": true
              },
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/health/status?force=false",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "health",
                    "status"
                  ],
                  "query": [
                    {
                      "description": "Force a fresh check, bypassing the cache",
                      "key": "force",
                      "value": "false"
                    }
                  ]
                },
                "description": "Health status endpoint. Returns cached health status (database connectivity, worker count).\nCache TTL is fixed at 5 seconds. Use force=true query parameter to bypass cache.\nNote: This endpoint is intentionally different from Kubernetes probes to avoid confusion.\nFor k8s liveness/readiness probes, use /version endpoint.\n"
              },
              "response": [
                {
                  "id": "99e3dfcb-8875-4181-bc1c-f75d67df478c",
                  "name": "server is healthy or degraded",
                  "originalRequest": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      },
                      {
                        "description": "Added as a part of security scheme: bearer",
                        "key": "Authorization",
                        "value": "Bearer <token>"
                      }
                    ],
                    "url": {
                      "raw": "{{baseUrl}}/health/status?force=false",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "health",
                        "status"
                      ],
                      "query": [
                        {
                          "description": "Force a fresh check, bypassing the cache",
                          "key": "force",
                          "value": "false"
                        }
                      ]
                    }
                  },
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "responseTime": null,
                  "body": "{\n  \"status\": \"healthy\",\n  \"checked_at\": \"<dateTime>\",\n  \"database_healthy\": \"<boolean>\",\n  \"workers_alive\": \"<long>\"\n}",
                  "createdAt": "2026-07-28T03:30:47.000Z",
                  "updatedAt": "2026-07-28T03:30:47.000Z",
                  "uid": "35240-99e3dfcb-8875-4181-bc1c-f75d67df478c"
                },
                {
                  "id": "89e766dd-0ab2-410f-92f4-622f77021a48",
                  "name": "server is unhealthy (database unreachable)",
                  "originalRequest": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      },
                      {
                        "description": "Added as a part of security scheme: bearer",
                        "key": "Authorization",
                        "value": "Bearer <token>"
                      }
                    ],
                    "url": {
                      "raw": "{{baseUrl}}/health/status?force=false",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "health",
                        "status"
                      ],
                      "query": [
                        {
                          "description": "Force a fresh check, bypassing the cache",
                          "key": "force",
                          "value": "false"
                        }
                      ]
                    }
                  },
                  "status": "Service Unavailable",
                  "code": 503,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "responseTime": null,
                  "body": "{\n  \"status\": \"healthy\",\n  \"checked_at\": \"<dateTime>\",\n  \"database_healthy\": \"<boolean>\",\n  \"workers_alive\": \"<long>\"\n}",
                  "createdAt": "2026-07-28T03:30:47.000Z",
                  "updatedAt": "2026-07-28T03:30:47.000Z",
                  "uid": "35240-89e766dd-0ab2-410f-92f4-622f77021a48"
                }
              ],
              "createdAt": "2026-07-28T03:30:47.000Z",
              "updatedAt": "2026-07-28T03:30:47.000Z",
              "uid": "35240-d2febba3-4671-45a1-b787-f68850e8b77d"
            }
          ],
          "id": "ab0feac9-2faf-4293-8e36-36eb03c3673d",
          "createdAt": "2026-07-28T03:30:47.000Z",
          "updatedAt": "2026-07-28T03:30:47.000Z",
          "uid": "35240-ab0feac9-2faf-4293-8e36-36eb03c3673d"
        },
        {
          "name": "detailed",
          "item": [
            {
              "name": "Detailed Health Status",
              "id": "88f0f562-ac21-4b78-9340-c22932e8f4e2",
              "protocolProfileBehavior": {
                "disableBodyPruning": true
              },
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/health/detailed",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "health",
                    "detailed"
                  ]
                },
                "description": "Returns detailed health information including database pool stats, worker details, and queue status.\nRequires authentication. Use for monitoring dashboards and debugging.\nThis endpoint always returns fresh data (no caching).\n"
              },
              "response": [
                {
                  "id": "7339691a-a6e1-462f-ac92-289efda42d78",
                  "name": "server is healthy or degraded",
                  "originalRequest": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      },
                      {
                        "description": "Added as a part of security scheme: bearer",
                        "key": "Authorization",
                        "value": "Bearer <token>"
                      }
                    ],
                    "url": {
                      "raw": "{{baseUrl}}/health/detailed",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "health",
                        "detailed"
                      ]
                    }
                  },
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "responseTime": null,
                  "body": "{\n  \"status\": \"unhealthy\",\n  \"checked_at\": \"<dateTime>\",\n  \"version\": \"<string>\",\n  \"checks\": {\n    \"database\": {\n      \"healthy\": \"<boolean>\",\n      \"latency_ms\": \"<long>\",\n      \"pool\": {\n        \"size\": \"<integer>\",\n        \"idle\": \"<integer>\",\n        \"max_connections\": \"<integer>\"\n      }\n    },\n    \"readiness\": {\n      \"healthy\": \"<boolean>\"\n    },\n    \"workers\": {\n      \"healthy\": \"<boolean>\",\n      \"active_count\": \"<long>\",\n      \"worker_groups\": [\n        \"<string>\",\n        \"<string>\"\n      ],\n      \"min_version\": \"<string>\",\n      \"versions\": [\n        \"<string>\",\n        \"<string>\"\n      ]\n    },\n    \"queue\": {\n      \"pending_jobs\": \"<long>\",\n      \"running_jobs\": \"<long>\"\n    }\n  }\n}",
                  "createdAt": "2026-07-28T03:30:47.000Z",
                  "updatedAt": "2026-07-28T03:30:47.000Z",
                  "uid": "35240-7339691a-a6e1-462f-ac92-289efda42d78"
                },
                {
                  "id": "d6cfd98d-d40f-4db2-868c-b9decaeda864",
                  "name": "server is unhealthy (database unreachable)",
                  "originalRequest": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      },
                      {
                        "description": "Added as a part of security scheme: bearer",
                        "key": "Authorization",
                        "value": "Bearer <token>"
                      }
                    ],
                    "url": {
                      "raw": "{{baseUrl}}/health/detailed",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "health",
                        "detailed"
                      ]
                    }
                  },
                  "status": "Service Unavailable",
                  "code": 503,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "responseTime": null,
                  "body": "{\n  \"status\": \"unhealthy\",\n  \"checked_at\": \"<dateTime>\",\n  \"version\": \"<string>\",\n  \"checks\": {\n    \"database\": {\n      \"healthy\": \"<boolean>\",\n      \"latency_ms\": \"<long>\",\n      \"pool\": {\n        \"size\": \"<integer>\",\n        \"idle\": \"<integer>\",\n        \"max_connections\": \"<integer>\"\n      }\n    },\n    \"readiness\": {\n      \"healthy\": \"<boolean>\"\n    },\n    \"workers\": {\n      \"healthy\": \"<boolean>\",\n      \"active_count\": \"<long>\",\n      \"worker_groups\": [\n        \"<string>\",\n        \"<string>\"\n      ],\n      \"min_version\": \"<string>\",\n      \"versions\": [\n        \"<string>\",\n        \"<string>\"\n      ]\n    },\n    \"queue\": {\n      \"pending_jobs\": \"<long>\",\n      \"running_jobs\": \"<long>\"\n    }\n  }\n}",
                  "createdAt": "2026-07-28T03:30:47.000Z",
                  "updatedAt": "2026-07-28T03:30:47.000Z",
                  "uid": "35240-d6cfd98d-d40f-4db2-868c-b9decaeda864"
                }
              ],
              "createdAt": "2026-07-28T03:30:47.000Z",
              "updatedAt": "2026-07-28T03:30:47.000Z",
              "uid": "35240-88f0f562-ac21-4b78-9340-c22932e8f4e2"
            }
          ],
          "id": "4a4dc43e-634d-4765-b5ad-467aa70779dc",
          "createdAt": "2026-07-28T03:30:47.000Z",
          "updatedAt": "2026-07-28T03:30:47.000Z",
          "uid": "35240-4a4dc43e-634d-4765-b5ad-467aa70779dc"
        }
      ],
      "id": "c9517977-d944-49fe-b724-7c8b8ab1c9c5",
      "createdAt": "2026-07-28T03:30:47.000Z",
      "updatedAt": "2026-07-28T03:30:47.000Z",
      "uid": "35240-c9517977-d944-49fe-b724-7c8b8ab1c9c5"
    }
  ],
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{bearerToken}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "/api"
    }
  ]
}