Catalog/dev-semver

Developer

Semver range resolution API

Resolves a semver range (^, ~, x-ranges, hyphen ranges, comparator sets) against a list of candidate versions: which versions satisfy, the highest match, whether a specific version is in range, and the next breaking (major) version — fully deterministic. Semver range math is fiddly and LLMs get it subtly wrong. Answers 'which versions satisfy ^1.2.0', 'is 1.9.9 in this range', 'highest version matching ~0.4.1', 'what is the next breaking version'.

Price$0.01per request
MethodPOST
Route/v1/dev/semver
StatusLive
MIME typeapplication/json
Rate limit60/minute
CacheNo cache
devsemverversionrangenpmsatisfiesversioningcaret
API URLhttps://x402.hexl.dev/v1/dev/semver
Integration docs
Example request
{
  "range": "^1.2.0",
  "versions": [
    "1.1.0",
    "1.2.0",
    "1.5.3",
    "2.0.0"
  ],
  "checkVersion": "1.9.9"
}
Example response
{
  "range": "^1.2.0",
  "satisfying": [
    "1.2.0",
    "1.5.3"
  ],
  "highestMatch": "1.5.3",
  "nextBreaking": "2.0.0",
  "invalidVersions": [],
  "checkVersion": "1.9.9",
  "inRange": true
}
Input schema
{
  "type": "object",
  "required": [
    "range"
  ],
  "properties": {
    "range": {
      "type": "string",
      "examples": [
        "^1.2.0",
        ">=2 <3"
      ]
    },
    "versions": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "examples": [
        [
          "1.1.0",
          "1.2.0",
          "1.5.3",
          "2.0.0"
        ]
      ]
    },
    "checkVersion": {
      "type": "string",
      "examples": [
        "1.9.9"
      ]
    }
  }
}
Output schema
{
  "type": "object",
  "additionalProperties": true
}