---
title: "Update an account member role"
method: PATCH
path: "/v1/accounts/{accountId}/members/{userId}"
tags: ["Accounts"]
---

# Update an account member role

`PATCH /v1/accounts/{accountId}/members/{userId}`

## Request

- Base URL: `https://api.checklyhq.com`
- URL: `https://api.checklyhq.com/v1/accounts/{accountId}/members/{userId}`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/checklyhq/apis/checkly-public-api/docs/v1/accounts/:accountId/members/:userId/patch.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `accountId` string, uuid, required
- `userId` string, uuid, required

## Headers

- `x-checkly-account` string, uuid: Your Checkly account ID, you can find it at https://app.checklyhq.com/settings/account/general

## Request body

- AccountMemberUpdate
  - `role` 'ADMIN' | 'READ_WRITE' | 'READ_RUN' | 'READ_ONLY', required: New account member role. OWNER is not supported.

## Response `200`

Successful

- AccountMember
  - `type` 'member', required
  - `accountId` string, uuid, required
  - `userId` string, uuid, required
  - `name` string, nullable, required
  - `email` string, email, required
  - `role` 'OWNER' | 'ADMIN' | 'READ_WRITE' | 'READ_RUN' | 'READ_ONLY' | 'CUSTOM', required
  - `customRole` object, nullable, required: The custom role held when role is CUSTOM; null otherwise.
    - `id` string, uuid, required
    - `name` string, required
  - `status` 'ACTIVE', required
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required
  - `isSupportMembership` boolean, required
  - `ssoEnabled` boolean, required
  - `mfaEnabled` boolean, required

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `429`: Too Many Requests

## Changes

- **2026-10-31** `bc90d1bfa738`: 1 warning, 6 info
  - added the new `CUSTOM` enum value to the `role` response property for the response status `200`
  - added the optional property `errorCode` to the response with the `400` status
  - added the optional property `errorCode` to the response with the `401` status
  - added the optional property `errorCode` to the response with the `403` status
  - …3 more

[Operation history](https://skmtc.dev/checklyhq/apis/checkly-public-api/changes/v1/accounts/:accountId/members/:userId/patch.md)

---

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