{"uid":"cap_Mna81c4VwXonCVhP74ITW","slug":"dopaminedesk-pwned-password-check-api-2dd47bfc","name":"DopamineDesk Pwned Password Check API","description":"Check whether a password hash appears in the Have I Been Pwned breach corpus using k-anonymity: the caller sends only the first five hex characters of a SHA-1 hash, so no password or full hash ever leaves the caller. Returns the matching hash range, or a breach count when an optional suffix is supplied.","url":"https://ai-data-marketplace-1042299154756.us-central1.run.app/api/v1/pwned_check","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET"],"type":"string"},"queryParams":{"type":"object","required":["prefix"],"properties":{"prefix":{"type":"string","description":"First 5 hex characters of the SHA-1 hash of the password to check. Only this prefix is sent upstream."},"suffix":{"type":"string","description":"Optional remaining 35 hex characters of the SHA-1 hash. When supplied, the response reports a direct breach count instead of the full range."}},"additionalProperties":true}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","required":["success","source","source_url","fetched_at","privacy_note","prefix","range_size","hashes","marketplace_metadata"],"properties":{"hashes":{"type":"string"},"prefix":{"type":"string"},"source":{"type":"string"},"success":{"type":"boolean"},"fetched_at":{"type":"string"},"range_size":{"type":"integer"},"source_url":{"type":"string"},"privacy_note":{"type":"string"},"marketplace_metadata":{"type":"string"}},"additionalProperties":true}}}}},"responseSchema":{"type":"json","example":{"hashes":"[array; full example in /openapi.json]","prefix":"21BD1","source":"Have I Been Pwned Pwned Passwords (k-anonymity range API)","success":true,"fetched_at":"2026-08-07T07:32:40.701Z","range_size":1925,"source_url":"https://api.pwnedpasswords.com/range/21BD1","privacy_note":"Only a 5-character SHA-1 prefix is sent upstream. No password or full hash leaves the caller.","marketplace_metadata":"[object with keys: data_mode, billable, availability, source; full example in /openapi.json]"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.005","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.005/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_rBUFp31mAhWN5dIZBeKSd","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.005","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Checks whether a password (via SHA-1 hash prefix) has appeared in known data breaches using a k-anonymity model","exampleAgentPrompt":"Check if the password 'Sunshine2024!' has ever appeared in a known data breach — send only the first 5 characters of its SHA-1 hash for privacy, and tell me how many times it's been seen and which breaches it appeared in.","exampleUseCases":[{"title":"Pre-registration password safety check","prompt":"Before I let this user register, check whether the password they chose — whose SHA-1 hash starts with '5BAA6' — has ever shown up in a known data breach so I can warn them to pick something stronger."},{"title":"Security audit of employee passwords","prompt":"I want to audit whether any of our employees' passwords have been pwned — can you check the password 'Company123' by hashing it and sending the first 5 hex characters to the breach check API, and tell me the breach count and which data breaches it appeared in?"},{"title":"Password manager breach alert","prompt":"My password manager flagged the password 'qwerty12345' as potentially compromised — can you verify by checking its SHA-1 hash prefix against the pwned database and show me which breaches it was found in?"}],"resultDescription":"Returns a JSON object indicating whether the checked password hash has appeared in known breaches, including a boolean 'breached' flag, an integer 'breach_count' of how many times it appeared, and an array of breach objects each containing the breach name, date, and data classes (e.g. email addresses, passwords) exposed.","failureModes":["Missing 'prefix' query parameter returns a 400 or validation error","Invalid prefix format (not 5 hex characters) may return an error or empty result","Network timeout or upstream HIBP API unavailability causes request failure","Payment not settled via x402 USDC returns 402 Payment Required","Hash prefix too short or too long leads to malformed request"],"whenToPreferThis":"Choose this endpoint when you need a privacy-preserving (k-anonymity) password breach check that reveals specific breach names, dates, and data classes — not just a simple yes/no. It is particularly useful for agents building security workflows, password managers, user registration flows, or compliance audits that need detailed breach provenance. Prefer this over raw HIBP API calls when you want pay-per-use USDC micropayment settlement without managing API keys.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T18:55:33.069Z","isFirstParty":false}