---
title: "Current user and credits"
method: GET
path: "/v1/me"
tags: ["Account"]
---

# Current user and credits

`GET /v1/me`

## Request

- Base URL: `https://api.narrador.io`
- URL: `https://api.narrador.io/v1/me`
- Auth: one of:
  - HTTP bearer
  - API key in header `x-api-key`

Returns the authenticated user, product scope (`app` / `products`), and narrador credit balances.

## Response `200`

OK

- PublicApiMe
  - `user` object, required
    - `id` string, required
    - `email` string, nullable, required
    - `name` string, nullable, required
  - `app` 'files' | 'x', nullable: Product for user API keys; `null` for OAuth tokens (see `products`).
  - `products` string[], required: Products this credential can access (`[app]` for API keys; OAuth may list both).
  - `credits` object, required
    - `totalAvailable` number, required
    - `balances` object[], required
      - `id` string, required
      - `balance` number, required
      - `expiresAt` string, date-time, nullable, required

## Other responses

- `401`: Unauthorized — missing or invalid API key (wrong prefix, revoked, or expired).
- `403`: Forbidden — API key scope does not match the endpoint (e.g. `nrd_x_` key on a narrador files route), insufficient narrador credits for a synchronous operation (e.g. narrador X generate), or other entitlement failure. narrador files jobs that run out of credits finish asynchronously with job status `not-enough-credits` instead of HTTP 403.
- `429`: Too many requests — API key verification rate limit exceeded (60 requests per 60 seconds per key).

---

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