at.happyproto.fleet.getRetention

happyproto.at

Documentation

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.

main query

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.

Output

Encodingapplication/json
cohorts array Required

No description available.

have integer Optional

History available, when accruing.

need integer Optional

History required, when accruing.

status string Required

Why a figure is absent. Branch on this, never on field presence.

Known values: ok, accruing, withheld
unit string Optional

No description available.

Known values: days, snapshots

Errors

AuthRequired This endpoint requires an authenticated caller.
Forbidden The caller is not a HappyProto admin.
Upstream The telemetry store could not be queried.
Try It

Requests are sent directly from your browser. Some servers may block requests due to CORS.

Base URL for XRPC calls (e.g., https://api.bsky.social)
View raw schema
{
  "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"
}
cohort object

No description available.

Properties

cohort string Required

Month the cohort was first seen.

eligible30 integer Optional

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.

eligible60 integer Optional

No description available.

eligible90 integer Optional

No description available.

started integer Required

No description available.

survived30 integer Optional

No description available.

survived60 integer Optional

No description available.

survived90 integer Optional

No description available.

View raw schema
{
  "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"
}

Lexicon Garden

@