---
title: "Get Current User Info"
method: GET
path: "/api/v1/auth/me"
tags: ["auth"]
---

# Get Current User Info

`GET /api/v1/auth/me`

## Request

- Base URL: `https://api.badgeia.com`
- URL: `https://api.badgeia.com/api/v1/auth/me`
- Auth: none declared

Return the current authenticated user's stored profile and read models.

This GET is deliberately side-effect-free. ``SameSite=Lax`` cookies may
accompany a cross-site top-level safe-method navigation, so username or
billing reconciliation belongs on an explicit non-GET/operator path. A
legacy null remains null rather than being fabricated during identity read.

Also enriches the payload with `agent_count` (the user's ACTIVE Agent rows,
via the same `count_active_agents` the paywall uses — soft-deleted agents
are excluded) and `team_count` (accepted, user-bound TeamMember rows).
The former drives the onboarding checklist; the latter exposes /team in
the sidebar for invited members regardless of their personal plan or run
count. arena_run_count and monthly_run_count are already User columns.

## Response `200`

Successful Response

- UserRead
  - `email` string, email, required
  - `name` string, nullable
  - `avatar_url` string, nullable
  - `id` string, uuid, required
  - `username` string, nullable
  - `auth_provider` string, required
  - `plan` string, required
  - `has_billing_account` boolean
  - `plan_interval` string, nullable
  - `email_verified` boolean
  - `trial_ends_at` string, date-time, nullable
  - `is_active` boolean, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `notify_run_complete` boolean, required
  - `notify_score_change` boolean, required
  - `notify_rank_change` boolean, required
  - `notify_weekly_digest` boolean, required
  - `notify_lifecycle_email` boolean
  - `notify_regression` boolean
  - `pmf_survey_last_shown` string, date-time, nullable
  - `marketplace_payout_email` string, nullable
  - `is_admin` boolean
  - `deletion_requested_at` string, date-time, nullable
  - `deletion_due_at` string, date-time, nullable
  - `arena_run_count` integer
  - `monthly_run_count` integer
  - `agent_count` integer
  - `team_count` integer

---

[API](https://skmtc.dev/badgeia/apis/badge.md) · [All operations](https://skmtc.dev/badgeia/apis/badge/llms.txt) · [OpenAPI document](https://skmtc.dev/badgeia/apis/badge/revisions/7e7f7fee8b77?raw)
