{"uid":"cap_g1gzECX2jCKFcikAQN5rd","slug":"npm-package-api-breaking-change-diff-b484ffff","name":"npm Package API Breaking-Change Diff","description":"Free need-to-tool routing plus pay-per-call npm docs and TypeScript API signatures, npm breaking-change diffs, JavaScript-rendered browser snapshots and deterministic coding-agent checks via AgentCash/x402.","url":"https://x402-canary.nicolas-x402-16f380a7.workers.dev/v1/agent/npm-api-diff","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"package":{"type":"string","example":"hono","maxLength":214},"to_version":{"type":"string","example":"4.13.2","maxLength":100},"from_version":{"type":"string","example":"4.12.0","maxLength":100}}},"responseSchema":{"type":"json","example":{"data":{"risk":"MEDIUM","package":"hono","to_version":"4.13.2","from_version":"4.12.0","added_symbols":[],"changed_symbols":[],"removed_symbols":[]},"meta":{"engine":"npm-api-diff"}}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.025","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.025/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.025","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.025","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_PD94nhCHqO-X5Kgr40GxE","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.025","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Compares two versions of an npm package and returns a structured diff of added, changed, and removed TypeScript/API symbols with a risk assessment.","exampleAgentPrompt":"Can you check what breaking changes exist between hono 4.12.0 and 4.13.2 — specifically any removed or changed symbols I need to worry about before upgrading?","exampleUseCases":[{"title":"Pre-upgrade dependency safety check","prompt":"Before I update hono from 4.12.0 to 4.13.2 in my project, can you tell me what API symbols were removed or changed so I know what to fix?"},{"title":"Automated CI breaking-change gate","prompt":"Check whether upgrading react-query from version 4.0.0 to 5.0.0 introduces any breaking changes and tell me the overall risk level."},{"title":"Library migration risk assessment","prompt":"I'm considering upgrading axios from 1.3.0 to 1.6.0 — what symbols were added, changed, or removed between those two versions?"}],"resultDescription":"Returns a JSON object with a risk field ('LOW', 'MEDIUM', or 'HIGH'), the package name, from and to versions, and three arrays: added_symbols, changed_symbols, and removed_symbols — each describing TypeScript/API surface changes between the two specified versions.","failureModes":["Unknown or misspelled package name returns an error or empty result","Version string not found on npm registry returns a version-not-found error","Malformed semver strings may cause parsing failures","Packages without TypeScript typings may yield empty symbol arrays with no meaningful diff","Network timeout if the npm registry is slow to respond"],"whenToPreferThis":"Use this endpoint when an AI coding agent needs to automatically assess upgrade safety for an npm package before modifying package.json, generating migration code, or advising a developer. It is ideal over manual changelog parsing because it returns structured, machine-readable symbol diffs with a risk classification specifically from TypeScript API signatures.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T12:33:32.560Z","isFirstParty":false}