---
title: "Get My Profile"
method: GET
path: "/users/me"
tags: ["users", "users"]
---

# Get My Profile

`GET /users/me`

Get own UserProfile, auto-creating it on first call (upsert).

Also returns the viewer's own org (with `external_sharing_enabled` and
`viewer_role`) so settings UI can render org-scoped controls without a
second round-trip.

## Response `200`

Successful Response

- UserProfileResponse
  - `user_id` string, required
  - `display_name` string, required
  - `avatar_url` string, nullable, required
  - `email` string, nullable, required
  - `needs_onboarding` boolean
  - `current_org` CurrentOrg — The viewer's own org — adds the fields the renderer needs to render settings without a second round-trip: the toggle value plus the viewer's role for owner-gated UI.
    - `id` string, required
    - `name` string, required
    - `claimed_domain` string, nullable
    - `external_sharing_enabled` boolean, required
    - `viewer_role` 'owner' | 'admin' | 'member', required
    - `is_personal` boolean, required — True when the org has no claimed domain — i.e. it is a personal/solo org.

---

[API](https://skmtc.dev/tryscott/apis/one-shot-api.md) · [All operations](https://skmtc.dev/tryscott/apis/one-shot-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/tryscott/one-shot-api/revisions/28bdface01df/schema)
