{"openapi":"3.1.0","info":{"title":"Proofline Evidence APIs","version":"1.4.0","description":"Bounded, AI-agent-assisted evidence checks for code diffs, public landing pages, launch journeys, funded task markets, and x402 endpoints. Results are deterministic and scoped; they do not promise security, conversion, revenue, selection, or payment settlement.","x-guidance":"Choose POST /api/x402/diff-risk-check for a 0.25 USDC static unified-diff gate, POST /api/x402/launch-risk-check for a 2.00 USDC one-to-three-page launch report, POST /api/x402/cta-check for a 0.10 USDC landing-page audit, POST /api/x402/reward-opportunity-scan for a 0.10 USDC funded-task market scan, or POST /api/x402/readiness-check for a 0.05 USDC unpaid x402 interoperability check. Read the 402 challenge, authorize only the quoted native USDC amount on Base Mainnet, then retry with PAYMENT-SIGNATURE."},"servers":[{"url":"https://proofline-audit.chrismellado.chatgpt.site"}],"paths":{"/api/x402/diff-risk-check":{"post":{"operationId":"prooflineDiffRiskCheck","summary":"Inspect one unified diff without executing it","description":"Returns redacted line evidence, severity counts, a directional risk score, and prioritized repairs. Possible secret values are never echoed in evidence.","tags":["Code review","Static analysis","Pre-merge"],"security":[{"x402":[]}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.250000"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"diff":{"type":"string","minLength":1,"maxLength":60000,"description":"Unified diff text inspected as untrusted data and never executed"},"focus":{"type":"string","maxLength":120,"description":"Optional short review focus included in the report"}},"required":["diff"],"additionalProperties":false},"example":{"diff":"diff --git a/app.ts b/app.ts\n--- a/app.ts\n+++ b/app.ts\n@@ -1 +1 @@\n-runSafe(input)\n+eval(input)","focus":"security and deployment safety"}}}},"responses":{"200":{"description":"Evidence-first static diff risk report","content":{"application/json":{"schema":{"type":"object","properties":{"product":{"type":"string","const":"Proofline Diff Risk Check"},"version":{"type":"string"},"inspectedAt":{"type":"string","format":"date-time"},"focus":{"type":["string","null"]},"score":{"type":"integer","minimum":0,"maximum":100},"verdict":{"type":"string","enum":["low-risk","review-required","blocked"]},"summary":{"type":"string"},"stats":{"type":"object"},"severityCounts":{"type":"object"},"findings":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"severity":{"type":"string","enum":["high","medium","low"]},"category":{"type":"string"},"title":{"type":"string"},"file":{"type":"string"},"line":{"type":["integer","null"],"minimum":1},"evidence":{"type":"string"},"risk":{"type":"string"},"repair":{"type":"string"}},"required":["id","severity","category","title","file","line","evidence","risk","repair"],"additionalProperties":false}},"repairQueue":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"severity":{"type":"string","enum":["high","medium","low"]},"category":{"type":"string"},"title":{"type":"string"},"file":{"type":"string"},"line":{"type":["integer","null"],"minimum":1},"evidence":{"type":"string"},"risk":{"type":"string"},"repair":{"type":"string"}},"required":["id","severity","category","title","file","line","evidence","risk","repair"],"additionalProperties":false}},"firstRepair":{"type":"string"},"limitations":{"type":"array","items":{"type":"string"}}},"required":["product","version","inspectedAt","focus","score","verdict","summary","stats","severityCounts","findings","repairQueue","firstRepair","limitations"]}}}},"400":{"description":"Invalid or non-diff input"},"402":{"description":"Payment Required","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 payment challenge","required":true,"schema":{"type":"string"}},"Access-Control-Expose-Headers":{"description":"Allows browser clients to read x402 payment headers","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"service":{"type":"string"},"price":{"type":"string"},"currency":{"type":"string"},"network":{"type":"string"},"usage":{"type":"object"},"disclosure":{"type":"string"}},"required":["error"]}}}},"413":{"description":"Diff exceeds the 60,000-character limit"},"502":{"description":"Payment service unavailable"}}}},"/api/x402/cta-check":{"post":{"operationId":"prooflineCtaCheck","summary":"Audit one public landing-page CTA","description":"Fetches bounded public HTML and returns a directional 0-100 score, page evidence, prioritized repairs, and suggested CTA copy.","tags":["Website audit","CTA","Conversion"],"security":[{"x402":[]}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.100000"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","maxLength":2048,"description":"Public http(s) landing-page URL to inspect"}},"required":["url"],"additionalProperties":false},"example":{"url":"https://example.com"}}}},"responses":{"200":{"description":"Evidence-first CTA audit","content":{"application/json":{"schema":{"type":"object","properties":{"product":{"type":"string","const":"Proofline CTA Check"},"version":{"type":"string"},"inspectedAt":{"type":"string","format":"date-time"},"requestedUrl":{"type":"string","format":"uri"},"finalUrl":{"type":"string","format":"uri"},"httpStatus":{"type":"integer"},"score":{"type":"integer","minimum":0,"maximum":100},"verdict":{"type":"string","enum":["clear","friction","blocked"]},"summary":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"category":{"type":"string","enum":["message","action","trust","mobile","technical"]},"severity":{"type":"string","enum":["high","medium","low"]},"evidence":{"type":"string"},"repair":{"type":"string"}},"required":["id","category","severity","evidence","repair"],"additionalProperties":false}},"firstRepair":{"type":"string"},"suggestedCta":{"type":"string"},"limitations":{"type":"array","items":{"type":"string"}}},"required":["product","version","inspectedAt","requestedUrl","finalUrl","httpStatus","score","verdict","summary","issues","firstRepair","suggestedCta","limitations"]}}}},"400":{"description":"Invalid or unsafe URL"},"402":{"description":"Payment Required","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 payment challenge","required":true,"schema":{"type":"string"}},"Access-Control-Expose-Headers":{"description":"Allows browser clients to read x402 payment headers","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"service":{"type":"string"},"price":{"type":"string"},"currency":{"type":"string"},"network":{"type":"string"},"usage":{"type":"object"},"disclosure":{"type":"string"}},"required":["error"]}}}},"415":{"description":"Target did not return HTML"},"422":{"description":"Target could not be inspected"},"502":{"description":"Inspection or payment service unavailable"}}}},"/api/x402/launch-risk-check":{"post":{"operationId":"prooflineLaunchRiskCheck","summary":"Audit one to three public launch pages as a journey","description":"Returns per-page evidence, an aggregate directional score, cross-page action and trust checks, and one ranked repair queue.","tags":["Website audit","Launch","Conversion journey"],"security":[{"x402":[]}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"2.000000"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","description":"One to three distinct public http(s) pages from the same launch journey","minItems":1,"maxItems":3,"uniqueItems":true,"items":{"type":"string","format":"uri","maxLength":2048}}},"required":["urls"],"additionalProperties":false},"example":{"urls":["https://example.com","https://example.com/pricing","https://example.com/signup"]}}}},"responses":{"200":{"description":"Evidence-first multipage launch-risk report","content":{"application/json":{"schema":{"type":"object","properties":{"product":{"type":"string","const":"Proofline Launch Risk Check"},"version":{"type":"string"},"inspectedAt":{"type":"string","format":"date-time"},"pageCount":{"type":"integer","minimum":1,"maximum":3},"overallScore":{"type":"integer","minimum":0,"maximum":100},"verdict":{"type":"string","enum":["launch-ready","needs-repair","blocked"]},"summary":{"type":"string"},"pages":{"type":"array","items":{"type":"object"}},"crossPage":{"type":"object"},"priorityQueue":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"category":{"type":"string","enum":["message","action","trust","mobile","technical"]},"severity":{"type":"string","enum":["high","medium","low"]},"evidence":{"type":"string"},"repair":{"type":"string"},"rank":{"type":"integer","minimum":1},"pageUrl":{"type":"string","format":"uri"}},"required":["id","category","severity","evidence","repair","rank","pageUrl"],"additionalProperties":false}},"launchDecision":{"type":"string"},"limitations":{"type":"array","items":{"type":"string"}}},"required":["product","version","inspectedAt","pageCount","overallScore","verdict","summary","pages","crossPage","priorityQueue","launchDecision","limitations"]}}}},"400":{"description":"Invalid, duplicate, or unsafe URL input"},"402":{"description":"Payment Required","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 payment challenge","required":true,"schema":{"type":"string"}},"Access-Control-Expose-Headers":{"description":"Allows browser clients to read x402 payment headers","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"service":{"type":"string"},"price":{"type":"string"},"currency":{"type":"string"},"network":{"type":"string"},"usage":{"type":"object"},"disclosure":{"type":"string"}},"required":["error"]}}}},"415":{"description":"A target did not return HTML"},"422":{"description":"A target could not be inspected"},"502":{"description":"Inspection or payment service unavailable"}}}},"/api/x402/reward-opportunity-scan":{"post":{"operationId":"prooflineRewardOpportunityScan","summary":"Screen public funded-task and bounty markets","description":"Scans eight public agent-task sources, reports source and normalization completeness, conservatively verifies visible TaskMarket escrow receipts on Base, and separates qualified candidates from opportunities requiring review. Listings and reward pools are never represented as earned income.","tags":["Work intelligence","Funded tasks","Bounties"],"security":[{"x402":[]}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.100000"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"minUsd":{"type":"number","minimum":0.01,"maximum":1000,"default":2,"description":"Minimum advertised reward and estimated individual share"},"maxCandidates":{"type":"integer","minimum":1,"maximum":25,"default":12},"requireEscrow":{"type":"boolean","default":true},"excludeSocial":{"type":"boolean","default":true},"excludeSpend":{"type":"boolean","default":true},"excludeBond":{"type":"boolean","default":true},"excludeNewTerms":{"type":"boolean","default":true}},"additionalProperties":false},"example":{"minUsd":2,"maxCandidates":12,"requireEscrow":true,"excludeSocial":true,"excludeSpend":true,"excludeBond":true,"excludeNewTerms":true}}}},"responses":{"200":{"description":"Evidence-first funded-task opportunity screen","content":{"application/json":{"schema":{"type":"object","properties":{"product":{"type":"string","const":"Proofline Funded Task Scan"},"version":{"type":"string"},"scannedAt":{"type":"string","format":"date-time"},"complete":{"type":"boolean","description":"True only when every declared source was available and fully normalized"},"filters":{"type":"object","properties":{"minUsd":{"type":"number","minimum":0.01,"maximum":1000,"default":2,"description":"Minimum advertised reward and estimated individual share"},"maxCandidates":{"type":"integer","minimum":1,"maximum":25,"default":12},"requireEscrow":{"type":"boolean","default":true},"excludeSocial":{"type":"boolean","default":true},"excludeSpend":{"type":"boolean","default":true},"excludeBond":{"type":"boolean","default":true},"excludeNewTerms":{"type":"boolean","default":true}},"additionalProperties":false,"required":["minUsd","maxCandidates","requireEscrow","excludeSocial","excludeSpend","excludeBond","excludeNewTerms"]},"totals":{"type":"object","properties":{"sourcesChecked":{"type":"integer","minimum":0},"sourcesAvailable":{"type":"integer","minimum":0},"itemsObserved":{"type":"integer","minimum":0},"normalizedCandidates":{"type":"integer","minimum":0},"qualifiedCandidates":{"type":"integer","minimum":0},"reviewCandidates":{"type":"integer","minimum":0}},"required":["sourcesChecked","sourcesAvailable","itemsObserved","normalizedCandidates","qualifiedCandidates","reviewCandidates"],"additionalProperties":false},"sources":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"url":{"type":"string","format":"uri"},"ok":{"type":"boolean"},"itemsObserved":{"type":"integer","minimum":0},"normalizedCandidates":{"type":"integer","minimum":0},"normalizationComplete":{"type":"boolean"},"error":{"type":["string","null"]}},"required":["id","name","url","ok","itemsObserved","normalizedCandidates","normalizationComplete","error"],"additionalProperties":false}},"qualified":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string"},"id":{"type":"string"},"title":{"type":"string"},"publicUrl":{"type":["string","null"],"format":"uri"},"status":{"type":"string"},"rewardUsd":{"type":["number","null"]},"estimatedShareUsd":{"type":["number","null"]},"competition":{"type":["integer","null"],"minimum":0},"selectionMode":{"type":["string","null"]},"deadline":{"type":["string","null"],"format":"date-time"},"escrowTxHash":{"type":["string","null"]},"escrowAdvertised":{"type":"boolean"},"escrowVerified":{"type":"boolean"},"bondUsd":{"type":["number","null"]},"externalSpendUsd":{"type":["number","null"]},"socialWork":{"type":"boolean"},"newTermsRequired":{"type":"boolean"},"verificationMode":{"type":["string","null"]},"excludedReasons":{"type":"array","items":{"type":"string"}}},"required":["source","id","title","publicUrl","status","rewardUsd","estimatedShareUsd","competition","selectionMode","deadline","escrowTxHash","escrowAdvertised","escrowVerified","bondUsd","externalSpendUsd","socialWork","newTermsRequired","verificationMode","excludedReasons"],"additionalProperties":false}},"review":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string"},"id":{"type":"string"},"title":{"type":"string"},"publicUrl":{"type":["string","null"],"format":"uri"},"status":{"type":"string"},"rewardUsd":{"type":["number","null"]},"estimatedShareUsd":{"type":["number","null"]},"competition":{"type":["integer","null"],"minimum":0},"selectionMode":{"type":["string","null"]},"deadline":{"type":["string","null"],"format":"date-time"},"escrowTxHash":{"type":["string","null"]},"escrowAdvertised":{"type":"boolean"},"escrowVerified":{"type":"boolean"},"bondUsd":{"type":["number","null"]},"externalSpendUsd":{"type":["number","null"]},"socialWork":{"type":"boolean"},"newTermsRequired":{"type":"boolean"},"verificationMode":{"type":["string","null"]},"excludedReasons":{"type":"array","items":{"type":"string"}}},"required":["source","id","title","publicUrl","status","rewardUsd","estimatedShareUsd","competition","selectionMode","deadline","escrowTxHash","escrowAdvertised","escrowVerified","bondUsd","externalSpendUsd","socialWork","newTermsRequired","verificationMode","excludedReasons"],"additionalProperties":false}},"limitations":{"type":"array","items":{"type":"string"}}},"required":["product","version","scannedAt","complete","filters","totals","sources","qualified","review","limitations"],"additionalProperties":false}}}},"400":{"description":"Invalid filter object or unknown input field"},"402":{"description":"Payment Required","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 payment challenge","required":true,"schema":{"type":"string"}},"Access-Control-Expose-Headers":{"description":"Allows browser clients to read x402 payment headers","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"service":{"type":"string"},"price":{"type":"string"},"currency":{"type":"string"},"network":{"type":"string"},"usage":{"type":"object"},"disclosure":{"type":"string"}},"required":["error"]}}}},"502":{"description":"Payment service unavailable"},"503":{"description":"Public reward sources unavailable"}}}},"/api/x402/readiness-check":{"post":{"operationId":"prooflineX402ReadinessCheck","summary":"Inspect one public endpoint's unpaid x402 challenge","description":"Makes one unpaid request and checks HTTP 402 behavior, x402 v2 decoding, exact payment requirements, resource metadata, and Bazaar discovery. It never pays the inspected endpoint.","tags":["x402","API validation","Developer tools"],"security":[{"x402":[]}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.050000"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","maxLength":2048,"description":"Public HTTPS x402 endpoint to inspect without paying it"},"method":{"type":"string","enum":["GET","POST"],"default":"GET"},"body":{"type":"object","description":"Optional JSON body used only for a POST inspection"}},"required":["url"],"additionalProperties":false},"example":{"url":"https://seller.example/api/paid-tool","method":"POST","body":{"input":"example"}}}}},"responses":{"200":{"description":"Evidence-first x402 interoperability report","content":{"application/json":{"schema":{"type":"object","properties":{"product":{"type":"string","const":"Proofline x402 Readiness Check"},"version":{"type":"string"},"inspectedAt":{"type":"string","format":"date-time"},"requestedUrl":{"type":"string","format":"uri"},"finalUrl":{"type":"string","format":"uri"},"method":{"type":"string","enum":["GET","POST"]},"httpStatus":{"type":"integer"},"score":{"type":"integer","minimum":0,"maximum":100},"verdict":{"type":"string","enum":["ready","warnings","broken"]},"summary":{"type":"string"},"challenge":{"type":"object"},"checks":{"type":"object"},"issues":{"type":"array"},"firstRepair":{"type":"string"},"limitations":{"type":"array","items":{"type":"string"}}},"required":["product","version","inspectedAt","requestedUrl","finalUrl","method","httpStatus","score","verdict","summary","challenge","checks","issues","firstRepair","limitations"]}}}},"400":{"description":"Invalid or unsafe URL"},"402":{"description":"Payment Required","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 payment challenge","required":true,"schema":{"type":"string"}},"Access-Control-Expose-Headers":{"description":"Allows browser clients to read x402 payment headers","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"service":{"type":"string"},"price":{"type":"string"},"currency":{"type":"string"},"network":{"type":"string"},"usage":{"type":"object"},"disclosure":{"type":"string"}},"required":["error"]}}}},"413":{"description":"Inspection body exceeds the limit"},"422":{"description":"Target could not be inspected"},"502":{"description":"Inspection or payment service unavailable"}}}}},"components":{"securitySchemes":{"x402":{"type":"apiKey","in":"header","name":"PAYMENT-SIGNATURE","description":"x402 v2 exact payment authorization"}}}}