---
title: "Update a member"
method: PATCH
path: "/api/public/organizations/{orgId}/members/{id}"
tags: ["Members"]
---

# Update a member

`PATCH /api/public/organizations/{orgId}/members/{id}`

## Request

- Base URL: `https://charts.basedash.com`
- URL: `https://charts.basedash.com/api/public/organizations/{orgId}/members/{id}`
- Auth: HTTP bearer

Updates a member role and supported user profile fields. Requires admin access to the organization. Cannot demote the last verified admin. A member's name and avatar are shared across every organization they belong to, so they can only be changed when the member belongs to no other organization or their email is on a domain this organization has verified.

## Path parameters

- `orgId` string, required: Organization ID
- `id` string, required: Member ID

## Request body

- UpdateMemberInput
  - `role` union: Updated role for the member
    - 'MEMBER'
    - 'ADMIN'
    - 'VIEWER'
  - `fullName` string: Updated full name for the member user
  - `avatarUrl` string, nullable: Updated allowed HTTPS avatar URL for the member user

## Response `200`

Member updated successfully

- object
  - `data` MemberResponse, required
    - `id` string, required: Member ID
    - `createdAt` string, date-time, required: Member creation timestamp
    - `deactivatedAt` string, date-time, nullable, required: When the member was deactivated, if applicable
    - `role` union, required: Role of the member in the organization
      - 'MEMBER'
      - 'ADMIN'
      - 'VIEWER'
    - `userId` string, required: ID of the associated user
    - `organizationId` string, required: ID of the organization
    - `user` UserResponse, required: User information for this member
      - `id` string, required: User ID
      - `fullName` string, required: Full name of the user
      - `avatarUrl` string, nullable, required: URL to the user avatar image
      - `email` string, required: Email address of the user
      - `isEmailVerified` boolean, required: Whether the user has verified their email
      - `createdAt` string, date-time, required: User creation timestamp
      - `firstName` string, nullable, required: First name of the user
      - `title` string, nullable, required: Job title of the user

## Other responses

- `400`: Bad request - Invalid request body or last admin demotion
- `401`: Unauthorized - Missing or invalid API key
- `403`: Forbidden - fullName or avatarUrl change for a member who also belongs to another organization, unless their email domain is verified by this organization
- `404`: Not found - Member not found or no admin access
- `429`: Rate limit exceeded - Too many requests
- `500`: Internal server error

---

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