OpenAPI Breaking Change Report
Compare two inline OpenAPI 3.0, 3.1, or 3.2 JSON documents and return a deterministic machine-readable compatibility report with every detected breaking and non-breaking change.
Preview request
The preview path is rate-limited and does not charge. It executes the live source and returns the paid response shape while withholding decision-ready values. Production requests use the same parameters and return a standard x402 challenge when no payment signature is present.
curl --request POST \
"https://ai-data-marketplace-1042299154756.us-central1.run.app/api/v1/openapi_change_report?preview=true" \
--header "content-type: application/json" \
--data '{"before":{"openapi":"3.0.3","info":{"title":"Example","version":"1"},"paths":{"/users":{"get":{"responses":{"200":{"description":"OK"}}}}}},"after":{"openapi":"3.0.3","info":{"title":"Example","version":"2"},"paths":{}}}'Input contract
| Parameter | Type | Required | Description |
|---|---|---|---|
before | object | Yes | Original inline OpenAPI JSON object, up to 500 KB. Local # references are allowed; external references are rejected. |
after | object | Yes | Proposed inline OpenAPI JSON object, up to 500 KB. Local # references are allowed; external references are rejected. |
Example deliverable
This is the documented response shape, not a promise that live values will match the example. The paid request returns current or declared-source results using the same contract.
{
"success": true,
"total_changes": 2,
"breaking_changes": 1,
"has_breaking_changes": true,
"changes": [
{
"breaking": true,
"changeText": "object_removed",
"property": "/users"
}
]
}Purchase decision
Buy when: the active task needs this product's structured result, its declared source and freshness are sufficient, and 0.01 USDC is within the buyer's authorized per-request limit.
Skip when: a cached result is sufficient, the source or fields do not satisfy the task, or the buyer has not authorized payment. Do not bypass wallet, budget, or user-approval policy.
Guaranteed response metadata
Every successful product response identifies how the result was produced. Product-specific output fields are documented in the paid OpenAPI contract. The preview proves the live source and field types without returning the paid values.
{
"marketplace_metadata": {
"data_mode": "computed_service",
"billable": true,
"availability": "operational",
"source": "pb33f/openapi-changes 0.2.7 (Apache-2.0), executed locally without network access"
}
}Agent payment flow
Fast path: install the public MCP package, configure a dedicated low-balance Base buyer wallet and a maximum per-request spend, then call this tool with auto_pay: true. The client handles the challenge, local signature, settlement, and retry in one tool call.
npx -y dopaminedesk-ai-data-marketplace-mcp
X402_AUTO_PAY=true
X402_EVM_PRIVATE_KEY=<dedicated buyer wallet key>
X402_MAX_PAYMENT_USDC=0.25
tool input: { "auto_pay": true }Manual path: request the product, read the base64 PAYMENT-REQUIRED challenge, sign with any compatible x402 v2 client, and retry with PAYMENT-SIGNATURE. A successful response includes PAYMENT-RESPONSE.