---
title: "Autoscale Metric"
method: GET
path: "/api/v1/health/autoscale-metric"
tags: ["main"]
---

# Autoscale Metric

`GET /api/v1/health/autoscale-metric`

## Request

- Base URL: `https://app.dograh.com`
- URL: `https://app.dograh.com/api/v1/health/autoscale-metric`
- Auth: none declared

Fleet-wide autoscaling signal for KEDA: total active calls + warm buffer.

Unlike /health/active-calls (a per-worker drain signal), this is the whole
fleet's active-call count read from Redis, so a single scrape drives the
ScaledObject. ``buffer`` (query param, in calls) is the warm headroom: KEDA
divides value by the per-pod target K, giving desiredPods =
ceil((calls + buffer) / K). All scaling policy — K, buffer, min/max — lives
in the ScaledObject; this endpoint is pure signal.

When the fleet count cannot be read (Redis down) this responds 503, NOT 0:
a failed scrape makes KEDA's HPA hold the current replica count, while a
successful scrape of 0 would instruct it to scale toward minReplicas.

## Query parameters

- `buffer` integer

## Headers

- `X-Dograh-Devops-Secret` string, nullable

## Response `200`

Successful Response

- AutoscaleMetricResponse
  - `value` integer, required

## Other responses

- `404`: Not found
- `422`: Validation Error

## Changes

- **2026-11-03** `faa00cf76fcb`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/dograh/apis/dograh-api/changes/api/v1/health/autoscale-metric/get.md)

---

[API](https://skmtc.dev/dograh/apis/dograh-api.md) - [All operations](https://skmtc.dev/dograh/apis/dograh-api/llms.txt) - [OpenAPI document](https://skmtc.dev/dograh/apis/dograh-api/revisions/faa00cf76fcb?raw)
