---
title: "Update member role and projects"
method: PUT
path: "/api/organizations/members/{memberId}"
tags: ["Organizations"]
---

# Update member role and projects

`PUT /api/organizations/members/{memberId}`

## Request

- Base URL: `https://demo.supercheck.dev`
- URL: `https://demo.supercheck.dev/api/organizations/members/{memberId}`
- Auth: API key in cookie `better-auth.session_token`

Update a member's role and project assignments. Cannot change the owner, your own role, or (as org_admin) another org_admin. Only org_owner can assign org_admin. Requires an interactive browser session. Project-scoped CLI tokens receive 403.

## Request body

- OrganizationMemberUpdateRequest
  - `role` 'org_owner' | 'org_admin' | 'project_admin' | 'project_editor' | 'project_viewer', required
  - `selectedProjects` string[]
  - `projectAssignments` union[]: Accepted as project ID strings or `{ projectId }` objects. Normalized to selectedProjects.
    - union
      - string
      - object
        - `projectId` string

## Response `200`

Member updated

- object
  - `success` boolean
  - `message` string
  - `data` object
    - `memberId` string
    - `newRole` string
    - `oldRole` string

## Other responses

- `400`: Invalid role or project assignments
- `401`: Authentication required or token invalid
- `403`: Insufficient permissions
- `404`: Resource not found
- `500`: Internal server error

## Changes

- **2026-10-19** `bfc5fb32bad1`: 1 info
  - the endpoint scheme security `sessionCookie` was added to the API
- **2026-10-01** `0114b54c259d`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/supercheck-io/apis/supercheck-api/changes/api/organizations/members/:memberId/put.md)

---

[API](https://skmtc.dev/supercheck-io/apis/supercheck-api.md) - [All operations](https://skmtc.dev/supercheck-io/apis/supercheck-api/llms.txt) - [OpenAPI document](https://skmtc.dev/supercheck-io/apis/supercheck-api/revisions/7fa0162c07bd?raw)
