{"openapi":"3.1.0","info":{"title":"x402 Log Filter API","version":"1.0.0","description":"Filter JSON / NDJSON event logs by field path and operator (gt, gte, lt, lte, eq, ne, contains, crosses_threshold), with an optional time range and limit; returns only the matching events plus counts. Paid via x402: $0.005 USDC per /filter call on eip155:8453 to 0x509E55c4F898B43C856Fb0E51048B1b7bFBC9eDE. /demo is free (<=100 events).","x-guidance":"x402 Log Filter returns only the events you need from a JSON/NDJSON log. POST /filter (x402 v2, exact scheme, Base USDC) answers 402 first; retry with the payment header. Body {events:[...]|\"<ndjson>\", filter:{field, op, value?, direction?, timeField?, from?, to?, limit?}}; ops gt, gte, lt, lte, eq, ne, contains, crosses_threshold. Response {events, counts{input, inTimeRange, matched, returned, truncated}}. Free: POST /demo (<=100 events), GET /llms.txt.","contact":{"name":"x402 Log Filter","url":"https://logfilter.hectichustle.workers.dev/","email":"hectichustle@mail.grokbot.com"}},"paths":{"/filter":{"post":{"summary":"Filter events (paid, $0.005)","x-payment":{"protocol":"x402","scheme":"exact","price":"$0.005","network":"eip155:8453","payTo":"0x509E55c4F898B43C856Fb0E51048B1b7bFBC9eDE"},"parameters":[{"name":"filter","in":"query","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["events","filter"],"properties":{"events":{"oneOf":[{"type":"array"},{"type":"string","description":"NDJSON"}]},"filter":{"type":"object","required":["field","op"],"properties":{"field":{"type":"string","description":"Dot path into each event, e.g. metrics.cpu"},"op":{"type":"string","enum":["gt","gte","lt","lte","eq","ne","contains","crosses_threshold"]},"value":{"description":"Comparison value; numeric threshold for crosses_threshold"},"direction":{"type":"string","enum":["up","down","both"],"default":"both","description":"crosses_threshold only"},"timeField":{"type":"string","default":"timestamp"},"from":{"oneOf":[{"type":"string"},{"type":"number"}],"description":"Inclusive; ISO-8601, epoch s or ms"},"to":{"oneOf":[{"type":"string"},{"type":"number"}],"description":"Exclusive"},"limit":{"type":"integer","minimum":0}}}}}},"application/x-ndjson":{"schema":{"type":"string"},"description":"Pass filter as ?filter=<url-encoded JSON>"}}},"responses":{"200":{"description":"Filtered events","content":{"application/json":{"schema":{"type":"object","properties":{"events":{"type":"array"},"counts":{"type":"object","properties":{"input":{"type":"integer"},"inTimeRange":{"type":"integer"},"matched":{"type":"integer"},"returned":{"type":"integer"},"truncated":{"type":"boolean"}}}}}}}},"400":{"description":"Bad spec"},"402":{"description":"Payment required (x402 PAYMENT-REQUIRED header)"},"413":{"description":"Body > 10485760 bytes"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005000"},"protocols":[{"x402":{}}]}}},"/demo":{"post":{"summary":"Free demo, max 100 events / 64KB","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["events","filter"],"properties":{"events":{"oneOf":[{"type":"array"},{"type":"string","description":"NDJSON"}]},"filter":{"type":"object","required":["field","op"],"properties":{"field":{"type":"string","description":"Dot path into each event, e.g. metrics.cpu"},"op":{"type":"string","enum":["gt","gte","lt","lte","eq","ne","contains","crosses_threshold"]},"value":{"description":"Comparison value; numeric threshold for crosses_threshold"},"direction":{"type":"string","enum":["up","down","both"],"default":"both","description":"crosses_threshold only"},"timeField":{"type":"string","default":"timestamp"},"from":{"oneOf":[{"type":"string"},{"type":"number"}],"description":"Inclusive; ISO-8601, epoch s or ms"},"to":{"oneOf":[{"type":"string"},{"type":"number"}],"description":"Exclusive"},"limit":{"type":"integer","minimum":0}}}}}},"application/x-ndjson":{"schema":{"type":"string"},"description":"Pass filter as ?filter=<url-encoded JSON>"}}},"responses":{"200":{"description":"Filtered events","content":{"application/json":{"schema":{"type":"object","properties":{"events":{"type":"array"},"counts":{"type":"object","properties":{"input":{"type":"integer"},"inTimeRange":{"type":"integer"},"matched":{"type":"integer"},"returned":{"type":"integer"},"truncated":{"type":"boolean"}}}}}}}},"400":{"description":"Bad spec"},"413":{"description":"Too large"}},"security":[]}},"/":{"get":{"summary":"Docs + pricing (free)","security":[]}},"/openapi.json":{"get":{"summary":"This document (free)","security":[]}},"/llms.txt":{"get":{"summary":"Free: plain-text guide for agents/LLMs (payment terms, paid route with price + body, free routes)","responses":{"200":{"description":"llms.txt guide","content":{"text/plain":{"schema":{"type":"string"}}}}},"security":[]}},"/.well-known/llms.txt":{"get":{"summary":"Free: same as /llms.txt","responses":{"200":{"description":"llms.txt guide","content":{"text/plain":{"schema":{"type":"string"}}}}},"security":[]}},"/.well-known/x402":{"get":{"summary":"Free: x402 discovery manifest (paid resource, price, payTo)","responses":{"200":{"description":"x402 manifest","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[]}},"/sitemap.xml":{"get":{"summary":"Free: sitemap of public pages","responses":{"200":{"description":"Sitemap","content":{"application/xml":{"schema":{"type":"string"}}}}},"security":[]}}}}