---
title: "Get the signed-in user's identities"
method: GET
path: "/api/v1/me"
tags: ["Account"]
---

# Get the signed-in user's identities

`GET /api/v1/me`

## Request

- Base URL: `https://api.uptimemonitoring.com`
- URL: `https://api.uptimemonitoring.com/api/v1/me`
- Auth: HTTP bearer

Works with any authentication method (session, API key, or OAuth
JWT) — keys off the request's resolved user, not the account. `401`
if no user could be resolved at all.

The response shape (issue #325) depends on the credential:
- A dashboard **session** gets the full cross-account view:
  `memberships` lists EVERY account the user belongs to,
  `current_account_id` is the account this request authenticated
  against, and `default_account_id` is the user's own stored
  default (`null` if unset).
- An **API key** or **OAuth JWT** gets only the CURRENT account's
  own entry in `memberships` (never another account) and
  `current_account_id`; `default_account_id` is **omitted
  entirely**, not merely `null` — neither credential may enumerate
  the user's other accounts or observe the user-global default.

## Response `200`

Identity presence for the resolved user.

- object
  - `id` integer
  - `github_username` string, nullable
  - `email` string, nullable
  - `has_google` boolean
  - `current_account_id` integer
  - `default_account_id` integer, nullable: Present only for a dashboard session.
  - `memberships` object[]
    - `account_id` integer
    - `label` string: The account's earliest owner's `github_username` when non-empty, else `"account <id>"` — never an email address.
    - `role` 'owner' | 'member' | 'viewer'
    - `suspended` boolean

## Other responses

- `401`: Unauthorized

---

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