Compare two public OpenAPI or Swagger contracts and determine whether the API up
Compare two public OpenAPI or Swagger contracts and determine whether the API update contains directly observable breaking compatibility changes. Detects removed operations, newly required request inputs, narrowed inline enums, removed content types or successful responses and tightened authentication; unsupported compatibility questions remain unknown. No API operation is executed. Base mainnet USDC
Answeringour last check, 2026-10-10
1 of 1checks answered this week
925 msmedian answer time
$0.004listed price per call
$0.004price it asked us
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
POST https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/openapi/breaking-change
| Category | Code and developer |
|---|---|
| Provider host | http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run |
| Networks | eip155:8453 |
| Payment schemes | exact |
| Self-reported calls, 30 days | 2 from 2 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-10-10 | valid payment request | 402 | $0.004 | 925 ms |
Example input (from the provider)
{
"body": {
"after_url": "https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/openapi.json",
"before_url": "https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/openapi.json"
},
"bodyType": "json",
"method": "POST",
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"properties": {
"after_url": {
"description": "Public after url value used to scope this lookup.",
"maxLength": 2048,
"minLength": 1,
"pattern": "^https?://",
"type": "string"
},
"before_url": {
"description": "Public before url value used to scope this lookup.",
"maxLength": 2048,
"minLength": 1,
"pattern": "^https?://",
"type": "string"
}
},
"required": [
"before_url",
"after_url"
],
"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": {
"additionalProperties": false,
"properties": {
"capability": {
"const": "openapi.breaking-change",
"description": "Public capability value used to scope this lookup."
},
"data": {
"additionalProperties": false,
"description": "Public data value used to scope this lookup.",
"properties": {
"after_fingerprint_scope": {
"description": "Public after fingerprint scope value used to scope this lookup.",
"enum": [
"machine_contract_structure",
"simple_yaml_operation_summary",
"unavailable"
]
},
"after_hash": {
"description": "Public before hash value used to scope this lookup.",
"pattern": "^[a-fA-F0-9]{64}$",
"type": [
"string",
"null"
]
},
"after_operation_count": {
"description": "Public after operation count value used to scope this lookup.",
"minimum": 0,
"type": "integer"
},
"after_url": {
"description": "Public after url value used to scope this lookup.",
"type": "string"
},
"before_fingerprint_scope": {
"description": "Public before fingerprint scope value used to scope this lookup.",
"enum": [
"machine_contract_structure",
"simple_yaml_operation_summary",
"unavailable"
]
},
"before_hash": {
"description": "Public before hash value used to scope this lookup.",
"pattern": "^[a-fA-F0-9]{64}$",
"type": [
"string",
"null"
]
},
"before_operation_count": {
"description": "Public before operation count value used to scope this lookup.",
"minimum": 0,
"type": "integer"
},
"before_url": {
"description": "Public before url value used to scope this lookup.",
"type": "string"
},
"breaking_changes": {
"description": "Public breaking changes value used to scope this lookup.",
"items": {
"type": "string"
},
"maxItems": 200,
"type": "array"
},
"comparison_complete": {
"description": "Public comparison complete value used to scope this lookup.",
"type": "boolean"
},
"comparison_truncated": {
"description": "Public comparison truncated value used to scope this lookup.",
"type": "boolean"
},
"local_ref_count": {
"description": "Public local ref count value used to scope this lookup.",
"minimum": 0,
"type": "integer"
},
"non_breaking_changes": {
"description": "Public breaking changes value used to scope this lookup.",
"items": {
"type": "string"
},
"maxItems": 200,
"type": "array"
},
"provider_request_count": {
"const": 2,
"description": "Public provider request count value used to scope this lookup."
},
"remote_ref_count": {
"description": "Public remote ref count value used to scope this lookup.",
"minimum": 0,
"type": "integer"
},
"scope": {
"const": "two_bounded_openapi_documents_no_operation_execution_no_ref_resolution",
"description": "Public scope value used to scope this lookup."
},
"unknown_changes": {
"description": "Public breaking changes value used to scope this lookup.",
"items": {
"type": "string"