---
title: "Get your account and active reader"
method: GET
path: "/api/me"
tags: ["account"]
---

# Get your account and active reader

`GET /api/me`

## Request

- Base URL: `https://leafle.org` (the document declares no server; this is the origin it was published from)
- URL: `https://leafle.org/api/me`
- Auth: one of:
  - HTTP bearer
  - none

**Access: read token.**

Returns your readers, reading queue, latest conversation and recovery state. Without a usable credential, returns `user: null` (200). An invalid or unavailable `reader_id` falls back to self.

## Query parameters

- `reader_id` string

## Response `200`

Successful Response

- union
  - Me: Account and reader restore payload returned when an account is authenticated.
    - `user` User, required: The signed-in account as /api/me presents it (presentation only — every allowance here is re-enforced server-side on the endpoints it gates).
      - `id` integer, required
      - `email` string, nullable, required
      - `display_name` string, nullable, required
      - `is_admin` boolean, required
      - `can_invite` boolean, required
      - `invites_remaining` integer, nullable, required
      - `waitlist_count` integer, required
      - `mcp_enabled` boolean, required
      - `features` string[]
    - `readers` ReaderView[], required
      - `id` integer, required
      - `kind` 'self' | 'kid', required
      - `name` string, required
      - `birth_year` integer, nullable, required
      - `age` integer, nullable, required
      - `has_profile` boolean, required
    - `active_reader_id` integer, required
    - `has_profile` boolean, required
    - `chat_inflight` boolean
    - `discovery_handoff_pending` boolean
    - `portrait_ready` boolean
    - `portrait_version` string, nullable
    - `latest_session` LatestSession, required: The latest conversation tail and recommendation set. from_your_shelf is omitted when the set has no suggestion from your own shelf. Optional set_id is the opaque saved-set identifier; explainable_books is for web-session deferred writing.
      - `set_id` integer, nullable
      - `explainable_books` BookRef[], nullable
        - `title` string, required
        - `author` string, required
      - `messages` TranscriptMessage[], required
        - `library_search` LibrarySearch
          - `offer_id` string, nullable
          - `query` string, required
          - `country_hint` string, nullable, required
          - `results` LibraryPlace[], required
            - `id` string, required
            - `service_code` string, nullable, required
            - `service` string, required
            - `name` string, required
            - `branch` string, nullable, required
            - `country` string, required
            - `url` string, nullable, required
            - `lat` number, nullable, required
            - `lng` number, nullable, required
            - `covered` boolean, required
            - `kind` string, required
            - `distance_km` number, nullable
          - `countries` string[]
          - `message` string
      - `picks` Pick[], required
        - `title` string, nullable
        - `author` string, nullable
        - `why_for_this_reader` string, nullable
        - `description` string, nullable
        - `isbn` string, nullable
        - `pages` integer, nullable
        - `year` union
          - integer
          - string
        - `cover_url` string, nullable
        - `review_url` string, nullable
        - `branch` string, nullable
        - `status` string, nullable
        - `was_borrowable` boolean, nullable
        - `was_borrowable_on` string, nullable
        - `link` string, nullable
        - `libby_url` string, nullable
        - `buy_url` string, nullable
        - `owned` boolean, nullable
      - `reserve` Pick[], required
        - `title` string, nullable
        - `author` string, nullable
        - `why_for_this_reader` string, nullable
        - `description` string, nullable
        - `isbn` string, nullable
        - `pages` integer, nullable
        - `year` union
          - integer
          - string
        - `cover_url` string, nullable
        - `review_url` string, nullable
        - `branch` string, nullable
        - `status` string, nullable
        - `was_borrowable` boolean, nullable
        - `was_borrowable_on` string, nullable
        - `link` string, nullable
        - `libby_url` string, nullable
        - `buy_url` string, nullable
        - `owned` boolean, nullable
      - `also_worth_a_look` AlsoBook[], required
        - `title` string, nullable
        - `author` string, nullable
        - `why_short` string, nullable
        - `description` string, nullable
        - `buy_url` string, nullable
        - `amazon_url` string, nullable
        - `isbn` string, nullable
        - `pages` integer, nullable
        - `year` union
          - integer
          - string
        - `cover_url` string, nullable
        - `review_url` string, nullable
      - `source` 'library' | 'buy' | 'shelf'
      - `from_your_shelf` ShelfPick: A suggestion from your own shelf, saved with the set. cover_url may be null.
        - `title` string, required
        - `author` string, required
        - `cover_url` string, nullable, required
        - `why` string, required
    - `planned_reads` PlannedRead[], required
      - `title` string, required
      - `author` string, nullable, required
      - `asked` boolean, required
    - `planned_greeting` string, nullable, required
    - `notices` object
    - `queue` QueuedBook[]
      - `id` integer, required
      - `title` string, required
      - `author` string, required
      - `position` integer, required
  - GuestMe: Browser guest restore payload, with no account and a limited chat allowance.
    - `user` unknown
    - `readers` ReaderView[], required
      - `id` integer, required
      - `kind` 'self' | 'kid', required
      - `name` string, required
      - `birth_year` integer, nullable, required
      - `age` integer, nullable, required
      - `has_profile` boolean, required
    - `active_reader_id` integer, required
    - `has_profile` boolean, required
    - `chat_inflight` boolean
    - `discovery_handoff_pending` boolean
    - `portrait_ready` boolean
    - `portrait_version` string, nullable
    - `latest_session` LatestSession, required: The latest conversation tail and recommendation set. from_your_shelf is omitted when the set has no suggestion from your own shelf. Optional set_id is the opaque saved-set identifier; explainable_books is for web-session deferred writing.
      - `set_id` integer, nullable
      - `explainable_books` BookRef[], nullable
        - `title` string, required
        - `author` string, required
      - `messages` TranscriptMessage[], required
        - `library_search` LibrarySearch
          - `offer_id` string, nullable
          - `query` string, required
          - `country_hint` string, nullable, required
          - `results` LibraryPlace[], required
            - `id` string, required
            - `service_code` string, nullable, required
            - `service` string, required
            - `name` string, required
            - `branch` string, nullable, required
            - `country` string, required
            - `url` string, nullable, required
            - `lat` number, nullable, required
            - `lng` number, nullable, required
            - `covered` boolean, required
            - `kind` string, required
            - `distance_km` number, nullable
          - `countries` string[]
          - `message` string
      - `picks` Pick[], required
        - `title` string, nullable
        - `author` string, nullable
        - `why_for_this_reader` string, nullable
        - `description` string, nullable
        - `isbn` string, nullable
        - `pages` integer, nullable
        - `year` union
          - integer
          - string
        - `cover_url` string, nullable
        - `review_url` string, nullable
        - `branch` string, nullable
        - `status` string, nullable
        - `was_borrowable` boolean, nullable
        - `was_borrowable_on` string, nullable
        - `link` string, nullable
        - `libby_url` string, nullable
        - `buy_url` string, nullable
        - `owned` boolean, nullable
      - `reserve` Pick[], required
        - `title` string, nullable
        - `author` string, nullable
        - `why_for_this_reader` string, nullable
        - `description` string, nullable
        - `isbn` string, nullable
        - `pages` integer, nullable
        - `year` union
          - integer
          - string
        - `cover_url` string, nullable
        - `review_url` string, nullable
        - `branch` string, nullable
        - `status` string, nullable
        - `was_borrowable` boolean, nullable
        - `was_borrowable_on` string, nullable
        - `link` string, nullable
        - `libby_url` string, nullable
        - `buy_url` string, nullable
        - `owned` boolean, nullable
      - `also_worth_a_look` AlsoBook[], required
        - `title` string, nullable
        - `author` string, nullable
        - `why_short` string, nullable
        - `description` string, nullable
        - `buy_url` string, nullable
        - `amazon_url` string, nullable
        - `isbn` string, nullable
        - `pages` integer, nullable
        - `year` union
          - integer
          - string
        - `cover_url` string, nullable
        - `review_url` string, nullable
      - `source` 'library' | 'buy' | 'shelf'
      - `from_your_shelf` ShelfPick: A suggestion from your own shelf, saved with the set. cover_url may be null.
        - `title` string, required
        - `author` string, required
        - `cover_url` string, nullable, required
        - `why` string, required
    - `planned_reads` PlannedRead[], required
      - `title` string, required
      - `author` string, nullable, required
      - `asked` boolean, required
    - `planned_greeting` string, nullable, required
    - `notices` object
    - `queue` QueuedBook[]
      - `id` integer, required
      - `title` string, required
      - `author` string, required
      - `position` integer, required
    - `guest` Guest, required: What a reader with no account has left: one recommendation set, then a capped conversation about it. Presentation only; the chat route enforces both.
      - `set_spent` boolean, required
      - `followups_remaining` integer, nullable, required
      - `expires_at` string, date-time, required
  - object
    - `user` unknown, required
    - `waitlisted` boolean
    - `guest_chat` boolean

## Other responses

- `403`: Insufficient token scope or the reader is outside your account.

---

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