{"openapi": "3.0.3", "info": {"title": "Pine Script Lint", "version": "0.2.1", "description": "Deterministic static checks for TradingView Pine Script v5/v6 source. Static only; compile success is confirmed only in the Pine editor."}, "servers": [{"url": "https://pine.pokt-agent.com"}], "paths": {"/v1/version": {"get": {"summary": "Identity", "responses": {"200": {"description": "service id and version"}}}}, "/v1/health": {"get": {"summary": "Readiness", "responses": {"200": {"description": "{status: ok}"}}}}, "/v1/rules": {"get": {"summary": "Rule catalogue with codes and severities", "responses": {"200": {"description": "pine-lint-rules/v1"}}}}, "/v1/integrity": {"post": {"summary": "Backtest-vs-realtime integrity checks only (future data, unconfirmed HTF, past-drawn signals, realtime-only state, strategy assumptions)", "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "required": ["source"], "properties": {"source": {"type": "string", "maxLength": 204800}}}}}}, "responses": {"200": {"description": "pine-integrity-result/v1: verdict, counts, findings[], checks[]"}}}}, "/v1/lint": {"post": {"summary": "Lint a Pine Script source", "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "required": ["source"], "properties": {"source": {"type": "string", "maxLength": 204800}, "conventions": {"type": "boolean", "default": false}}}}}}, "responses": {"200": {"description": "pine-lint-result/v1: verdict, counts, findings[{code, severity, line, message}], stats"}, "400": {"description": "bad request"}, "413": {"description": "source too large"}}}}}}