# Change a member's role

URL: https://docs.fxapis.com/api-reference/members/change-a-members-role

> Change a member's role. Console only — not available with API keys.

`PATCH https://api.fxapis.com/v1/members/{id}`

**Console only — not available with API keys.** Signed-in owners and admins use this from the fxapis console. It is not in the SDKs or the Postman collection.

Only the owner changes roles, and the owner's own role cannot be changed here. Takes effect on the member's next request.

Making an admin a member also revokes every API key they made in this workspace, in the same change: a member cannot make keys, so none they made may outlive the role. Each revocation is audited, the owner is emailed the list, and `keysRevoked` says how many there were. Keys made by anyone else, or with no recorded maker, are not touched. Making a member an admin revokes nothing.

Authentication: `Authorization: Bearer <API key>`.

#### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | string (uuid) | yes |  |

#### Request body (application/json, required)

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `role` | "admin" \| "member" | yes |  |

#### Responses

- `200`
- `400`
- `401`
- `403`
- `404`

Failures return `{ "error": { "code", "message" } }`; every code is listed at https://docs.fxapis.com/errors.

#### 200 response fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `data` | object | no |  |
| `data.id` | string (uuid) | no |  |
| `data.name` | string | no |  |
| `data.email` | string | no |  |
| `data.role` | "owner" \| "admin" \| "member" | no |  |
| `data.you` | boolean | no | True for the member making the request. |
| `data.keysCreated` | integer | no | How many unrevoked API keys this member made in this workspace. Demoting an admin to member revokes them all, as removing or suspending them does. |
| `data.createdAt` | string (date-time) | no |  |
| `data.keysRevoked` | integer | no | API keys this member made that the change revoked: all of them when an admin becomes a member, otherwise 0. |