---
title: "Get the authenticated caller"
method: GET
path: "/api/v1/me"
tags: ["Account"]
---

# Get the authenticated caller

`GET /api/v1/me`

## Request

- Base URL: `https://your-deployment.example.com`
- URL: `https://your-deployment.example.com/api/v1/me`
- Auth: one of:
  - HTTP bearer
  - API key in header `x-api-key`

Returns the authenticated caller: stable id, display name, plan tier, personal credit balance, and entitlement keys. The subject is always the credential holder - this endpoint accepts no user id, owner id, or impersonation parameter of any kind, so a key can only ever read its own owner. `credits.balance` is the caller's personal ledger; a call billed to an organization draws on a pool this number does not describe. Gate on `tier != "free"` for "does this caller hold a paid plan (own or org seat)" and on `subscription.price_id` for which product - the `basic`/`pro` rungs come from an internal plan ladder and do not track a plan's marketing name. An org seat (a Team plan held by the caller's organization) confers that org plan's tier and `subscription`, even when the caller pays nothing personally, so `tier != "free"` does not by itself mean the caller is billed. Responses are never cacheable. Authenticate with an API key (`b4m_live_`) carrying `me:read`, or a JWT.

## Response `200`

The caller, their tier, their personal credit balance, and their entitlement keys.

- GetMeResponse200
  - `id` string, required
  - `name` string, required
  - `tier` 'free' | 'basic' | 'pro' | 'other', required
  - `subscription` object, nullable, required
    - `plan_name` string, required
    - `price_id` string, required
    - `interval` 'monthly' | 'yearly', required
    - `current_period_ends_at` string, required
  - `credits` object, required
    - `balance` number, required
  - `entitlements` string[], required

## Other responses

- `401`: Missing or invalid credentials.
- `403`: The API key does not hold any of the required scopes.
- `405`: The path does not serve this HTTP method.
- `429`: Per-user rate limit exceeded.

---

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