# getContactEmailCheckSummary

What checkContactEmails would spend on a selection: `uncheckedEmailCount` is the addresses on those contacts never checked (at most that many credits), `totalContacts` the contacts it holds. SELECTION, one of two forms: `contactIds`, or a contact filter (`filterId` from listContactFilters, or an inline `filterTree` in saveFilter’s CONTACT DSL, parsed strictly) with `selectCount: N`, the first N matches: count the filter with countContacts and pass that count. A filter without selectCount, or beside contactIds, is refused. At most 20,000 contacts per call.

- Call: `POST https://server.goliathdata.com/api/v1/call` with `{ "operationId": "getContactEmailCheckSummary", "variables": {...} }`
- Scope: `READ`
- Type: query
- Idempotency: a read; rejects `Idempotency-Key`
- Rate-limited: no

## Variables

- `contactIds`: `[String!]`
- `filterId`: `ID`
- `filterTree`: `JSON`
- `selectCount`: `Int`

## Response (data, an example)

```json
{
  "contactQuery": {
    "contactEmailCheckSummaryForSelection": {
      "totalContacts": 0,
      "uncheckedEmailCount": 0
    }
  }
}
```

## Example

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