{"openapi":"3.1.0","info":{"title":"COBOL AI API","description":"AI-powered COBOL modernization platform. Translate legacy COBOL to modern languages, run compliance analysis, generate documentation, and convert code to ASCII art. Part of the PlatPhorm News network (cobol.platphormnews.com).","version":"0.0.1","contact":{"name":"Michael Barbine","email":"Michael@Barbineworldwide.com","url":"https://github.com/mbarbine"},"license":{"name":"MIT","url":"https://opensource.org/licenses/MIT"}},"servers":[{"url":"https://cobol.platphormnews.com","description":"Production"}],"tags":[{"name":"modernize","description":"COBOL modernization (translate, compliance, document)"},{"name":"ascii","description":"ASCII art conversion via ascii.platphormnews.com"},{"name":"health","description":"Service health monitoring"},{"name":"mcp","description":"Model Context Protocol tools"},{"name":"docs","description":"API documentation"},{"name":"analyze","description":"Static COBOL analysis (zero AI tokens)"},{"name":"kanban","description":"Kanban pipeline tracking via kanban.platphormnews.com"}],"paths":{"/api/modernize":{"post":{"operationId":"modernizeCobol","tags":["modernize"],"summary":"Modernize COBOL code","description":"Translate COBOL to modern languages, run compliance analysis, or generate documentation. Returns a streaming text response.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["cobolCode"],"properties":{"cobolCode":{"type":"string","description":"COBOL source code"},"targetLanguage":{"type":"string","enum":["java","python","typescript","csharp"],"default":"typescript"},"mode":{"type":"string","enum":["translate","compliance","document"],"default":"translate"}}}}}},"responses":{"200":{"description":"Streaming text response with modernized output"},"400":{"description":"Invalid request data"},"413":{"description":"Payload too large"}}}},"/api/ascii":{"post":{"operationId":"convertToAscii","tags":["ascii"],"summary":"Convert COBOL code to ASCII art","description":"Proxies to ascii.platphormnews.com to render COBOL code as ASCII art.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["text"],"properties":{"text":{"type":"string","description":"COBOL code text to convert"},"charset":{"type":"string","enum":["standard","detailed","blocks","minimal"],"default":"standard"}}}}}},"responses":{"200":{"description":"ASCII art output","content":{"application/json":{"schema":{"type":"object","properties":{"ascii":{"type":"string"},"width":{"type":"integer"},"height":{"type":"integer"},"charset":{"type":"string"},"source":{"type":"string"}}}}}},"400":{"description":"Invalid request data"},"413":{"description":"Payload too large"},"502":{"description":"ASCII API upstream error"}}}},"/api/analyze":{"post":{"operationId":"analyzeCobol","tags":["analyze"],"summary":"Static COBOL analysis (zero AI tokens)","description":"Deep static analysis: complexity scoring (0-100), risk assessment, data dictionary, cost estimation. Runs instantly with no AI token consumption.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["cobolCode"],"properties":{"cobolCode":{"type":"string","description":"COBOL source code"}}}}}},"responses":{"200":{"description":"Analysis results with complexity, risks, and cost estimate"},"400":{"description":"Invalid request data"},"413":{"description":"Payload too large"}}}},"/api/kanban":{"get":{"operationId":"getKanbanBoard","tags":["kanban"],"summary":"Get Kanban board state","description":"Fetch current board from kanban.platphormnews.com. Optionally filter by taskId.","parameters":[{"name":"taskId","in":"query","schema":{"type":"string"},"required":false}],"responses":{"200":{"description":"Board or task data"}}},"post":{"operationId":"createKanbanTask","tags":["kanban"],"summary":"Create modernization tracking task","description":"Creates a task on kanban.platphormnews.com with auto-computed complexity and cost estimate.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["programName","cobolCode"],"properties":{"programName":{"type":"string"},"cobolCode":{"type":"string"},"targetLanguage":{"type":"string","default":"typescript"},"sessionId":{"type":"string"}}}}}},"responses":{"200":{"description":"Task created with cost analysis"},"400":{"description":"Invalid request data"},"413":{"description":"Payload too large"}}}},"/api/health":{"get":{"operationId":"getHealth","tags":["health"],"summary":"Health check","description":"Returns service status, version, uptime, and dependency health.","responses":{"200":{"description":"Service is healthy"}}}},"/api/mcp":{"get":{"operationId":"listMcpTools","tags":["mcp"],"summary":"List MCP tools","description":"Returns the MCP tool manifest with inputSchema for each tool.","responses":{"200":{"description":"MCP tool list"}}},"post":{"operationId":"callMcpTool","tags":["mcp"],"summary":"Call an MCP tool","description":"JSON-RPC 2.0 style MCP tool invocation.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["method"],"properties":{"jsonrpc":{"type":"string","default":"2.0"},"id":{"type":["string","number","null"]},"method":{"type":"string","enum":["initialize","tools/list","tools/call"]},"params":{"type":"object"}}}}}},"responses":{"200":{"description":"JSON-RPC result"}}}},"/api/docs":{"get":{"operationId":"getDocs","tags":["docs"],"summary":"API Documentation","description":"Returns this OpenAPI 3.1.0 specification.","responses":{"200":{"description":"OpenAPI spec"}}}},"/api/jobs":{"post":{"operationId":"createJob","tags":["jobs"],"summary":"Create a job","description":"Generates a job description and publishes it to jobs.platphormnews.com.","responses":{"200":{"description":"Job generated"}}}}},"externalDocs":{"description":"PlatPhorm News Network -- Central MCP Hub","url":"https://mcp.platphormnews.com/api/docs"},"x-mcp-hub":{"url":"https://mcp.platphormnews.com","docs":"https://mcp.platphormnews.com/api/docs","register":"https://mcp.platphormnews.com/api/register"},"x-ascii-api":{"url":"https://ascii.platphormnews.com","docs":"https://ascii.platphormnews.com/api/docs"},"x-kanban-api":{"url":"https://kanban.platphormnews.com","docs":"https://kanban.platphormnews.com/api/docs","openapi":"https://kanban.platphormnews.com/api/v1/openapi.json"},"x-claws-api":{"url":"https://claws.platphormnews.com","docs":"https://claws.platphormnews.com/api/docs"},"x-trace-api":{"url":"https://trace.platphormnews.com"},"x-insights-api":{"url":"https://insights.platphormnews.com"}}