{"slug":"api-zfinia-com-x402-v1-metric-naming-contract-audit-f63ca3","title":"Audit metric names, types and label sets","host":"api.zfinia.com","method":"POST","resource":"https://api.zfinia.com/x402/v1/metric-naming-contract-audit","category":"code","description":"Audit metric names, types and label sets. The finding that needs the whole set: a metric appearing with different label sets, so a sum or average over it groups by whichever labels happen to be present, which is not the grouping anybody asked for. Also reports a counter without a total suffix, a gau","price_listed":0.14,"price_asked":0.14,"state":"answering","state_label":"Answering","checks_7d":1,"answered_7d":1,"latency_ms_median":7499,"reported_calls_30d":1,"reported_payers_30d":1,"networks":["eip155:8453"],"badge":"unverified","paid_checks_7d":0,"paid_ok_7d":0,"example_input":{"body":{"max_label_cardinality":3,"samples":[{"labels":{"method":"GET","status":"200"},"name":"http_requests","type":"counter"},{"labels":{"method":"GET"},"name":"http_requests","type":"counter"},{"labels":{"queue":"orders"},"name":"queue_depth_total","type":"gauge"},{"labels":{"le":"0.5"},"name":"request_latency_milliseconds","type":"histogram"},{"labels":{"order_id":"8827341"},"name":"cache_hits_total","type":"counter"},{"labels":{"order_id":"8827342"},"name":"cache_hits_total","type":"counter"},{"labels":{"order_id":"8827343"},"name":"cache_hits_total","type":"counter"},{"labels":{"order_id":"8827344"},"name":"cache_hits_total","type":"counter"},{"labels":{"version":"1.4.0"},"name":"build_info","type":"gauge"}]},"bodyType":"json","method":"POST","type":"http"},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"additionalProperties":false,"properties":{"max_label_cardinality":{"minimum":1,"type":"integer"},"samples":{"items":{"additionalProperties":false,"properties":{"labels":{"type":"object"},"name":{"maxLength":256,"type":"string"},"type":{"enum":["counter","gauge","histogram","summary","untyped"],"type":"string"}},"required":["name"],"type":"object"},"maxItems":20000,"minItems":1,"type":"array"}},"required":["samples"],"type":"object"},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"},"output":{"properties":{"example":{"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"},"history":[{"day":"2026-10-04","reachable":true,"status":402,"valid_402":true,"asked_usdc":0.14,"price_match":true,"latency_ms":7499,"error":null}],"description_full":"Audit metric names, types and label sets. The finding that needs the whole set: a metric appearing with different label sets, so a sum or average over it groups by whichever labels happen to be present, which is not the grouping anybody asked for. Also reports a counter without a total suffix, a gauge named like one, a sub-second unit where the convention is seconds, a label holding identifiers, which is unbounded cardinality by construction, and a label reserved for another metric type.","last_updated":"2026-10-04T08:35:22.873Z","schemes":["exact"]}