{"slug":"api-zfinia-com-x402-v1-resource-tag-contract-audit-1d1abd","title":"Audit a resource inventory against a tagging contract","host":"api.zfinia.com","method":"POST","resource":"https://api.zfinia.com/x402/v1/resource-tag-contract-audit","category":"code","description":"Audit a resource inventory against a tagging contract. The finding that spans the inventory: two tag keys differing only in case, which cloud APIs treat as different keys so every grouping and cost report splits silently across them. Also reports a required tag absent, an empty value that satisfies ","price_listed":0.14,"price_asked":0.14,"state":"answering","state_label":"Answering","checks_7d":1,"answered_7d":1,"latency_ms_median":2392,"reported_calls_30d":1,"reported_payers_30d":1,"networks":["eip155:8453"],"badge":"unverified","paid_checks_7d":0,"paid_ok_7d":0,"example_input":{"body":{"contract":{"case_sensitive":true,"forbid_unknown_keys":false,"permitted_values":{"environment":["development","staging","production"]},"required":["owner","environment","cost_centre"],"value_patterns":{"cost_centre":"CC-[0-9][0-9][0-9][0-9]"}},"resources":[{"id":"arn:aws:s3:::exports","tags":{"cost_centre":"CC-1001","environment":"production","owner":"data"},"type":"aws_s3_bucket"},{"id":"arn:aws:s3:::staging-exports","tags":{"Owner":"data","cost_centre":"CC1001","environment":"stage"},"type":"aws_s3_bucket"},{"id":"arn:aws:ec2:us-east-1:123456789012:instance/i-1","tags":{"cost_centre":"CC-1002","environment":"production","owner":"  "},"type":"aws_instance"},{"id":"arn:aws:ec2:us-east-1:123456789012:instance/i-2","type":"aws_instance"}]},"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":{"contract":{"additionalProperties":false,"properties":{"case_sensitive":{"type":"boolean"},"forbid_unknown_keys":{"type":"boolean"},"permitted_values":{"type":"object"},"required":{"items":{"maxLength":128,"type":"string"},"maxItems":100,"minItems":1,"type":"array"},"value_patterns":{"type":"object"}},"type":"object"},"resources":{"items":{"additionalProperties":false,"properties":{"id":{"maxLength":512,"type":"string"},"tags":{"type":"object"},"type":{"maxLength":128,"type":"string"}},"required":["id"],"type":"object"},"maxItems":5000,"minItems":1,"type":"array"}},"required":["resources","contract"],"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":2392,"error":null}],"description_full":"Audit a resource inventory against a tagging contract. The finding that spans the inventory: two tag keys differing only in case, which cloud APIs treat as different keys so every grouping and cost report splits silently across them. Also reports a required tag absent, an empty value that satisfies a presence check and carries no information, a value with surrounding whitespace that groups separately, a value outside a permitted set, and a value a declared pattern does not accept.","last_updated":"2026-10-04T08:31:10.305Z","schemes":["exact"]}