# OpenAPI Change Report – Breaking Change Detector

> OpenAPI Change Report – Breaking Change Detector is a paid API for AI agents from ai-data-marketplace-1042299154756.us-central1.run.app, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-14).

Compares two OpenAPI specifications (before and after) and returns a structured diff highlighting breaking and non-breaking changes.

## Facts

- Endpoint: GET https://ai-data-marketplace-1042299154756.us-central1.run.app/api/v1/openapi_change_report
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/openapi-change-report-breaking-change-detector-69f83169
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_YP7fKShggQIfKajktkFJE

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability openapi-change-report-breaking-change-detector-69f83169
```

Example prompt: Compare these two OpenAPI specs and tell me which changes are breaking — here's the original spec and here's the updated one I'm about to deploy.

## When to prefer this

Use this endpoint when you need a structured, machine-readable diff between two OpenAPI specification versions — especially to programmatically detect breaking changes in a CI/CD pipeline, pre-deployment review, or client communication workflow. Prefer this over manual diffing or generic JSON diff tools when you need breaking-change semantics (not just structural differences) and a per-property breakdown of what changed and why it matters.

## Known failure modes

- Invalid or non-parseable OpenAPI JSON in before or after fields returns an error
- External $ref references in the OpenAPI spec are rejected — only local # references are allowed
- OpenAPI objects exceeding 500 KB are rejected
- Missing required before or after query parameters returns a validation error
- Malformed JSON structure that doesn't conform to OpenAPI schema may produce incomplete diff results

## How this service works

Audit one public site or compare up to five domains across llms.txt, OpenAPI, robots, sitemap, x402 metadata, and the discovery surfaces autonomous buyers rely on.

## Output

Returns a JSON object with a success boolean, total_changes integer, breaking_changes integer, has_breaking_changes boolean, and a changes array where each item includes the affected property path, a changeText describing what changed (e.g. 'object_removed'), and a breaking boolean indicating severity.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "before",
      "after"
     ],
     "properties": {
      "after": {
       "type": "object",
       "description": "Proposed inline OpenAPI JSON object, up to 500 KB. Local # references are allowed; external references are rejected."
      },
      "before": {
       "type": "object",
       "description": "Original inline OpenAPI JSON object, up to 500 KB. Local # references are allowed; external references are rejected."
      }
     },
     "additionalProperties": true
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "success",
      "total_changes",
      "breaking_changes",
      "has_breaking_changes",
      "changes"
     ],
     "properties": {
      "changes": {
       "type": "array",
       "items": {
        "type": "object",
        "required": [
         "breaking",
         "changeText",
         "property"
        ],
        "properties": {
         "breaking": {
          "type": "boolean"
         },
         "property": {
          "type": "string"
         },
         "changeText": {
          "type": "string"
         }
        },
        "additionalProperties": true
       }
      },
      "success": {
       "type": "boolean"
      },
      "total_changes": {
       "type": "integer"
      },
      "breaking_changes": {
       "type": "integer"
      },
      "has_breaking_changes": {
       "type": "boolean"
      }
     },
     "additionalProperties": true
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "changes": [
   {
    "breaking": true,
    "property": "/users",
    "changeText": "object_removed"
   }
  ],
  "success": true,
  "total_changes": 2,
  "breaking_changes": 1,
  "has_breaking_changes": true
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/openapi-change-report-breaking-change-detector-69f83169/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from ai-data-marketplace-1042299154756.us-central1.run.app](https://www.zero.xyz/host/ai-data-marketplace-1042299154756.us-central1.run.app/llms.txt)
