Skip to content

Get daily metrics history for a deployment

GET
/v1/apps/{appName}/deployments/{deploymentName}/metrics/history
curl --request GET \
--url https://api.aetherpush.com/v1/apps/example/deployments/example/metrics/history \
--header 'Authorization: Bearer <token>'

Returns per-day, per-label series snapshotted from Redis into Postgres. History starts the day the snapshot job first ran for this deployment and cannot be backfilled. Active is an end-of-snapshot gauge. Download and install counters are returned as same-day cumulatives plus deltas against the previous calendar day. A missing previous day yields a null delta rather than a lifetime spike.

from and to are UTC dates (YYYY-MM-DD). When omitted, the range is the last 30 days, then clamped to the app owner’s retention_days and to historyStartsAt. Out-of-range dates are clamped. Malformed dates or from after to return 400.

This endpoint does not read Redis. An empty series is 200. Requires the metrics.read app permission.

appName
required
string
deploymentName
required
string
from
string format: date
to
string format: date

Daily metrics history.

Media typeapplication/json
object
from
required
string format: date
to
required
string format: date
historyStartsAt
required
string | null format: date
days
required
Array<object>
object
date
required
string format: date
labels
required
object
key
additional properties
object
active
required
integer
downloaded
required
integer
installed
required
integer
failed
required
integer
downloadedDelta
required
integer | null
installedDelta
required
integer | null
failedDelta
required
integer | null
Example
{
"from": "2026-08-01",
"to": "2026-08-26",
"historyStartsAt": "2026-08-20",
"days": [
{
"date": "2026-08-20",
"labels": {
"v12": {
"active": 100,
"downloaded": 500,
"installed": 480,
"failed": 12,
"downloadedDelta": null,
"installedDelta": null,
"failedDelta": null
}
}
}
]
}

Malformed from/to, or from after to.

Media typeapplication/json
object
error
required

Human-readable error message.

string
requestId

Unique identifier for the request, also exposed as the X-Request-Id response header.

string
Example
{
"error": "The requested resource was not found.",
"requestId": "req_abc123"
}

Unauthenticated, or not a collaborator.

Media typeapplication/json
object
error
required

Human-readable error message.

string
requestId

Unique identifier for the request, also exposed as the X-Request-Id response header.

string
Example
{
"error": "The requested resource was not found.",
"requestId": "req_abc123"
}

App or deployment not found.

Media typeapplication/json
object
error
required

Human-readable error message.

string
requestId

Unique identifier for the request, also exposed as the X-Request-Id response header.

string
Example
{
"error": "The requested resource was not found.",
"requestId": "req_abc123"
}