API breaking change classification rules.

Replay ParityDiff classification rules for request narrowing, response changes, deprecation, and uncertain evidence. Inspect policy inputs and recorded rule IDs.

Which recorded rules can I inspect?

  • request.enum_removed: The new request schema rejects a value the previous schema accepted. Locate callers that send the removed value; the rule does not choose a replacement.
  • request.now_required: An existing caller can omit a field that the revised request requires. Supply a value based on application intent and validate the complete request.
  • response.removed: The revised response no longer promises a property used by existing consumers. Inspect field reads and missing-value behavior; a cast alone is not a runtime check.
  • response.now_optional_or_nullable: The revised response can omit a previously required property or allow null where it was excluded. Existing consumers need to handle the wider set of responses.
  • request.removed_unknown_strictness: A removed request field can be tolerated or rejected by the server. Without an established unknown-field policy, ParityDiff leaves the classification ambiguous.

Policy inputs matter. A removed request field remains ambiguous when the server's unknown-field policy is unknown. The inspector classifies detector evidence, not arbitrary uploaded contracts or repository impact.

Online OpenAPI and JSON Schema compatibility checks

Use this free API compatibility checker to understand how a contract change affects existing integrations. Replay a captured OpenAPI finding from OpenAI or Sentry, inspect its classification rule, or compare a pair of JSON Schemas. The examples run without an account or repository access. Each result separates contract evidence from the question of whether your application uses the affected operation.

  • Request narrowing

    The revised request schema must accept the inputs existing callers could send. Increasing a minimum, decreasing a maximum, or tightening a string constraint can reject previously valid requests. Check the affected field and the acceptance direction.

  • Enum value removal

    Removing a request enum value leaves callers using that value outside the new contract. Inspect where the value is selected before choosing an alternative; the specification finding does not invent a replacement for your application.

    Recorded rule: request.enum_removed

  • Required request field addition

    Adding a required property, or making an optional request field required, can reject older payloads that omit it. A compatible migration needs an appropriate application value, not simply a placeholder added to satisfy the schema.

  • Response widening

    Existing consumers must handle the outputs allowed by the revised response. A field becoming optional or nullable, a new enum value, or a broader type can invalidate assumptions in parsing, branching, and typed response handling.

    Recorded rule: response.now_optional_or_nullable

The JSON Schema comparison checks directional acceptance and reports equivalent, different, or undetermined. A validated counterexample demonstrates a specific difference; unsupported constructs or missing proof remain undetermined. OpenAPI detector findings have their own recorded classification rules. Schema comparison is not a complete OpenAPI upload diff or proof of repository impact. Use public or illustrative schemas, inspect the evidence, and run your own CI before merging.

Explore API specification history ยท Contract and repository coverage

API compatibility guides and tools

Rule reference