{"id":71006,"recorded_at":"2026-10-26T14:38:01.288996Z","observed_at":"2026-10-26T14:38:01.288953Z","subject_kind":"source_record","subject":"x402_bazaar:https://api.zfinia.com/x402/v1/openapi-endpoint-inventory-diff","kind":"listing","method":"baseline/1","body":{"endpoints":[["x402","https://api.zfinia.com/x402/v1/openapi-endpoint-inventory-diff"]],"name":"OpenAPI Inventory Diff","owner_address":"0x25e8245f07d5e4873987293dad666afbe56a9608","raw":{"accepts":[{"amount":"100000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"name":"USD Coin","version":"2"},"maxTimeoutSeconds":60,"network":"eip155:8453","payTo":"0x25e8245f07d5e4873987293dad666afbe56a9608","scheme":"exact"}],"description":"See which operations were added, removed, deprecated or renamed between two OpenAPI documents. Flags a removal that was never preceded by a deprecation, an operationId change that renames the method in every generated client, and a duplicated operationId that no generator can resolve.","extensions":{"bazaar":{"info":{"input":{"body":{"after":{"components":{"schemas":{"Order":{"properties":{"id":{"type":"string"},"status":{"enum":["open","shipped","disputed"],"type":"string"},"tenant_id":{"type":"string"},"total":{"type":"number"}},"required":["id","total","tenant_id"],"type":"object"}},"securitySchemes":{"apiKey":{"in":"query","name":"api_key","type":"apiKey"}}},"info":{"title":"Orders API","version":"2.0.0"},"openapi":"3.1.0","paths":{"/orders":{"get":{"operationId":"listOrdersV2","parameters":[{"in":"query","name":"tenant","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Order"},"type":"array"}}},"description":"A page of orders"}},"summary":"List orders"},"parameters":[{"in":"query","name":"page","schema":{"minimum":1,"type":"integer"}}],"post":{"operationId":"createOrder","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Order"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Order"}}},"description":"Created"}},"summary":"Create an order"}},"/orders/{id}":{"get":{"deprecated":true,"operationId":"getOrder","parameters":[{"in":"path","name":"id","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Order"}}},"description":"The order"},"404":{"description":"Not found"}},"summary":"Fetch one order"}}},"security":[{"apiKey":[]}]},"before":{"components":{"schemas":{"Order":{"properties":{"id":{"type":"string"},"legacy_ref":{"type":"string"},"status":{"enum":["open","shipped"],"type":"string"},"total":{"type":"number"}},"required":["id","total"],"type":"object"}},"securitySchemes":{"apiKey":{"in":"header","name":"X-Api-Key","type":"apiKey"}}},"info":{"title":"Orders API","version":"1.4.0"},"openapi":"3.1.0","paths":{"/legacy/export":{"get":{"operationId":"legacyExport","responses":{"200":{"description":"A CSV export"}},"summary":"Legacy export"}},"/orders":{"get":{"operationId":"listOrders","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Order"},"type":"array"}}},"description":"A page of orders"},"429":{"description":"Rate limited"}},"summary":"List orders"},"parameters":[{"in":"query","name":"page","schema":{"minimum":1,"type":"integer"}}],"post":{"operationId":"createOrder","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Order"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Order"}}},"description":"Created"}},"summary":"Create an order"}},"/orders/{id}":{"get":{"operationId":"getOrder","parameters":[{"in":"path","name":"id","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Order"}}},"description":"The order"},"404":{"description":"Not found"}},"summary":"Fetch one order"}}},"security":[{"apiKey":[]}]}},"bodyType":"json","method":"POST","type":"http"},"output":{"example":{"added":[],"added_count":0,"after_operation_count":3,"assumptions":["An operation is identified by method and path template, so moving an operation to a new path reads as a removal and an addition, which is what it is for a caller.","operationId is treated as part of the contract because client generators name methods from it."],"before_operation_count":4,"complete":true,"deprecated":["GET /orders/{id}"],"finding_count":3,"findings":[{"code":"OPERATION_ID_CHANGED","detail":"GET /orders: operationId changed from listOrders to listOrdersV2, which renames the method in a generated client.","operation":"GET /orders"},{"code":"OPERATION_DEPRECATED","detail":"GET /orders/{id} is now deprecated.","operation":"GET /orders/{id}"},{"code":"OPERATION_REMOVED_WITHOUT_DEPRECATION","detail":"GET /legacy/export was removed and had never been marked deprecated.","operation":"GET /legacy/export"}],"findings_by_code":{"OPERATION_DEPRECATED":1,"OPERATION_ID_CHANGED":1,"OPERATION_REMOVED_WITHOUT_DEPRECATION":1},"limitations":["Inventory and lifecycle only. Whether a removed operation had callers is not knowable here, and schema-level compatibility is openapi_breaking_change_audit.","unchanged is true only when both documents were read in full and nothing was added, removed, deprecated or renamed."],"limits":{"maxClientOperations":200,"maxFindings":500,"maxOperations":500,"maxRequestBodyBytes":262144},"not_examined":[],"observed_at":"2026-10-02T00:00:00.000Z","removed":[{"operation":"GET /legacy/export","operation_id":"legacyExport","tags":[],"was_deprecated":false}],"removed_count":1,"renamed_operation_ids":[{"after":"listOrdersV2","before":"listOrders","operation":"GET /orders"}],"request_id":"example-request","retagged":[],"service_id":"openapi_endpoint_inventory_diff","service_version":"1.0.0","unchanged":false,"undeprecated":[]},"type":"json"}},"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"}}},"lastUpdated":"2026-10-04T07:52:48.583Z","quality":{"l30DaysTotalCalls":1,"l30DaysUniquePayers":1,"lastCalledAt":"2026-10-04T07:52:42.644Z"},"resource":"https://api.zfinia.com/x402/v1/openapi-endpoint-inventory-diff","serviceName":"OpenAPI Inventory Diff","tags":["openapi","api inventory","deprecation","change detection","developer tooling"],"type":"http","x402Version":2},"source":"x402_bazaar","summary":"See which operations were added, removed, deprecated or renamed between two OpenAPI documents. Flags a removal that was never preceded by a deprecation, an operationId change that renames the method in every generated client, and a duplicated operationId that no generator can resolve."},"body_sha256":"54921e5693646d687d5a5d011142558a7e96bb64422f8e05c5dcbaa97a7f1132","prev_id":null,"leaf":"0x384f7982aa657dda2478e9f38082957a783595bd1ae5a7a01f6a2994e2267eb6","leaf_text":"{\"body\":\"54921e5693646d687d5a5d011142558a7e96bb64422f8e05c5dcbaa97a7f1132\",\"id\":71006,\"kind\":\"listing\",\"method\":\"baseline/1\",\"observed_us\":1793025481288953,\"prev\":null,\"subject\":\"x402_bazaar:https://api.zfinia.com/x402/v1/openapi-endpoint-inventory-diff\",\"subject_kind\":\"source_record\"}","day":null,"proof":[]}