# listTeamMembers

List EVERY member of your organization with their membership facts: the roster. Offset-paginated (offset + limit; limit defaults to 50, maximum 100; newest member first), so walk pages until one comes back short rather than treating the first page as the whole team. Each row carries organizationRole (ADMIN | MEMBER: ADMIN is the role every ADMIN-scoped operation requires of the key owner) and organizationMembershipStatus (ACTIVE | SUSPENDED). REMOVED MEMBERS ARE INCLUDED: a suspended person is still a row here, so filter on organizationMembershipStatus before reporting who is on the team, and never read a row's presence as "currently works here". Optional searchTerm is a SUBSTRING match on name and email for a plain term and on the id for a uuid; a phone number is matched ONLY when the term is a complete US number (a partial such as the last four digits is searched as a name/email substring and finds no phone: an empty page there is not evidence nobody has the number). Plain terms rank by similarity; a complete email, phone or uuid keeps newest-first and can also return members whose value contains it. Capabilities are not here: the key owner's own come from getMyCapabilities, and an admin reads a teammate's with getTeamMemberCapabilities. Use listTeammates instead when you only need to pick one active person by a partial name.

- Call: `POST https://server.goliathdata.com/api/v1/call` with `{ "operationId": "listTeamMembers", "variables": {...} }`
- Scope: `READ`
- Type: query
- Idempotency: a read; rejects `Idempotency-Key`
- Rate-limited: no
- Result cap: `limit` is clamped to 100, without an error

## Variables

- `searchTerm`: `String`
- `offset`: `Int` (default `0`)
- `limit`: `Int` (default `50`)

## Response (data, an example)

```json
{
  "teamQuery": {
    "listTeamMembers": [
      {
        "id": "<ID>",
        "firstName": "…",
        "lastName": "…",
        "email": "…",
        "phoneNumber": "…",
        "organizationRole": "ADMIN",
        "organizationMembershipStatus": "ACTIVE",
        "createdAt": "2026-01-01T00:00:00.000Z"
      }
    ]
  }
}
```

## Example

```bash
curl https://server.goliathdata.com/api/v1/call \
  -H "Authorization: Bearer $GOLIATH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "operationId": "listTeamMembers",
    "variables": {}
  }'
```
