Info Version Must Be Semver
info-version-must-be-semver
info
experience: versioningexperience: consistency
spec: info
Specs should follow semantic versioning. {{value}} is not a valid version.
The API version field should follow semantic versioning.
Rule definition
The full Spotlight rule — drop it into a ruleset (.spotlight.yaml / .spectral.yaml) and run it with any Spotlight tool.
info-version-must-be-semver:
title: Info Version Must Be Semver
reference: https://spotlight-rules.com/spec/rules/openapi/info-version-must-be-semver/
description: The API version field should follow [semantic
versioning](https://semver.org/#semantic-versioning-specification-semver).
message: Specs should follow semantic versioning. {{value}} is not a valid version.
severity: info
given: $.info.version
then:
function: pattern
functionOptions:
match: ^[0-9]+.[0-9]+.[0-9]+(-[a-z0-9+.-]+)?
tags:
- format:openapi
- spec:info
- experience:versioning
- experience:consistency
prompt: "You are editing an OpenAPI document to satisfy the Spotlight API
governance rule 'info-version-must-be-semver' (Info Version Must Be Semver).
Requirement: The API version field should follow [semantic
versioning](https://semver.org/#semantic-versioning-specification-semver).
To fix: Ensure the targeted value matches the regular expression
`^[0-9]+.[0-9]+.[0-9]+(-[a-z0-9+.-]+)?`; rewrite any value that does not.
This rule is evaluated at the JSONPath `$.info.version` — inspect every
location it matches and correct only what violates the rule. Make the
smallest change that satisfies the rule, leave all unrelated content, key
order, comments, and formatting unchanged, and keep the document valid
OpenAPI. Return only the complete corrected document, with no commentary."
AI fix prompt — send this to Claude, Gemini, or ChatGPT with your artifact to auto-fix this rule
You are editing an OpenAPI document to satisfy the Spotlight API governance rule 'info-version-must-be-semver' (Info Version Must Be Semver). Requirement: The API version field should follow [semantic versioning](https://semver.org/#semantic-versioning-specification-semver). To fix: Ensure the targeted value matches the regular expression `^[0-9]+.[0-9]+.[0-9]+(-[a-z0-9+.-]+)?`; rewrite any value that does not. This rule is evaluated at the JSONPath `$.info.version` — inspect every location it matches and correct only what violates the rule. Make the smallest change that satisfies the rule, leave all unrelated content, key order, comments, and formatting unchanged, and keep the document valid OpenAPI. Return only the complete corrected document, with no commentary.
| Artifact | OpenAPI |
|---|---|
| Applies at (given) | $.info.version |
| Severity | info — educational by default; raise to warn/error to enforce |
| Reference | https://spotlight-rules.com/spec/rules/openapi/info-version-must-be-semver/ |