{"openapi":"3.1.0","info":{"title":"Telecom & Network Infrastructure Intelligence API","version":"1.0.0","description":"Normalize network logs, detect latency anomalies, analyze packet loss, diagnose DNS resolution, analyze BGP route changes, inventory TLS certificate expiry, diff configurations, check caller-supplied IP reputation labels, build incident timelines, and produce infrastructure health reports—using caller-supplied telemetry plus optional key-free public DNS and public TLS port-443 inspection. Paid with x402 exact USDC on Base. No account is required.","contact":{"email":"support@brainiac.software"},"x-guidance":"BRAINIAC.software is a pay-per-call API for software agents. No account or API key is required.\nPayment uses the x402 protocol with exact USDC on Base (chain id 8453). Each POST operation has a fixed USD price.\nHow to call an operation:\n1. POST a JSON body matching the operation's requestBody schema to the operation path. Include an Idempotency-Key header (64 hex characters, 32 random bytes).\n2. If you have not paid, the server responds 402 with payment requirements in the body. Pay the exact amount to the payTo address on Base.\n3. Retry the identical request with the same Idempotency-Key and add a payment-signature header containing the x402 payment payload. On success (200) the operation result is returned.\n4. Reuse the same Idempotency-Key only for retries of the same operation and request body; it will not be charged twice.\nAll outputs are compliance prechecks, drafts, or data lookups for human review. They are not official determinations, legal advice, identity confirmation, or certified filings. Verify time-sensitive or official data with the cited source before acting."},"servers":[{"url":"https://www.brainiac.software"}],"paths":{"/api/v1/network-intelligence/log-normalize":{"post":{"operationId":"normalize_network_logs","summary":"Normalize network logs","description":"Normalize caller-supplied network/syslog rows. Private addresses in caller data are retained but never contacted.","tags":["network-intelligence"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"csv":{"type":"string","maxLength":200000},"file":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false},"files":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false}},"logs":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"host":{"type":"string","maxLength":253},"facility":{"type":"string","maxLength":80},"severity":{"type":"string","maxLength":40},"message":{"type":"string","maxLength":4000},"sourceIp":{"type":"string","maxLength":80},"destinationIp":{"type":"string","maxLength":80},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"latencySamples":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"pathId":{"type":"string","maxLength":80},"host":{"type":"string","maxLength":253},"at":{"type":"string","maxLength":40},"latencyMs":{"type":"number","minimum":0,"maximum":1000000},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"packetLossSamples":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"pathId":{"type":"string","maxLength":80},"host":{"type":"string","maxLength":253},"at":{"type":"string","maxLength":40},"sent":{"type":"number","minimum":0,"maximum":1000000000},"lost":{"type":"number","minimum":0,"maximum":1000000000},"lossPct":{"type":"number","minimum":0,"maximum":100},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"dnsRecords":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"hostname":{"type":"string","maxLength":253},"recordType":{"type":"string","enum":["A","AAAA","CNAME","MX","TXT","NS","SOA"]},"answer":{"type":"string","maxLength":500},"resolver":{"type":"string","maxLength":80},"rcode":{"type":"string","maxLength":40},"latencyMs":{"type":"number","minimum":0,"maximum":1000000},"expectedAnswer":{"type":"string","maxLength":500},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"bgpRoutes":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"prefix":{"type":"string","maxLength":80},"peer":{"type":"string","maxLength":80},"asPath":{"type":"string","maxLength":500},"nextHop":{"type":"string","maxLength":80},"originAs":{"type":"string","maxLength":40},"at":{"type":"string","maxLength":40},"side":{"type":"string","enum":["before","after","left","right","a","b"]},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"certificates":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"host":{"type":"string","maxLength":253},"commonName":{"type":"string","maxLength":253},"issuer":{"type":"string","maxLength":200},"notBefore":{"type":"string","maxLength":40},"notAfter":{"type":"string","maxLength":40},"serialNumber":{"type":"string","maxLength":120},"fingerprintSha256":{"type":"string","maxLength":120},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"configs":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"deviceId":{"type":"string","maxLength":80},"path":{"type":"string","maxLength":200},"key":{"type":"string","maxLength":200},"value":{"type":"string","maxLength":4000},"side":{"type":"string","enum":["left","right","before","after","a","b"]},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"reputations":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"ip":{"type":"string","maxLength":80},"hostname":{"type":"string","maxLength":253},"listed":{"type":"boolean"},"listName":{"type":"string","maxLength":120},"category":{"type":"string","maxLength":120},"score":{"type":"number","minimum":0,"maximum":100},"observedAt":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"incidents":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"host":{"type":"string","maxLength":253},"severity":{"type":"string","maxLength":40},"title":{"type":"string","maxLength":200},"detail":{"type":"string","maxLength":2000},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"publicDns":{"type":"object","properties":{"hostname":{"type":"string","minLength":1,"maxLength":253},"recordType":{"type":"string","enum":["A","AAAA","CNAME","MX","TXT","NS"]}},"required":["hostname"],"additionalProperties":false},"publicTls":{"type":"object","properties":{"host":{"type":"string","minLength":1,"maxLength":253}},"required":["host"],"additionalProperties":false},"asOf":{"type":"string","maxLength":40},"latencyAnomalyZ":{"type":"number","minimum":1,"maximum":10},"packetLossWarnPct":{"type":"number","minimum":0,"maximum":100},"expiryWarningDays":{"type":"number","minimum":0,"maximum":3650}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","logs":[{"id":"L1","at":"2026-11-04T20:00:00.000Z","host":"edge-1","facility":"local0","severity":"info","message":"link up","sourceIp":"203.0.113.10","destinationIp":"198.51.100.20","source":"Caller-supplied syslog"},{"id":"L2","at":"2026-11-04T20:05:00.000Z","host":"edge-1","facility":"local0","severity":"error","message":"BGP session timeout","source":"Caller-supplied syslog"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"logCount":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"at":{"type":"string"},"host":{"type":"string"},"facility":{"type":"string"},"severity":{"type":"string"},"message":{"type":"string"},"sourceIp":{"type":"string"},"destinationIp":{"type":"string"},"source":{"type":"string"},"paidReputationApiUsed":{"type":"boolean"},"privateNetworkScanned":{"type":"boolean"}},"additionalProperties":true}},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"paidReputationApiUsed":{"type":"boolean"},"privateNetworkScanned":{"type":"boolean"},"intrusiveScanPerformed":{"type":"boolean"},"publicDnsQueried":{"type":"boolean"},"publicTlsInspected":{"type":"boolean"},"findings":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"},"code":{"type":"string"},"subject":{"type":"string"},"detail":{"type":"string"}},"additionalProperties":true}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T21:00:00.000Z","status":"normalized","logCount":2,"items":[{"id":"L1","at":"2026-11-04T20:00:00.000Z","host":"edge-1","facility":"local0","severity":"info","message":"link up","sourceIp":"203.0.113.10","destinationIp":"198.51.100.20","source":"Caller-supplied syslog","paidReputationApiUsed":false,"privateNetworkScanned":false},{"id":"L2","at":"2026-11-04T20:05:00.000Z","host":"edge-1","facility":"local0","severity":"error","message":"BGP session timeout","sourceIp":"","destinationIp":"","source":"Caller-supplied syslog","paidReputationApiUsed":false,"privateNetworkScanned":false}],"paidProviderUsed":false,"apiKeyRequired":false,"paidReputationApiUsed":false,"privateNetworkScanned":false,"intrusiveScanPerformed":false,"publicDnsQueried":false,"publicTlsInspected":false,"findings":[{"kind":"observation","code":"private_source_ip","subject":"L1","detail":"Source IP is in a private/special range; it is retained from caller data only and not contacted."},{"kind":"observation","code":"private_destination_ip","subject":"L1","detail":"Destination IP is in a private/special range; it is retained from caller data only and not contacted."}],"limitations":["Network logs, latency/packet-loss samples, DNS answers, BGP routes, certificates, configs, reputation labels, and incidents are copied only from labeled fields supplied by the caller, or from optional key-free public DNS / public TLS port-443 inspection when explicitly requested.","Private, loopback, link-local, and documentation addresses are never contacted. Private networks are not scanned.","No intrusive security testing is performed and no paid reputation API is used.","IP reputation uses only caller-supplied labels/observations. Missing reputation data is not invented.","Infrastructure health reports aggregate only sections for which records were supplied or optionally fetched."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/api/v1/network-intelligence/latency-anomaly-detect":{"post":{"operationId":"detect_network_latency_anomalies","summary":"Detect network latency anomalies","description":"Detect anomalous latency using z-scores on caller-supplied path samples. No active probing of private networks.","tags":["network-intelligence"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"csv":{"type":"string","maxLength":200000},"file":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false},"files":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false}},"logs":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"host":{"type":"string","maxLength":253},"facility":{"type":"string","maxLength":80},"severity":{"type":"string","maxLength":40},"message":{"type":"string","maxLength":4000},"sourceIp":{"type":"string","maxLength":80},"destinationIp":{"type":"string","maxLength":80},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"latencySamples":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"pathId":{"type":"string","maxLength":80},"host":{"type":"string","maxLength":253},"at":{"type":"string","maxLength":40},"latencyMs":{"type":"number","minimum":0,"maximum":1000000},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"packetLossSamples":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"pathId":{"type":"string","maxLength":80},"host":{"type":"string","maxLength":253},"at":{"type":"string","maxLength":40},"sent":{"type":"number","minimum":0,"maximum":1000000000},"lost":{"type":"number","minimum":0,"maximum":1000000000},"lossPct":{"type":"number","minimum":0,"maximum":100},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"dnsRecords":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"hostname":{"type":"string","maxLength":253},"recordType":{"type":"string","enum":["A","AAAA","CNAME","MX","TXT","NS","SOA"]},"answer":{"type":"string","maxLength":500},"resolver":{"type":"string","maxLength":80},"rcode":{"type":"string","maxLength":40},"latencyMs":{"type":"number","minimum":0,"maximum":1000000},"expectedAnswer":{"type":"string","maxLength":500},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"bgpRoutes":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"prefix":{"type":"string","maxLength":80},"peer":{"type":"string","maxLength":80},"asPath":{"type":"string","maxLength":500},"nextHop":{"type":"string","maxLength":80},"originAs":{"type":"string","maxLength":40},"at":{"type":"string","maxLength":40},"side":{"type":"string","enum":["before","after","left","right","a","b"]},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"certificates":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"host":{"type":"string","maxLength":253},"commonName":{"type":"string","maxLength":253},"issuer":{"type":"string","maxLength":200},"notBefore":{"type":"string","maxLength":40},"notAfter":{"type":"string","maxLength":40},"serialNumber":{"type":"string","maxLength":120},"fingerprintSha256":{"type":"string","maxLength":120},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"configs":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"deviceId":{"type":"string","maxLength":80},"path":{"type":"string","maxLength":200},"key":{"type":"string","maxLength":200},"value":{"type":"string","maxLength":4000},"side":{"type":"string","enum":["left","right","before","after","a","b"]},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"reputations":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"ip":{"type":"string","maxLength":80},"hostname":{"type":"string","maxLength":253},"listed":{"type":"boolean"},"listName":{"type":"string","maxLength":120},"category":{"type":"string","maxLength":120},"score":{"type":"number","minimum":0,"maximum":100},"observedAt":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"incidents":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"host":{"type":"string","maxLength":253},"severity":{"type":"string","maxLength":40},"title":{"type":"string","maxLength":200},"detail":{"type":"string","maxLength":2000},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"publicDns":{"type":"object","properties":{"hostname":{"type":"string","minLength":1,"maxLength":253},"recordType":{"type":"string","enum":["A","AAAA","CNAME","MX","TXT","NS"]}},"required":["hostname"],"additionalProperties":false},"publicTls":{"type":"object","properties":{"host":{"type":"string","minLength":1,"maxLength":253}},"required":["host"],"additionalProperties":false},"asOf":{"type":"string","maxLength":40},"latencyAnomalyZ":{"type":"number","minimum":1,"maximum":10},"packetLossWarnPct":{"type":"number","minimum":0,"maximum":100},"expiryWarningDays":{"type":"number","minimum":0,"maximum":3650}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","latencyAnomalyZ":2,"latencySamples":[{"id":"A1","pathId":"POP-A","host":"cdn.example","at":"2026-11-04T20:00:00.000Z","latencyMs":20,"source":"Caller-supplied probe"},{"id":"A2","pathId":"POP-A","host":"cdn.example","at":"2026-11-04T20:01:00.000Z","latencyMs":22,"source":"Caller-supplied probe"},{"id":"A3","pathId":"POP-A","host":"cdn.example","at":"2026-11-04T20:02:00.000Z","latencyMs":21,"source":"Caller-supplied probe"},{"id":"A4","pathId":"POP-A","host":"cdn.example","at":"2026-11-04T20:03:00.000Z","latencyMs":19,"source":"Caller-supplied probe"},{"id":"A5","pathId":"POP-A","host":"cdn.example","at":"2026-11-04T20:04:00.000Z","latencyMs":95,"source":"Caller-supplied probe"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"seriesCount":{"type":"number"},"anomalyCount":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"pathId":{"type":"string"},"host":{"type":"string"},"at":{"type":"string"},"latencyMs":{"type":"number"},"meanMs":{"type":"number"},"stdevMs":{"type":"number"},"zScore":{"type":"number"},"anomalous":{"type":"boolean"},"source":{"type":"string"},"privateNetworkScanned":{"type":"boolean"}},"additionalProperties":true}},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"paidReputationApiUsed":{"type":"boolean"},"privateNetworkScanned":{"type":"boolean"},"intrusiveScanPerformed":{"type":"boolean"},"publicDnsQueried":{"type":"boolean"},"publicTlsInspected":{"type":"boolean"},"findings":{"type":"array","items":{}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T21:00:00.000Z","status":"detected","seriesCount":1,"anomalyCount":0,"items":[{"id":"A1","pathId":"POP-A","host":"cdn.example","at":"2026-11-04T20:00:00.000Z","latencyMs":20,"meanMs":35.4,"stdevMs":33.3362,"zScore":-0.462,"anomalous":false,"source":"Caller-supplied probe","privateNetworkScanned":false},{"id":"A2","pathId":"POP-A","host":"cdn.example","at":"2026-11-04T20:01:00.000Z","latencyMs":22,"meanMs":35.4,"stdevMs":33.3362,"zScore":-0.402,"anomalous":false,"source":"Caller-supplied probe","privateNetworkScanned":false},{"id":"A3","pathId":"POP-A","host":"cdn.example","at":"2026-11-04T20:02:00.000Z","latencyMs":21,"meanMs":35.4,"stdevMs":33.3362,"zScore":-0.432,"anomalous":false,"source":"Caller-supplied probe","privateNetworkScanned":false},{"id":"A4","pathId":"POP-A","host":"cdn.example","at":"2026-11-04T20:03:00.000Z","latencyMs":19,"meanMs":35.4,"stdevMs":33.3362,"zScore":-0.492,"anomalous":false,"source":"Caller-supplied probe","privateNetworkScanned":false},{"id":"A5","pathId":"POP-A","host":"cdn.example","at":"2026-11-04T20:04:00.000Z","latencyMs":95,"meanMs":35.4,"stdevMs":33.3362,"zScore":1.7878,"anomalous":false,"source":"Caller-supplied probe","privateNetworkScanned":false}],"paidProviderUsed":false,"apiKeyRequired":false,"paidReputationApiUsed":false,"privateNetworkScanned":false,"intrusiveScanPerformed":false,"publicDnsQueried":false,"publicTlsInspected":false,"findings":[],"limitations":["Network logs, latency/packet-loss samples, DNS answers, BGP routes, certificates, configs, reputation labels, and incidents are copied only from labeled fields supplied by the caller, or from optional key-free public DNS / public TLS port-443 inspection when explicitly requested.","Private, loopback, link-local, and documentation addresses are never contacted. Private networks are not scanned.","No intrusive security testing is performed and no paid reputation API is used.","IP reputation uses only caller-supplied labels/observations. Missing reputation data is not invented.","Infrastructure health reports aggregate only sections for which records were supplied or optionally fetched."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/api/v1/network-intelligence/packet-loss-pattern-analyze":{"post":{"operationId":"analyze_packet_loss_patterns","summary":"Analyze packet-loss patterns","description":"Analyze caller-supplied packet-loss percent or sent/lost counts against a warning threshold.","tags":["network-intelligence"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"csv":{"type":"string","maxLength":200000},"file":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false},"files":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false}},"logs":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"host":{"type":"string","maxLength":253},"facility":{"type":"string","maxLength":80},"severity":{"type":"string","maxLength":40},"message":{"type":"string","maxLength":4000},"sourceIp":{"type":"string","maxLength":80},"destinationIp":{"type":"string","maxLength":80},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"latencySamples":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"pathId":{"type":"string","maxLength":80},"host":{"type":"string","maxLength":253},"at":{"type":"string","maxLength":40},"latencyMs":{"type":"number","minimum":0,"maximum":1000000},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"packetLossSamples":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"pathId":{"type":"string","maxLength":80},"host":{"type":"string","maxLength":253},"at":{"type":"string","maxLength":40},"sent":{"type":"number","minimum":0,"maximum":1000000000},"lost":{"type":"number","minimum":0,"maximum":1000000000},"lossPct":{"type":"number","minimum":0,"maximum":100},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"dnsRecords":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"hostname":{"type":"string","maxLength":253},"recordType":{"type":"string","enum":["A","AAAA","CNAME","MX","TXT","NS","SOA"]},"answer":{"type":"string","maxLength":500},"resolver":{"type":"string","maxLength":80},"rcode":{"type":"string","maxLength":40},"latencyMs":{"type":"number","minimum":0,"maximum":1000000},"expectedAnswer":{"type":"string","maxLength":500},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"bgpRoutes":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"prefix":{"type":"string","maxLength":80},"peer":{"type":"string","maxLength":80},"asPath":{"type":"string","maxLength":500},"nextHop":{"type":"string","maxLength":80},"originAs":{"type":"string","maxLength":40},"at":{"type":"string","maxLength":40},"side":{"type":"string","enum":["before","after","left","right","a","b"]},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"certificates":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"host":{"type":"string","maxLength":253},"commonName":{"type":"string","maxLength":253},"issuer":{"type":"string","maxLength":200},"notBefore":{"type":"string","maxLength":40},"notAfter":{"type":"string","maxLength":40},"serialNumber":{"type":"string","maxLength":120},"fingerprintSha256":{"type":"string","maxLength":120},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"configs":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"deviceId":{"type":"string","maxLength":80},"path":{"type":"string","maxLength":200},"key":{"type":"string","maxLength":200},"value":{"type":"string","maxLength":4000},"side":{"type":"string","enum":["left","right","before","after","a","b"]},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"reputations":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"ip":{"type":"string","maxLength":80},"hostname":{"type":"string","maxLength":253},"listed":{"type":"boolean"},"listName":{"type":"string","maxLength":120},"category":{"type":"string","maxLength":120},"score":{"type":"number","minimum":0,"maximum":100},"observedAt":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"incidents":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"host":{"type":"string","maxLength":253},"severity":{"type":"string","maxLength":40},"title":{"type":"string","maxLength":200},"detail":{"type":"string","maxLength":2000},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"publicDns":{"type":"object","properties":{"hostname":{"type":"string","minLength":1,"maxLength":253},"recordType":{"type":"string","enum":["A","AAAA","CNAME","MX","TXT","NS"]}},"required":["hostname"],"additionalProperties":false},"publicTls":{"type":"object","properties":{"host":{"type":"string","minLength":1,"maxLength":253}},"required":["host"],"additionalProperties":false},"asOf":{"type":"string","maxLength":40},"latencyAnomalyZ":{"type":"number","minimum":1,"maximum":10},"packetLossWarnPct":{"type":"number","minimum":0,"maximum":100},"expiryWarningDays":{"type":"number","minimum":0,"maximum":3650}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","packetLossWarnPct":1,"packetLossSamples":[{"id":"P1","pathId":"POP-A","at":"2026-11-04T20:00:00.000Z","sent":1000,"lost":2,"source":"Caller-supplied"},{"id":"P2","pathId":"POP-A","at":"2026-11-04T20:05:00.000Z","sent":1000,"lost":40,"source":"Caller-supplied"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"sampleCount":{"type":"number"},"elevatedCount":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"pathId":{"type":"string"},"host":{"type":"string"},"at":{"type":"string"},"sent":{"type":"number"},"lost":{"type":"number"},"lossPct":{"type":"number"},"lossPctSupplied":{"type":"boolean"},"elevated":{"type":"boolean"},"source":{"type":"string"},"privateNetworkScanned":{"type":"boolean"}},"additionalProperties":true}},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"paidReputationApiUsed":{"type":"boolean"},"privateNetworkScanned":{"type":"boolean"},"intrusiveScanPerformed":{"type":"boolean"},"publicDnsQueried":{"type":"boolean"},"publicTlsInspected":{"type":"boolean"},"findings":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"},"code":{"type":"string"},"subject":{"type":"string"},"detail":{"type":"string"}},"additionalProperties":true}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T21:00:00.000Z","status":"analyzed","sampleCount":2,"elevatedCount":1,"items":[{"id":"P1","pathId":"POP-A","host":"","at":"2026-11-04T20:00:00.000Z","sent":1000,"lost":2,"lossPct":0.2,"lossPctSupplied":true,"elevated":false,"source":"Caller-supplied","privateNetworkScanned":false},{"id":"P2","pathId":"POP-A","host":"","at":"2026-11-04T20:05:00.000Z","sent":1000,"lost":40,"lossPct":4,"lossPctSupplied":true,"elevated":true,"source":"Caller-supplied","privateNetworkScanned":false}],"paidProviderUsed":false,"apiKeyRequired":false,"paidReputationApiUsed":false,"privateNetworkScanned":false,"intrusiveScanPerformed":false,"publicDnsQueried":false,"publicTlsInspected":false,"findings":[{"kind":"conflict","code":"packet_loss_elevated","subject":"P2","detail":"Packet loss 4% is at or above warning threshold 1%."}],"limitations":["Network logs, latency/packet-loss samples, DNS answers, BGP routes, certificates, configs, reputation labels, and incidents are copied only from labeled fields supplied by the caller, or from optional key-free public DNS / public TLS port-443 inspection when explicitly requested.","Private, loopback, link-local, and documentation addresses are never contacted. Private networks are not scanned.","No intrusive security testing is performed and no paid reputation API is used.","IP reputation uses only caller-supplied labels/observations. Missing reputation data is not invented.","Infrastructure health reports aggregate only sections for which records were supplied or optionally fetched."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/api/v1/network-intelligence/dns-resolution-diagnose":{"post":{"operationId":"diagnose_dns_resolution","summary":"Diagnose DNS resolution","description":"Diagnose caller-supplied DNS answers against expected values, or optionally query key-free public DNS for a public hostname.","tags":["network-intelligence"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"csv":{"type":"string","maxLength":200000},"file":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false},"files":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false}},"logs":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"host":{"type":"string","maxLength":253},"facility":{"type":"string","maxLength":80},"severity":{"type":"string","maxLength":40},"message":{"type":"string","maxLength":4000},"sourceIp":{"type":"string","maxLength":80},"destinationIp":{"type":"string","maxLength":80},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"latencySamples":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"pathId":{"type":"string","maxLength":80},"host":{"type":"string","maxLength":253},"at":{"type":"string","maxLength":40},"latencyMs":{"type":"number","minimum":0,"maximum":1000000},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"packetLossSamples":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"pathId":{"type":"string","maxLength":80},"host":{"type":"string","maxLength":253},"at":{"type":"string","maxLength":40},"sent":{"type":"number","minimum":0,"maximum":1000000000},"lost":{"type":"number","minimum":0,"maximum":1000000000},"lossPct":{"type":"number","minimum":0,"maximum":100},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"dnsRecords":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"hostname":{"type":"string","maxLength":253},"recordType":{"type":"string","enum":["A","AAAA","CNAME","MX","TXT","NS","SOA"]},"answer":{"type":"string","maxLength":500},"resolver":{"type":"string","maxLength":80},"rcode":{"type":"string","maxLength":40},"latencyMs":{"type":"number","minimum":0,"maximum":1000000},"expectedAnswer":{"type":"string","maxLength":500},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"bgpRoutes":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"prefix":{"type":"string","maxLength":80},"peer":{"type":"string","maxLength":80},"asPath":{"type":"string","maxLength":500},"nextHop":{"type":"string","maxLength":80},"originAs":{"type":"string","maxLength":40},"at":{"type":"string","maxLength":40},"side":{"type":"string","enum":["before","after","left","right","a","b"]},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"certificates":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"host":{"type":"string","maxLength":253},"commonName":{"type":"string","maxLength":253},"issuer":{"type":"string","maxLength":200},"notBefore":{"type":"string","maxLength":40},"notAfter":{"type":"string","maxLength":40},"serialNumber":{"type":"string","maxLength":120},"fingerprintSha256":{"type":"string","maxLength":120},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"configs":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"deviceId":{"type":"string","maxLength":80},"path":{"type":"string","maxLength":200},"key":{"type":"string","maxLength":200},"value":{"type":"string","maxLength":4000},"side":{"type":"string","enum":["left","right","before","after","a","b"]},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"reputations":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"ip":{"type":"string","maxLength":80},"hostname":{"type":"string","maxLength":253},"listed":{"type":"boolean"},"listName":{"type":"string","maxLength":120},"category":{"type":"string","maxLength":120},"score":{"type":"number","minimum":0,"maximum":100},"observedAt":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"incidents":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"host":{"type":"string","maxLength":253},"severity":{"type":"string","maxLength":40},"title":{"type":"string","maxLength":200},"detail":{"type":"string","maxLength":2000},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"publicDns":{"type":"object","properties":{"hostname":{"type":"string","minLength":1,"maxLength":253},"recordType":{"type":"string","enum":["A","AAAA","CNAME","MX","TXT","NS"]}},"required":["hostname"],"additionalProperties":false},"publicTls":{"type":"object","properties":{"host":{"type":"string","minLength":1,"maxLength":253}},"required":["host"],"additionalProperties":false},"asOf":{"type":"string","maxLength":40},"latencyAnomalyZ":{"type":"number","minimum":1,"maximum":10},"packetLossWarnPct":{"type":"number","minimum":0,"maximum":100},"expiryWarningDays":{"type":"number","minimum":0,"maximum":3650}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","dnsRecords":[{"id":"D1","hostname":"www.example.com","recordType":"A","answer":"93.184.216.34","expectedAnswer":"93.184.216.34","rcode":"NOERROR","latencyMs":12,"source":"Caller-supplied resolver log"},{"id":"D2","hostname":"api.example.com","recordType":"A","answer":"203.0.113.9","expectedAnswer":"198.51.100.9","rcode":"NOERROR","source":"Caller-supplied resolver log"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"recordCount":{"type":"number"},"unhealthyCount":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"hostname":{"type":"string"},"recordType":{"type":"string"},"answer":{"type":"string"},"expectedAnswer":{"type":"string"},"resolver":{"type":"string"},"rcode":{"type":"string"},"latencyMs":{"type":"number"},"latencyMsSupplied":{"type":"boolean"},"issues":{"type":"array","items":{}},"healthy":{"type":"boolean"},"source":{"type":"string"},"privateNetworkScanned":{"type":"boolean"}},"additionalProperties":true}},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"paidReputationApiUsed":{"type":"boolean"},"privateNetworkScanned":{"type":"boolean"},"intrusiveScanPerformed":{"type":"boolean"},"publicDnsQueried":{"type":"boolean"},"publicTlsInspected":{"type":"boolean"},"findings":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"},"code":{"type":"string"},"subject":{"type":"string"},"detail":{"type":"string"}},"additionalProperties":true}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T21:00:00.000Z","status":"diagnosed","recordCount":2,"unhealthyCount":1,"items":[{"id":"D1","hostname":"www.example.com","recordType":"A","answer":"93.184.216.34","expectedAnswer":"93.184.216.34","resolver":"","rcode":"NOERROR","latencyMs":12,"latencyMsSupplied":true,"issues":[],"healthy":true,"source":"Caller-supplied resolver log","privateNetworkScanned":false},{"id":"D2","hostname":"api.example.com","recordType":"A","answer":"203.0.113.9","expectedAnswer":"198.51.100.9","resolver":"","rcode":"NOERROR","latencyMs":0,"latencyMsSupplied":false,"issues":["answer_mismatch"],"healthy":false,"source":"Caller-supplied resolver log","privateNetworkScanned":false}],"paidProviderUsed":false,"apiKeyRequired":false,"paidReputationApiUsed":false,"privateNetworkScanned":false,"intrusiveScanPerformed":false,"publicDnsQueried":false,"publicTlsInspected":false,"findings":[{"kind":"conflict","code":"dns_mismatch","subject":"D2","detail":"DNS answer \"203.0.113.9\" does not match expected \"198.51.100.9\"."}],"limitations":["Network logs, latency/packet-loss samples, DNS answers, BGP routes, certificates, configs, reputation labels, and incidents are copied only from labeled fields supplied by the caller, or from optional key-free public DNS / public TLS port-443 inspection when explicitly requested.","Private, loopback, link-local, and documentation addresses are never contacted. Private networks are not scanned.","No intrusive security testing is performed and no paid reputation API is used.","IP reputation uses only caller-supplied labels/observations. Missing reputation data is not invented.","Infrastructure health reports aggregate only sections for which records were supplied or optionally fetched."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/api/v1/network-intelligence/bgp-route-change-analyze":{"post":{"operationId":"analyze_bgp_route_changes","summary":"Analyze BGP route changes","description":"Compare before/after BGP route rows for AS-path, next-hop, and origin changes from caller-supplied tables.","tags":["network-intelligence"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"csv":{"type":"string","maxLength":200000},"file":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false},"files":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false}},"logs":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"host":{"type":"string","maxLength":253},"facility":{"type":"string","maxLength":80},"severity":{"type":"string","maxLength":40},"message":{"type":"string","maxLength":4000},"sourceIp":{"type":"string","maxLength":80},"destinationIp":{"type":"string","maxLength":80},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"latencySamples":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"pathId":{"type":"string","maxLength":80},"host":{"type":"string","maxLength":253},"at":{"type":"string","maxLength":40},"latencyMs":{"type":"number","minimum":0,"maximum":1000000},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"packetLossSamples":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"pathId":{"type":"string","maxLength":80},"host":{"type":"string","maxLength":253},"at":{"type":"string","maxLength":40},"sent":{"type":"number","minimum":0,"maximum":1000000000},"lost":{"type":"number","minimum":0,"maximum":1000000000},"lossPct":{"type":"number","minimum":0,"maximum":100},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"dnsRecords":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"hostname":{"type":"string","maxLength":253},"recordType":{"type":"string","enum":["A","AAAA","CNAME","MX","TXT","NS","SOA"]},"answer":{"type":"string","maxLength":500},"resolver":{"type":"string","maxLength":80},"rcode":{"type":"string","maxLength":40},"latencyMs":{"type":"number","minimum":0,"maximum":1000000},"expectedAnswer":{"type":"string","maxLength":500},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"bgpRoutes":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"prefix":{"type":"string","maxLength":80},"peer":{"type":"string","maxLength":80},"asPath":{"type":"string","maxLength":500},"nextHop":{"type":"string","maxLength":80},"originAs":{"type":"string","maxLength":40},"at":{"type":"string","maxLength":40},"side":{"type":"string","enum":["before","after","left","right","a","b"]},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"certificates":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"host":{"type":"string","maxLength":253},"commonName":{"type":"string","maxLength":253},"issuer":{"type":"string","maxLength":200},"notBefore":{"type":"string","maxLength":40},"notAfter":{"type":"string","maxLength":40},"serialNumber":{"type":"string","maxLength":120},"fingerprintSha256":{"type":"string","maxLength":120},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"configs":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"deviceId":{"type":"string","maxLength":80},"path":{"type":"string","maxLength":200},"key":{"type":"string","maxLength":200},"value":{"type":"string","maxLength":4000},"side":{"type":"string","enum":["left","right","before","after","a","b"]},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"reputations":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"ip":{"type":"string","maxLength":80},"hostname":{"type":"string","maxLength":253},"listed":{"type":"boolean"},"listName":{"type":"string","maxLength":120},"category":{"type":"string","maxLength":120},"score":{"type":"number","minimum":0,"maximum":100},"observedAt":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"incidents":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"host":{"type":"string","maxLength":253},"severity":{"type":"string","maxLength":40},"title":{"type":"string","maxLength":200},"detail":{"type":"string","maxLength":2000},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"publicDns":{"type":"object","properties":{"hostname":{"type":"string","minLength":1,"maxLength":253},"recordType":{"type":"string","enum":["A","AAAA","CNAME","MX","TXT","NS"]}},"required":["hostname"],"additionalProperties":false},"publicTls":{"type":"object","properties":{"host":{"type":"string","minLength":1,"maxLength":253}},"required":["host"],"additionalProperties":false},"asOf":{"type":"string","maxLength":40},"latencyAnomalyZ":{"type":"number","minimum":1,"maximum":10},"packetLossWarnPct":{"type":"number","minimum":0,"maximum":100},"expiryWarningDays":{"type":"number","minimum":0,"maximum":3650}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","bgpRoutes":[{"id":"B1","prefix":"203.0.113.0/24","peer":"64500","asPath":"64500 64501","nextHop":"198.51.100.1","originAs":"64501","side":"before","source":"Caller-supplied RIB"},{"id":"B2","prefix":"203.0.113.0/24","peer":"64500","asPath":"64500 64502 64501","nextHop":"198.51.100.2","originAs":"64501","side":"after","source":"Caller-supplied RIB"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"routeCount":{"type":"number"},"changedCount":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"beforeId":{"type":"string"},"afterId":{"type":"string"},"prefix":{"type":"string"},"peer":{"type":"string"},"beforeAsPath":{"type":"string"},"afterAsPath":{"type":"string"},"beforeNextHop":{"type":"string"},"afterNextHop":{"type":"string"},"changes":{"type":"array","items":{"type":"string"}},"changed":{"type":"boolean"},"source":{"type":"string"},"privateNetworkScanned":{"type":"boolean"}},"additionalProperties":true}},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"paidReputationApiUsed":{"type":"boolean"},"privateNetworkScanned":{"type":"boolean"},"intrusiveScanPerformed":{"type":"boolean"},"publicDnsQueried":{"type":"boolean"},"publicTlsInspected":{"type":"boolean"},"findings":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"},"code":{"type":"string"},"subject":{"type":"string"},"detail":{"type":"string"}},"additionalProperties":true}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T21:00:00.000Z","status":"analyzed","routeCount":1,"changedCount":1,"items":[{"key":"203_0_113_0_24_64500","beforeId":"B1","afterId":"B2","prefix":"203.0.113.0/24","peer":"64500","beforeAsPath":"64500 64501","afterAsPath":"64500 64502 64501","beforeNextHop":"198.51.100.1","afterNextHop":"198.51.100.2","changes":["as_path","next_hop"],"changed":true,"source":"Caller-supplied RIB; Caller-supplied RIB","privateNetworkScanned":false}],"paidProviderUsed":false,"apiKeyRequired":false,"paidReputationApiUsed":false,"privateNetworkScanned":false,"intrusiveScanPerformed":false,"publicDnsQueried":false,"publicTlsInspected":false,"findings":[{"kind":"conflict","code":"bgp_change","subject":"B1","detail":"BGP route changes: as_path, next_hop."}],"limitations":["Network logs, latency/packet-loss samples, DNS answers, BGP routes, certificates, configs, reputation labels, and incidents are copied only from labeled fields supplied by the caller, or from optional key-free public DNS / public TLS port-443 inspection when explicitly requested.","Private, loopback, link-local, and documentation addresses are never contacted. Private networks are not scanned.","No intrusive security testing is performed and no paid reputation API is used.","IP reputation uses only caller-supplied labels/observations. Missing reputation data is not invented.","Infrastructure health reports aggregate only sections for which records were supplied or optionally fetched."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.04"},"protocols":[{"x402":{}}]}}},"/api/v1/network-intelligence/certificate-expiry-inventory":{"post":{"operationId":"inventory_tls_certificate_expiry","summary":"Inventory TLS certificate expiry","description":"Inventory caller-supplied TLS certificate expiry dates, or optionally inspect a public hostname on port 443 only.","tags":["network-intelligence"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"csv":{"type":"string","maxLength":200000},"file":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false},"files":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false}},"logs":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"host":{"type":"string","maxLength":253},"facility":{"type":"string","maxLength":80},"severity":{"type":"string","maxLength":40},"message":{"type":"string","maxLength":4000},"sourceIp":{"type":"string","maxLength":80},"destinationIp":{"type":"string","maxLength":80},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"latencySamples":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"pathId":{"type":"string","maxLength":80},"host":{"type":"string","maxLength":253},"at":{"type":"string","maxLength":40},"latencyMs":{"type":"number","minimum":0,"maximum":1000000},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"packetLossSamples":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"pathId":{"type":"string","maxLength":80},"host":{"type":"string","maxLength":253},"at":{"type":"string","maxLength":40},"sent":{"type":"number","minimum":0,"maximum":1000000000},"lost":{"type":"number","minimum":0,"maximum":1000000000},"lossPct":{"type":"number","minimum":0,"maximum":100},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"dnsRecords":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"hostname":{"type":"string","maxLength":253},"recordType":{"type":"string","enum":["A","AAAA","CNAME","MX","TXT","NS","SOA"]},"answer":{"type":"string","maxLength":500},"resolver":{"type":"string","maxLength":80},"rcode":{"type":"string","maxLength":40},"latencyMs":{"type":"number","minimum":0,"maximum":1000000},"expectedAnswer":{"type":"string","maxLength":500},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"bgpRoutes":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"prefix":{"type":"string","maxLength":80},"peer":{"type":"string","maxLength":80},"asPath":{"type":"string","maxLength":500},"nextHop":{"type":"string","maxLength":80},"originAs":{"type":"string","maxLength":40},"at":{"type":"string","maxLength":40},"side":{"type":"string","enum":["before","after","left","right","a","b"]},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"certificates":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"host":{"type":"string","maxLength":253},"commonName":{"type":"string","maxLength":253},"issuer":{"type":"string","maxLength":200},"notBefore":{"type":"string","maxLength":40},"notAfter":{"type":"string","maxLength":40},"serialNumber":{"type":"string","maxLength":120},"fingerprintSha256":{"type":"string","maxLength":120},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"configs":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"deviceId":{"type":"string","maxLength":80},"path":{"type":"string","maxLength":200},"key":{"type":"string","maxLength":200},"value":{"type":"string","maxLength":4000},"side":{"type":"string","enum":["left","right","before","after","a","b"]},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"reputations":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"ip":{"type":"string","maxLength":80},"hostname":{"type":"string","maxLength":253},"listed":{"type":"boolean"},"listName":{"type":"string","maxLength":120},"category":{"type":"string","maxLength":120},"score":{"type":"number","minimum":0,"maximum":100},"observedAt":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"incidents":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"host":{"type":"string","maxLength":253},"severity":{"type":"string","maxLength":40},"title":{"type":"string","maxLength":200},"detail":{"type":"string","maxLength":2000},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"publicDns":{"type":"object","properties":{"hostname":{"type":"string","minLength":1,"maxLength":253},"recordType":{"type":"string","enum":["A","AAAA","CNAME","MX","TXT","NS"]}},"required":["hostname"],"additionalProperties":false},"publicTls":{"type":"object","properties":{"host":{"type":"string","minLength":1,"maxLength":253}},"required":["host"],"additionalProperties":false},"asOf":{"type":"string","maxLength":40},"latencyAnomalyZ":{"type":"number","minimum":1,"maximum":10},"packetLossWarnPct":{"type":"number","minimum":0,"maximum":100},"expiryWarningDays":{"type":"number","minimum":0,"maximum":3650}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","expiryWarningDays":30,"certificates":[{"id":"C1","host":"www.example.com","commonName":"www.example.com","issuer":"Example CA","notBefore":"2025-01-01T00:00:00.000Z","notAfter":"2026-12-01T00:00:00.000Z","source":"Caller-supplied inventory"},{"id":"C2","host":"legacy.example.com","commonName":"legacy.example.com","issuer":"Example CA","notBefore":"2024-01-01T00:00:00.000Z","notAfter":"2026-10-15T00:00:00.000Z","source":"Caller-supplied inventory"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"certificateCount":{"type":"number"},"expiredCount":{"type":"number"},"expiringSoonCount":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"host":{"type":"string"},"commonName":{"type":"string"},"issuer":{"type":"string"},"notBefore":{"type":"string"},"notAfter":{"type":"string"},"daysRemaining":{"type":"number"},"daysRemainingSupplied":{"type":"boolean"},"status":{"type":"string"},"serialNumber":{"type":"string"},"fingerprintSha256":{"type":"string"},"source":{"type":"string"},"privateNetworkScanned":{"type":"boolean"}},"additionalProperties":true}},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"paidReputationApiUsed":{"type":"boolean"},"privateNetworkScanned":{"type":"boolean"},"intrusiveScanPerformed":{"type":"boolean"},"publicDnsQueried":{"type":"boolean"},"publicTlsInspected":{"type":"boolean"},"findings":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"},"code":{"type":"string"},"subject":{"type":"string"},"detail":{"type":"string"}},"additionalProperties":true}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T21:00:00.000Z","status":"inventoried","certificateCount":2,"expiredCount":1,"expiringSoonCount":1,"items":[{"id":"C1","host":"www.example.com","commonName":"www.example.com","issuer":"Example CA","notBefore":"2025-01-01T00:00:00.000Z","notAfter":"2026-12-01T00:00:00.000Z","daysRemaining":26.125,"daysRemainingSupplied":true,"status":"expiring_soon","serialNumber":"","fingerprintSha256":"","source":"Caller-supplied inventory","privateNetworkScanned":false},{"id":"C2","host":"legacy.example.com","commonName":"legacy.example.com","issuer":"Example CA","notBefore":"2024-01-01T00:00:00.000Z","notAfter":"2026-10-15T00:00:00.000Z","daysRemaining":-20.875,"daysRemainingSupplied":true,"status":"expired","serialNumber":"","fingerprintSha256":"","source":"Caller-supplied inventory","privateNetworkScanned":false}],"paidProviderUsed":false,"apiKeyRequired":false,"paidReputationApiUsed":false,"privateNetworkScanned":false,"intrusiveScanPerformed":false,"publicDnsQueried":false,"publicTlsInspected":false,"findings":[{"kind":"conflict","code":"cert_status","subject":"C1","detail":"Certificate is expiring_soon (26.125 days from asOf)."},{"kind":"conflict","code":"cert_status","subject":"C2","detail":"Certificate is expired (-20.875 days from asOf)."}],"limitations":["Network logs, latency/packet-loss samples, DNS answers, BGP routes, certificates, configs, reputation labels, and incidents are copied only from labeled fields supplied by the caller, or from optional key-free public DNS / public TLS port-443 inspection when explicitly requested.","Private, loopback, link-local, and documentation addresses are never contacted. Private networks are not scanned.","No intrusive security testing is performed and no paid reputation API is used.","IP reputation uses only caller-supplied labels/observations. Missing reputation data is not invented.","Infrastructure health reports aggregate only sections for which records were supplied or optionally fetched."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/api/v1/network-intelligence/configuration-diff":{"post":{"operationId":"diff_network_configurations","summary":"Diff network configurations","description":"Diff left/right or before/after network configuration key/value rows from caller-supplied exports.","tags":["network-intelligence"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"csv":{"type":"string","maxLength":200000},"file":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false},"files":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false}},"logs":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"host":{"type":"string","maxLength":253},"facility":{"type":"string","maxLength":80},"severity":{"type":"string","maxLength":40},"message":{"type":"string","maxLength":4000},"sourceIp":{"type":"string","maxLength":80},"destinationIp":{"type":"string","maxLength":80},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"latencySamples":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"pathId":{"type":"string","maxLength":80},"host":{"type":"string","maxLength":253},"at":{"type":"string","maxLength":40},"latencyMs":{"type":"number","minimum":0,"maximum":1000000},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"packetLossSamples":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"pathId":{"type":"string","maxLength":80},"host":{"type":"string","maxLength":253},"at":{"type":"string","maxLength":40},"sent":{"type":"number","minimum":0,"maximum":1000000000},"lost":{"type":"number","minimum":0,"maximum":1000000000},"lossPct":{"type":"number","minimum":0,"maximum":100},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"dnsRecords":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"hostname":{"type":"string","maxLength":253},"recordType":{"type":"string","enum":["A","AAAA","CNAME","MX","TXT","NS","SOA"]},"answer":{"type":"string","maxLength":500},"resolver":{"type":"string","maxLength":80},"rcode":{"type":"string","maxLength":40},"latencyMs":{"type":"number","minimum":0,"maximum":1000000},"expectedAnswer":{"type":"string","maxLength":500},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"bgpRoutes":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"prefix":{"type":"string","maxLength":80},"peer":{"type":"string","maxLength":80},"asPath":{"type":"string","maxLength":500},"nextHop":{"type":"string","maxLength":80},"originAs":{"type":"string","maxLength":40},"at":{"type":"string","maxLength":40},"side":{"type":"string","enum":["before","after","left","right","a","b"]},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"certificates":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"host":{"type":"string","maxLength":253},"commonName":{"type":"string","maxLength":253},"issuer":{"type":"string","maxLength":200},"notBefore":{"type":"string","maxLength":40},"notAfter":{"type":"string","maxLength":40},"serialNumber":{"type":"string","maxLength":120},"fingerprintSha256":{"type":"string","maxLength":120},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"configs":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"deviceId":{"type":"string","maxLength":80},"path":{"type":"string","maxLength":200},"key":{"type":"string","maxLength":200},"value":{"type":"string","maxLength":4000},"side":{"type":"string","enum":["left","right","before","after","a","b"]},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"reputations":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"ip":{"type":"string","maxLength":80},"hostname":{"type":"string","maxLength":253},"listed":{"type":"boolean"},"listName":{"type":"string","maxLength":120},"category":{"type":"string","maxLength":120},"score":{"type":"number","minimum":0,"maximum":100},"observedAt":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"incidents":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"host":{"type":"string","maxLength":253},"severity":{"type":"string","maxLength":40},"title":{"type":"string","maxLength":200},"detail":{"type":"string","maxLength":2000},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"publicDns":{"type":"object","properties":{"hostname":{"type":"string","minLength":1,"maxLength":253},"recordType":{"type":"string","enum":["A","AAAA","CNAME","MX","TXT","NS"]}},"required":["hostname"],"additionalProperties":false},"publicTls":{"type":"object","properties":{"host":{"type":"string","minLength":1,"maxLength":253}},"required":["host"],"additionalProperties":false},"asOf":{"type":"string","maxLength":40},"latencyAnomalyZ":{"type":"number","minimum":1,"maximum":10},"packetLossWarnPct":{"type":"number","minimum":0,"maximum":100},"expiryWarningDays":{"type":"number","minimum":0,"maximum":3650}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","configs":[{"id":"K1","deviceId":"edge-1","path":"interfaces/eth0","key":"mtu","value":"1500","side":"before","source":"Caller-supplied"},{"id":"K2","deviceId":"edge-1","path":"interfaces/eth0","key":"mtu","value":"9000","side":"after","source":"Caller-supplied"},{"id":"K3","deviceId":"edge-1","path":"bgp","key":"local-as","value":"64500","side":"before","source":"Caller-supplied"},{"id":"K4","deviceId":"edge-1","path":"bgp","key":"local-as","value":"64500","side":"after","source":"Caller-supplied"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"pairCount":{"type":"number"},"changedCount":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"leftId":{"type":"string"},"rightId":{"type":"string"},"deviceId":{"type":"string"},"path":{"type":"string"},"configKey":{"type":"string"},"leftValue":{"type":"string"},"rightValue":{"type":"string"},"changed":{"type":"boolean"},"source":{"type":"string"},"privateNetworkScanned":{"type":"boolean"}},"additionalProperties":true}},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"paidReputationApiUsed":{"type":"boolean"},"privateNetworkScanned":{"type":"boolean"},"intrusiveScanPerformed":{"type":"boolean"},"publicDnsQueried":{"type":"boolean"},"publicTlsInspected":{"type":"boolean"},"findings":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"},"code":{"type":"string"},"subject":{"type":"string"},"detail":{"type":"string"}},"additionalProperties":true}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T21:00:00.000Z","status":"diffed","pairCount":2,"changedCount":1,"items":[{"key":"edge_1_interfaces_eth0_mtu","leftId":"K1","rightId":"K2","deviceId":"edge-1","path":"interfaces/eth0","configKey":"mtu","leftValue":"1500","rightValue":"9000","changed":true,"source":"Caller-supplied; Caller-supplied","privateNetworkScanned":false},{"key":"edge_1_bgp_local_as","leftId":"K3","rightId":"K4","deviceId":"edge-1","path":"bgp","configKey":"local-as","leftValue":"64500","rightValue":"64500","changed":false,"source":"Caller-supplied; Caller-supplied","privateNetworkScanned":false}],"paidProviderUsed":false,"apiKeyRequired":false,"paidReputationApiUsed":false,"privateNetworkScanned":false,"intrusiveScanPerformed":false,"publicDnsQueried":false,"publicTlsInspected":false,"findings":[{"kind":"conflict","code":"config_changed","subject":"K1","detail":"Configuration value changed for mtu."}],"limitations":["Network logs, latency/packet-loss samples, DNS answers, BGP routes, certificates, configs, reputation labels, and incidents are copied only from labeled fields supplied by the caller, or from optional key-free public DNS / public TLS port-443 inspection when explicitly requested.","Private, loopback, link-local, and documentation addresses are never contacted. Private networks are not scanned.","No intrusive security testing is performed and no paid reputation API is used.","IP reputation uses only caller-supplied labels/observations. Missing reputation data is not invented.","Infrastructure health reports aggregate only sections for which records were supplied or optionally fetched."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/api/v1/network-intelligence/ip-address-reputation-check":{"post":{"operationId":"check_ip_address_reputation","summary":"Check IP address reputation","description":"Check caller-supplied IP reputation labels/scores only. No paid reputation API is used and private networks are not scanned.","tags":["network-intelligence"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"csv":{"type":"string","maxLength":200000},"file":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false},"files":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false}},"logs":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"host":{"type":"string","maxLength":253},"facility":{"type":"string","maxLength":80},"severity":{"type":"string","maxLength":40},"message":{"type":"string","maxLength":4000},"sourceIp":{"type":"string","maxLength":80},"destinationIp":{"type":"string","maxLength":80},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"latencySamples":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"pathId":{"type":"string","maxLength":80},"host":{"type":"string","maxLength":253},"at":{"type":"string","maxLength":40},"latencyMs":{"type":"number","minimum":0,"maximum":1000000},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"packetLossSamples":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"pathId":{"type":"string","maxLength":80},"host":{"type":"string","maxLength":253},"at":{"type":"string","maxLength":40},"sent":{"type":"number","minimum":0,"maximum":1000000000},"lost":{"type":"number","minimum":0,"maximum":1000000000},"lossPct":{"type":"number","minimum":0,"maximum":100},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"dnsRecords":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"hostname":{"type":"string","maxLength":253},"recordType":{"type":"string","enum":["A","AAAA","CNAME","MX","TXT","NS","SOA"]},"answer":{"type":"string","maxLength":500},"resolver":{"type":"string","maxLength":80},"rcode":{"type":"string","maxLength":40},"latencyMs":{"type":"number","minimum":0,"maximum":1000000},"expectedAnswer":{"type":"string","maxLength":500},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"bgpRoutes":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"prefix":{"type":"string","maxLength":80},"peer":{"type":"string","maxLength":80},"asPath":{"type":"string","maxLength":500},"nextHop":{"type":"string","maxLength":80},"originAs":{"type":"string","maxLength":40},"at":{"type":"string","maxLength":40},"side":{"type":"string","enum":["before","after","left","right","a","b"]},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"certificates":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"host":{"type":"string","maxLength":253},"commonName":{"type":"string","maxLength":253},"issuer":{"type":"string","maxLength":200},"notBefore":{"type":"string","maxLength":40},"notAfter":{"type":"string","maxLength":40},"serialNumber":{"type":"string","maxLength":120},"fingerprintSha256":{"type":"string","maxLength":120},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"configs":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"deviceId":{"type":"string","maxLength":80},"path":{"type":"string","maxLength":200},"key":{"type":"string","maxLength":200},"value":{"type":"string","maxLength":4000},"side":{"type":"string","enum":["left","right","before","after","a","b"]},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"reputations":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"ip":{"type":"string","maxLength":80},"hostname":{"type":"string","maxLength":253},"listed":{"type":"boolean"},"listName":{"type":"string","maxLength":120},"category":{"type":"string","maxLength":120},"score":{"type":"number","minimum":0,"maximum":100},"observedAt":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"incidents":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"host":{"type":"string","maxLength":253},"severity":{"type":"string","maxLength":40},"title":{"type":"string","maxLength":200},"detail":{"type":"string","maxLength":2000},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"publicDns":{"type":"object","properties":{"hostname":{"type":"string","minLength":1,"maxLength":253},"recordType":{"type":"string","enum":["A","AAAA","CNAME","MX","TXT","NS"]}},"required":["hostname"],"additionalProperties":false},"publicTls":{"type":"object","properties":{"host":{"type":"string","minLength":1,"maxLength":253}},"required":["host"],"additionalProperties":false},"asOf":{"type":"string","maxLength":40},"latencyAnomalyZ":{"type":"number","minimum":1,"maximum":10},"packetLossWarnPct":{"type":"number","minimum":0,"maximum":100},"expiryWarningDays":{"type":"number","minimum":0,"maximum":3650}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","reputations":[{"id":"R1","ip":"198.51.100.50","listed":false,"listName":"Caller blocklist export","score":10,"observedAt":"2026-11-04T12:00:00.000Z","source":"Caller-supplied"},{"id":"R2","ip":"203.0.113.77","listed":true,"listName":"Caller blocklist export","category":"spam","score":85,"observedAt":"2026-11-04T12:00:00.000Z","source":"Caller-supplied"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"subjectCount":{"type":"number"},"riskyCount":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"ip":{"type":"string"},"hostname":{"type":"string"},"listed":{"type":"boolean"},"listedSupplied":{"type":"boolean"},"listName":{"type":"string"},"category":{"type":"string"},"score":{"type":"number"},"scoreSupplied":{"type":"boolean"},"observedAt":{"type":"string"},"risky":{"type":"boolean"},"source":{"type":"string"},"paidReputationApiUsed":{"type":"boolean"},"privateNetworkScanned":{"type":"boolean"}},"additionalProperties":true}},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"paidReputationApiUsed":{"type":"boolean"},"privateNetworkScanned":{"type":"boolean"},"intrusiveScanPerformed":{"type":"boolean"},"publicDnsQueried":{"type":"boolean"},"publicTlsInspected":{"type":"boolean"},"findings":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"},"code":{"type":"string"},"subject":{"type":"string"},"detail":{"type":"string"}},"additionalProperties":true}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T21:00:00.000Z","status":"checked","subjectCount":2,"riskyCount":1,"items":[{"id":"R1","ip":"198.51.100.50","hostname":"","listed":false,"listedSupplied":true,"listName":"Caller blocklist export","category":"","score":10,"scoreSupplied":true,"observedAt":"2026-11-04T12:00:00.000Z","risky":false,"source":"Caller-supplied","paidReputationApiUsed":false,"privateNetworkScanned":false},{"id":"R2","ip":"203.0.113.77","hostname":"","listed":true,"listedSupplied":true,"listName":"Caller blocklist export","category":"spam","score":85,"scoreSupplied":true,"observedAt":"2026-11-04T12:00:00.000Z","risky":true,"source":"Caller-supplied","paidReputationApiUsed":false,"privateNetworkScanned":false}],"paidProviderUsed":false,"apiKeyRequired":false,"paidReputationApiUsed":false,"privateNetworkScanned":false,"intrusiveScanPerformed":false,"publicDnsQueried":false,"publicTlsInspected":false,"findings":[{"kind":"observation","code":"private_reputation_ip","subject":"R1","detail":"IP is private/special; retained from caller data only and not queried against any reputation service."},{"kind":"observation","code":"private_reputation_ip","subject":"R2","detail":"IP is private/special; retained from caller data only and not queried against any reputation service."},{"kind":"conflict","code":"reputation_listed","subject":"R2","detail":"Caller-supplied reputation signal indicates risk (listed=true, score=85)."}],"limitations":["Network logs, latency/packet-loss samples, DNS answers, BGP routes, certificates, configs, reputation labels, and incidents are copied only from labeled fields supplied by the caller, or from optional key-free public DNS / public TLS port-443 inspection when explicitly requested.","Private, loopback, link-local, and documentation addresses are never contacted. Private networks are not scanned.","No intrusive security testing is performed and no paid reputation API is used.","IP reputation uses only caller-supplied labels/observations. Missing reputation data is not invented.","Infrastructure health reports aggregate only sections for which records were supplied or optionally fetched."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/api/v1/network-intelligence/incident-timeline-build":{"post":{"operationId":"build_network_incident_timeline","summary":"Build network incident timeline","description":"Build a chronological timeline from caller-supplied incidents and severe log events.","tags":["network-intelligence"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"csv":{"type":"string","maxLength":200000},"file":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false},"files":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false}},"logs":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"host":{"type":"string","maxLength":253},"facility":{"type":"string","maxLength":80},"severity":{"type":"string","maxLength":40},"message":{"type":"string","maxLength":4000},"sourceIp":{"type":"string","maxLength":80},"destinationIp":{"type":"string","maxLength":80},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"latencySamples":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"pathId":{"type":"string","maxLength":80},"host":{"type":"string","maxLength":253},"at":{"type":"string","maxLength":40},"latencyMs":{"type":"number","minimum":0,"maximum":1000000},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"packetLossSamples":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"pathId":{"type":"string","maxLength":80},"host":{"type":"string","maxLength":253},"at":{"type":"string","maxLength":40},"sent":{"type":"number","minimum":0,"maximum":1000000000},"lost":{"type":"number","minimum":0,"maximum":1000000000},"lossPct":{"type":"number","minimum":0,"maximum":100},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"dnsRecords":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"hostname":{"type":"string","maxLength":253},"recordType":{"type":"string","enum":["A","AAAA","CNAME","MX","TXT","NS","SOA"]},"answer":{"type":"string","maxLength":500},"resolver":{"type":"string","maxLength":80},"rcode":{"type":"string","maxLength":40},"latencyMs":{"type":"number","minimum":0,"maximum":1000000},"expectedAnswer":{"type":"string","maxLength":500},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"bgpRoutes":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"prefix":{"type":"string","maxLength":80},"peer":{"type":"string","maxLength":80},"asPath":{"type":"string","maxLength":500},"nextHop":{"type":"string","maxLength":80},"originAs":{"type":"string","maxLength":40},"at":{"type":"string","maxLength":40},"side":{"type":"string","enum":["before","after","left","right","a","b"]},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"certificates":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"host":{"type":"string","maxLength":253},"commonName":{"type":"string","maxLength":253},"issuer":{"type":"string","maxLength":200},"notBefore":{"type":"string","maxLength":40},"notAfter":{"type":"string","maxLength":40},"serialNumber":{"type":"string","maxLength":120},"fingerprintSha256":{"type":"string","maxLength":120},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"configs":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"deviceId":{"type":"string","maxLength":80},"path":{"type":"string","maxLength":200},"key":{"type":"string","maxLength":200},"value":{"type":"string","maxLength":4000},"side":{"type":"string","enum":["left","right","before","after","a","b"]},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"reputations":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"ip":{"type":"string","maxLength":80},"hostname":{"type":"string","maxLength":253},"listed":{"type":"boolean"},"listName":{"type":"string","maxLength":120},"category":{"type":"string","maxLength":120},"score":{"type":"number","minimum":0,"maximum":100},"observedAt":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"incidents":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"host":{"type":"string","maxLength":253},"severity":{"type":"string","maxLength":40},"title":{"type":"string","maxLength":200},"detail":{"type":"string","maxLength":2000},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"publicDns":{"type":"object","properties":{"hostname":{"type":"string","minLength":1,"maxLength":253},"recordType":{"type":"string","enum":["A","AAAA","CNAME","MX","TXT","NS"]}},"required":["hostname"],"additionalProperties":false},"publicTls":{"type":"object","properties":{"host":{"type":"string","minLength":1,"maxLength":253}},"required":["host"],"additionalProperties":false},"asOf":{"type":"string","maxLength":40},"latencyAnomalyZ":{"type":"number","minimum":1,"maximum":10},"packetLossWarnPct":{"type":"number","minimum":0,"maximum":100},"expiryWarningDays":{"type":"number","minimum":0,"maximum":3650}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","incidents":[{"id":"I1","at":"2026-11-04T19:55:00.000Z","host":"edge-1","severity":"major","title":"Packet loss spike","detail":"Loss exceeded 5%","source":"Caller-supplied NOC"},{"id":"I2","at":"2026-11-04T20:10:00.000Z","host":"edge-1","severity":"minor","title":"Recovered","detail":"Loss returned to baseline","source":"Caller-supplied NOC"}],"logs":[{"id":"L1","at":"2026-11-04T20:00:00.000Z","host":"edge-1","severity":"error","message":"interface flap","source":"Caller-supplied syslog"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"eventCount":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"at":{"type":"string"},"kind":{"type":"string"},"host":{"type":"string"},"severity":{"type":"string"},"title":{"type":"string"},"detail":{"type":"string"},"source":{"type":"string"},"privateNetworkScanned":{"type":"boolean"}},"additionalProperties":true}},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"paidReputationApiUsed":{"type":"boolean"},"privateNetworkScanned":{"type":"boolean"},"intrusiveScanPerformed":{"type":"boolean"},"publicDnsQueried":{"type":"boolean"},"publicTlsInspected":{"type":"boolean"},"findings":{"type":"array","items":{}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T21:00:00.000Z","status":"built","eventCount":3,"items":[{"id":"I1","at":"2026-11-04T19:55:00.000Z","kind":"incident","host":"edge-1","severity":"major","title":"Packet loss spike","detail":"Loss exceeded 5%","source":"Caller-supplied NOC","privateNetworkScanned":false},{"id":"L1","at":"2026-11-04T20:00:00.000Z","kind":"log","host":"edge-1","severity":"error","title":"interface flap","detail":"interface flap","source":"Caller-supplied syslog","privateNetworkScanned":false},{"id":"I2","at":"2026-11-04T20:10:00.000Z","kind":"incident","host":"edge-1","severity":"minor","title":"Recovered","detail":"Loss returned to baseline","source":"Caller-supplied NOC","privateNetworkScanned":false}],"paidProviderUsed":false,"apiKeyRequired":false,"paidReputationApiUsed":false,"privateNetworkScanned":false,"intrusiveScanPerformed":false,"publicDnsQueried":false,"publicTlsInspected":false,"findings":[],"limitations":["Network logs, latency/packet-loss samples, DNS answers, BGP routes, certificates, configs, reputation labels, and incidents are copied only from labeled fields supplied by the caller, or from optional key-free public DNS / public TLS port-443 inspection when explicitly requested.","Private, loopback, link-local, and documentation addresses are never contacted. Private networks are not scanned.","No intrusive security testing is performed and no paid reputation API is used.","IP reputation uses only caller-supplied labels/observations. Missing reputation data is not invented.","Infrastructure health reports aggregate only sections for which records were supplied or optionally fetched."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/api/v1/network-intelligence/infrastructure-health-report":{"post":{"operationId":"build_network_infrastructure_health_report","summary":"Build network infrastructure health report","description":"Aggregate log, latency, packet-loss, DNS, BGP, certificate, configuration, reputation, and incident sections from caller-supplied network records.","tags":["network-intelligence"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"csv":{"type":"string","maxLength":200000},"file":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false},"files":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false}},"logs":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"host":{"type":"string","maxLength":253},"facility":{"type":"string","maxLength":80},"severity":{"type":"string","maxLength":40},"message":{"type":"string","maxLength":4000},"sourceIp":{"type":"string","maxLength":80},"destinationIp":{"type":"string","maxLength":80},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"latencySamples":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"pathId":{"type":"string","maxLength":80},"host":{"type":"string","maxLength":253},"at":{"type":"string","maxLength":40},"latencyMs":{"type":"number","minimum":0,"maximum":1000000},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"packetLossSamples":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"pathId":{"type":"string","maxLength":80},"host":{"type":"string","maxLength":253},"at":{"type":"string","maxLength":40},"sent":{"type":"number","minimum":0,"maximum":1000000000},"lost":{"type":"number","minimum":0,"maximum":1000000000},"lossPct":{"type":"number","minimum":0,"maximum":100},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"dnsRecords":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"hostname":{"type":"string","maxLength":253},"recordType":{"type":"string","enum":["A","AAAA","CNAME","MX","TXT","NS","SOA"]},"answer":{"type":"string","maxLength":500},"resolver":{"type":"string","maxLength":80},"rcode":{"type":"string","maxLength":40},"latencyMs":{"type":"number","minimum":0,"maximum":1000000},"expectedAnswer":{"type":"string","maxLength":500},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"bgpRoutes":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"prefix":{"type":"string","maxLength":80},"peer":{"type":"string","maxLength":80},"asPath":{"type":"string","maxLength":500},"nextHop":{"type":"string","maxLength":80},"originAs":{"type":"string","maxLength":40},"at":{"type":"string","maxLength":40},"side":{"type":"string","enum":["before","after","left","right","a","b"]},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"certificates":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"host":{"type":"string","maxLength":253},"commonName":{"type":"string","maxLength":253},"issuer":{"type":"string","maxLength":200},"notBefore":{"type":"string","maxLength":40},"notAfter":{"type":"string","maxLength":40},"serialNumber":{"type":"string","maxLength":120},"fingerprintSha256":{"type":"string","maxLength":120},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"configs":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"deviceId":{"type":"string","maxLength":80},"path":{"type":"string","maxLength":200},"key":{"type":"string","maxLength":200},"value":{"type":"string","maxLength":4000},"side":{"type":"string","enum":["left","right","before","after","a","b"]},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"reputations":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"ip":{"type":"string","maxLength":80},"hostname":{"type":"string","maxLength":253},"listed":{"type":"boolean"},"listName":{"type":"string","maxLength":120},"category":{"type":"string","maxLength":120},"score":{"type":"number","minimum":0,"maximum":100},"observedAt":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"incidents":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"host":{"type":"string","maxLength":253},"severity":{"type":"string","maxLength":40},"title":{"type":"string","maxLength":200},"detail":{"type":"string","maxLength":2000},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"publicDns":{"type":"object","properties":{"hostname":{"type":"string","minLength":1,"maxLength":253},"recordType":{"type":"string","enum":["A","AAAA","CNAME","MX","TXT","NS"]}},"required":["hostname"],"additionalProperties":false},"publicTls":{"type":"object","properties":{"host":{"type":"string","minLength":1,"maxLength":253}},"required":["host"],"additionalProperties":false},"asOf":{"type":"string","maxLength":40},"latencyAnomalyZ":{"type":"number","minimum":1,"maximum":10},"packetLossWarnPct":{"type":"number","minimum":0,"maximum":100},"expiryWarningDays":{"type":"number","minimum":0,"maximum":3650}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","latencyAnomalyZ":2,"packetLossWarnPct":1,"expiryWarningDays":30,"logs":[{"at":"2026-11-04T20:00:00.000Z","host":"edge-1","severity":"error","message":"BGP session timeout","source":"Caller-supplied"}],"latencySamples":[{"pathId":"POP-A","at":"2026-11-04T20:00:00.000Z","latencyMs":20,"source":"Caller-supplied"},{"pathId":"POP-A","at":"2026-11-04T20:01:00.000Z","latencyMs":22,"source":"Caller-supplied"},{"pathId":"POP-A","at":"2026-11-04T20:02:00.000Z","latencyMs":21,"source":"Caller-supplied"},{"pathId":"POP-A","at":"2026-11-04T20:03:00.000Z","latencyMs":95,"source":"Caller-supplied"}],"packetLossSamples":[{"pathId":"POP-A","sent":1000,"lost":40,"source":"Caller-supplied"}],"dnsRecords":[{"hostname":"www.example.com","recordType":"A","answer":"93.184.216.34","expectedAnswer":"93.184.216.34","rcode":"NOERROR","source":"Caller-supplied"}],"bgpRoutes":[{"prefix":"203.0.113.0/24","peer":"64500","asPath":"64500 64501","nextHop":"198.51.100.1","side":"before","source":"Caller-supplied"},{"prefix":"203.0.113.0/24","peer":"64500","asPath":"64500 64502 64501","nextHop":"198.51.100.2","side":"after","source":"Caller-supplied"}],"certificates":[{"host":"www.example.com","commonName":"www.example.com","notAfter":"2026-12-01T00:00:00.000Z","source":"Caller-supplied"}],"configs":[{"deviceId":"edge-1","key":"mtu","value":"1500","side":"before","source":"Caller-supplied"},{"deviceId":"edge-1","key":"mtu","value":"9000","side":"after","source":"Caller-supplied"}],"reputations":[{"ip":"203.0.113.77","listed":true,"score":85,"source":"Caller-supplied"}],"incidents":[{"at":"2026-11-04T19:55:00.000Z","host":"edge-1","severity":"major","title":"Packet loss spike","source":"Caller-supplied"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"asOf":{"type":"string"},"sections":{"type":"object","properties":{"logs":{"type":"object","properties":{"logCount":{"type":"number"}},"additionalProperties":true},"latency":{"type":"object","properties":{"seriesCount":{"type":"number"},"anomalyCount":{"type":"number"}},"additionalProperties":true},"packetLoss":{"type":"object","properties":{"sampleCount":{"type":"number"},"elevatedCount":{"type":"number"}},"additionalProperties":true},"dns":{"type":"object","properties":{"recordCount":{"type":"number"},"unhealthyCount":{"type":"number"}},"additionalProperties":true},"bgp":{"type":"object","properties":{"routeCount":{"type":"number"},"changedCount":{"type":"number"}},"additionalProperties":true},"certificates":{"type":"object","properties":{"certificateCount":{"type":"number"},"expiredCount":{"type":"number"},"expiringSoonCount":{"type":"number"}},"additionalProperties":true},"configuration":{"type":"object","properties":{"pairCount":{"type":"number"},"changedCount":{"type":"number"}},"additionalProperties":true},"reputation":{"type":"object","properties":{"subjectCount":{"type":"number"},"riskyCount":{"type":"number"}},"additionalProperties":true},"incidents":{"type":"object","properties":{"eventCount":{"type":"number"}},"additionalProperties":true}},"additionalProperties":true},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"paidReputationApiUsed":{"type":"boolean"},"privateNetworkScanned":{"type":"boolean"},"intrusiveScanPerformed":{"type":"boolean"},"publicDnsQueried":{"type":"boolean"},"publicTlsInspected":{"type":"boolean"},"findings":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"},"code":{"type":"string"},"subject":{"type":"string"},"detail":{"type":"string"}},"additionalProperties":true}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T21:00:00.000Z","status":"reported","asOf":"2026-11-04T21:00:00.000Z","sections":{"logs":{"logCount":1},"latency":{"seriesCount":1,"anomalyCount":0},"packetLoss":{"sampleCount":1,"elevatedCount":1},"dns":{"recordCount":1,"unhealthyCount":0},"bgp":{"routeCount":1,"changedCount":1},"certificates":{"certificateCount":1,"expiredCount":0,"expiringSoonCount":1},"configuration":{"pairCount":1,"changedCount":1},"reputation":{"subjectCount":1,"riskyCount":1},"incidents":{"eventCount":2}},"paidProviderUsed":false,"apiKeyRequired":false,"paidReputationApiUsed":false,"privateNetworkScanned":false,"intrusiveScanPerformed":false,"publicDnsQueried":false,"publicTlsInspected":false,"findings":[{"kind":"conflict","code":"packet_loss_elevated","subject":"PLS-1","detail":"Packet loss 4% is at or above warning threshold 1%."},{"kind":"conflict","code":"bgp_change","subject":"BGP-1","detail":"BGP route changes: as_path, next_hop."},{"kind":"conflict","code":"cert_status","subject":"CRT-1","detail":"Certificate is expiring_soon (26.125 days from asOf)."},{"kind":"conflict","code":"config_changed","subject":"CFG-1","detail":"Configuration value changed for mtu."},{"kind":"observation","code":"private_reputation_ip","subject":"REP-1","detail":"IP is private/special; retained from caller data only and not queried against any reputation service."},{"kind":"conflict","code":"reputation_listed","subject":"REP-1","detail":"Caller-supplied reputation signal indicates risk (listed=true, score=85)."}],"limitations":["Network logs, latency/packet-loss samples, DNS answers, BGP routes, certificates, configs, reputation labels, and incidents are copied only from labeled fields supplied by the caller, or from optional key-free public DNS / public TLS port-443 inspection when explicitly requested.","Private, loopback, link-local, and documentation addresses are never contacted. Private networks are not scanned.","No intrusive security testing is performed and no paid reputation API is used.","IP reputation uses only caller-supplied labels/observations. Missing reputation data is not invented.","Infrastructure health reports aggregate only sections for which records were supplied or optionally fetched."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.08"},"protocols":[{"x402":{}}]}}}},"components":{"schemas":{"ApiError":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{}}}}}}}}