APIFinOps
Redshift Health API
The Redshift Health API provides REST endpoints that proxy Redshift performance data sourced from the Vidura agent service. All endpoints connect to the Redshift cluster defined by the authenticated user's env_id JWT claim. Data is fetched live from Redshift system views on each request — there is no caching layer.
Endpoints
| Method | Path | Description | Redshift Source |
|---|---|---|---|
| GET | /redshift/cluster | Node details and total storage capacity | stv_slices, stv_node_storage_capacity |
| GET | /redshift/queries/slow | Long-running queries currently executing (>5 min) | stv_wlm_query_state |
| GET | /redshift/queries/spill | Top queries by total disk spill volume | sys_query_detail |
| GET | /redshift/tables/vacuum | Tables requiring vacuum ranked by unsorted percentage | svv_table_info, stl_vacuum |
| GET | /redshift/tables/alerts | Recent performance alert events per table (last 7 days) | stl_alert_event_log |
| GET | /redshift/storage | Storage utilization breakdown by table (size, row count, distribution) | svv_table_info |
Example: Slow Queries Response
GET /redshift/queries/slow
{
"queries": [
{
"query_id": 1234567,
"exec_time_seconds": 847,
"user_name": "etl_user",
"database": "quper_db",
"wlm_queue": "default",
"query_text": "SELECT account_id, SUM(effective_cost) FROM cost_usage..."
}
],
"generated_at": "2024-03-01T15:00:00Z"
}Example: Storage Response
GET /redshift/storage
{
"tables": [
{
"schema": "quper_prod",
"table_name": "cost_usage_raw",
"size_mb": 45312,
"tbl_rows": 128000000,
"unsorted_pct": 4.2,
"pct_ghost_rows": 0.8,
"dist_style": "KEY",
"sortkey1": "usage_date"
}
]
}Environment Context
All Redshift Health endpoints automatically connect to the Redshift cluster configured for the authenticated user's active environment (
env_id from JWT). There is no need to specify the cluster or schema in the request — it is resolved server-side from the token.Response Latency
These endpoints query Redshift system views directly on each request. Response times depend on cluster load and the complexity of the system view queries. Typical latency is 500ms–3s. If the Redshift cluster is paused or unreachable, the endpoint returns 503 Service Unavailable with a descriptive error message.