{"slug":"api-zfinia-com-x402-v1-sbom-component-diff-afaa7a","title":"Compare two software inventories and report what entered, left and moved","host":"api.zfinia.com","method":"POST","resource":"https://api.zfinia.com/x402/v1/sbom-component-diff","category":"other","description":"Compare two software inventories and report what entered, left and moved. Reads CycloneDX components and SPDX packages, matching by package URL where both sides carry one because a bare name matches the wrong component across ecosystems. Reports version moves with breaking risk, a declared licence t","price_listed":0.16,"price_asked":0.16,"state":"answering","state_label":"Answering","checks_7d":1,"answered_7d":1,"latency_ms_median":2481,"reported_calls_30d":1,"reported_payers_30d":1,"networks":["eip155:8453"],"badge":"unverified","paid_checks_7d":0,"paid_ok_7d":0,"example_input":{"body":{"after":{"bomFormat":"CycloneDX","components":[{"licenses":[{"license":{"id":"MIT"}}],"name":"express","purl":"pkg:npm/express","type":"library","version":"5.0.0"},{"licenses":[{"license":{"id":"GPL-3.0-only"}}],"name":"tiny-lib","purl":"pkg:npm/tiny-lib","type":"library","version":"0.5.0"},{"name":"fresh-dep","purl":"pkg:npm/fresh-dep","type":"library","version":"1.0.0"}],"specVersion":"1.5"},"before":{"bomFormat":"CycloneDX","components":[{"licenses":[{"license":{"id":"MIT"}}],"name":"express","purl":"pkg:npm/express","type":"library","version":"4.18.2"},{"licenses":[{"license":{"id":"MIT"}}],"name":"tiny-lib","purl":"pkg:npm/tiny-lib","type":"library","version":"0.4.1"},{"licenses":[{"license":{"id":"Apache-2.0"}}],"name":"retired","purl":"pkg:npm/retired","type":"library","version":"1.0.0"}],"specVersion":"1.5"}},"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":{"after":{"type":"object"},"before":{"type":"object"}},"required":["before","after"],"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.16,"price_match":true,"latency_ms":2481,"error":null}],"description_full":"Compare two software inventories and report what entered, left and moved. Reads CycloneDX components and SPDX packages, matching by package URL where both sides carry one because a bare name matches the wrong component across ecosystems. Reports version moves with breaking risk, a declared licence that changed, and a new component declaring no licence. A licence change is reported as a change in a declared field, not as a licensing conclusion.","last_updated":"2026-10-04T08:04:25.269Z","schemes":["exact"]}