{
  "openapi": "3.1.0",
  "info": {
    "title": "FusionHub FUSION LAUNCHER Public API",
    "description": "Official public API for FusionHub FUSION LAUNCHER services including real-time operational status, update delivery, community Minecraft multiplayer server registry, and supported game version matrices.",
    "version": "1.0.0",
    "contact": {
      "name": "FusionHub Developer Relations & Support",
      "email": "support@fusionhub.in",
      "url": "https://minecraft.fusionhub.in/contact"
    },
    "license": {
      "name": "MIT",
      "url": "https://opensource.org/licenses/MIT"
    },
    "x-deprecation-policy": {
      "policy_url": "https://minecraft.fusionhub.in/docs#deprecation",
      "notice_period": "12 months",
      "sunset_header": "Sunset",
      "deprecation_header": "Deprecation"
    }
  },
  "servers": [
    {
      "url": "https://minecraft.fusionhub.in",
      "description": "Production Global Edge Network"
    }
  ],
  "paths": {
    "/api/v1/status.json": {
      "get": {
        "summary": "Get system operational status",
        "description": "Retrieves infrastructure health metrics, uptime indicators, and microservice status for FUSION Launcher.",
        "operationId": "getSystemStatus",
        "tags": [
          "Health & Status"
        ],
        "parameters": [
          {
            "name": "service",
            "in": "query",
            "required": false,
            "description": "Filter by specific service name (e.g. cloud_sync, api, updates).",
            "schema": {
              "type": "string",
              "default": "all",
              "enum": [
                "all",
                "cloud_sync",
                "api",
                "updates"
              ]
            }
          },
          {
            "name": "format",
            "in": "query",
            "required": false,
            "description": "Response format representation.",
            "schema": {
              "type": "string",
              "default": "json",
              "enum": [
                "json"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Operational status of FUSION Launcher infrastructure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "status",
                    "service",
                    "version",
                    "environment",
                    "cloud_sync",
                    "timestamp"
                  ],
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "operational"
                    },
                    "service": {
                      "type": "string",
                      "example": "fusion-launcher-api"
                    },
                    "version": {
                      "type": "string",
                      "example": "2.0.5"
                    },
                    "environment": {
                      "type": "string",
                      "example": "production"
                    },
                    "cloud_sync": {
                      "type": "string",
                      "example": "active"
                    },
                    "timestamp": {
                      "type": "string",
                      "format": "date-time"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request or invalid parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal server or service error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/update.json": {
      "get": {
        "summary": "Get latest launcher update",
        "description": "Retrieves latest production release version, download URL, changelog notes, and minimum system requirements.",
        "operationId": "getLatestLauncherUpdate",
        "tags": [
          "Distribution"
        ],
        "parameters": [
          {
            "name": "channel",
            "in": "query",
            "required": false,
            "description": "Release channel to check (stable or beta).",
            "schema": {
              "type": "string",
              "default": "stable",
              "enum": [
                "stable",
                "beta"
              ]
            }
          },
          {
            "name": "platform",
            "in": "query",
            "required": false,
            "description": "Target operating system platform.",
            "schema": {
              "type": "string",
              "default": "windows",
              "enum": [
                "windows",
                "macos",
                "linux"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Current release update payload",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "version",
                    "title",
                    "download_url",
                    "file_name",
                    "mandatory",
                    "release_date"
                  ],
                  "properties": {
                    "version": {
                      "type": "string",
                      "example": "2.0.5"
                    },
                    "title": {
                      "type": "string",
                      "example": "FUSION LAUNCHER v2.0.5 Stable Release"
                    },
                    "message": {
                      "type": "string"
                    },
                    "download_url": {
                      "type": "string",
                      "format": "uri"
                    },
                    "file_name": {
                      "type": "string",
                      "example": "FUSION LAUNCHER Setup 2.0.5.exe"
                    },
                    "mandatory": {
                      "type": "boolean",
                      "example": false
                    },
                    "release_date": {
                      "type": "string",
                      "format": "date"
                    },
                    "runtime": {
                      "type": "string",
                      "example": "Java 25 Bundled (OpenJDK)"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request or invalid parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal server or service error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/servers.json": {
      "get": {
        "summary": "Get community Minecraft servers",
        "description": "Retrieves the curated directory of verified Minecraft multiplayer servers registered on FusionHub.",
        "operationId": "getCommunityServers",
        "tags": [
          "Servers"
        ],
        "parameters": [
          {
            "name": "category",
            "in": "query",
            "required": false,
            "description": "Filter servers by gameplay category.",
            "schema": {
              "type": "string",
              "default": "all",
              "enum": [
                "all",
                "survival",
                "pvp",
                "creative",
                "minigames",
                "smp"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Maximum number of servers to return in the list.",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Directory of active Minecraft community servers",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "count",
                    "servers"
                  ],
                  "properties": {
                    "count": {
                      "type": "integer",
                      "example": 2
                    },
                    "servers": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "id",
                          "name",
                          "ip",
                          "version"
                        ],
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "ip": {
                            "type": "string"
                          },
                          "version": {
                            "type": "string"
                          },
                          "description": {
                            "type": "string"
                          },
                          "online_players": {
                            "type": "integer"
                          },
                          "max_players": {
                            "type": "integer"
                          },
                          "verified": {
                            "type": "boolean"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request or invalid parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal server or service error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/versions.json": {
      "get": {
        "summary": "Get supported Minecraft versions and loaders",
        "description": "Returns supported Minecraft release versions, compatible Fabric, Forge, and Quilt loaders, and Java runtime requirements.",
        "operationId": "getSupportedVersions",
        "tags": [
          "Versions"
        ],
        "parameters": [
          {
            "name": "loader",
            "in": "query",
            "required": false,
            "description": "Filter version support matrix by mod loader.",
            "schema": {
              "type": "string",
              "default": "all",
              "enum": [
                "all",
                "fabric",
                "forge",
                "quilt",
                "vanilla"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Supported Minecraft game versions and loaders",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "latest_release",
                    "bundled_java",
                    "supported_releases",
                    "loaders"
                  ],
                  "properties": {
                    "latest_release": {
                      "type": "string",
                      "example": "26.2"
                    },
                    "bundled_java": {
                      "type": "string",
                      "example": "Java 25 (OpenJDK 25.0.2)"
                    },
                    "supported_releases": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "loaders": {
                      "type": "object",
                      "required": [
                        "fabric",
                        "forge",
                        "quilt"
                      ],
                      "properties": {
                        "fabric": {
                          "type": "string",
                          "example": "0.19.5"
                        },
                        "forge": {
                          "type": "string",
                          "example": "65.1.0"
                        },
                        "quilt": {
                          "type": "string",
                          "example": "0.31.0"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request or invalid parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal server or service error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ErrorResponse": {
        "type": "object",
        "required": [
          "error"
        ],
        "properties": {
          "error": {
            "type": "object",
            "required": [
              "code",
              "status",
              "message",
              "hint"
            ],
            "properties": {
              "code": {
                "type": "string",
                "example": "RESOURCE_NOT_FOUND"
              },
              "status": {
                "type": "integer",
                "example": 404
              },
              "message": {
                "type": "string",
                "example": "The requested resource was not found."
              },
              "hint": {
                "type": "string",
                "example": "Verify the endpoint against https://minecraft.fusionhub.in/openapi.json or documentation at https://minecraft.fusionhub.in/docs."
              },
              "docs_url": {
                "type": "string",
                "format": "uri",
                "example": "https://minecraft.fusionhub.in/docs"
              },
              "openapi_url": {
                "type": "string",
                "format": "uri",
                "example": "https://minecraft.fusionhub.in/openapi.json"
              }
            }
          }
        }
      }
    }
  }
}