{"openapi":"3.1.0","info":{"title":"Website Release & x402 Launch Audits","version":"1.0.0","description":"Deterministic website and x402 release evidence with prioritized fixes, Base USDC/Bazaar/security checks, and SHA-256 integrity; plus paid offline downloads.","x-guidance":"Use websitePreflight for a low-cost HEAD-only seven-check HTTPS/TLS/security snapshot, then siteReleaseAudit for 22 served-HTML checks with evidence and fixes. Use auditX402 for payment binding, Base USDC, Bazaar metadata, protected-body leakage, and remediations. Use a download operation only when an offline product archive is wanted.","contact":{"name":"Wayfarer x402 tools","url":"https://github.com/v-samodelkin/website-release-evidence"}},"servers":[{"url":"https://agent402.dev"}],"paths":{"/website-preflight":{"post":{"operationId":"websitePreflight","summary":"Preflight one public website with seven HEAD-only checks","description":"Returns a bounded public-HTTPS, HTTP, redirect, HSTS, CSP, nosniff, and frame-policy snapshot without downloading a response body.","tags":["Developer tools"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicUrlInput"}}}},"responses":{"200":{"description":"Verified URL Evidence Snapshot","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UrlPreflightReport"}}}},"400":{"description":"Invalid or unsafe public target"},"402":{"description":"Payment Required. Retry with a valid x402 payment signature."},"502":{"description":"Bounded target observation failed"}}}},"/site-release-audit":{"post":{"operationId":"siteReleaseAudit","summary":"Audit one public website release with 22 deterministic checks","description":"Returns bounded transport, security-header, SEO, and accessibility-surface evidence with scores, remediations, and SHA-256 integrity.","tags":["Developer tools"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"5.00"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicUrlInput"}}}},"responses":{"200":{"description":"Website Release Evidence Dossier","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebsiteEvidenceReport"}}}},"400":{"description":"Invalid or unsafe public target"},"402":{"description":"Payment Required. Retry with a valid x402 payment signature."},"502":{"description":"Bounded target observation failed"}}}},"/audit-x402":{"post":{"operationId":"auditX402","summary":"Audit one public x402 v2 GET endpoint","description":"Checks payment binding, Base USDC terms, Bazaar metadata, protected-body leakage, and launch readiness.","tags":["Developer tools"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"5.99"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/X402AuditInput"}}}},"responses":{"200":{"description":"x402 launch-readiness report","content":{"application/json":{"schema":{"$ref":"#/components/schemas/X402AuditReport"}}}},"400":{"description":"Invalid or unsafe public target"},"402":{"description":"Payment Required. Retry with a valid x402 payment signature."},"502":{"description":"Bounded target observation failed"}}}},"/download":{"get":{"operationId":"downloadWayfarersDeck","summary":"Download Wayfarer's Deck quest-card kit","description":"Returns the complete offline quest-card workshop ZIP.","tags":["Downloads"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"5.99"},"protocols":[{"x402":{}}]},"parameters":[{"name":"version","in":"query","required":false,"description":"Optional archive version selector.","schema":{"type":"string","const":"1.0"}}],"responses":{"200":{"description":"ZIP archive","headers":{"X-Content-SHA256":{"schema":{"type":"string","pattern":"^[a-f0-9]{64}$"}}},"content":{"application/zip":{}}},"402":{"description":"Payment Required. Retry with a valid x402 payment signature."}}}},"/qr-campaign-pack":{"get":{"operationId":"downloadQrCampaignPack","summary":"Download the Bulk QR Campaign Pack","description":"Returns the offline CSV/TSV/JSON-to-SVG/PNG workshop ZIP.","tags":["Downloads"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"5.99"},"protocols":[{"x402":{}}]},"parameters":[{"name":"version","in":"query","required":false,"description":"Optional archive version selector.","schema":{"type":"string","const":"1.0.0"}}],"responses":{"200":{"description":"ZIP archive","headers":{"X-Content-SHA256":{"schema":{"type":"string","pattern":"^[a-f0-9]{64}$"}}},"content":{"application/zip":{}}},"402":{"description":"Payment Required. Retry with a valid x402 payment signature."}}}}},"components":{"schemas":{"PublicUrlInput":{"type":"object","additionalProperties":false,"required":["url"],"properties":{"url":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048}}},"UrlPreflightCheck":{"type":"object","additionalProperties":false,"required":["id","status","message"],"properties":{"id":{"type":"string","enum":["public-https","http-response","direct-url","hsts","content-security-policy","nosniff","frame-policy"]},"status":{"type":"string","enum":["pass","warning","fail"]},"message":{"type":"string"}}},"UrlPreflightReport":{"type":"object","required":["product","version","observedAt","target","http","tls","summary","checks","scope","evidenceId","reportSha256"],"properties":{"product":{"type":"string","const":"Verified URL Evidence Snapshot"},"version":{"type":"string","const":"1.1.0"},"observedAt":{"type":"string","format":"date-time"},"target":{"type":"object","required":["url","method"],"properties":{"url":{"type":"string","format":"uri"},"method":{"type":"string","const":"HEAD"}}},"http":{"type":"object","additionalProperties":true},"tls":{"type":["object","null"],"additionalProperties":true},"summary":{"type":"object","required":["passes","warnings","failures"],"properties":{"passes":{"type":"integer","minimum":0},"warnings":{"type":"integer","minimum":0},"failures":{"type":"integer","minimum":0}}},"checks":{"type":"array","minItems":7,"maxItems":7,"items":{"$ref":"#/components/schemas/UrlPreflightCheck"}},"scope":{"type":"string"},"evidenceId":{"type":"string","pattern":"^[a-f0-9]{24}$"},"reportSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}}},"X402AuditInput":{"type":"object","additionalProperties":false,"required":["url"],"properties":{"url":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048},"method":{"type":"string","enum":["GET"],"default":"GET"}}},"WebsiteAuditCheck":{"type":"object","additionalProperties":false,"required":["id","section","title","status","points","earned","evidence","fix"],"properties":{"id":{"type":"string"},"section":{"type":"string","enum":["transport","security","seo","accessibility"]},"title":{"type":"string"},"status":{"type":"string","enum":["pass","warning","fail"]},"points":{"type":"number"},"earned":{"type":"number"},"evidence":{"type":"object","additionalProperties":true},"fix":{"type":["string","null"],"description":"Prioritized copy-ready remediation when the check does not pass."}}},"WebsiteEvidenceReport":{"type":"object","required":["schemaVersion","product","observedAt","target","http","tls","summary","checks","dossierId","reportSha256"],"properties":{"schemaVersion":{"type":"string","const":"1.0.0"},"product":{"type":"string","const":"Website Release Evidence Dossier"},"observedAt":{"type":"string","format":"date-time"},"target":{"type":"object","additionalProperties":true},"http":{"type":"object","additionalProperties":true},"tls":{"type":["object","null"],"additionalProperties":true},"summary":{"type":"object","required":["score","possible","grade","verdict","ready","passes","warnings","failures","sections"],"properties":{"score":{"type":"number","minimum":0,"maximum":100},"possible":{"type":"number","const":100},"grade":{"type":"string","enum":["A","B","C","D","F"]},"verdict":{"type":"string","enum":["strong-baseline","improvements-recommended","material-gaps"]},"ready":{"type":"boolean"},"passes":{"type":"integer","minimum":0},"warnings":{"type":"integer","minimum":0},"failures":{"type":"integer","minimum":0},"sections":{"type":"object","additionalProperties":true}}},"checks":{"type":"array","minItems":22,"maxItems":22,"items":{"$ref":"#/components/schemas/WebsiteAuditCheck"}},"dossierId":{"type":"string","pattern":"^[a-f0-9]{24}$"},"reportSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}}},"X402AuditCheck":{"type":"object","additionalProperties":false,"required":["id","status","message"],"properties":{"id":{"type":"string","enum":["http-402","protocol-v2","payment-options","payment-fields","base-usdc","resource-binding","bazaar-discovery","protected-body"]},"status":{"type":"string","enum":["pass","warning","fail"]},"message":{"type":"string","description":"Observed payment, discovery, or protected-body evidence."},"remediation":{"type":"string","description":"Actionable fix when the check does not pass."}}},"X402AuditReport":{"type":"object","required":["product","version","auditId","auditedAt","target","summary","payment","checks","clientSnippets","disclaimer","reportSha256"],"properties":{"product":{"type":"string","const":"x402 Launch Readiness Audit"},"version":{"type":"string","const":"1.0.0"},"auditId":{"type":"string","pattern":"^[a-f0-9]{24}$"},"auditedAt":{"type":"string","format":"date-time"},"target":{"type":"object","additionalProperties":true},"summary":{"type":"object","required":["score","ready","passes","warnings","failures"],"properties":{"score":{"type":"integer","minimum":0,"maximum":100},"ready":{"type":"boolean"},"passes":{"type":"integer","minimum":0},"warnings":{"type":"integer","minimum":0},"failures":{"type":"integer","minimum":0}}},"payment":{"type":["object","null"],"additionalProperties":true},"checks":{"type":"array","minItems":8,"maxItems":8,"items":{"$ref":"#/components/schemas/X402AuditCheck"}},"clientSnippets":{"type":"object","additionalProperties":true},"disclaimer":{"type":"string"},"reportSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}}}}}}