---
title: "Update Member Role"
method: PUT
path: "/v1/orgs/{org_id}/members/{user_id}"
tags: ["Org Members"]
---

# Update Member Role

`PUT /v1/orgs/{org_id}/members/{user_id}`

## Request

- Base URL: `https://api.robosystems.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.robosystems.ai/v1/orgs/{org_id}/members/{user_id}`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Requires admin or owner role. Owner promotion/demotion requires a dedicated ownership transfer workflow.

## Path parameters

- `org_id` string, required
- `user_id` string, required

## Request body

- UpdateMemberRoleRequest: Request to update a member's role.
  - `role` 'owner' | 'admin' | 'member', required

## Response `200`

Successful Response

- OrgMemberResponse: Organization member response.
  - `user_id` string, required
  - `name` string, required
  - `email` string, required
  - `role` 'owner' | 'admin' | 'member', required
  - `joined_at` string, date-time, required
  - `is_active` boolean, required

## Other responses

- `400`: Invalid request
- `401`: Authentication required
- `403`: Access denied
- `404`: Resource not found
- `422`: Validation Error
- `429`: Rate limit exceeded
- `500`: Internal server error

---

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