{"tool":"audit","title":"Site Audit","what":"Website audit in one call: TLS certificate, security headers, HTTPS redirect, HTTP/2 and HTTP/3, compression, response time, redirects, SEO tags and AI-agent readiness (llms.txt, robots rules for AI bots, sitemap, structured data). Scores 0-100 per area with concrete fixes.","endpoint":"https://yruz.one/api/audit","methods":["GET with query parameters","POST with a JSON body (same fields)"],"price":{"model":"fixed","usdc":"0.01"},"params":[{"name":"url","required":true,"description":"website URL or domain, e.g. https://example.com","example":"https://yruz.one/"}],"valid_request":{"get":"https://yruz.one/api/audit?url=https%3A%2F%2Fyruz.one%2F","post":{"url":"https://yruz.one/api/audit","body":{"url":"https://yruz.one/"}}},"how_to_pay":["1. Send the request without payment: the answer is HTTP 402 with the exact price (x402 v2 in the PAYMENT-REQUIRED header, x402 v1 in the JSON body).","2. Sign one offer of \"accepts\" with an x402 client (USDC on Base eip155:8453 or on Solana mainnet; the facilitator pays the network fee).","3. Resend the identical request (same method, parameters and body) with PAYMENT-SIGNATURE (v2) or X-PAYMENT (v1).","4. The answer carries the receipt in PAYMENT-RESPONSE. Any changed parameter needs a new 402."],"response_shape":{"product":"string","result":{"url":"string","final_url":"string","audited_at":"string","score":"number","grade":"string","scores":{"security":"number","tls":"number","performance":"number","seo":"number","agent_readiness":"number"},"issue_count":{"critical":"number","warning":"number","info":"number"},"issues":[{"area":"string","severity":"string","check":"string","message":"string","fix":"string"}],"checks":{"redirects":{"hops":[{"…":"…"}],"count":"number","http_to_https":"boolean"},"tls":{"issuer":"string","subject":"string","valid_from":"string","issued_days_ago":"number","valid_to":"string","days_left":"number","expired":"boolean","hostname_matches":"boolean","protocol":"string"},"http":{"status":"number","http_version":"string","http3_advertised":"boolean","compression":"string","response_ms":"number","html_bytes":"number","cache_control":"string","server":"string"},"security_headers":{"strict-transport-security":"string","content-security-policy":"null","x-content-type-options":"string","x-frame-options":"string","referrer-policy":"string","permissions-policy":"string"},"seo":{"title":"string","title_length":"number","description":"string","description_length":"number","canonical":"string","h1_count":"number","lang":"string","viewport":"boolean","open_graph":{"title":"string","image":"string"},"images":"number","images_without_alt":"number"},"agent_readiness":{"llms_txt":"boolean","robots_txt":"boolean","ai_bots_blocked":[],"sitemap":"string","structured_data":["string"]},"dns":{"a":["string"],"aaaa":["string"],"ns":["string"],"caa":"null"}},"duration_ms":"number"},"payment":{"payment_id":"string","transaction":"string"}},"refusals":{"400":"invalid input: the message names the field and the expected format; nothing is charged","402":"payment required, or the payment was refused (reason in \"error\"); nothing is charged","403/404":"not your item, or the asked item does not exist; nothing is charged","409/422":"not allowed right now (state or destination safety); nothing is charged","503":"a source or the payment rail is unavailable; nothing is charged, retry after Retry-After"},"mcp":{"server":"https://yruz.one/mcp/x402","payment":"params._meta[\"x402/payment\"] = PaymentPayload"}}