---
title: "Get Auth Diagnostics"
method: GET
path: "/api/admin/auth-diagnostics"
tags: ["admin"]
---

# Get Auth Diagnostics

`GET /api/admin/auth-diagnostics`

## Request

- Base URL: `https://api.retirementlab.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.retirementlab.app/api/admin/auth-diagnostics`
- Auth: HTTP bearer

Admin-only summary of recent auth_flow events with reason-code rollups.

Filters are validated against the documented taxonomy so the surface
cannot accidentally widen into a free-text search of analytics props.
The affected-users list joins to ``users.email`` for display, but
emails are never copied into ``analytics_events.props``.

## Query parameters

- `since_hours` integer
- `provider` string
- `intent` string
- `outcome` string
- `reason_code` string
- `stage` string
- `affected_user_limit` integer

## Response `200`

Successful Response

- AuthDiagnosticsResponse
  - `generated_at` string, required
  - `summary` AuthDiagnosticsSummary, required
    - `since_hours` integer, required
    - `total` integer, required
    - `by_outcome` AuthOutcomeCount[], required
      - `outcome` string, required
      - `count` integer, required
    - `by_stage` AuthStageOutcomeCount[], required
      - `stage` string, required
      - `outcome` string, required
      - `count` integer, required
    - `by_reason_code` AuthReasonCount[], required
      - `reason_code` string, required
      - `count` integer, required
    - `by_provider` AuthProviderOutcomeCount[], required
      - `provider` string, required
      - `outcome` string, required
      - `count` integer, required
    - `timeline` AuthTimelinePoint[], required
      - `bucket` string
      - `outcome` string, required
      - `count` integer, required
  - `affected_users` AuthAffectedUser[], required
    - `user_id` integer, required
    - `authenticated_user_id` integer
    - `anonymous_user_id` integer
    - `provider` string
    - `email` string
    - `event_count` integer, required
    - `last_event_at` string
    - `reason_codes` string[], required
    - `stages` string[], required

## Other responses

- `422`: Validation Error

---

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