---
title: "Retention"
method: GET
path: "/api/v1/admin/retention"
tags: ["admin"]
---

# Retention

`GET /api/v1/admin/retention`

## Request

- Base URL: `https://api.peil.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.peil.app/api/v1/admin/retention`
- Auth: OAuth 2 (password, token URL `/api/v1/auth/jwt/login`)

The win-back surface: lapsed low-use trials queued for (or past) the
'haven't had time to meet' nudge, plus the running total already sent.

Sync session so it shares `winback_candidates` verbatim with the cron that
sends — the surface and the sender can never diverge. Founders are absent by
construction (trial_lapsed_at is only stamped for trials).

## Response `200`

Successful Response

- unknown

---

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