EmailGuard — validate a whole contact list
emailguard_validate_batchValidate up to 20 emails in one tool call — one deterministic verdict per record (validity, deliverability score, disposable/role/free classification, typo suggestion, canonical normalization). Pass your free apiKey (250 records/mo, no wallet — https://hermesplant.com/pricing) and each record serves from quota. Results preserve input order; the batch stops at the first 402 (quota exhausted) and marks the rest skipped so you can upgrade and resume.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| payer | No | Optional wallet/account identifier; stored only as a hash | |
| apiKey | No | Free-tier / plan API key (hp_free_… or a pass key). Forwarded as X-API-Key so paid tools serve from your monthly quota with NO x402 wallet. Get a free key (250 calls/mo) at https://hermesplant.com/pricing. | |
| channel | No | Discovery channel or source tag | |
| records | Yes | Contact records to validate — one storefront call per record (max 20 per tool call) | |
| campaign | No | Campaign tag for downstream telemetry | |
| xPayment | No | Raw X-PAYMENT proof from an x402-compatible wallet/client | |
| actorType | No | Caller type for analytics: agent, human, synthetic, system, or unknown | |
| synthetic | No | Mark this paid retry as an internal test/probe for analytics exclusion | |
| paymentSignature | No | x402 payment proof to forward as PAYMENT-SIGNATURE and X-PAYMENT on retry | |
| paymentIdentifier | No | Optional x402 payment identifier for idempotency/retry correlation |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ok | Yes | True when the upstream storefront call returned a 2xx response | |
| httpStatus | Yes | Upstream HTTP status code | |
| paymentRequired | No | True when the response is an x402 HTTP 402 payment challenge |