---
title: "Update member role"
method: PATCH
path: "/v1/organizations/{orgId}/members/{memberId}"
tags: ["Team"]
---

# Update member role

`PATCH /v1/organizations/{orgId}/members/{memberId}`

## Request

- Base URL: `https://api.astrocal.dev`
- URL: `https://api.astrocal.dev/v1/organizations/{orgId}/members/{memberId}`
- Auth: HTTP bearer

Updates a member's role. Cannot change the owner's role (use transfer-ownership). Requires owner or admin role.

## Path parameters

- `orgId` string, uuid, required
- `memberId` string, uuid, required

## Request body

- object
  - `role` 'admin' | 'member' | 'viewer', required

## Response `200`

Member updated

- object
  - `id` string, uuid, required
  - `organization_id` string, uuid, required
  - `user_id` string, required
  - `user_email` string, nullable, required
  - `role` 'owner' | 'admin' | 'member' | 'viewer', required
  - `invited_by` string, nullable, required
  - `created_at` string, required
  - `updated_at` string, required

## Other responses

- `400`: Validation error
- `401`: Unauthorized
- `403`: Forbidden — insufficient permissions
- `404`: Member not found

---

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