---
title: "Who am I: identity + org role + role-derived capabilities + token scopes"
method: GET
path: "/me"
tags: ["identity"]
---

# Who am I: identity + org role + role-derived capabilities + token scopes

`GET /me`

## Request

- Base URL: `https://api.letsship.ai/v1`
- URL: `https://api.letsship.ai/v1/me`
- Auth: none declared

## Response `200`

Caller identity

- Me
  - `principalType` 'cookie' | 'user' | 'service' | 'system' | 'agent', required: agent: a self-registered agent nobody has claimed yet. It has no user, org, role or scopes, and reaches only /me and /scopes until a person claims it.
  - `userId` string, nullable, required
  - `orgId` string, nullable, required
  - `role` 'owner' | 'admin' | 'member', nullable, required
  - `capabilities` Capability[], required
  - `scopes` string[], required
  - `projectId` string, nullable, required: The project this credential is bound to, or null when it is org-wide. A bound token can read and act only on that project, and on nothing org-wide - so a caller can see the boundary it works within rather than discovering it through a 404.

## Other responses

- `401`: Unauthenticated

---

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