---
title: "Health check"
method: GET
path: "/health"
tags: ["System"]
---

# Health check

`GET /health`

Returns system health status including audio/video pipeline state, device info, and version.

## Response `200`

OK

- HealthCheckResponse
  - `status` string, required
  - `status_code` integer, required
  - `last_frame_timestamp` string, date-time, nullable, required
  - `last_audio_timestamp` string, date-time, nullable, required
  - `frame_status` string, required
  - `audio_status` string, required
  - `message` string, required
  - `verbose_instructions` string, nullable, required
  - `device_status_details` string, nullable, required
  - `monitors` string[], nullable
  - `pipeline` PipelineHealthInfo
    - `uptime_secs` number, required
    - `frames_captured` integer, required
    - `frames_db_written` integer, required
    - `frames_dropped` integer, required
    - `frame_drop_rate` number, required
    - `capture_fps_actual` number, required
    - `avg_ocr_latency_ms` number, required
    - `avg_db_latency_ms` number, required
    - `ocr_queue_depth` integer, required
    - `video_queue_depth` integer, required
    - `time_to_first_frame_ms` number, nullable, required
    - `pipeline_stall_count` integer, required
    - `ocr_cache_hit_rate` number, required
  - `audio_pipeline` AudioPipelineHealthInfo
    - `uptime_secs` number, required
    - `chunks_sent` integer, required
    - `chunks_channel_full` integer, required
    - `stream_timeouts` integer, required
    - `vad_passed` integer, required
    - `vad_rejected` integer, required
    - `vad_passthrough_rate` number, required
    - `avg_speech_ratio` number, required
    - `transcriptions_completed` integer, required
    - `transcriptions_empty` integer, required
    - `transcription_errors` integer, required
    - `db_inserted` integer, required
    - `total_words` integer, required
    - `words_per_minute` number, required
    - `chunks_received` integer, nullable
    - `process_errors` integer, nullable
    - `audio_level_rms` number, nullable
    - `audio_devices` string[], nullable
    - `transcription_mode` string, nullable
    - `transcription_paused` boolean, nullable
    - `segments_deferred` integer, nullable
    - `segments_batch_processed` integer, nullable
    - `batch_paused_reason` string, nullable
    - `meeting_detected` boolean, nullable
    - `meeting_app` string, nullable
  - `accessibility` TreeWalkerSnapshot — Point-in-time snapshot of tree walker health metrics (no private data).
    - `walks_total` integer, required
    - `walks_stored` integer, required
    - `walks_deduped` integer, required
    - `walks_empty` integer, required
    - `walks_error` integer, required
    - `walks_truncated` integer, required
    - `walks_truncated_timeout` integer, required
    - `walks_truncated_max_nodes` integer, required
    - `truncation_rate` number, required
    - `avg_walk_duration_ms` integer, required
    - `max_walk_duration_ms` integer, required
    - `avg_nodes_per_walk` integer, required
    - `max_depth_reached` integer, required
    - `total_text_chars` integer, required
  - `pool_stats` PoolHealthInfo
    - `read_pool_size` integer, required
    - `read_pool_idle` integer, required
    - `write_pool_size` integer, required
    - `write_pool_idle` integer, required
  - `vision_db_write_stalled` boolean, required
  - `audio_db_write_stalled` boolean, required
  - `drm_content_paused` boolean, required
  - `schedule_paused` boolean, required
  - `hostname` string, nullable
  - `version` string, nullable

## Changes

> 10 revisions in range; 3 could not be searched.

- **2026-04-09** `0f0f8030c7e2` — 1 info
  - api tag `System` added
- **2026-04-08** `1a63468a8d30` — 47 info
  - api operation id `server_health_check` removed and replaced with `routes_health_health_check`
  - api tag `System` removed
  - added the optional property `accessibility` to the response with the `200` status
  - added the optional property `audio_pipeline/audio_devices` to the response with the `200` status
  - …43 more
- **2026-02-16** `e143bf8d73bc` — 12 info
  - api tag `System` added
  - added the optional property `audio_pipeline` to the response with the `200` status
  - added the optional property `device_status_details` to the response with the `200` status
  - added the optional property `last_audio_timestamp` to the response with the `200` status
  - …8 more
- **2026-02-11** `2825740bcf63` — 8 breaking, 1 info
  - removed the required property `audio_status` from the response with the `200` status
  - removed the required property `device_status_details` from the response with the `200` status
  - removed the required property `frame_status` from the response with the `200` status
  - removed the required property `last_audio_timestamp` from the response with the `200` status
  - …5 more

[Change history](https://skmtc.dev/screenpipe/apis/screenpipe-api/changes/health/get.md)

---

[API](https://skmtc.dev/screenpipe/apis/screenpipe-api.md) · [All operations](https://skmtc.dev/screenpipe/apis/screenpipe-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/screenpipe/screenpipe-api/revisions/c48ab58de88e/schema)
