---
title: "My Membership"
method: GET
path: "/v1/orgs/{org_id}/members/me"
tags: ["memberships"]
---

# My Membership

`GET /v1/orgs/{org_id}/members/me`

## Request

- Base URL: `https://api.sonenta.dev`
- URL: `https://api.sonenta.dev/v1/orgs/{org_id}/members/me`
- Auth: none declared

The caller's own membership (org role + status). Any member may read it;
with ?include=project_roles it also carries THEIR per-project roles, resolved
by the exact same rules as the admin list (so a non-admin member opening their
own /team card sees the same shape). A suspended caller is denied here like
everywhere else — org_role() resolves suspended to None.

## Path parameters

- `org_id` string, required

## Query parameters

- `include` string, nullable: Set to 'project_roles' to attach the caller's OWN per-project roles (explicit rows + inherited owner/admin). No admin gate — self-read.

## Response `200`

Successful Response

- MemberOut
  - `uuid` string, required
  - `user_uuid` string, required
  - `email` string, required
  - `name` string, nullable, required
  - `role` 'owner' | 'admin' | 'member', required
  - `status` 'active' | 'suspended'
  - `joined_at` string, date-time, nullable, required
  - `created_at` string, date-time, required
  - `is_bot` boolean
  - `mfa_enabled` boolean
  - `project_roles` ProjectRoleEntry[], nullable
    - `project_uuid` string, required
    - `project_name` string, required
    - `role` 'owner' | 'admin' | 'developer' | 'translator' | 'qa' | 'reviewer' | 'viewer', required
    - `languages_scope` string[], nullable
    - `inherited_from_org` boolean

## Other responses

- `422`: Validation Error

---

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