---
title: "User lifecycle: new, came back, lost, paying — counted, never listed"
method: GET
path: "/api/lifecycle"
tags: ["analytics"]
---

# User lifecycle: new, came back, lost, paying — counted, never listed

`GET /api/lifecycle`

## Request

- Base URL: `https://app.vitrus.dev/app`
- URL: `https://app.vitrus.dev/app/api/lifecycle`
- Auth: one of:
  - API key in cookie `vitrus_session`
  - HTTP bearer

Growth accounting against the previous period of equal length (new, retained, resurrected, churned), quick ratio, one-and-done rate, current plans and plan moves. Needs vitrus.identify(user.id); the id is hashed in the browser and again on the server, so no person is ever returned. `available: false` with a reason and a remedy when nobody is identified or the site is in strict privacy mode.

## Query parameters

- `site` string, required
- `days` integer

## Response `200`

Counts, each with its query, or the reason they cannot be computed.

---

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