{"slug":"api-zfinia-com-x402-v1-openapi-breaking-change-audit-0a049d","title":"Decide whether an API change breaks your clients, operation by operation","host":"api.zfinia.com","method":"POST","resource":"https://api.zfinia.com/x402/v1/openapi-breaking-change-audit","category":"code","description":"Decide whether an API change breaks your clients, operation by operation. Compares parameters, request bodies, responses and security across two OpenAPI documents, and classifies each change by who it breaks: the clients that call the API or the clients that read its responses. A newly required para","price_listed":0.25,"price_asked":null,"state":"effects","state_label":"Not tested: has real-world effects","checks_7d":0,"answered_7d":0,"latency_ms_median":null,"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":{"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":[]}]},"role":"both"},"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"},"role":{"enum":["producers","consumers","both"],"type":"string"}},"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":[],"description_full":"Decide whether an API change breaks your clients, operation by operation. Compares parameters, request bodies, responses and security across two OpenAPI documents, and classifies each change by who it breaks: the clients that call the API or the clients that read its responses. A newly required parameter breaks callers; a widened response enum breaks readers. A change it cannot classify is never counted as safe.","last_updated":"2026-10-04T07:52:29.803Z","schemes":["exact"]}