{"uid":"cap_JJicGny3U8HX6XgVwbroZ","slug":"semver-range-satisfaction-check-7c5f26c7","name":"Semver Range Satisfaction Check","description":"Test whether a version satisfies a semver range (^, ~, x-ranges, ||, hyphen).","url":"https://semver.openverbs.com/v1/satisfies","method":"POST","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method","bodyType","body"],"properties":{"body":{"type":"object","required":["version","range"],"properties":{"range":{"type":"string","maxLength":256,"minLength":1,"description":"The semver range, e.g. \"^1.2.0\" or \">=1.0.0 <2.0.0\"."},"version":{"type":"string","maxLength":256,"minLength":1,"description":"The version to test."},"includePrerelease":{"type":"boolean","description":"Match prerelease versions in-range. Defaults to false."}},"additionalProperties":false},"type":{"type":"string","const":"http"},"method":{"enum":["POST"],"type":"string"},"bodyType":{"enum":["json","form-data","text"],"type":"string"}},"additionalProperties":false}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.002","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.002/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_bT8D661mrlnEXelsHUcwW","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.002","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Tests whether a semantic version string satisfies a given semver range expression (^, ~, x-ranges, ||, hyphen ranges).","exampleAgentPrompt":"Does version 2.3.1 satisfy the semver range ^2.0.0? Include prereleases in the check.","exampleUseCases":[{"title":"Dependency compatibility check","prompt":"Before I publish my library update, can you check whether version 1.4.7 satisfies the peer dependency range >=1.2.0 <2.0.0?"},{"title":"CI pipeline version gate","prompt":"In our deployment pipeline, does the build artifact version 3.0.0-rc.1 satisfy the range ^3.0.0 when prereleases are included?"},{"title":"Package manager constraint validation","prompt":"A user reported our SDK version 0.9.5 doesn't work — can you check if 0.9.5 satisfies the constraint ~0.9.0?"}],"resultDescription":"A boolean indicating whether the given version string falls within the specified semver range, respecting all standard range operators (^, ~, x-ranges, ||, hyphen) and optionally including prerelease versions.","failureModes":["Invalid version string format returns a validation error","Invalid or malformed range expression causes a parsing error","Missing required 'version' or 'range' fields returns a 400-level error","Empty strings for version or range are rejected due to minLength:1 constraint"],"whenToPreferThis":"Choose this endpoint when you need a quick, stateless boolean answer to whether a version satisfies a semver range — especially useful in CI/CD pipelines, dependency resolution logic, or any automated workflow that needs to gate on version compatibility without implementing semver parsing locally. Prefer it over a full parse/compare approach when you only need a pass/fail result against a range expression.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T18:30:24.221Z","isFirstParty":false}