{
  "openapi": "3.1.0",
  "info": {
    "title": "loot.moe Live State API",
    "version": "0.1.0",
    "description": "Read-only companion endpoints plus a browser-runtime ingest endpoint. Starting with Soma Bringer."
  },
  "servers": [
    {
      "url": "https://www.loot.moe"
    }
  ],
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer"
      }
    }
  },
  "paths": {
    "/api/v1/soma-bringer/state": {
      "get": {
        "operationId": "getLiveGameState",
        "summary": "Get the latest Soma Bringer live state",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "session",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "default"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Latest normalized or raw semantic game state"
          }
        }
      },
      "post": {
        "operationId": "publishLiveGameState",
        "summary": "Publish the latest Soma Bringer state from the browser runtime",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "session",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "default"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "State accepted"
          }
        }
      }
    },
    "/api/v1/soma-bringer/latest-loot": {
      "get": {
        "operationId": "getLatestLoot",
        "summary": "Get the latest observed loot event",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "session",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "default"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Latest loot event"
          }
        }
      }
    },
    "/api/v1/soma-bringer/build": {
      "get": {
        "operationId": "getBuild",
        "summary": "Get player build, abilities and equipment state",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "session",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "default"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Current build state"
          }
        }
      }
    }
  }
}