{"uid":"cap_w2-98rxI623VjYLI8RG--","slug":"safe-upgrade-decision-api-24cce8e8","name":"Safe Upgrade Decision API","description":"Evidence-backed npm package upgrade decisions for coding agents.","url":"https://x402-safe-upgrade-api.onrender.com/v1/upgrade-decision","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"toVersion":{"type":"string","description":"Proposed exact semantic version."},"fromVersion":{"type":"string","description":"Installed exact semantic version."},"packageName":{"type":"string","description":"Exact npm package name."}}},"responseSchema":{"type":"json","example":{"decision":{"versionChange":"major","recommendation":"REVIEW BEFORE UPGRADING"},"evidence":{"vulnerabilities":{"target":[],"current":[]}}}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.03","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.03/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.03","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.03","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_uktsoXeo3qqRFToDGsyOb","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.03","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Analyzes an npm package upgrade path and returns an evidence-backed recommendation on whether it is safe to upgrade.","exampleAgentPrompt":"Before I upgrade lodash from 4.17.15 to 4.17.21 in my project, can you check if it's safe — any known vulnerabilities in either version and whether it's a major, minor, or patch change?","exampleUseCases":[{"title":"Automated dependency update safety check","prompt":"My CI pipeline wants to auto-merge a Dependabot PR bumping axios from 0.21.1 to 1.4.0. Can you check whether that upgrade is safe — specifically any vulnerabilities in either version and whether the version jump is major?"},{"title":"Security audit before production deploy","prompt":"We're about to ship to production and I need to know if upgrading express from 4.17.1 to 4.18.2 introduces or fixes any known CVEs. Give me a recommendation."},{"title":"Coding agent pre-upgrade validation","prompt":"Before you apply that package.json change, check if it's safe to go from minimist 1.2.5 to 1.2.8 — look for vulnerabilities in both versions and tell me if I should review it carefully first."}],"resultDescription":"Returns a JSON object with a `decision` block containing the version change type (major, minor, or patch) and a textual recommendation (e.g. 'REVIEW BEFORE UPGRADING' or 'SAFE TO UPGRADE'), plus an `evidence` block listing any known vulnerabilities found in the current and target versions of the package.","failureModes":["Unknown or misspelled package name returns an error or empty evidence","Invalid semver strings for fromVersion or toVersion cause a validation error","Package exists on npm but vulnerability data is unavailable, resulting in empty evidence arrays","Service may be slow or unavailable due to hosting on a free-tier Render instance","Payment required (402) if x402 payment header is not included"],"whenToPreferThis":"Choose this endpoint when an AI coding agent needs an automated, evidence-backed go/no-go decision before bumping an npm dependency — especially for major version upgrades or in CI pipelines where human review is limited. It is preferable over manual npm audit or raw CVE database lookups when you want a single structured recommendation with vulnerability evidence bundled together.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-13T18:42:03.729Z","isFirstParty":false}