OpenAPI Linter
Lints an OpenAPI 3.x document for structural errors, missing operation IDs, undocumented responses, unresolved $refs and undeclared security.
POST /v1/developer/openapi-lint $0.02 per call
Specification
- Endpoint
POST /v1/developer/openapi-lint- Price
- $0.02 per call · tier
advanced_analysis - Payment
-
x402 on X Layer (chain 196) · settled in USDG or USDT0 · scheme
exact - Data source
- Deterministic local computation on caller-supplied input
- Timeout
- 15 seconds
- Max request
- 2 MB
- Version
1.0.0
Calling it
The first call returns a 402 with the payment challenge. Retry with a
signed authorisation in the X-PAYMENT header — see
the payment guide for the exact shape.
curl -i -X POST "https://api.dana-edu.pp.ua/v1/developer/openapi-lint" \
-H "content-type: application/json" \
-d '{ ... }' Response
Real output, captured by running this endpoint at build time — not written by hand. Volatile fields such as timestamps are elided. Captured 2026-07-30.
{
"valid_structure": true,
"openapi_version": "3.0.3",
"operation_count": 1,
"path_count": 1,
"finding_count": 6,
"counts_by_severity": {
"error": 0,
"warning": 3,
"info": 3
},
"findings": [
{
"severity": "warning",
"rule": "security-declared",
"location": "$.security",
"message": "No security requirement is declared anywhere; consumers cannot tell how to authenticate."
},
{
"severity": "warning",
"rule": "operation-operationId",
"location": "paths./items.get",
"message": "Operation has no operationId; client generators will invent one."
},
{
"severity": "warning",
"rule": "operation-description",
"location": "paths./items.get",
"message": "Operation has neither summary nor description."
},
{
"severity": "info",
"rule": "info-description",
"location": "$.info.description",
"message": "No API description; this is what most documentation renderers show first."
},
{
"severity": "info",
"rule": "operation-tags",
"location": "paths./items.get",
"message": "Operation has no tags, so it will not be grouped in documentation."
},
{
"severity": "info",
"rule": "operation-error-responses",
"location": "paths./items.get",
"message": "Operation documents no 4xx response."
}
],
"findings_truncated": false
}
Every response is wrapped in the same envelope: data plus
warnings, sources, confidence,
informational_only and a measured processing_ms.
See the envelope reference.
Related endpoints
JSON Validator
Validates a JSON document and, on failure, returns the precise line, column, byte offset and parser reason.
JSON Repair
Repairs malformed JSON — trailing commas, unquoted keys, single quotes, smart quotes, code fences, truncated tails — and lists every repair applied.
JSON Schema Inference
Infers a JSON Schema (draft 2020-12) from one or more sample documents, merging types and marking fields optional when absent from any sample.
JSON Schema Validator
Validates an instance against a supplied JSON Schema and returns every error with its instance path and schema path.