Specmatic Lint Server Commercial
Specmatic Lint Server currently supports only OpenAPI specifications. Support for other specification formats will be added in future releases. The server is experimental, may change, and requires a Specmatic Enterprise service-account license.
Specmatic Lint Server exposes an HTTP API for linting OpenAPI specifications. It loads lint configuration from a central Git repository and applies a requested profile to each specification.
Start server
docker run --rm \
-p 8000:8000 \
-v "$HOME/.specmatic:/root/.specmatic:ro" \
specmatic/enterprise \
lint-server \
--config-repo-url=https://github.com/example/api-governance.git
Server listens on port 8000 by default. Use --port <number> to choose another port.
For a private configuration repository, pass --config-repo-token <token>. Keep token in secret storage and do not commit it.
Lint specification
Send URL of OpenAPI specification and profile to POST /lint-reports:
curl --request POST http://localhost:8000/lint-reports \
--header "Content-Type: application/json" \
--data '{
"specUuid": "550e8400-e29b-41d4-a716-446655440000",
"specUrl": "https://example.com/openapi.yaml",
"profile": "default"
}'
specUrl must use HTTP or HTTPS and must be reachable from server container. specUuid identifies source in lint report.
Successful request returns JSON lint report with problems, totals, maturity assessment, and notes. Error-level violations remain part of successful 200 response.
API documentation
After server starts, open http://localhost:8000/api-docs for interactive API documentation.
Configuration status
Server checks central repository for configuration changes every five minutes.
curl http://localhost:8000/config/status
Request immediate refresh:
curl --request POST http://localhost:8000/config/refresh
Refresh request returns 202. Use /config/status to confirm latest result.