{"uid":"cap_rKzMB4If6ziKV-mRjcRl9","slug":"hermes-plant-emailguard-validate-bf48ed54","name":"Hermes Plant EmailGuard Validate","description":"Deterministic email and contact data quality scorer. Returns validity, deliverability score, risk level, normalized form, classifications, and per-rule diagnostics. Pure function, no network calls.","url":"https://hermesplant.com/api/agent-services/emailguard/validate","method":"GET","headers":{},"bodySchema":{"type":"object","properties":{"name":{"type":"string","description":"Optional contact name associated with the email."},"email":{"type":"string","description":"The email address to validate and score."},"domain":{"type":"string","description":"Optional explicit domain hint (usually derived from email)."},"mxPresent":{"type":"boolean","description":"Caller-supplied hint whether the domain has MX records. Never performs DNS itself."}}},"responseSchema":{"type":"json","example":{"valid":true,"checks":[{"fix":null,"why":"Email must contain a valid local part and domain with a dot.","pass":true,"rule":"rfc5322-syntax","evidence":"parsed local=alice domain=gnail.com","severity":"info"},{"fix":"Use alice@gmail.com instead.","why":"Domain is close to a popular provider and may be a typo.","pass":false,"rule":"typo-suggestion","evidence":"input domain=\"gnail.com\" suggestion=\"gmail.com\"","severity":"warn"}],"riskLevel":"medium","normalized":{"domain":"gnail.com","canonical":"alice@gnail.com","localPart":"alice"},"classification":{"roleBased":false,"disposable":false,"freeProvider":false,"typoSuggestion":"gmail.com"},"deliverabilityScore":55}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.02","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.02/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.02","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.02","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_xyPSxrzRD6JDjux7uEZTe","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.02","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Validates an email address for RFC5322 syntax, typo detection, disposability, role-based classification, and deliverability scoring","exampleAgentPrompt":"Check whether alice@gnail.com is a valid, deliverable email address — I want to know if it's a typo, whether it's disposable or role-based, and what its deliverability score is.","exampleUseCases":null,"resultDescription":"Returns a JSON object with a top-level 'valid' boolean, an array of per-rule check results (each with rule name, pass/fail, severity, evidence, and optional fix suggestion), an overall riskLevel (e.g. 'medium'), a normalized object with canonical address, localPart, and domain, a classification object indicating whether the address is role-based, disposable, free provider, or a typo candidate, and a numeric deliverabilityScore (0–100).","failureModes":["Missing or malformed request body returns a 4xx error","Empty or null email field causes validation failure","Network timeout on DNS-based checks may delay or error response","Unusual Unicode or internationalized email formats may not be fully supported","Payment failure over x402 returns 402 with no result"],"whenToPreferThis":"Use this endpoint when you need deterministic, rule-level email validation with explicit per-check evidence rather than a simple pass/fail — especially when typo detection, disposable-provider screening, role-based classification, and a numeric deliverability score are all needed in a single call. Prefer this over generic syntax checkers when the agent needs structured audit trails per check rule.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T06:32:57.897Z","isFirstParty":false}