{"schema":"apex-receipt-verification/1","found":true,"receipt_id":"5fb70de7c7706cb0dcbcc18897e7a217a20d4e8503ec6cc548e775b740adb222","cite_as":"Validated via Apex (smartapex.uk) agent-api-contract-diff - receipt: https://api.smartapex.uk/v1/receipts/5fb70de7c7706cb0dcbcc18897e7a217a20d4e8503ec6cc548e775b740adb222","card_id":"card_agent_api_contract_diff","tool_id":"agent-api-contract-diff","issued_at":"2026-07-26T00:33:12.086Z","review_submitted":false,"hashes":{"input_sha256":"44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a","output_sha256":"03268c1f713cfeba8486db7e7a77aeb5ac4156d8ba59cbadcae520a131290316","wrapper_ref_sha256":"5f1a98e09d61e2020a67e0e793c6008323758d59a49235819f0b4ecc795ea323"},"how_to_verify":"Recompute sha256(canonicalJson(input_body)) and sha256(canonicalJson(tool_output)) and compare with hashes above. tool_output = the full /run response minus its verification_receipt, usage_feedback, and cite_as fields. canonicalJson = sorted keys, undefined dropped. Match = that exact data went through this bounded Apex wrapper at issued_at. Working code: https://github.com/mickeyappol-create/apex-agent-client","card":"/v1/cards/card_agent_api_contract_diff","note":"Proves a bounded read-only wrapper run was recorded. Does not prove the claim built on top of it, and never releases source."}