at.happyproto.fleet.getRetention
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"cohort": {
"properties": {
"cohort": {
"description": "Month the cohort was first seen.",
"type": "string"
},
"eligible30": {
"description": "Instances old enough to have survived 30 days. THIS is the denominator, not `started` — a cohort ten days old has not failed to survive thirty.",
"type": "integer"
},
"eligible60": {
"type": "integer"
},
"eligible90": {
"type": "integer"
},
"started": {
"type": "integer"
},
"survived30": {
"type": "integer"
},
"survived60": {
"type": "integer"
},
"survived90": {
"type": "integer"
}
},
"required": [
"cohort",
"started"
],
"type": "object"
},
"main": {
"description": "Survival by first-seen cohort. Manual-mode instances are excluded: they have no reporting cadence to miss, so their silence is not churn. Admin only.",
"errors": [
{
"description": "This endpoint requires an authenticated caller.",
"name": "AuthRequired"
},
{
"description": "The caller is not a HappyProto admin.",
"name": "Forbidden"
},
{
"description": "The telemetry store could not be queried.",
"name": "Upstream"
}
],
"output": {
"encoding": "application/json",
"schema": {
"properties": {
"cohorts": {
"items": {
"ref": "#cohort",
"type": "ref"
},
"type": "array"
},
"have": {
"description": "History available, when accruing.",
"type": "integer"
},
"need": {
"description": "History required, when accruing.",
"type": "integer"
},
"status": {
"description": "Why a figure is absent. Branch on this, never on field presence.",
"knownValues": [
"ok",
"accruing",
"withheld"
],
"type": "string"
},
"unit": {
"knownValues": [
"days",
"snapshots"
],
"type": "string"
}
},
"required": [
"status",
"cohorts"
],
"type": "object"
}
},
"type": "query"
}
},
"id": "at.happyproto.fleet.getRetention",
"lexicon": 1
}
Metadata
- DID
-
did:plc:mo7vq4jbioxwafy5zkcc3eux - CID
-
bafyreieq73raaxmbnrpmavuvbn2t3v7vitxkauucbrxiuysoe6bakru3dq - Indexed At
- 2026-10-19 18:20 UTC
- AT-URI
-
at://did:plc:mo7vq4jbioxwafy5zkcc3eux/com.atproto.lexicon.schema/at.happyproto.fleet.getRetention
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
Fleet-wide failure signals, derived from each instance's most recent snapshot. Admin only.
-
Where one instance sits in its size cohort. Withheld below a cohort of 10: a percentile over fewer is not an aggregate, it is individual data with a statistic drawn over it. Admin only.
-
Per-subsystem feature adoption, ever-used against active now. Admin only.
-
HappyView version distribution and upgrade lag. Admin only.
-
Counter resets — the negative deltas instance_daily_deltas discards. A reset is a restored backup, a wiped volume, a re-provision or a wrong clock. Admin only.