{"openapi":"3.1.0","info":{"title":"HookScore API","version":"0.1.0","description":"x402-priced virality scorer for short-form video hooks. Returns 402 Payment Required without a valid x402 payment header."},"servers":[{"url":"https://api.viralorb.com"}],"paths":{"/healthz":{"get":{"summary":"Liveness probe","responses":{"200":{"description":"OK"}}}},"/agent.json":{"get":{"summary":"ERC-8004 agent card","responses":{"200":{"description":"Agent card JSON"}}}},"/score":{"post":{"summary":"Score a hook","description":"Charges 0.005 USDC on base per call via x402. Returns 402 without payment header.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["hook"],"properties":{"hook":{"type":"string","minLength":1,"maxLength":280},"hashtags":{"type":"array","items":{"type":"string"},"maxItems":10},"score":{"type":"number"}}}}}},"responses":{"200":{"description":"Score result","content":{"application/json":{"schema":{"type":"object","properties":{"score":{"type":"integer","minimum":0,"maximum":100},"raw_score":{"type":"number"},"breakdown":{"type":"object","additionalProperties":true},"suggestions":{"type":"array","items":{"type":"string"}},"meta":{"type":"object"}}}}}},"400":{"description":"Invalid input"},"402":{"description":"Payment required (x402 envelope in body)"},"429":{"description":"Rate-limited"}}}}}}