AVAILABLE

Developer Tools

Semantic Version Compare & Release Guard

Inspect, compare, sort, select, and apply explicit policy to strict Semantic Versioning 2.0.0 values, or calculate a non-publishing release candidate.

CONTRACT

Predictable for agents. Legible for reviewers.

REST
POST /v1/semantic-versions/policy-check
MCP tool
check_semantic_version_policy
Inputs
One strict MAJOR.MINOR.PATCH value with optional prerelease and build identifiers; comparison accepts two values, sorting and selection accept up to 1,000 supplied versions, and selection uses up to 32 typed comparators.
Returns
CLEAR, REVIEW_REQUIRED, or BLOCKED with strict components, exact SemVer precedence, identity-versus-build evidence, ordered versions, a non-executing candidate, structured constraint selection, named policy findings, and a next action.
Latency
Synchronous
Usage unit
Semantic-version operation

The suite also exposes /v1/semantic-versions/inspect, /v1/semantic-versions/compare, /v1/semantic-versions/sort, /v1/semantic-versions/bump, and /v1/semantic-versions/select plus /mcp/semver. It implements strict SemVer 2.0.0 precedence over caller-supplied values only. It never queries a package registry or repository, resolves dependencies, verifies compatibility, changes a package file or Git tag, publishes a release, or stores the payload.

AGENT-READABLE EXCEPTIONS

SEMVER_INVALIDSEMVER_INPUT_TOO_LONGSEMVER_BUILD_METADATA_PRECEDENCE_TIESEMVER_RELEASE_CANDIDATE_REVIEWSEMVER_NO_MATCHING_VERSIONSEMVER_PRERELEASE_EXCLUDEDSEMVER_BELOW_MINIMUMSEMVER_ABOVE_MAXIMUMSEMVER_MAJOR_ZERO_BLOCKEDSEMVER_PRERELEASE_BLOCKEDSEMVER_BUILD_METADATA_BLOCKEDSEMVER_MAJOR_NOT_ALLOWEDSEMVER_PRERELEASE_IDENTIFIER_BLOCKED
HTTP request
POST /v1/semantic-versions/policy-check
Authorization: Bearer apc_...
Content-Type: application/json

{
  "version": "2.4.1",
  "minimum_version": "2.0.0",
  "maximum_version": "2.9.99",
  "allow_major_zero": false,
  "allow_prerelease": false,
  "allow_build_metadata": true,
  "allowed_majors": [
    2
  ],
  "blocked_prerelease_identifiers": [
    "dev",
    "nightly"
  ]
}
cURL (bash)
curl --request POST \
  --url 'https://api-production-9502.up.railway.app/v1/semantic-versions/policy-check' \
  --header 'Authorization: Bearer ${AP_CONTROL_API_KEY}' \
  --header 'Content-Type: application/json' \
  --data '{
  "version": "2.4.1",
  "minimum_version": "2.0.0",
  "maximum_version": "2.9.99",
  "allow_major_zero": false,
  "allow_prerelease": false,
  "allow_build_metadata": true,
  "allowed_majors": [
    2
  ],
  "blocked_prerelease_identifiers": [
    "dev",
    "nightly"
  ]
}'
Representative response
{
  "status": "COMPLETED",
  "decision": "CLEAR",
  "normalized": "2.4.1",
  "allowed": true,
  "stable": true,
  "major": 2,
  "prerelease_identifiers": [],
  "build_identifiers": [],
  "findings": [],
  "ruleset_version": "SEMVER_2_0_0",
  "scope": "CALLER_SUPPLIED_VERSIONS_ONLY",
  "registry_queried": false,
  "repository_queried": false,
  "release_published": false,
  "compatibility_verified": false,
  "payload_stored": false,
  "next_action": "The version satisfies the supplied static policy; verify package compatibility and authorization separately."
}
Strict SemVer 2.0.0Core, prerelease, build, and precedence rules follow the published specification; loose values such as v1.2 or leading-zero numeric identifiers are rejected.
Build metadata is not precedenceComparison reports exact identity separately because SemVer requires build metadata to be ignored when determining precedence.
No registry or release accessThe API never queries a package registry or repository, resolves dependencies, changes a file or Git tag, verifies compatibility, or publishes a release.

Use Semantic Version Compare & Release Guard through RapidAPI.

Choose a capped marketplace plan, copy the generated request, and route the structured result through your own authorized workflow.