# removeCallListContacts

Take contacts off a call list before they are called: their slots close as skipped by hand (`skipReason` USER), so the list keeps its record. A contact being dialed right now, already called, or up next for a rep working the list stays as it is and counts in `notRemovedCount`. A removed contact keeps its slot (and its place toward the 10,000 cap) and cannot be added back to the same list. Needs you to have built the list or be an admin. Refused on an ENDED list.

- Call: `POST https://server.goliathdata.com/api/v1/call` with `{ "operationId": "removeCallListContacts", "variables": {...} }`
- Scope: `WRITE`
- Type: mutation
- Idempotency: honors `Idempotency-Key` (24 h)
- Rate-limited: no

## Variables

- `callListId`: `ID!` (required)
- `contactIds`: `[ID!]!` (required)

## Response (data, an example)

```json
{
  "callListsMutation": {
    "removeCallListContacts": {
      "callList": {
        "id": "<ID>",
        "name": "…",
        "status": "…",
        "visibilityScope": "…",
        "maxNumbersPerContact": 0,
        "includeRelatives": true,
        "overrideDnc": true,
        "overrideLitigator": true,
        "cursorPosition": 0,
        "startedAt": "2026-01-01T00:00:00.000Z",
        "endedAt": "2026-01-01T00:00:00.000Z",
        "dialPath": "…",
        "createdByUser": {
          "id": "<ID>",
          "firstName": "…",
          "lastName": "…"
        },
        "lockedByUser": {
          "id": "<ID>",
          "firstName": "…",
          "lastName": "…"
        },
        "reachedTag": {
          "id": "<ID>",
          "name": "…"
        },
        "counts": {
          "total": 0,
          "pending": 0,
          "completed": 0,
          "skipped": 0,
          "dials": 0,
          "byDisposition": [
            {
              "disposition": "…",
              "count": 0
            }
          ]
        }
      },
      "removedCount": 0,
      "notRemovedCount": 0
    }
  }
}
```

## Example

```bash
curl https://server.goliathdata.com/api/v1/call \
  -H "Authorization: Bearer $GOLIATH_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "operationId": "removeCallListContacts",
    "variables": {
      "callListId": "<callListId>",
      "contactIds": [
        "<contactIds>"
      ]
    }
  }'
```
