{"openapi":"3.1.0","info":{"title":"x402-router","version":"1.0.0","description":"Service discovery registry for x402 endpoints.","contact":{"email":"clawdbotworker@gmail.com"},"x-guidance":"Use this API to discover x402-capable services for autonomous agents. Start with the free /api/reputation/leaderboard route to identify high-quality services, then pay for /api/services when you need broad or granular search across categories, tags, health status, and reputation. Prefer health_status=x402 for services with confirmed payment metadata. Use q for broad discovery when you only know a topic, and tag or tags for precise capability filtering. Use /api/services/{id} after search to inspect a single service in full."},"servers":[{"url":"https://router.forgemesh.io"}],"paths":{"/":{"get":{"operationId":"viewX402Explorer","summary":"Public x402 ecosystem explorer","description":"Free HTML dashboard for browsing x402 resources, sellers, origins, categories, activity, and the public leaderboard.","security":[],"responses":{"200":{"description":"HTML ecosystem explorer dashboard.","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/api/services":{"get":{"operationId":"searchX402Services","summary":"Search and filter x402 services","description":"Paid search across the x402 service registry. Supports broad natural-language-ish search with q and precise category, tag, tags, health, reputation, and limit filters.","security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.001"},"protocols":[{"x402":{}}]},"x-x402-price":"$0.001","parameters":[{"name":"q","in":"query","schema":{"type":"string"},"description":"Broad text/tag search across service metadata and tags."},{"name":"health_status","in":"query","schema":{"type":"string","enum":["x402","reachable","unreachable","unknown"]}},{"name":"min_score","in":"query","schema":{"type":"number","minimum":0,"maximum":100}},{"name":"sort","in":"query","schema":{"type":"string","enum":["reputation"]}},{"name":"category","in":"query","schema":{"type":"string"}},{"name":"tag","in":"query","schema":{"type":"string"},"description":"Exact normalized tag match."},{"name":"tags","in":"query","schema":{"type":"string"},"description":"Comma-separated tags; all tags must match."},{"name":"limit","in":"query","schema":{"type":"integer","default":100,"minimum":1,"maximum":500}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"q":{"type":"string","description":"Broad text search across service name, URL, description, category, tags, and x402 metadata."},"health_status":{"type":"string","enum":["x402","reachable","unreachable","unknown"]},"min_score":{"type":"number","minimum":0,"maximum":100},"sort":{"type":"string","enum":["reputation"]},"category":{"type":"string","description":"Broad category bucket such as travel, weather, crypto, finance, automation, data, search, security, geo, or news."},"tag":{"type":"string","description":"Exact normalized tag match."},"tags":{"type":"string","description":"Comma-separated tags; all tags must match."},"limit":{"type":"integer","minimum":1,"maximum":500,"default":100}}}}}},"responses":{"200":{"description":"Array of x402 services matching the search filters.","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string","format":"uri"},"name":{"type":"string"},"description":{"type":["string","null"]},"category":{"type":["string","null"]},"health_status":{"type":"string","enum":["x402","reachable","unreachable","unknown"]},"reputation_score":{"type":"number"},"tags":{"type":"array","items":{"type":"string"}}}}}}}},"402":{"description":"Payment Required"}}}},"/api/services/{id}":{"get":{"operationId":"getX402Service","summary":"Get single service details","description":"Paid detail lookup for one service, including URL, health, reputation, tags, and stored x402 metadata when available.","security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.001"},"protocols":[{"x402":{}}]},"x-x402-price":"$0.001","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["id"],"properties":{"id":{"type":"string","description":"Service ID returned by /api/services or /api/reputation/leaderboard."}}}}}},"responses":{"200":{"description":"Service object.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string","format":"uri"},"name":{"type":"string"},"description":{"type":["string","null"]},"category":{"type":["string","null"]},"health_status":{"type":"string","enum":["x402","reachable","unreachable","unknown"]},"reputation_score":{"type":"number"},"tags":{"type":"array","items":{"type":"string"}}}}}}},"402":{"description":"Payment Required"},"404":{"description":"Not found"}}}},"/api/reputation/leaderboard":{"get":{"operationId":"listX402Leaderboard","summary":"Top services by reputation score","description":"Free public leaderboard for initial discovery. Use this before paid search when an agent wants the highest-ranked known services.","security":[],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":20,"minimum":1,"maximum":100}}],"responses":{"200":{"description":"Array of services sorted by reputation score.","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string","format":"uri"},"name":{"type":"string"},"description":{"type":["string","null"]},"category":{"type":["string","null"]},"health_status":{"type":"string","enum":["x402","reachable","unreachable","unknown"]},"reputation_score":{"type":"number"},"tags":{"type":"array","items":{"type":"string"}}}}}}}}}}}}}