---
title: "Get current session"
method: GET
path: "/api/auth/sessions/current"
tags: ["Client"]
---

# Get current session

`GET /api/auth/sessions/current`

Returns the currently authenticated user's basic info from the access token.
Project admin tokens return a projectAdmin session object instead of an auth.users row.

This endpoint does not refresh expired access tokens by itself.
For browser apps using the TypeScript SDK, call `auth.getCurrentUser()`
during startup. The SDK will use the httpOnly refresh cookie automatically
when it can refresh the session. Server, mobile, and other non-browser
clients should call `/api/auth/refresh` explicitly.

## Response `200`

Current session info

- union
  - object
    - `user` UserResponse, required
      - `id` string, uuid
      - `email` string, email
      - `profile` object, nullable — User profile data (name, avatar_url, and custom fields)
        - `name` string
        - `avatar_url` string, uri
      - `metadata` object, nullable — System metadata (device ID, login IP, etc.)
      - `emailVerified` boolean
      - `providers` string[]
      - `createdAt` string, date-time
      - `updatedAt` string, date-time
  - object
    - `projectAdmin` ProjectAdminResponse, required
      - `subject` string, required
      - `username` string, required

## Other responses

- `401` — Unauthorized

---

[API](https://skmtc.net/insforge/apis/insforge-authentication-api.md) · [All operations](https://skmtc.net/insforge/apis/insforge-authentication-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/insforge/insforge-authentication-api/versions/a935bb49f932/schema)
