---
title: "Update Active Organization Member"
method: PATCH
path: "/v1/organizations/me/members/{organization_member_id}"
tags: ["organizations"]
---

# Update Active Organization Member

`PATCH /v1/organizations/me/members/{organization_member_id}`

Change a member's role or status. Organization owners and admins only.

## Path parameters

- `organization_member_id` string, uuid, required

## Request body

- ActiveOrganizationMemberUpdateRequest
  - `role` 'owner' | 'admin' | 'member' | 'viewer', nullable
  - `status` 'active' | 'suspended', nullable

## Response `200`

Successful Response

- ActiveOrganizationMemberPublic — A member row joined to the identity behind it, as the roster shows it. Field-for-field the platform's shape, so the ported roster page is not rewritten around a new contract, with two consequences of the OSS line: ``email`` is nullable here (a local operator identity has no sign-in address), and ``invitation_id`` is always null until the invitation flow rehomes, which is what fills it. ``attribution_user_id`` is the addition the platform has no counterpart for. Keys, budgets, and usage attach to the gateway's string-keyed ``users`` row, not to this UUID identity, so this carries the ``user_id`` a caller passes to ``POST /v1/keys`` to give this member a key. It is null when no usable row exists (nobody minted one, or it was soft-deleted through ``DELETE /v1/users``), which is the signal not to offer this member as a key owner: key creation would refuse. How the two ids converge is the open question in otari-ai#1727; this field is the join until it is answered, and is what lets either answer land without the dashboard changing.
  - `attribution_user_id` string, nullable
  - `created_at` string, date-time, required
  - `email` string, nullable
  - `full_name` string, nullable
  - `invitation_id` string, uuid, nullable
  - `organization_member_id` string, uuid, nullable
  - `role` string, required
  - `status` string, required
  - `updated_at` string, date-time, nullable
  - `user_id` string, uuid, nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/mozilla-ai/apis/otari.md) · [All operations](https://skmtc.net/mozilla-ai/apis/otari/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mozilla-ai/otari/revisions/2d6e4912e230/schema)
