---
title: "Get Me"
method: GET
path: "/v1/me"
tags: ["auth"]
---

# Get Me

`GET /v1/me`

## Request

- Base URL: `https://api.theagentc.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.theagentc.io/v1/me`
- Auth: HTTP bearer

Returns the current user's profile + workspace details.
This is the first call the dashboard makes after login.

Freemium invariant (2026-06-20): free is the DEFAULT state — there is no
walled state. Legacy pre-freemium workspaces can still carry
status="pending_payment" (created before the pivot, never paid) or
"churned" (sub ended); both used to dead-end users on /choose-plan with
no way into the free tier (the client guard bounced the "keep using
free" link straight back). Normalize them to free/active lazily here —
/me is the dashboard's first call, so the account self-heals on login.
past_due is left alone (Stripe is still retrying; the client guard keeps
the dashboard accessible for it).

## Response `200`

Successful Response

- object

---

[API](https://skmtc.dev/theagentc/apis/the-agent-c-api.md) · [All operations](https://skmtc.dev/theagentc/apis/the-agent-c-api/llms.txt) · [OpenAPI document](https://skmtc.dev/theagentc/apis/the-agent-c-api/revisions/1c9868b44584?raw)
