---
title: "Update a member"
method: PATCH
path: "/v1/members/{memberId}"
tags: ["Members"]
---

# Update a member

`PATCH /v1/members/{memberId}`

Updates a member of the caller's organization. Today only the role is mutable. The caller must be an admin or owner; owners cannot be demoted via this endpoint. Requires OAuth authentication.

## Path parameters

- `memberId` string, required — Membership identifier.

## Request body

- UpdateMemberRoleBody
  - `role` 'admin' | 'member', required — New role. Owners cannot be changed via this endpoint — owner-transfer happens on the web.

## Response `200`

Member with the updated role

- ActiveMember
  - `status` 'active', required — Discriminator for confirmed members — the user has accepted their invitation and joined the org.
  - `id` string, required — Stable membership identifier. Use this to address the row in update/remove endpoints.
  - `organizationId` string, required — Organization this membership belongs to.
  - `userId` string, required — Identifier of the user the membership represents.
  - `role` 'owner' | 'admin' | 'member', required — Member's role within the organization.
  - `name` string, nullable, required — Display name of the user. `null` if the user hasn't completed onboarding.
  - `email` string, required — User's email address, verified at signup.
  - `image` string, nullable, required — User's profile image URL, when set.
  - `joinedAt` string, required — ISO-8601 timestamp at which the user joined the organization.

## Other responses

- `400` — Validation error
- `401` — Unauthorized
- `404` — Not found

---

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