> ## Documentation Index
> Fetch the complete documentation index at: https://docs.replyke.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Update Member Role

> Change a member's role in a group conversation

Updates the role of an active member in a group conversation. Only group conversations have roles — this endpoint returns a 400 for direct and space conversations.

The caller must be an active `admin`.

## Path Parameters

<ParamField path="conversationId" type="string" required>
  The ID of the conversation.
</ParamField>

<ParamField path="userId" type="string" required>
  The ID of the member whose role is being changed.
</ParamField>

## Body Parameters

<ParamField body="role" type="string" required>
  The new role. Accepted values: `"admin"`, `"member"`.
</ParamField>

## Response

Returns the updated [ConversationMember](/data-models/conversation-member) record.

## Error Responses

<AccordionGroup>
  <Accordion title="Not Found — 404">
    ```json theme={null}
    { "error": "Conversation not found.", "code": "chat/not-found" }
    ```
  </Accordion>

  <Accordion title="Invalid Type — 400 Bad Request">
    ```json theme={null}
    { "error": "Roles can only be changed in group conversations.", "code": "chat/invalid-type" }
    ```
  </Accordion>

  <Accordion title="Forbidden — 403">
    ```json theme={null}
    { "error": "Only group admins can change member roles.", "code": "chat/not-a-member" }
    ```
  </Accordion>

  <Accordion title="Member Not Found — 404">
    ```json theme={null}
    { "error": "Member not found in this conversation.", "code": "chat/member-not-found" }
    ```
  </Accordion>
</AccordionGroup>
