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

# List Members

> Retrieve a paginated list of members in your project

## Query Parameters

<ParamField query="page" default="1" type="number">
  Page number for pagination
</ParamField>

<ParamField query="limit" default="20" type="number">
  Number of members per page (max 100)
</ParamField>

<ParamField query="search" type="string">
  Search by email or name
</ParamField>

<ParamField query="status" type="string">
  Filter by status: `active`, `inactive`, `pending`
</ParamField>

<ParamField query="plan" type="string">
  Filter by plan ID
</ParamField>

<ParamField query="sort" default="created_at" type="string">
  Sort field: `created_at`, `email`, `full_name`
</ParamField>

<ParamField query="order" default="desc" type="string">
  Sort order: `asc` or `desc`
</ParamField>

## Response

<ResponseField name="success" type="boolean">
  Whether the request was successful
</ResponseField>

<ResponseField name="data" type="array">
  Array of member objects

  <Expandable title="Member properties">
    <ResponseField name="id" type="string">
      Unique member identifier
    </ResponseField>

    <ResponseField name="email" type="string">
      Member's email address
    </ResponseField>

    <ResponseField name="full_name" type="string">
      Member's full name
    </ResponseField>

    <ResponseField name="avatar_url" type="string">
      URL to member's avatar
    </ResponseField>

    <ResponseField name="status" type="string">
      Member status: `active`, `inactive`, `pending`
    </ResponseField>

    <ResponseField name="plan_id" type="string">
      Associated plan ID
    </ResponseField>

    <ResponseField name="metadata" type="object">
      Custom metadata
    </ResponseField>

    <ResponseField name="created_at" type="string">
      ISO 8601 timestamp
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="pagination" type="object">
  Pagination metadata

  <Expandable title="Pagination properties">
    <ResponseField name="page" type="number">
      Current page number
    </ResponseField>

    <ResponseField name="limit" type="number">
      Items per page
    </ResponseField>

    <ResponseField name="total" type="number">
      Total number of members
    </ResponseField>

    <ResponseField name="total_pages" type="number">
      Total number of pages
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash cURL (API Key Only) theme={null}
  curl -X GET "https://api.usegately.com/api/v1/members?page=1&limit=20&status=active" \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch('https://api.usegately.com/api/v1/members?page=1&limit=20&status=active', {
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY'
    }
  })

  const data = await response.json()
  ```
</RequestExample>

<ResponseExample>
  ```json Success Response theme={null}
  {
    "success": true,
    "data": [
      {
        "id": "mem_abc123",
        "email": "john@example.com",
        "full_name": "John Doe",
        "avatar_url": "https://example.com/avatar.jpg",
        "status": "active",
        "plan_id": "plan_pro",
        "metadata": {
          "company": "Acme Inc"
        },
        "created_at": "2024-01-15T10:30:00Z"
      },
      {
        "id": "mem_xyz789",
        "email": "jane@example.com",
        "full_name": "Jane Smith",
        "status": "active",
        "plan_id": "plan_basic",
        "created_at": "2024-01-14T09:00:00Z"
      }
    ],
    "pagination": {
      "page": 1,
      "limit": 20,
      "total": 150,
      "total_pages": 8
    }
  }
  ```
</ResponseExample>
