{"openapi":"3.1.0","info":{"title":"Gasturbia API","version":"1.0.0","description":"Gas Turbine Power Analysis API - Comprehensive gas turbine assessment including\nload following, cogeneration, emission control, fuel flexibility, and maintenance planning.\n","contact":{"name":"Harmonias Support","url":"https://harmonias.org/support"},"license":{"name":"Proprietary","url":"https://harmonias.org/license"}},"servers":[{"url":"https://gasturbia.harmonias.org","description":"Production"}],"tags":[{"name":"Gas Turbine Analysis","description":"Gas turbine power potential and performance"},{"name":"Operations","description":"Load following and cogeneration analysis"},{"name":"Emissions","description":"Emission control and fuel flexibility"},{"name":"Maintenance","description":"Maintenance planning and optimization"},{"name":"Economics","description":"Financial analysis and ROI calculations"},{"name":"System","description":"Health checks and API information"}],"paths":{"/health":{"get":{"tags":["System"],"summary":"Health Check","operationId":"healthCheck","responses":{"200":{"description":"Service is healthy","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthResponse"},"example":{"status":"healthy","service":"gasturbia","version":"1.0.0","timestamp":"2024-01-15T10:30:00Z"}}}}},"security":[]}},"/api/v1/info":{"get":{"tags":["System"],"summary":"API Information","operationId":"getApiInfo","responses":{"200":{"description":"API information and available endpoints","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiInfo"}}}}}}},"/api/v1/disclaimer":{"get":{"tags":["System"],"summary":"API Disclaimer","operationId":"getDisclaimer","responses":{"200":{"description":"Important disclaimers and limitations","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Disclaimer"}}}}}}},"/api/v1/gasturbine/potential":{"post":{"tags":["Gas Turbine Analysis"],"summary":"Calculate Gas Turbine Potential","operationId":"calculateGasTurbinePotential","description":"Analyzes gas turbine power generation potential based on location, scale,\nturbine type, and fuel type. Returns capacity estimates, flexibility metrics,\nand environmental impact assessment.\n","security":[{"ApiKeyAuth":[]},{}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GasTurbinePotentialInput"},"examples":{"combinedCycle":{"summary":"Combined cycle plant","value":{"location":{"lat":35.6812,"lon":139.7671},"scale":"utility","type":"combined_cycle","fuelType":"natural_gas"}},"aeroderivative":{"summary":"Aeroderivative peaking plant","value":{"location":{"lat":34.6937,"lon":135.5023},"scale":"medium","type":"aeroderivative","fuelType":"dual_fuel"}}}}}},"responses":{"200":{"description":"Gas turbine potential analysis results","headers":{"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"Rate limit ceiling"},"X-RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Remaining requests"},"X-RateLimit-Reset":{"schema":{"type":"string","format":"date-time"},"description":"Reset time"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GasTurbinePotentialResponse"},"examples":{"success":{"summary":"Successful analysis","value":{"success":true,"basic":{"capacity":{"value":500,"unit":"MW"},"capacityFactor":0.85,"flexibility":{"rampRate":8,"startupTime":30,"minLoad":30},"feasibility":{"overall":"feasible","score":0.82},"environmental":{"riskLevel":"moderate","emissions":{"co2":350,"nox":25}}},"tier":"free"}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"example":{"error":"Invalid request","message":"Missing required fields: location, scale, type, fuelType"}}}},"401":{"description":"Invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"example":{"error":"Invalid API key","message":"The provided API key is invalid or inactive"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateLimitError"},"example":{"error":"Rate limit exceeded","message":"Rate limit exceeded. Resets at 2024-01-15T11:00:00Z","resetAt":"2024-01-15T11:00:00Z","tier":"free"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"example":{"error":"Internal server error","message":"Unknown error"}}}}}}},"/api/v1/gasturbine/load-following":{"post":{"tags":["Operations"],"summary":"Analyze Load Following Performance","operationId":"analyzeLoadFollowing","description":"Analyzes load following performance and renewable backup capability\nfor gas turbine systems.\n","security":[{"ApiKeyAuth":[]},{}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoadFollowingInput"},"example":{"turbineSpecs":{"type":"combined_cycle","capacity":500,"rampRate":8},"operationProfile":{"peakDemand":450,"minLoad":150,"renewablePenetration":0.3}}}}},"responses":{"200":{"description":"Load following analysis results","headers":{"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"string","format":"date-time"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoadFollowingResponse"},"example":{"success":true,"data":{"flexibility":{"score":0.85,"rampCapability":"excellent","cyclingCapability":"good"},"renewableIntegration":{"compatibility":"high","backupEfficiency":0.92,"curtailmentReduction":0.15}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"example":{"error":"Invalid request","message":"Missing required fields: turbineSpecs, operationProfile"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/gasturbine/cogeneration":{"post":{"tags":["Operations"],"summary":"Analyze Cogeneration Potential","operationId":"analyzeCogeneration","description":"Evaluates cogeneration (CHP) potential and district heating feasibility.\n","security":[{"ApiKeyAuth":[]},{}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CogenerationInput"},"example":{"turbineSpecs":{"type":"combined_cycle","capacity":100},"heatDemand":{"annual":500000,"peak":200,"profile":"industrial"}}}}},"responses":{"200":{"description":"Cogeneration analysis results","headers":{"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"string","format":"date-time"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CogenerationResponse"},"example":{"success":true,"data":{"efficiency":{"electrical":0.42,"thermal":0.45,"total":0.87},"economics":{"savings":2500000,"payback":4.5,"additionalRevenue":3000000}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"example":{"error":"Invalid request","message":"Missing required fields: turbineSpecs, heatDemand"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/gasturbine/emission-control":{"post":{"tags":["Emissions"],"summary":"Analyze Emission Control Options","operationId":"analyzeEmissionControl","description":"Analyzes NOx/CO2 reduction options, hydrogen blending potential, and CCUS options.\n","security":[{"ApiKeyAuth":[]},{}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmissionControlInput"},"example":{"turbineSpecs":{"type":"combined_cycle","capacity":500}}}}},"responses":{"200":{"description":"Emission control analysis results","headers":{"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"string","format":"date-time"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmissionControlResponse"},"example":{"success":true,"data":{"reductions":{"nox":40,"co2":90},"costs":{"capital":50000000,"operating":5000000},"technologies":[{"type":"scr","reduction":90,"cost":15000000},{"type":"hydrogen_blending","reduction":30,"cost":20000000}]}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"example":{"error":"Invalid request","message":"Missing required fields: turbineSpecs"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/gasturbine/fuel-flexibility":{"post":{"tags":["Emissions"],"summary":"Evaluate Fuel Flexibility","operationId":"analyzeFuelFlexibility","description":"Evaluates multi-fuel capability and fuel switching economics.\n","security":[{"ApiKeyAuth":[]},{}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FuelFlexibilityInput"},"example":{"turbineSpecs":{"type":"aeroderivative","capacity":50},"alternateFuels":[{"type":"hydrogen","blendRatio":0.3},{"type":"biogas","blendRatio":0.5}]}}}},"responses":{"200":{"description":"Fuel flexibility analysis results","headers":{"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"string","format":"date-time"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FuelFlexibilityResponse"},"example":{"success":true,"data":{"compatibility":{"hydrogen":"high","biogas":"high","ammonia":"moderate"},"modifications":{"required":true,"cost":8000000},"economics":{"fuelCostSavings":2000000,"carbonCreditValue":1500000}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"example":{"error":"Invalid request","message":"Missing required fields: turbineSpecs, alternateFuels"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/gasturbine/maintenance-planning":{"post":{"tags":["Maintenance"],"summary":"Optimize Maintenance Planning","operationId":"analyzeMaintenancePlanning","description":"Optimizes maintenance schedules and predicts component degradation.\n","security":[{"ApiKeyAuth":[]},{}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MaintenancePlanningInput"},"example":{"turbineSpecs":{"type":"combined_cycle","capacity":500,"age":5},"operationHistory":{"hoursOperated":35000,"starts":500,"trips":15}}}}},"responses":{"200":{"description":"Maintenance planning results","headers":{"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"string","format":"date-time"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MaintenancePlanningResponse"},"example":{"success":true,"data":{"nextMaintenance":{"type":"major_inspection","dueIn":5000,"estimatedCost":15000000},"componentHealth":[{"component":"hot_gas_path","health":0.75,"remainingLife":8000},{"component":"combustor","health":0.82,"remainingLife":12000}],"schedule":[{"date":"2024-06-01","type":"inspection","downtime":7}]}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"example":{"error":"Invalid request","message":"Missing required fields: turbineSpecs, operationHistory"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/economics/roi-analysis":{"post":{"tags":["Economics"],"summary":"Economic ROI Analysis","operationId":"analyzeROI","description":"Calculates return on investment, payback period, and financial\nmetrics for gas turbine projects.\n","security":[{"ApiKeyAuth":[]},{}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ROIAnalysisInput"},"example":{"capacity":500,"installationCost":300000000,"maintenanceCostPerYear":5000000,"electricityPrice":12,"fuelCost":8,"capacityFactor":0.6,"projectLifespan":25}}}},"responses":{"200":{"description":"ROI analysis results","headers":{"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"string","format":"date-time"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ROIAnalysisResponse"},"example":{"success":true,"data":{"roi":0.145,"paybackPeriod":7.2,"npv":150000000,"irr":0.118,"lcoe":0.065}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"example":{"success":false,"error":"Missing required fields: capacity, installationCost, maintenanceCostPerYear"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/data-sources":{"get":{"summary":"Get data-sources","description":"Auto-generated stub. Schema/responses/parameters TBD.\nVerify path matches the actual mounted URL (sub-router prefix may be missing).\n","x-stub":true,"responses":{"200":{"description":"Successful response (schema TBD)"}}}}},"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"API key in format: Bearer <api_key>"}},"schemas":{"GasTurbineType":{"type":"string","enum":["simple_cycle","combined_cycle","aeroderivative","industrial"],"description":"Type of gas turbine"},"FuelType":{"type":"string","enum":["natural_gas","lng","hydrogen","biogas","diesel","dual_fuel","ammonia"],"description":"Type of fuel"},"PlantScale":{"type":"string","enum":["small","medium","large","utility"],"description":"Scale of the power plant"},"RiskLevel":{"type":"string","enum":["very_low","low","moderate","high","very_high"],"description":"Risk assessment level"},"FeasibilityRating":{"type":"string","enum":["not_feasible","marginally_feasible","feasible","highly_feasible"],"description":"Project feasibility rating"},"MaintenanceType":{"type":"string","enum":["inspection","combustion_inspection","hot_gas_path","major_overhaul"],"description":"Type of maintenance activity"},"HeatDemandProfile":{"type":"string","enum":["industrial","commercial","district_heating","process_steam"],"description":"Heat demand profile type"},"EmissionControlTechnology":{"type":"string","enum":["scr","sncr","dlnb","hydrogen_blending","ccus","catalytic_oxidation"],"description":"Emission control technology"},"MeasurementUnit":{"type":"string","enum":["kW","MW","GW","kWh","MWh","ppm","gCO2/kWh","percent","hours","years"],"description":"Unit of measurement"},"Location":{"type":"object","required":["lat","lon"],"properties":{"lat":{"type":"number","minimum":-90,"maximum":90},"lon":{"type":"number","minimum":-180,"maximum":180}}},"HealthResponse":{"type":"object","properties":{"status":{"type":"string","enum":["healthy","degraded","unhealthy"]},"service":{"type":"string"},"version":{"type":"string"},"timestamp":{"type":"string","format":"date-time"}}},"ApiInfo":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"},"description":{"type":"string"},"endpoints":{"type":"array","items":{"type":"object"}},"rateLimits":{"type":"object"}}},"Disclaimer":{"type":"object","properties":{"service":{"type":"string"},"disclaimer":{"type":"string"},"limitations":{"type":"array","items":{"type":"string"}}}},"ErrorResponse":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string"},"message":{"type":"string"},"success":{"type":"boolean","default":false}}},"RateLimitError":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"},"resetAt":{"type":"string","format":"date-time"},"tier":{"type":"string","enum":["free","basic","pro"]}}},"GasTurbinePotentialInput":{"type":"object","required":["location","scale","type","fuelType"],"properties":{"location":{"$ref":"#/components/schemas/Location"},"scale":{"$ref":"#/components/schemas/PlantScale"},"type":{"$ref":"#/components/schemas/GasTurbineType"},"fuelType":{"$ref":"#/components/schemas/FuelType"}}},"LoadFollowingInput":{"type":"object","required":["turbineSpecs","operationProfile"],"properties":{"turbineSpecs":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/GasTurbineType"},"capacity":{"type":"number"},"rampRate":{"type":"number"}}},"operationProfile":{"type":"object","properties":{"peakDemand":{"type":"number"},"minLoad":{"type":"number"},"renewablePenetration":{"type":"number"}}}}},"CogenerationInput":{"type":"object","required":["turbineSpecs","heatDemand"],"properties":{"turbineSpecs":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/GasTurbineType"},"capacity":{"type":"number"}}},"heatDemand":{"type":"object","properties":{"annual":{"type":"number"},"peak":{"type":"number"},"profile":{"$ref":"#/components/schemas/HeatDemandProfile"}}}}},"EmissionControlInput":{"type":"object","required":["turbineSpecs"],"properties":{"turbineSpecs":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/GasTurbineType"},"capacity":{"type":"number"}}}}},"FuelFlexibilityInput":{"type":"object","required":["turbineSpecs","alternateFuels"],"properties":{"turbineSpecs":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/GasTurbineType"},"capacity":{"type":"number"}}},"alternateFuels":{"type":"array","items":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/FuelType"},"blendRatio":{"type":"number","minimum":0,"maximum":1}}}}}},"MaintenancePlanningInput":{"type":"object","required":["turbineSpecs","operationHistory"],"properties":{"turbineSpecs":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/GasTurbineType"},"capacity":{"type":"number"},"age":{"type":"number"}}},"operationHistory":{"type":"object","properties":{"hoursOperated":{"type":"number"},"starts":{"type":"number"},"trips":{"type":"number"}}}}},"ROIAnalysisInput":{"type":"object","required":["capacity","installationCost","maintenanceCostPerYear"],"properties":{"capacity":{"type":"number"},"installationCost":{"type":"number"},"maintenanceCostPerYear":{"type":"number"},"electricityPrice":{"type":"number"},"fuelCost":{"type":"number"},"capacityFactor":{"type":"number"},"projectLifespan":{"type":"integer"}}},"GasTurbinePotentialResponse":{"type":"object","properties":{"success":{"type":"boolean"},"basic":{"type":"object"},"detailed":{"type":"object"},"tier":{"type":"string","enum":["free","basic","pro"]}}},"LoadFollowingResponse":{"type":"object","properties":{"success":{"type":"boolean"},"data":{"type":"object"}}},"CogenerationResponse":{"type":"object","properties":{"success":{"type":"boolean"},"data":{"type":"object"}}},"EmissionControlResponse":{"type":"object","properties":{"success":{"type":"boolean"},"data":{"type":"object"}}},"FuelFlexibilityResponse":{"type":"object","properties":{"success":{"type":"boolean"},"data":{"type":"object"}}},"MaintenancePlanningResponse":{"type":"object","properties":{"success":{"type":"boolean"},"data":{"type":"object"}}},"ROIAnalysisResponse":{"type":"object","properties":{"success":{"type":"boolean"},"data":{"type":"object","properties":{"roi":{"type":"number"},"paybackPeriod":{"type":"number"},"npv":{"type":"number"},"irr":{"type":"number"},"lcoe":{"type":"number"}}}}}}},"security":[{"ApiKeyAuth":[]}]}