> ## Documentation Index
> Fetch the complete documentation index at: https://replyke-feat-push-rich-payload-fields.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# List Members

> List the active members of a conversation

Returns a paginated list of active [ConversationMember](/data-models/conversation-member) objects, each with the member's user profile included. The caller must be a member (any status) to access this endpoint.

## Path Parameters

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

## Query Parameters

<ParamField query="page" type="number">
  Page number (1-based). Defaults to 1.
</ParamField>

<ParamField query="limit" type="number">
  Number of members per page. Defaults to 50. Maximum 100.
</ParamField>

<ParamField query="role" type="string">
  Filter by role. Accepted values: `admin`, `member`. If omitted, all roles are returned.
</ParamField>

### Space-scoped reputation

This endpoint has a space in context, so it accepts the opt-in reputation params. They add a `spaceReputation` field to each returned member's `user`, alongside the always-present `reputation` total. Requires the `reputation` bundle. See the [Reputation data model](/data-models/reputation) for the full contract.

<ParamField query="spaceReputationId" type="string">
  Adds `spaceReputation` to each returned user. One of: a space **`<uuid>`** (that space's bucket), **`none`** (the project-general bucket), or **`context`** (the space derived from this request's context — per-row on lists). The empty string and the legacy `general` / `null` aliases are rejected (400). Missing buckets read as `0`.
</ParamField>

<ParamField query="spaceReputationDescendants" type="boolean">
  Only honored with an explicit space `<uuid>`. When `true`, `spaceReputation` is the subtree sum — the space plus all of its descendants (the root space's own bucket included). Ignored for `none`; not allowed with `context`.
</ParamField>

## Response

<ResponseField name="data" type="ConversationMember[]">
  Array of active membership records. Each includes a `user` field with `id`, `name`, `username`, `avatar`, and `metadata`.
</ResponseField>

<ResponseField name="pagination" type="object">
  <Expandable title="properties">
    <ResponseField name="page" type="number">Current page number.</ResponseField>
    <ResponseField name="pageSize" type="number">Items per page.</ResponseField>
    <ResponseField name="totalPages" type="number">Total number of pages.</ResponseField>
    <ResponseField name="totalItems" type="number">Total number of active members.</ResponseField>
    <ResponseField name="hasMore" type="boolean">Whether more pages exist.</ResponseField>
  </Expandable>
</ResponseField>

## Error Responses

<AccordionGroup>
  <Accordion title="Forbidden — 403">
    ```json theme={null}
    { "error": "You are not a member of this conversation.", "code": "chat/not-a-member" }
    ```
  </Accordion>
</AccordionGroup>
