{"slug":"agent402-tools-api-openapi-diff-7a01e4","title":"Compare two OpenAPI 3.x or Swagger 2.x documents and return a structured diff","host":"agent402.tools","method":"POST","resource":"https://agent402.tools/api/openapi-diff","category":"other","description":"Compare two OpenAPI 3.x or Swagger 2.x documents and return a structured diff: added / removed / changed endpoints, with a conservative \"is any change breaking?\" flag. Breaking = an endpoint or required-2xx status was removed, a required parameter was added, an optional param became required, a para","price_listed":0.001,"price_asked":0.001,"state":"answering","state_label":"Answering","checks_7d":1,"answered_7d":1,"latency_ms_median":933,"reported_calls_30d":5,"reported_payers_30d":1,"networks":["algorand:wGHE2Pwdvd7S12BL5FaOP20EGYesN73ktiC1qzkkit8=","eip155:10","eip155:1329","eip155:137","eip155:143","eip155:42161","eip155:42220","eip155:43114","eip155:4663","eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","stellar:pubnet"],"badge":"unverified","paid_checks_7d":0,"paid_ok_7d":0,"example_input":{"body":{"after":{"openapi":"3.0.0","paths":{"/admin":{"post":{"responses":{"201":{}}}},"/users":{"get":{"responses":{"200":{}}}}}},"before":{"openapi":"3.0.0","paths":{"/legacy":{"get":{"responses":{"200":{}}}},"/users":{"get":{"responses":{"200":{}}}}}}},"bodyType":"json","method":"POST","type":"http"},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"properties":{"after":{"description":"OpenAPI/Swagger document (object or JSON string) for the new version"},"before":{"description":"OpenAPI/Swagger document (object or JSON string) for the previous version"}},"required":["before","after"]},"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":{"properties":{"added":{"items":{"type":"string"},"type":"array"},"breaking":{"type":"boolean"},"breakingCount":{"type":"integer"},"changed":{"type":"array"},"removed":{"items":{"type":"string"},"type":"array"},"summary":{"properties":{"added":{"type":"integer"},"changed":{"type":"integer"},"removed":{"type":"integer"}},"type":"object"}},"required":["added","removed","changed","breaking","breakingCount","summary"],"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"},"history":[{"day":"2026-09-24","reachable":true,"status":402,"valid_402":true,"asked_usdc":0.001,"price_match":true,"latency_ms":933,"error":null}],"description_full":"Compare two OpenAPI 3.x or Swagger 2.x documents and return a structured diff: added / removed / changed endpoints, with a conservative \"is any change breaking?\" flag. Breaking = an endpoint or required-2xx status was removed, a required parameter was added, an optional param became required, a param type changed, or a JSON body field became required. Pure CPU - deterministic, no network, no $ref dereferencing (resolve refs upstream if needed).","last_updated":"2026-09-21T11:08:57.12Z","schemes":["exact","upto"]}