We ran 272 public OpenAPI specs from the APIs.guru directory through SpecGuard, our deterministic OpenAPI linter. No AI guessing: the same spec always gives the same findings.
Headline numbers
| Finding | Specs affected |
|---|---|
| At least one warning | 223 (82%) |
| Operations with no 4xx error responses documented | 190 (70%) |
| Endpoints with no security requirement and no global security | 132 (49%) |
Operations missing an operationId
|
88 (32%) |
| Server URL on plain HTTP | 60 (22%) |
| API keys sent in the query string | 55 (20%) |
| Perfect score (100/100) | 9 (3%) |
Average score: 58/100.
Why it matters now
AI agents and SDK generators read your spec literally. A missing operationId becomes a garbage function name. An undeclared auth scheme means an agent calls the endpoint, gets a 401 it was never told about, and gives up. A key in the query string ends up in proxy logs.
Fix list (cheap wins)
- Declare
securityglobally and use[]on endpoints that are intentionally public. - Add a unique camelCase
operationIdto every operation. - Document 400/401/404/422 responses.
- Move API keys from query parameters to a header.
- Serve every
serversURL over HTTPS.
Check your own spec
- Pay-per-call API catalog (no signup, x402 / USDC on Base): https://api.highlnd-intel.group/v1/catalog
- Want a human-written report? $49 per spec, 24h turnaround. Buy here: https://api.highlnd-intel.group/buy
Data: APIs.guru openapi-directory, October 2026. Findings are lint rules, not a security pen test.
Top comments (0)