---
title: "Debug Info Deployment Health"
method: GET
path: "/api/v2/debug/health"
tags: ["Debug"]
---

# Debug Info Deployment Health

`GET /api/v2/debug/health`

## Query parameters

- `force` boolean

## Response `200`

OK

- HealthsdkHealthcheckReport
  - `access_url` HealthsdkAccessURLReport
    - `access_url` string
    - `dismissed` boolean
    - `error` string
    - `healthy` boolean — Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead.
    - `healthz_response` string
    - `reachable` boolean
    - `severity` 'ok' | 'warning' | 'error'
    - `status_code` integer
    - `warnings` HealthMessage[]
      - `code` 'EUNKNOWN' | 'EWP01' | 'EWP02' | 'EWP04' | 'EDB01' | 'EDB02' | 'EWS01' | 'EWS02' | 'EWS03' | 'EACS01' | 'EACS02' | 'EACS03' | 'EACS04' | 'EDERP01' | 'EDERP02' | 'EDERP03' | 'EPD01' | 'EPD02' | 'EPD03'
      - `message` string
  - `coder_version` string — The Coder version of the server that the report was generated on.
  - `database` HealthsdkDatabaseReport
    - `dismissed` boolean
    - `error` string
    - `healthy` boolean — Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead.
    - `latency` string
    - `latency_ms` integer
    - `reachable` boolean
    - `severity` 'ok' | 'warning' | 'error'
    - `threshold_ms` integer
    - `warnings` HealthMessage[]
      - `code` 'EUNKNOWN' | 'EWP01' | 'EWP02' | 'EWP04' | 'EDB01' | 'EDB02' | 'EWS01' | 'EWS02' | 'EWS03' | 'EACS01' | 'EACS02' | 'EACS03' | 'EACS04' | 'EDERP01' | 'EDERP02' | 'EDERP03' | 'EPD01' | 'EPD02' | 'EPD03'
      - `message` string
  - `derp` HealthsdkDERPHealthReport
    - `dismissed` boolean
    - `error` string
    - `healthy` boolean — Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead.
    - `netcheck` NetcheckReport
      - `captivePortal` string — CaptivePortal is set when we think there's a captive portal that is intercepting HTTP traffic.
      - `globalV4` string — ip:port of global IPv4
      - `globalV6` string — [ip]:port of global IPv6
      - `hairPinning` string — HairPinning is whether the router supports communicating between two local devices through the NATted public IP address (on IPv4).
      - `icmpv4` boolean — an ICMPv4 round trip completed
      - `ipv4` boolean — an IPv4 STUN round trip completed
      - `ipv4CanSend` boolean — an IPv4 packet was able to be sent
      - `ipv6` boolean — an IPv6 STUN round trip completed
      - `ipv6CanSend` boolean — an IPv6 packet was able to be sent
      - `mappingVariesByDestIP` string — MappingVariesByDestIP is whether STUN results depend which STUN server you're talking to (on IPv4).
      - `oshasIPv6` boolean — could bind a socket to ::1
      - `pcp` string — PCP is whether PCP appears present on the LAN. Empty means not checked.
      - `pmp` string — PMP is whether NAT-PMP appears present on the LAN. Empty means not checked.
      - `preferredDERP` integer — or 0 for unknown
      - `regionLatency` object — keyed by DERP Region ID
      - `regionV4Latency` object — keyed by DERP Region ID
      - `regionV6Latency` object — keyed by DERP Region ID
      - `udp` boolean — a UDP STUN round trip completed
      - `upnP` string — UPnP is whether UPnP appears present on the LAN. Empty means not checked.
    - `netcheck_err` string
    - `netcheck_logs` string[]
    - `regions` object
    - `severity` 'ok' | 'warning' | 'error'
    - `warnings` HealthMessage[]
      - `code` 'EUNKNOWN' | 'EWP01' | 'EWP02' | 'EWP04' | 'EDB01' | 'EDB02' | 'EWS01' | 'EWS02' | 'EWS03' | 'EACS01' | 'EACS02' | 'EACS03' | 'EACS04' | 'EDERP01' | 'EDERP02' | 'EDERP03' | 'EPD01' | 'EPD02' | 'EPD03'
      - `message` string
  - `healthy` boolean — Healthy is true if the report returns no errors. Deprecated: use `Severity` instead
  - `provisioner_daemons` HealthsdkProvisionerDaemonsReport
    - `dismissed` boolean
    - `error` string
    - `items` HealthsdkProvisionerDaemonsReportItem[]
      - `provisioner_daemon` CodersdkProvisionerDaemon
        - `api_version` string
        - `created_at` string, date-time
        - `current_job` CodersdkProvisionerDaemonJob
          - `id` string, uuid
          - `status` 'pending' | 'running' | 'succeeded' | 'canceling' | 'canceled' | 'failed' | 'unknown'
          - `template_display_name` string
          - `template_icon` string
          - `template_name` string
        - `id` string, uuid
        - `key_id` string, uuid
        - `key_name` string — Optional fields.
        - `last_seen_at` string, date-time
        - `name` string
        - `organization_id` string, uuid
        - `previous_job` CodersdkProvisionerDaemonJob
          - `id` string, uuid
          - `status` 'pending' | 'running' | 'succeeded' | 'canceling' | 'canceled' | 'failed' | 'unknown'
          - `template_display_name` string
          - `template_icon` string
          - `template_name` string
        - `provisioners` string[]
        - `status` 'offline' | 'idle' | 'busy'
        - `tags` object
        - `version` string
      - `warnings` HealthMessage[]
        - `code` 'EUNKNOWN' | 'EWP01' | 'EWP02' | 'EWP04' | 'EDB01' | 'EDB02' | 'EWS01' | 'EWS02' | 'EWS03' | 'EACS01' | 'EACS02' | 'EACS03' | 'EACS04' | 'EDERP01' | 'EDERP02' | 'EDERP03' | 'EPD01' | 'EPD02' | 'EPD03'
        - `message` string
    - `severity` 'ok' | 'warning' | 'error'
    - `warnings` HealthMessage[]
      - `code` 'EUNKNOWN' | 'EWP01' | 'EWP02' | 'EWP04' | 'EDB01' | 'EDB02' | 'EWS01' | 'EWS02' | 'EWS03' | 'EACS01' | 'EACS02' | 'EACS03' | 'EACS04' | 'EDERP01' | 'EDERP02' | 'EDERP03' | 'EPD01' | 'EPD02' | 'EPD03'
      - `message` string
  - `severity` 'ok' | 'warning' | 'error'
  - `time` string, date-time — Time is the time the report was generated at.
  - `websocket` HealthsdkWebsocketReport
    - `body` string
    - `code` integer
    - `dismissed` boolean
    - `error` string
    - `healthy` boolean — Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead.
    - `severity` 'ok' | 'warning' | 'error'
    - `warnings` HealthMessage[]
      - `code` 'EUNKNOWN' | 'EWP01' | 'EWP02' | 'EWP04' | 'EDB01' | 'EDB02' | 'EWS01' | 'EWS02' | 'EWS03' | 'EACS01' | 'EACS02' | 'EACS03' | 'EACS04' | 'EDERP01' | 'EDERP02' | 'EDERP03' | 'EPD01' | 'EPD02' | 'EPD03'
      - `message` string
  - `workspace_proxy` HealthsdkWorkspaceProxyReport
    - `dismissed` boolean
    - `error` string
    - `healthy` boolean — Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead.
    - `severity` 'ok' | 'warning' | 'error'
    - `warnings` HealthMessage[]
      - `code` 'EUNKNOWN' | 'EWP01' | 'EWP02' | 'EWP04' | 'EDB01' | 'EDB02' | 'EWS01' | 'EWS02' | 'EWS03' | 'EACS01' | 'EACS02' | 'EACS03' | 'EACS04' | 'EDERP01' | 'EDERP02' | 'EDERP03' | 'EPD01' | 'EPD02' | 'EPD03'
      - `message` string
    - `workspace_proxies` CodersdkRegionsResponseCodersdkWorkspaceProxy
      - `regions` CodersdkWorkspaceProxy[]
        - `created_at` string, date-time
        - `deleted` boolean
        - `derp_enabled` boolean
        - `derp_only` boolean
        - `display_name` string
        - `healthy` boolean
        - `icon_url` string
        - `id` string, uuid
        - `name` string
        - `path_app_url` string — PathAppURL is the URL to the base path for path apps. Optional unless wildcard_hostname is set. E.g. https://us.example.com
        - `status` CodersdkWorkspaceProxyStatus
          - `checked_at` string, date-time
          - `report` CodersdkProxyHealthReport
            - `errors` string[] — Errors are problems that prevent the workspace proxy from being healthy
            - `warnings` string[] — Warnings do not prevent the workspace proxy from being healthy, but should be addressed.
          - `status` 'ok' | 'unreachable' | 'unhealthy' | 'unregistered'
        - `updated_at` string, date-time
        - `version` string
        - `wildcard_hostname` string — WildcardHostname is the wildcard hostname for subdomain apps. E.g. *.us.example.com E.g. *--suffix.au.example.com Optional. Does not need to be on the same domain as PathAppURL.

---

[API](https://skmtc.net/coder/apis/coder-api.md) · [All operations](https://skmtc.net/coder/apis/coder-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/coder/coder-api/revisions/50a77af44008/schema)
