---
title: "Detailed API Health Diagnostics"
method: GET
path: "/api/v1/health/detailed"
tags: ["v1", "health"]
---

# Detailed API Health Diagnostics

`GET /api/v1/health/detailed`

## Request

- The document declares no server URL.
- Auth: none declared
- TypeScript: <https://skmtc.dev/reach-systems-tech/apis/reelapi-v1/docs/api/v1/health/detailed/get.ts> (a function with typed inputs; its response is checked against the schema)

Perform comprehensive health diagnostics of the ReelAPI system.

Returns detailed system information including:
- Database connectivity and latency metrics
- Disk space utilization with detailed breakdowns
- System identification (UUID, serial number, display name)
- API and deployment environment information

Use this endpoint for thorough system diagnostics, monitoring dashboards, and asset tracking.

## Response `200`

Comprehensive health diagnostics with performance metrics

- DetailedHealthCheckResponse: Comprehensive system health diagnostics response. Extends basic health check with detailed performance metrics and system information for thorough diagnostics and monitoring.
  - `status` 'healthy' | 'unhealthy', required: Overall system health status. - **"healthy"**: All systems operational and within normal parameters - **"unhealthy"**: One or more critical systems experiencing issues
  - `database_connection` 'ok' | 'failed', required: Database connectivity status. - **"ok"**: Database is accessible and responding normally - **"failed"**: Unable to establish database connection
  - `database_latency` number, required: Database connection latency in milliseconds.
  - `version` string, semantic versioning (major.minor.patch), required: Current ReelAPI version number
  - `api_version` string, version prefix (v1, v2, etc.), required: API endpoint version identifier
  - `serial_number` string: Hardware serial number for this reel system. Factory or field-assigned serial number for hardware identification and warranty tracking. Can be updated by administrators.
  - `display_name` string: User-friendly display name for this reel system. Customizable name for easy identification in multi-reel environments or user interfaces. Can be updated by any authenticated user.
  - `uuid` string, uuid4: Unique identifier for this reel system. Permanent UUID that uniquely identifies this specific reel hardware. Used for asset tracking, configuration management, and system identification.
  - `environment` string, required: Deployment environment identifier. **Common Values:** - **"production"**: Live production deployment - **"testing"**: Testing environment - **"local"**: Local development instance **Usage**: Helps identify which environment is being monitored
  - `disk_space` DiskSpace, required: Detailed disk space utilization metrics. Provides comprehensive storage information for system monitoring and capacity planning.
    - `total_bytes` integer, required: Total disk space in bytes
    - `used_bytes` integer, required: Used disk space in bytes
    - `free_bytes` integer, required: Available free disk space in bytes
    - `total_gb` number, required: Total disk space in gigabytes (rounded to 2 decimal places)
    - `used_gb` number, required: Used disk space in gigabytes (rounded to 2 decimal places)
    - `free_gb` number, required: Free disk space in gigabytes (rounded to 2 decimal places)
    - `percent_used` number, required: Percentage of disk space currently used
  - `raspi_hardware` RaspiHardwareStatus, required
    - `temperature` RaspiTempStatus, required
      - `status` string: The health of the Raspberry Pi 5 chip temperature.
      - `temperature_celsius` number: The current temperature of the Raspberry Pi 5 chip, in Celsius. -9999 is a sentinel values.
    - `cpu` CpuStatus, required: CPU frequency and throttle status
      - `frequency_mhz` integer, required: Current CPU frequency in MHz
      - `max_frequency_mhz` integer, required: Maximum CPU frequency in MHz
      - `is_throttled` boolean, required: CPU is currently throttled
    - `power` PowerStatus, required: Power supply status
      - `input_voltage_v` number, nullable: USB-C input voltage in volts
      - `under_voltage_detected` boolean, required: Under-voltage alarm active

## Other responses

- `500`: Internal server error during health check

---

[API](https://skmtc.dev/reach-systems-tech/apis/reelapi-v1.md) - [All operations](https://skmtc.dev/reach-systems-tech/apis/reelapi-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/reach-systems-tech/apis/reelapi-v1/revisions/1dd366a9c6a3?raw)
