{"uid":"cap_UZ-G0v0rBqEoekacKi85N","slug":"evidence-verification-api-42a51551","name":"Evidence Verification API","description":"Verify an agent-commerce evidence bundle before trusting a paid result. Checks x402 challenge, receipt, policy-decision, and service-response artifacts; endpoint, method, network, payTo, and price binding; artifact source, freshness, hashes, and synthetic-proof leakage. Returns verified / needs_review / rejected / insufficient_evidence with per-rule evidence. Deterministic — loop it over every paid call in an agent run.","url":"https://hermesplant.com/api/agent-services/evidence/verify","method":"GET","headers":{},"bodySchema":{"type":"object","properties":{"policy":{"type":"object","description":"Verification policy: expected serviceId/endpoint/method/network/payTo/priceCents, allowedSources, minArtifacts, maxArtifactAgeSeconds, and require* flags per artifact type."},"subject":{"type":"object","description":"Optional run subject: kind, serviceId, endpoint, method, resourceUrl, runId."},"artifacts":{"type":"array","items":{"type":"object"},"description":"Evidence artifacts (shared Hermes contract): x402_challenge, x402_receipt, payment_policy_decision, service_response, agent_run_log, human_approval, and other typed artifacts."}}},"responseSchema":{"type":"json","example":{"status":"verified","service":"evidence-verify","decision":"verified","verified":true,"requestId":"ev_<uuid>","confidence":0.94,"reasonCodes":["evidence.verified"],"artifactSummary":{"total":3,"hashed":3,"synthetic":0},"missingArtifacts":[],"recommendedAction":"persist_evidence_and_use_result"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.05","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.05/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.05","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.05","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_KoFDyapv1ne_UWvBB0nKs","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.05","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Validates a collection of evidence artifacts (x402 receipts, payment decisions, approvals, logs) against a configurable policy and returns a machine-readable verified/rejected decision with confidence score.","exampleAgentPrompt":"Before we deploy this infrastructure change, verify these three artifacts — the x402 payment receipt, the human approval token, and the agent run log — against our policy that requires payTo 0xABC, minArtifacts 3, and maxArtifactAge of 300 seconds, and tell me if we're clear to proceed.","exampleUseCases":[{"title":"Gate autonomous infrastructure deploy","prompt":"I'm about to run a Terraform apply. Can you verify these artifacts — the x402 receipt, payment policy decision, and agent run log — against our deploy policy that expects serviceId 'infra-deploy', method POST, and maxArtifactAgeSeconds 120 before I let the agent proceed?"},{"title":"Validate x402 payment before agent spend","prompt":"Before the agent finalizes this API purchase, verify the x402 challenge and receipt artifacts against a policy requiring payTo 0xDEF, priceCents 500, and at least 2 artifacts — I need a confidence score and recommended action back."},{"title":"Confirm human approval before SQL execution","prompt":"The agent wants to run a destructive SQL migration. Please verify the human_approval artifact and the agent_run_log against our policy that requires requireHumanApproval true and minArtifacts 2, and flag any missing or expired evidence."}],"resultDescription":"A JSON object containing: a top-level verification status ('verified' or 'rejected'), a boolean verified flag, a confidence score (0–1), an array of reason codes, a summary of total/hashed/synthetic artifacts, a list of missing required artifacts, and a recommendedAction string (e.g. 'persist_evidence_and_use_result') plus a unique requestId for audit tracing.","failureModes":["Missing required artifacts array causes 400 validation error","Artifacts exceeding maxArtifactAgeSeconds result in decision 'rejected' with reason code 'evidence.stale'","Policy field mismatches (wrong serviceId, payTo, or priceCents) return verified:false with specific reason codes","Malformed artifact objects cause schema validation errors","Network timeout or service unavailability returns 5xx with no decision","Insufficient artifact count relative to minArtifacts yields rejection with missingArtifacts populated"],"whenToPreferThis":"Choose this endpoint when an AI agent needs a deterministic, policy-driven safety gate before executing consequential or irreversible actions — particularly those involving x402 payments, infrastructure changes, shell commands, SQL mutations, Git operations, or MCP tool calls. It is especially valuable when you need machine-readable evidence preservation with confidence scoring and audit trails, rather than a simple boolean approval check.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T18:35:25.473Z","isFirstParty":false}