{"slug":"api-zfinia-com-x402-v1-container-compose-contract-audit-e81435","title":"Audit a Compose document against a contract","host":"api.zfinia.com","method":"POST","resource":"https://api.zfinia.com/x402/v1/container-compose-contract-audit","category":"image","description":"Audit a Compose document against a contract. Reports an unpinned image tag, so the same file will produce a different container once the tag moves, a missing healthcheck or restart policy, a privileged or host-network service, added capabilities, host path mounts, a dependency on a service that is n","price_listed":0.13,"price_asked":0.13,"state":"answering","state_label":"Answering","checks_7d":1,"answered_7d":1,"latency_ms_median":3628,"reported_calls_30d":1,"reported_payers_30d":1,"networks":["eip155:8453"],"badge":"unverified","paid_checks_7d":0,"paid_ok_7d":0,"example_input":{"body":{"compose":{"services":{"api":{"environment":["DATABASE_URL=${DATABASE_URL}","LOG_LEVEL=info"],"healthcheck":{"test":["CMD","curl","-f","http://localhost/health"]},"image":"ghcr.io/example/api@sha256:0000000000000000000000000000000000000000000000000000000000000000","restart":"unless-stopped","volumes":["./config:/etc/api:ro","api-data:/var/lib/api"]},"db":{"cap_add":["SYS_ADMIN"],"image":"postgres:16.3","network_mode":"host","privileged":true,"volumes":["/var/lib/postgresql:/var/lib/postgresql"]},"web":{"depends_on":["api","cache"],"environment":{"API_TOKEN":"not-a-real-token-0123456789abcdef","NGINX_HOST":"example.test"},"image":"nginx","ports":["80:80","443:443"]}}},"contract":{"forbid_host_path_mounts":true,"required_services":["web","api","cache"]}},"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":{"compose":{"type":"object"},"contract":{"additionalProperties":false,"properties":{"forbid_host_network":{"type":"boolean"},"forbid_host_path_mounts":{"type":"boolean"},"forbid_latest_tag":{"type":"boolean"},"forbid_privileged":{"type":"boolean"},"require_healthcheck":{"type":"boolean"},"require_restart_policy":{"type":"boolean"},"required_services":{"items":{"maxLength":128,"type":"string"},"maxItems":200,"minItems":1,"type":"array"}},"type":"object"}},"required":["compose"],"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.13,"price_match":true,"latency_ms":3628,"error":null}],"description_full":"Audit a Compose document against a contract. Reports an unpinned image tag, so the same file will produce a different container once the tag moves, a missing healthcheck or restart policy, a privileged or host-network service, added capabilities, host path mounts, a dependency on a service that is not declared, and an environment value written literally in the file rather than referencing a variable.","last_updated":"2026-10-04T08:03:12.329Z","schemes":["exact"]}