{
  "openapi": "3.0.0",
  "info": {
    "title": "warframe.market API",
    "version": "0.21.2",
    "description": "Third-party OpenAPI documentation for the warframe.market API v2.\n\nThis is an unofficial documentation project. For the official documentation,\nvisit the [Notion page](https://42bytes.notion.site/WFM-Api-v2-Documentation-5d987e4aa2f74b55a80db1a09932459d).\n\n## Base URLs\n\n- **V2 API**: `https://api.warframe.market/v2/`\n- **V1 API** (auth only): `https://api.warframe.market/v1/`\n- **Static Assets**: `https://warframe.market/static/assets/`\n\n## Authentication\n\nAuthentication is currently handled via the **V1 API**. To authenticate:\n\n1. Send a POST request to `/v1/auth/signin` with credentials\n2. Extract the JWT from the `Authorization` response header (strip \"JWT \" prefix)\n3. Use the token as `Bearer <token>` in subsequent V2 API requests\n\nSee the **Authentication (V1)** section for details.\n\n**Note**: OAuth 2.0 is planned for future implementation.\n\n## Rate Limits\n\n3 requests per second. Exceeding this limit results in a `429` error.\n\n## Global Headers\n\nMost endpoints accept the following headers:\n\n- `Language`: Request additional translations (default: `en`)\n- `Platform`: Filter by platform - `pc`, `ps4`, `xbox`, `switch`, `mobile` (default: `pc`)\n- `Crossplay`: Include cross-play orders - `true` or `false` (default: `true`)"
  },
  "tags": [
    {
      "name": "Manifests"
    },
    {
      "name": "Orders"
    },
    {
      "name": "Users"
    },
    {
      "name": "Authentication"
    },
    {
      "name": "Authentication (V1)"
    },
    {
      "name": "Items (V1)"
    },
    {
      "name": "Achievements"
    },
    {
      "name": "Dashboard"
    }
  ],
  "paths": {
    "/auth/refresh": {
      "post": {
        "operationId": "Auth_refreshToken",
        "summary": "Refresh token",
        "description": "Refresh authentication token.\n\nObtains a new access token using the current token.\n\nRequires authentication.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "apiVersion",
                    "data",
                    "error"
                  ],
                  "properties": {
                    "apiVersion": {
                      "type": "string"
                    },
                    "data": {
                      "$ref": "#/components/schemas/RefreshTokenResponse"
                    },
                    "error": {
                      "nullable": true
                    }
                  },
                  "description": "Successful response with data."
                }
              }
            }
          },
          "401": {
            "description": "401 Unauthorized - Authentication required or token invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.ErrorResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Authentication"
        ],
        "security": [
          {
            "BearerAuth": []
          }
        ]
      }
    },
    "/auth/signout": {
      "post": {
        "operationId": "Auth_signOut",
        "summary": "Sign out",
        "description": "Sign out.\n\nInvalidates the current authentication token.\n\nRequires authentication.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "apiVersion",
                    "data",
                    "error"
                  ],
                  "properties": {
                    "apiVersion": {
                      "type": "string"
                    },
                    "data": {
                      "nullable": true
                    },
                    "error": {
                      "nullable": true
                    }
                  },
                  "description": "Successful response with data."
                }
              }
            }
          },
          "401": {
            "description": "401 Unauthorized - Authentication required or token invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.ErrorResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Authentication"
        ],
        "security": [
          {
            "BearerAuth": []
          }
        ]
      }
    },
    "/v1/auth/signin": {
      "post": {
        "operationId": "AuthV1_signIn",
        "summary": "Sign in (V1)",
        "description": "Sign in with username and password.\n\nAuthenticates a user and returns a JWT token in the response header.\n\n## Important Notes\n\n- The `Authorization: JWT` header is required in the request\n- On success, the JWT token is returned in the `Authorization` response header\n- The token is prefixed with \"JWT \" - strip this prefix before using as Bearer token\n- The `device_id` should be unique per device and reused across sessions\n\n## Example\n\nRequest:\n```\nPOST /v1/auth/signin\nContent-Type: application/json\nAuthorization: JWT\n\n{\n  \"auth_type\": \"header\",\n  \"email\": \"user@example.com\",\n  \"password\": \"password123\",\n  \"device_id\": \"550e8400-e29b-41d4-a716-446655440000\"\n}\n```\n\nResponse Header:\n```\nAuthorization: JWT eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\n```\n\nUse token with V2 API:\n```\nAuthorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\n```",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "required": true,
            "description": "Must be 'JWT' for header-based auth",
            "schema": {
              "type": "string",
              "enum": [
                "JWT"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "headers": {
              "authorization": {
                "required": true,
                "description": "JWT token prefixed with 'JWT '",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SignInResponse"
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request - Invalid input or validation error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "401 Unauthorized - Authentication required or token invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.ErrorResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Authentication (V1)"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SignInRequest"
              }
            }
          }
        }
      }
    },
    "/v1/items/{slug}/statistics": {
      "get": {
        "operationId": "ItemsV1_getItemStatistics",
        "summary": "Get item statistics",
        "description": "Get trading statistics for an item.\n\nReturns historical price and volume statistics for the specified item,\nincluding both completed trades and live order data.\n\n## Data Timeframes\n\n- **48hours**: Hourly data points for the last 48 hours\n- **90days**: Daily data points for the last 90 days\n\n## Statistics Types\n\n- **statistics_closed**: Data from completed trades\n- **statistics_live**: Data from live/pending orders\n\n## Price Indicators\n\nEach data point includes OHLC-style pricing (open, high, low, close),\nvarious averages (simple, weighted, moving), and Donchian channel bounds.",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "description": "Item URL slug (e.g., 'sicarus_prime_receiver')",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "payload"
                  ],
                  "properties": {
                    "payload": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Models.ItemStatistics"
                        }
                      ],
                      "description": "Response payload"
                    }
                  },
                  "description": "V1 API response wrapper.\nUsed by legacy V1 endpoints that return data in a `payload` property."
                }
              }
            }
          },
          "404": {
            "description": "404 Not Found - Resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.ErrorResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Items (V1)"
        ]
      }
    },
    "/v2/achievements": {
      "get": {
        "operationId": "Achievements_getAchievements",
        "summary": "Get all achievements",
        "description": "Get all achievements.\n\nReturns a list of all available achievements.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "apiVersion",
                    "data",
                    "error"
                  ],
                  "properties": {
                    "apiVersion": {
                      "type": "string"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Models.Achievement"
                      }
                    },
                    "error": {
                      "nullable": true
                    }
                  },
                  "description": "Successful response with data."
                }
              }
            }
          }
        },
        "tags": [
          "Achievements"
        ]
      }
    },
    "/v2/achievements/user/{slug}": {
      "get": {
        "operationId": "Achievements_getUserAchievements",
        "summary": "Get user achievements",
        "description": "Get user's achievements.\n\nReturns all achievements for a specific user, including their progress.",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "apiVersion",
                    "data",
                    "error"
                  ],
                  "properties": {
                    "apiVersion": {
                      "type": "string"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Models.Achievement"
                      }
                    },
                    "error": {
                      "nullable": true
                    }
                  },
                  "description": "Successful response with data."
                }
              }
            }
          },
          "404": {
            "description": "404 Not Found - Resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.ErrorResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Achievements"
        ]
      }
    },
    "/v2/dashboard/showcase": {
      "get": {
        "operationId": "Dashboard_getDashboardShowcase",
        "summary": "Get dashboard showcase",
        "description": "Get dashboard showcase.\n\nReturns featured items for the mobile app home screen dashboard.",
        "parameters": [
          {
            "$ref": "#/components/parameters/Common.LanguageHeader"
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "apiVersion",
                    "data",
                    "error"
                  ],
                  "properties": {
                    "apiVersion": {
                      "type": "string"
                    },
                    "data": {
                      "$ref": "#/components/schemas/Models.DashboardShowcase"
                    },
                    "error": {
                      "nullable": true
                    }
                  },
                  "description": "Successful response with data."
                }
              }
            }
          }
        },
        "tags": [
          "Dashboard"
        ]
      }
    },
    "/v2/item/{slug}": {
      "get": {
        "operationId": "Manifests_getItem",
        "summary": "Get item by slug",
        "description": "Get item details.\n\nReturns full details for a specific item.",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/Common.LanguageHeader"
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "apiVersion",
                    "data",
                    "error"
                  ],
                  "properties": {
                    "apiVersion": {
                      "type": "string"
                    },
                    "data": {
                      "$ref": "#/components/schemas/Models.Item"
                    },
                    "error": {
                      "nullable": true
                    }
                  },
                  "description": "Successful response with data."
                }
              }
            }
          },
          "404": {
            "description": "404 Not Found - Resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.ErrorResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Manifests"
        ]
      }
    },
    "/v2/item/{slug}/set": {
      "get": {
        "operationId": "Manifests_getItemSet",
        "summary": "Get item set",
        "description": "Get item set.\n\nReturns all items in a set. If the item is not part of a set, returns an array\ncontaining only that item.",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/Common.LanguageHeader"
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "apiVersion",
                    "data",
                    "error"
                  ],
                  "properties": {
                    "apiVersion": {
                      "type": "string"
                    },
                    "data": {
                      "$ref": "#/components/schemas/Models.ItemSet"
                    },
                    "error": {
                      "nullable": true
                    }
                  },
                  "description": "Successful response with data."
                }
              }
            }
          },
          "404": {
            "description": "404 Not Found - Resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.ErrorResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Manifests"
        ]
      }
    },
    "/v2/items": {
      "get": {
        "operationId": "Manifests_getItems",
        "summary": "Get all tradable items",
        "description": "Get all tradable items.\n\nReturns a list of all tradable items in shortened format, suitable for building\na local item cache.",
        "parameters": [
          {
            "$ref": "#/components/parameters/Common.LanguageHeader"
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "apiVersion",
                    "data",
                    "error"
                  ],
                  "properties": {
                    "apiVersion": {
                      "type": "string"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Models.ItemShort"
                      }
                    },
                    "error": {
                      "nullable": true
                    }
                  },
                  "description": "Successful response with data."
                }
              }
            }
          }
        },
        "tags": [
          "Manifests"
        ]
      }
    },
    "/v2/lich/ephemeras": {
      "get": {
        "operationId": "Manifests_getLichEphemeras",
        "summary": "Get all lich ephemeras",
        "description": "Get all Kuva Lich ephemeras.",
        "parameters": [
          {
            "$ref": "#/components/parameters/Common.LanguageHeader"
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "apiVersion",
                    "data",
                    "error"
                  ],
                  "properties": {
                    "apiVersion": {
                      "type": "string"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Models.LichEphemera"
                      }
                    },
                    "error": {
                      "nullable": true
                    }
                  },
                  "description": "Successful response with data."
                }
              }
            }
          }
        },
        "tags": [
          "Manifests"
        ]
      }
    },
    "/v2/lich/quirks": {
      "get": {
        "operationId": "Manifests_getLichQuirks",
        "summary": "Get all lich quirks",
        "description": "Get all Kuva Lich quirks.",
        "parameters": [
          {
            "$ref": "#/components/parameters/Common.LanguageHeader"
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "apiVersion",
                    "data",
                    "error"
                  ],
                  "properties": {
                    "apiVersion": {
                      "type": "string"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Models.LichQuirk"
                      }
                    },
                    "error": {
                      "nullable": true
                    }
                  },
                  "description": "Successful response with data."
                }
              }
            }
          }
        },
        "tags": [
          "Manifests"
        ]
      }
    },
    "/v2/lich/weapon/{slug}": {
      "get": {
        "operationId": "Manifests_getLichWeapon",
        "summary": "Get lich weapon by slug",
        "description": "Get Kuva Lich weapon details.",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/Common.LanguageHeader"
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "apiVersion",
                    "data",
                    "error"
                  ],
                  "properties": {
                    "apiVersion": {
                      "type": "string"
                    },
                    "data": {
                      "$ref": "#/components/schemas/Models.LichWeapon"
                    },
                    "error": {
                      "nullable": true
                    }
                  },
                  "description": "Successful response with data."
                }
              }
            }
          },
          "404": {
            "description": "404 Not Found - Resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.ErrorResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Manifests"
        ]
      }
    },
    "/v2/lich/weapons": {
      "get": {
        "operationId": "Manifests_getLichWeapons",
        "summary": "Get all lich weapons",
        "description": "Get all Kuva Lich weapons.",
        "parameters": [
          {
            "$ref": "#/components/parameters/Common.LanguageHeader"
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "apiVersion",
                    "data",
                    "error"
                  ],
                  "properties": {
                    "apiVersion": {
                      "type": "string"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Models.LichWeapon"
                      }
                    },
                    "error": {
                      "nullable": true
                    }
                  },
                  "description": "Successful response with data."
                }
              }
            }
          }
        },
        "tags": [
          "Manifests"
        ]
      }
    },
    "/v2/locations": {
      "get": {
        "operationId": "Manifests_getLocations",
        "summary": "Get all locations",
        "description": "Get all locations.\n\nReturns all in-game locations known to warframe.market.",
        "parameters": [
          {
            "$ref": "#/components/parameters/Common.LanguageHeader"
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "apiVersion",
                    "data",
                    "error"
                  ],
                  "properties": {
                    "apiVersion": {
                      "type": "string"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Models.Location"
                      }
                    },
                    "error": {
                      "nullable": true
                    }
                  },
                  "description": "Successful response with data."
                }
              }
            }
          }
        },
        "tags": [
          "Manifests"
        ]
      }
    },
    "/v2/me": {
      "get": {
        "operationId": "Users_getMe",
        "summary": "Get my profile",
        "description": "Get current user's profile.\n\nReturns the private profile of the authenticated user, including settings\nand other private information.\n\nRequires authentication.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "apiVersion",
                    "data",
                    "error"
                  ],
                  "properties": {
                    "apiVersion": {
                      "type": "string"
                    },
                    "data": {
                      "$ref": "#/components/schemas/Models.UserPrivate"
                    },
                    "error": {
                      "nullable": true
                    }
                  },
                  "description": "Successful response with data."
                }
              }
            }
          },
          "401": {
            "description": "401 Unauthorized - Authentication required or token invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.ErrorResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Users"
        ],
        "security": [
          {
            "BearerAuth": []
          }
        ]
      },
      "patch": {
        "operationId": "Users_updateMe",
        "summary": "Update my profile",
        "description": "Update current user's profile.\n\nUpdates profile settings for the authenticated user.\n\nRequires authentication.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "apiVersion",
                    "data",
                    "error"
                  ],
                  "properties": {
                    "apiVersion": {
                      "type": "string"
                    },
                    "data": {
                      "$ref": "#/components/schemas/Models.UserPrivate"
                    },
                    "error": {
                      "nullable": true
                    }
                  },
                  "description": "Successful response with data."
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request - Invalid input or validation error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "401 Unauthorized - Authentication required or token invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.ErrorResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Users"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Models.UpdateUserRequest"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ]
      }
    },
    "/v2/me/avatar": {
      "post": {
        "operationId": "Users_uploadAvatar",
        "summary": "Upload avatar",
        "description": "Upload avatar image.\n\nUploads a new avatar image for the authenticated user.\n\nRequires authentication.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "apiVersion",
                    "data",
                    "error"
                  ],
                  "properties": {
                    "apiVersion": {
                      "type": "string"
                    },
                    "data": {
                      "$ref": "#/components/schemas/Models.UserPrivate"
                    },
                    "error": {
                      "nullable": true
                    }
                  },
                  "description": "Successful response with data."
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request - Invalid input or validation error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "401 Unauthorized - Authentication required or token invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.ErrorResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Users"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/ImageUpload"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ]
      }
    },
    "/v2/me/background": {
      "post": {
        "operationId": "Users_uploadBackground",
        "summary": "Upload background",
        "description": "Upload background image.\n\nUploads a new profile background image for the authenticated user.\n\nRequires authentication.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "apiVersion",
                    "data",
                    "error"
                  ],
                  "properties": {
                    "apiVersion": {
                      "type": "string"
                    },
                    "data": {
                      "$ref": "#/components/schemas/Models.UserPrivate"
                    },
                    "error": {
                      "nullable": true
                    }
                  },
                  "description": "Successful response with data."
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request - Invalid input or validation error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "401 Unauthorized - Authentication required or token invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.ErrorResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Users"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/ImageUpload"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ]
      }
    },
    "/v2/missions": {
      "get": {
        "operationId": "Manifests_getMissions",
        "summary": "Get all missions",
        "description": "Get all missions.\n\nReturns all mission types known to warframe.market.",
        "parameters": [
          {
            "$ref": "#/components/parameters/Common.LanguageHeader"
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "apiVersion",
                    "data",
                    "error"
                  ],
                  "properties": {
                    "apiVersion": {
                      "type": "string"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Models.Mission"
                      }
                    },
                    "error": {
                      "nullable": true
                    }
                  },
                  "description": "Successful response with data."
                }
              }
            }
          }
        },
        "tags": [
          "Manifests"
        ]
      }
    },
    "/v2/npcs": {
      "get": {
        "operationId": "Manifests_getNpcs",
        "summary": "Get all NPCs",
        "description": "Get all NPCs.\n\nReturns all NPCs known to warframe.market.",
        "parameters": [
          {
            "$ref": "#/components/parameters/Common.LanguageHeader"
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "apiVersion",
                    "data",
                    "error"
                  ],
                  "properties": {
                    "apiVersion": {
                      "type": "string"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Models.Npc"
                      }
                    },
                    "error": {
                      "nullable": true
                    }
                  },
                  "description": "Successful response with data."
                }
              }
            }
          }
        },
        "tags": [
          "Manifests"
        ]
      }
    },
    "/v2/order": {
      "post": {
        "operationId": "Orders_createOrder",
        "summary": "Create order",
        "description": "Create a new order.\n\nCreates a new buy or sell order for an item.\n\nRequires authentication.",
        "parameters": [],
        "responses": {
          "201": {
            "description": "The request has succeeded and a new resource has been created as a result.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "apiVersion",
                    "data",
                    "error"
                  ],
                  "properties": {
                    "apiVersion": {
                      "type": "string"
                    },
                    "data": {
                      "$ref": "#/components/schemas/Models.Order"
                    },
                    "error": {
                      "nullable": true
                    }
                  },
                  "description": "Successful response with data."
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request - Invalid input or validation error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "401 Unauthorized - Authentication required or token invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.ErrorResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Orders"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Models.CreateOrderRequest"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ]
      }
    },
    "/v2/order/{id}": {
      "get": {
        "operationId": "Orders_getOrder",
        "summary": "Get order by ID",
        "description": "Get order by ID.\n\nReturns details for a specific order.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "apiVersion",
                    "data",
                    "error"
                  ],
                  "properties": {
                    "apiVersion": {
                      "type": "string"
                    },
                    "data": {
                      "$ref": "#/components/schemas/Models.OrderWithUser"
                    },
                    "error": {
                      "nullable": true
                    }
                  },
                  "description": "Successful response with data."
                }
              }
            }
          },
          "404": {
            "description": "404 Not Found - Resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.ErrorResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Orders"
        ]
      },
      "patch": {
        "operationId": "Orders_updateOrder",
        "summary": "Update order",
        "description": "Update an order.\n\nUpdates an existing order's properties.\n\nRequires authentication.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "apiVersion",
                    "data",
                    "error"
                  ],
                  "properties": {
                    "apiVersion": {
                      "type": "string"
                    },
                    "data": {
                      "$ref": "#/components/schemas/Models.Order"
                    },
                    "error": {
                      "nullable": true
                    }
                  },
                  "description": "Successful response with data."
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request - Invalid input or validation error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "401 Unauthorized - Authentication required or token invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "403 Forbidden - Insufficient permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "404 Not Found - Resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.ErrorResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Orders"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Models.UpdateOrderRequest"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ]
      },
      "delete": {
        "operationId": "Orders_deleteOrder",
        "summary": "Delete order",
        "description": "Delete an order.\n\nDeletes an existing order.\n\nRequires authentication.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "apiVersion",
                    "data",
                    "error"
                  ],
                  "properties": {
                    "apiVersion": {
                      "type": "string"
                    },
                    "data": {
                      "$ref": "#/components/schemas/Models.Order"
                    },
                    "error": {
                      "nullable": true
                    }
                  },
                  "description": "Successful response with data."
                }
              }
            }
          },
          "401": {
            "description": "401 Unauthorized - Authentication required or token invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "403 Forbidden - Insufficient permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "404 Not Found - Resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.ErrorResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Orders"
        ],
        "security": [
          {
            "BearerAuth": []
          }
        ]
      }
    },
    "/v2/order/{id}/close": {
      "post": {
        "operationId": "Orders_closeOrder",
        "summary": "Close order",
        "description": "Close an order (partial or full).\n\nCloses a portion or all of an existing order. If you close a quantity of 8 from\nan order with quantity 20, the remaining quantity will be 12. Closing the entire\nremaining quantity removes the order.\n\nRequires authentication.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "apiVersion",
                    "data",
                    "error"
                  ],
                  "properties": {
                    "apiVersion": {
                      "type": "string"
                    },
                    "data": {
                      "$ref": "#/components/schemas/Models.Transaction"
                    },
                    "error": {
                      "nullable": true
                    }
                  },
                  "description": "Successful response with data."
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request - Invalid input or validation error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "401 Unauthorized - Authentication required or token invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "403 Forbidden - Insufficient permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "404 Not Found - Resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.ErrorResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Orders"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Models.CloseOrderRequest"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ]
      }
    },
    "/v2/orders/group/{id}": {
      "patch": {
        "operationId": "Orders_updateOrderGroup",
        "summary": "Update order group",
        "description": "Update a group of orders.\n\nUpdates visibility or other properties for all orders in a group.\nAvailable groups: 'all', 'ungrouped'.\n\nRequires authentication.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Group ID: 'all' or 'ungrouped'",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "apiVersion",
                    "data",
                    "error"
                  ],
                  "properties": {
                    "apiVersion": {
                      "type": "string"
                    },
                    "data": {
                      "$ref": "#/components/schemas/Models.UpdateOrderGroupResponse"
                    },
                    "error": {
                      "nullable": true
                    }
                  },
                  "description": "Successful response with data."
                }
              }
            }
          },
          "400": {
            "description": "400 Bad Request - Invalid input or validation error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "401 Unauthorized - Authentication required or token invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.ErrorResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Orders"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Models.UpdateOrderGroupRequest"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ]
      }
    },
    "/v2/orders/item/{slug}": {
      "get": {
        "operationId": "Orders_getOrdersForItem",
        "summary": "Get orders for item",
        "description": "Get orders for an item.\n\nReturns all orders for a specific item from users who were online in the last 7 days.\n\nContent depends on Platform and Crossplay headers.",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/Common.PlatformHeader"
          },
          {
            "$ref": "#/components/parameters/Common.CrossplayHeader"
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "apiVersion",
                    "data",
                    "error"
                  ],
                  "properties": {
                    "apiVersion": {
                      "type": "string"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Models.OrderWithUser"
                      }
                    },
                    "error": {
                      "nullable": true
                    }
                  },
                  "description": "Successful response with data."
                }
              }
            }
          },
          "404": {
            "description": "404 Not Found - Resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.ErrorResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Orders"
        ]
      }
    },
    "/v2/orders/item/{slug}/top": {
      "get": {
        "operationId": "Orders_getTopOrdersForItem",
        "summary": "Get top orders for item",
        "description": "Get top orders for an item.\n\nReturns the top 5 buy and top 5 sell orders for a specific item, exclusively from\nonline users. Orders are sorted by price.\n\nContent depends on Platform and Crossplay headers.",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "rank",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "explode": false
          },
          {
            "name": "rankLt",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "explode": false
          },
          {
            "name": "charges",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "explode": false
          },
          {
            "name": "chargesLt",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "explode": false
          },
          {
            "name": "amberStars",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "explode": false
          },
          {
            "name": "amberStarsLt",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "explode": false
          },
          {
            "name": "cyanStars",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "explode": false
          },
          {
            "name": "cyanStarsLt",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "explode": false
          },
          {
            "name": "subtype",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "explode": false
          },
          {
            "$ref": "#/components/parameters/Common.PlatformHeader"
          },
          {
            "$ref": "#/components/parameters/Common.CrossplayHeader"
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "apiVersion",
                    "data",
                    "error"
                  ],
                  "properties": {
                    "apiVersion": {
                      "type": "string"
                    },
                    "data": {
                      "$ref": "#/components/schemas/Models.TopOrders"
                    },
                    "error": {
                      "nullable": true
                    }
                  },
                  "description": "Successful response with data."
                }
              }
            }
          },
          "404": {
            "description": "404 Not Found - Resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.ErrorResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Orders"
        ]
      }
    },
    "/v2/orders/my": {
      "get": {
        "operationId": "Orders_getMyOrders",
        "summary": "Get my orders",
        "description": "Get current user's orders.\n\nReturns all orders for the authenticated user.\n\nRequires authentication.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "apiVersion",
                    "data",
                    "error"
                  ],
                  "properties": {
                    "apiVersion": {
                      "type": "string"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Models.Order"
                      }
                    },
                    "error": {
                      "nullable": true
                    }
                  },
                  "description": "Successful response with data."
                }
              }
            }
          },
          "401": {
            "description": "401 Unauthorized - Authentication required or token invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.ErrorResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Orders"
        ],
        "security": [
          {
            "BearerAuth": []
          }
        ]
      }
    },
    "/v2/orders/recent": {
      "get": {
        "operationId": "Orders_getRecentOrders",
        "summary": "Get recent orders",
        "description": "Get recent orders.\n\nReturns the most recent orders (max 500) from the last 4 hours, sorted by creation time.\nResults are cached with a 1-minute refresh interval.\n\nContent depends on Platform and Crossplay headers.",
        "parameters": [
          {
            "$ref": "#/components/parameters/Common.PlatformHeader"
          },
          {
            "$ref": "#/components/parameters/Common.CrossplayHeader"
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "apiVersion",
                    "data",
                    "error"
                  ],
                  "properties": {
                    "apiVersion": {
                      "type": "string"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Models.OrderWithUser"
                      }
                    },
                    "error": {
                      "nullable": true
                    }
                  },
                  "description": "Successful response with data."
                }
              }
            }
          }
        },
        "tags": [
          "Orders"
        ]
      }
    },
    "/v2/orders/user/{slug}": {
      "get": {
        "operationId": "Orders_getOrdersForUser",
        "summary": "Get orders for user",
        "description": "Get orders for a user by slug.\n\nReturns all public orders from a specific user.",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "apiVersion",
                    "data",
                    "error"
                  ],
                  "properties": {
                    "apiVersion": {
                      "type": "string"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Models.Order"
                      }
                    },
                    "error": {
                      "nullable": true
                    }
                  },
                  "description": "Successful response with data."
                }
              }
            }
          },
          "404": {
            "description": "404 Not Found - Resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.ErrorResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Orders"
        ]
      }
    },
    "/v2/riven/attributes": {
      "get": {
        "operationId": "Manifests_getRivenAttributes",
        "summary": "Get all riven attributes",
        "description": "Get all riven attributes.\n\nReturns all possible attributes/stats that can appear on riven mods.",
        "parameters": [
          {
            "$ref": "#/components/parameters/Common.LanguageHeader"
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "apiVersion",
                    "data",
                    "error"
                  ],
                  "properties": {
                    "apiVersion": {
                      "type": "string"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Models.RivenAttribute"
                      }
                    },
                    "error": {
                      "nullable": true
                    }
                  },
                  "description": "Successful response with data."
                }
              }
            }
          }
        },
        "tags": [
          "Manifests"
        ]
      }
    },
    "/v2/riven/weapon/{slug}": {
      "get": {
        "operationId": "Manifests_getRivenWeapon",
        "summary": "Get riven weapon by slug",
        "description": "Get riven weapon details.",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/Common.LanguageHeader"
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "apiVersion",
                    "data",
                    "error"
                  ],
                  "properties": {
                    "apiVersion": {
                      "type": "string"
                    },
                    "data": {
                      "$ref": "#/components/schemas/Models.Riven"
                    },
                    "error": {
                      "nullable": true
                    }
                  },
                  "description": "Successful response with data."
                }
              }
            }
          },
          "404": {
            "description": "404 Not Found - Resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.ErrorResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Manifests"
        ]
      }
    },
    "/v2/riven/weapons": {
      "get": {
        "operationId": "Manifests_getRivenWeapons",
        "summary": "Get all riven weapons",
        "description": "Get all riven weapons.\n\nReturns a list of all weapons that can have riven mods.",
        "parameters": [
          {
            "$ref": "#/components/parameters/Common.LanguageHeader"
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "apiVersion",
                    "data",
                    "error"
                  ],
                  "properties": {
                    "apiVersion": {
                      "type": "string"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Models.Riven"
                      }
                    },
                    "error": {
                      "nullable": true
                    }
                  },
                  "description": "Successful response with data."
                }
              }
            }
          }
        },
        "tags": [
          "Manifests"
        ]
      }
    },
    "/v2/sister/ephemeras": {
      "get": {
        "operationId": "Manifests_getSisterEphemeras",
        "summary": "Get all sister ephemeras",
        "description": "Get all Sister of Parvos ephemeras.",
        "parameters": [
          {
            "$ref": "#/components/parameters/Common.LanguageHeader"
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "apiVersion",
                    "data",
                    "error"
                  ],
                  "properties": {
                    "apiVersion": {
                      "type": "string"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Models.SisterEphemera"
                      }
                    },
                    "error": {
                      "nullable": true
                    }
                  },
                  "description": "Successful response with data."
                }
              }
            }
          }
        },
        "tags": [
          "Manifests"
        ]
      }
    },
    "/v2/sister/quirks": {
      "get": {
        "operationId": "Manifests_getSisterQuirks",
        "summary": "Get all sister quirks",
        "description": "Get all Sister of Parvos quirks.",
        "parameters": [
          {
            "$ref": "#/components/parameters/Common.LanguageHeader"
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "apiVersion",
                    "data",
                    "error"
                  ],
                  "properties": {
                    "apiVersion": {
                      "type": "string"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Models.SisterQuirk"
                      }
                    },
                    "error": {
                      "nullable": true
                    }
                  },
                  "description": "Successful response with data."
                }
              }
            }
          }
        },
        "tags": [
          "Manifests"
        ]
      }
    },
    "/v2/sister/weapon/{slug}": {
      "get": {
        "operationId": "Manifests_getSisterWeapon",
        "summary": "Get sister weapon by slug",
        "description": "Get Sister of Parvos weapon details.",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/Common.LanguageHeader"
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "apiVersion",
                    "data",
                    "error"
                  ],
                  "properties": {
                    "apiVersion": {
                      "type": "string"
                    },
                    "data": {
                      "$ref": "#/components/schemas/Models.SisterWeapon"
                    },
                    "error": {
                      "nullable": true
                    }
                  },
                  "description": "Successful response with data."
                }
              }
            }
          },
          "404": {
            "description": "404 Not Found - Resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.ErrorResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Manifests"
        ]
      }
    },
    "/v2/sister/weapons": {
      "get": {
        "operationId": "Manifests_getSisterWeapons",
        "summary": "Get all sister weapons",
        "description": "Get all Sister of Parvos weapons.",
        "parameters": [
          {
            "$ref": "#/components/parameters/Common.LanguageHeader"
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "apiVersion",
                    "data",
                    "error"
                  ],
                  "properties": {
                    "apiVersion": {
                      "type": "string"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Models.SisterWeapon"
                      }
                    },
                    "error": {
                      "nullable": true
                    }
                  },
                  "description": "Successful response with data."
                }
              }
            }
          }
        },
        "tags": [
          "Manifests"
        ]
      }
    },
    "/v2/user/{slug}": {
      "get": {
        "operationId": "Users_getUser",
        "summary": "Get user profile",
        "description": "Get public user profile.\n\nReturns the public profile of a user by their slug.",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "apiVersion",
                    "data",
                    "error"
                  ],
                  "properties": {
                    "apiVersion": {
                      "type": "string"
                    },
                    "data": {
                      "$ref": "#/components/schemas/Models.User"
                    },
                    "error": {
                      "nullable": true
                    }
                  },
                  "description": "Successful response with data."
                }
              }
            }
          },
          "404": {
            "description": "404 Not Found - Resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.ErrorResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Users"
        ]
      }
    },
    "/v2/versions": {
      "get": {
        "operationId": "Manifests_getVersions",
        "summary": "Get resource versions",
        "description": "Get current resource versions.\n\nReturns version numbers for all server resources. Client applications can check\nthis endpoint periodically to detect when data has been updated and needs to be\nre-downloaded.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "apiVersion",
                    "data",
                    "error"
                  ],
                  "properties": {
                    "apiVersion": {
                      "type": "string"
                    },
                    "data": {
                      "$ref": "#/components/schemas/Models.Versions"
                    },
                    "error": {
                      "nullable": true
                    }
                  },
                  "description": "Successful response with data."
                }
              }
            }
          }
        },
        "tags": [
          "Manifests"
        ]
      }
    }
  },
  "components": {
    "parameters": {
      "Common.CrossplayHeader": {
        "name": "Crossplay",
        "in": "header",
        "required": false,
        "description": "Include cross-play orders from other platforms",
        "schema": {
          "type": "boolean",
          "default": true
        }
      },
      "Common.LanguageHeader": {
        "name": "Language",
        "in": "header",
        "required": false,
        "description": "Request translations in addition to English. Supported: ko, ru, de, fr, pt, zh-hans, zh-hant, es, it, pl, uk, en",
        "schema": {
          "type": "string",
          "default": "en"
        }
      },
      "Common.PlatformHeader": {
        "name": "Platform",
        "in": "header",
        "required": false,
        "description": "Gaming platform. Supported: pc, ps4, xbox, switch, mobile",
        "schema": {
          "type": "string",
          "default": "pc"
        }
      }
    },
    "schemas": {
      "Common.ApiError": {
        "type": "object",
        "properties": {
          "request": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "General request-level errors"
          },
          "inputs": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Input-level validation errors keyed by field name"
          }
        },
        "description": "API error details"
      },
      "Common.BandwidthLimitError": {
        "type": "object",
        "required": [
          "body"
        ],
        "properties": {
          "body": {
            "$ref": "#/components/schemas/Common.ErrorResponse"
          }
        },
        "description": "509 Bandwidth Limit Exceeded - Too many concurrent connections."
      },
      "Common.ErrorResponse": {
        "type": "object",
        "required": [
          "apiVersion",
          "data",
          "error"
        ],
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "data": {
            "nullable": true
          },
          "error": {
            "$ref": "#/components/schemas/Common.ApiError"
          }
        },
        "description": "Error response."
      },
      "Common.GlobalHeaders": {
        "type": "object",
        "description": "All global headers combined."
      },
      "Common.InternalServerError": {
        "type": "object",
        "description": "500 Internal Server Error - Unhandled server error."
      },
      "Common.PlatformHeaders": {
        "type": "object",
        "description": "Combined headers for platform-dependent endpoints."
      },
      "Common.RateLimitError": {
        "type": "object",
        "required": [
          "body"
        ],
        "properties": {
          "body": {
            "$ref": "#/components/schemas/Common.ErrorResponse"
          }
        },
        "description": "429 Too Many Requests - Rate limit exceeded."
      },
      "Common.TranslatableHeaders": {
        "type": "object",
        "description": "Combined headers for translatable endpoints."
      },
      "ImageUpload": {
        "type": "object",
        "properties": {
          "file": {
            "type": "string",
            "format": "binary",
            "description": "Image file to upload"
          }
        },
        "required": [
          "file"
        ]
      },
      "Models.Achievement": {
        "type": "object",
        "required": [
          "id",
          "slug",
          "type",
          "i18n"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Achievement ID"
          },
          "slug": {
            "type": "string",
            "description": "URL-friendly identifier"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.AchievementType"
              }
            ],
            "description": "Achievement type"
          },
          "goal": {
            "type": "integer",
            "format": "int32",
            "description": "Goal to complete the achievement"
          },
          "i18n": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.AchievementI18n"
              }
            ],
            "description": "Internationalized content"
          },
          "state": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.AchievementState"
              }
            ],
            "description": "User's progress state (only present for user-specific queries)"
          }
        },
        "description": "Achievement definition with progress"
      },
      "Models.AchievementDisplay": {
        "type": "object",
        "required": [
          "id",
          "icon",
          "thumb",
          "type",
          "i18n"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Achievement ID"
          },
          "icon": {
            "type": "string",
            "description": "Path to achievement icon"
          },
          "thumb": {
            "type": "string",
            "description": "Path to achievement thumbnail"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.AchievementType"
              }
            ],
            "description": "Achievement type"
          },
          "i18n": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.AchievementI18n"
              }
            ],
            "description": "Internationalized content"
          }
        },
        "description": "Achievement display information."
      },
      "Models.AchievementI18n": {
        "type": "object",
        "required": [
          "en"
        ],
        "properties": {
          "en": {
            "$ref": "#/components/schemas/Models.AchievementI18nContent"
          }
        },
        "description": "I18n wrapper for achievements."
      },
      "Models.AchievementI18nContent": {
        "type": "object",
        "required": [
          "name",
          "description"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Achievement name"
          },
          "description": {
            "type": "string",
            "description": "Achievement description"
          },
          "icon": {
            "type": "string",
            "description": "Path to achievement icon"
          },
          "thumb": {
            "type": "string",
            "description": "Path to achievement thumbnail"
          }
        },
        "description": "I18n content for achievements."
      },
      "Models.AchievementState": {
        "type": "object",
        "required": [
          "featured",
          "progress"
        ],
        "properties": {
          "featured": {
            "type": "boolean",
            "description": "Whether achievement is featured on profile"
          },
          "progress": {
            "type": "integer",
            "format": "int32",
            "description": "Current progress toward goal"
          },
          "completedAt": {
            "type": "string",
            "format": "date-time",
            "description": "When the achievement was completed"
          }
        },
        "description": "Achievement progress state."
      },
      "Models.AchievementType": {
        "type": "string",
        "enum": [
          "patreon",
          "github",
          "custom"
        ],
        "description": "Achievement type."
      },
      "Models.Activity": {
        "type": "object",
        "required": [
          "type"
        ],
        "properties": {
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.ActivityType"
              }
            ],
            "description": "Activity type"
          },
          "details": {
            "type": "string",
            "description": "Activity details (e.g., mission name, max 64 chars)"
          },
          "startedAt": {
            "type": "string",
            "format": "date-time",
            "description": "When the activity started"
          }
        },
        "description": "Current user activity in-game"
      },
      "Models.ActivityType": {
        "type": "string",
        "enum": [
          "UNKNOWN",
          "IDLE",
          "ON_MISSION",
          "IN_DOJO",
          "IN_ORBITER",
          "IN_RELAY"
        ],
        "description": "User activity type."
      },
      "Models.AppVersions": {
        "type": "object",
        "required": [
          "ios",
          "android",
          "minIos",
          "minAndroid"
        ],
        "properties": {
          "ios": {
            "type": "string",
            "description": "Latest iOS version"
          },
          "android": {
            "type": "string",
            "description": "Latest Android version"
          },
          "minIos": {
            "type": "string",
            "description": "Minimum supported iOS version"
          },
          "minAndroid": {
            "type": "string",
            "description": "Minimum supported Android version"
          }
        },
        "description": "Mobile app version requirements."
      },
      "Models.CloseOrderRequest": {
        "type": "object",
        "required": [
          "quantity"
        ],
        "properties": {
          "quantity": {
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "description": "Quantity to close (subtract from order)"
          }
        },
        "description": "Request body for closing an order."
      },
      "Models.CollectionVersions": {
        "type": "object",
        "required": [
          "items",
          "rivens",
          "liches",
          "sisters",
          "missions",
          "npcs",
          "locations"
        ],
        "properties": {
          "items": {
            "type": "string",
            "description": "Items collection version"
          },
          "rivens": {
            "type": "string",
            "description": "Rivens collection version"
          },
          "liches": {
            "type": "string",
            "description": "Liches collection version"
          },
          "sisters": {
            "type": "string",
            "description": "Sisters collection version"
          },
          "missions": {
            "type": "string",
            "description": "Missions collection version"
          },
          "npcs": {
            "type": "string",
            "description": "NPCs collection version"
          },
          "locations": {
            "type": "string",
            "description": "Locations collection version"
          }
        },
        "description": "Collection version hashes for cache invalidation."
      },
      "Models.CreateOrderRequest": {
        "type": "object",
        "required": [
          "itemId",
          "type",
          "platinum",
          "quantity"
        ],
        "properties": {
          "itemId": {
            "type": "string",
            "description": "ID of the item to create an order for"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.OrderType"
              }
            ],
            "description": "Order type: buy or sell"
          },
          "platinum": {
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "description": "Price in platinum (minimum: 1)"
          },
          "quantity": {
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "description": "Quantity available (minimum: 1)"
          },
          "visible": {
            "type": "boolean",
            "description": "Whether the order should be visible",
            "default": true
          },
          "perTrade": {
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "description": "Minimum quantity per trade"
          },
          "rank": {
            "type": "integer",
            "format": "int32",
            "minimum": 0,
            "description": "Mod rank"
          },
          "charges": {
            "type": "integer",
            "format": "int32",
            "minimum": 0,
            "description": "Remaining charges"
          },
          "subtype": {
            "type": "string",
            "description": "Item subtype"
          },
          "amberStars": {
            "type": "integer",
            "format": "int32",
            "minimum": 0,
            "description": "Installed amber stars"
          },
          "cyanStars": {
            "type": "integer",
            "format": "int32",
            "minimum": 0,
            "description": "Installed cyan stars"
          }
        },
        "description": "Request body for creating an order."
      },
      "Models.DashboardShowcase": {
        "type": "object",
        "required": [
          "i18n",
          "items"
        ],
        "properties": {
          "i18n": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.DashboardShowcaseI18n"
              }
            ],
            "description": "Internationalized content"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Models.DashboardShowcaseItem"
            },
            "description": "Featured items"
          }
        },
        "description": "Featured items showcase for dashboard"
      },
      "Models.DashboardShowcaseI18n": {
        "type": "object",
        "required": [
          "en"
        ],
        "properties": {
          "en": {
            "$ref": "#/components/schemas/Models.DashboardShowcaseI18nContent"
          }
        },
        "description": "I18n wrapper for dashboard showcase."
      },
      "Models.DashboardShowcaseI18nContent": {
        "type": "object",
        "required": [
          "title",
          "description"
        ],
        "properties": {
          "title": {
            "type": "string",
            "description": "Showcase title"
          },
          "description": {
            "type": "string",
            "description": "Showcase description"
          }
        },
        "description": "I18n content for dashboard showcase."
      },
      "Models.DashboardShowcaseItem": {
        "type": "object",
        "required": [
          "item",
          "background",
          "bigCard"
        ],
        "properties": {
          "item": {
            "type": "string",
            "description": "Item ID"
          },
          "background": {
            "type": "string",
            "description": "Path to background image"
          },
          "bigCard": {
            "type": "boolean",
            "description": "Whether to display as a large card"
          }
        },
        "description": "Dashboard showcase item."
      },
      "Models.Element": {
        "type": "string",
        "enum": [
          "impact",
          "heat",
          "cold",
          "electricity",
          "toxin",
          "magnetic",
          "radiation"
        ],
        "description": "Element type for ephemeras."
      },
      "Models.Item": {
        "type": "object",
        "required": [
          "id",
          "slug",
          "gameRef",
          "tradable",
          "tags",
          "i18n"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique item identifier"
          },
          "slug": {
            "type": "string",
            "description": "URL-friendly item identifier"
          },
          "gameRef": {
            "type": "string",
            "description": "Internal game reference path"
          },
          "tradable": {
            "type": "boolean",
            "description": "Whether the item can be traded"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Item categorization tags"
          },
          "i18n": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.ItemI18nFull"
              }
            ],
            "description": "Internationalized content with descriptions"
          },
          "rarity": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.Rarity"
              }
            ],
            "description": "Item rarity"
          },
          "maxRank": {
            "type": "integer",
            "format": "int32",
            "description": "Maximum mod rank"
          },
          "maxCharges": {
            "type": "integer",
            "format": "int32",
            "description": "Maximum charges"
          },
          "bulkTradable": {
            "type": "boolean",
            "description": "Whether multiple items can be traded at once"
          },
          "subtypes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Available subtypes"
          },
          "maxAmberStars": {
            "type": "integer",
            "format": "int32",
            "description": "Maximum amber stars"
          },
          "maxCyanStars": {
            "type": "integer",
            "format": "int32",
            "description": "Maximum cyan stars"
          },
          "baseEndo": {
            "type": "integer",
            "format": "int32",
            "description": "Base endo value"
          },
          "endoMultiplier": {
            "type": "number",
            "format": "float",
            "description": "Endo multiplier per rank"
          },
          "ducats": {
            "type": "integer",
            "format": "int32",
            "description": "Ducat value"
          },
          "reqMasteryRank": {
            "type": "integer",
            "format": "int32",
            "description": "Required mastery rank to trade"
          },
          "vaulted": {
            "type": "boolean",
            "description": "Whether the item is vaulted"
          },
          "tradingTax": {
            "type": "integer",
            "format": "int32",
            "description": "Trading tax in credits"
          },
          "setRoot": {
            "type": "boolean",
            "description": "Whether this item is the root of a set"
          },
          "setParts": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Item IDs that are part of this set"
          },
          "quantityInSet": {
            "type": "integer",
            "format": "int32",
            "description": "Quantity of this item in its set"
          }
        },
        "description": "Complete item model with all available fields"
      },
      "Models.ItemI18n": {
        "type": "object",
        "required": [
          "en"
        ],
        "properties": {
          "en": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.ItemI18nContent"
              }
            ],
            "description": "English translation (always present)"
          }
        },
        "description": "I18n wrapper containing translations.\nAlways contains 'en', may contain additional language based on Language header."
      },
      "Models.ItemI18nContent": {
        "type": "object",
        "required": [
          "name",
          "icon",
          "thumb"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Localized item name"
          },
          "icon": {
            "type": "string",
            "description": "Path to item icon (relative to static assets base URL)"
          },
          "thumb": {
            "type": "string",
            "description": "Path to item thumbnail"
          },
          "subIcon": {
            "type": "string",
            "description": "Path to sub-icon (e.g., blueprint indicator)"
          }
        },
        "description": "Internationalized content for items."
      },
      "Models.ItemI18nContentFull": {
        "type": "object",
        "required": [
          "name",
          "icon",
          "thumb"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Localized item name"
          },
          "icon": {
            "type": "string",
            "description": "Path to item icon (relative to static assets base URL)"
          },
          "thumb": {
            "type": "string",
            "description": "Path to item thumbnail"
          },
          "subIcon": {
            "type": "string",
            "description": "Path to sub-icon (e.g., blueprint indicator)"
          },
          "description": {
            "type": "string",
            "description": "Localized item description"
          },
          "wikiLink": {
            "type": "string",
            "description": "Link to the Warframe wiki page"
          }
        },
        "description": "Extended i18n content with description and wiki link."
      },
      "Models.ItemI18nFull": {
        "type": "object",
        "required": [
          "en"
        ],
        "properties": {
          "en": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.ItemI18nContentFull"
              }
            ],
            "description": "English translation (always present)"
          }
        },
        "description": "Full i18n wrapper with descriptions."
      },
      "Models.ItemSet": {
        "type": "object",
        "required": [
          "id",
          "items"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "ID of the requested item"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Models.Item"
            },
            "description": "All items in the set (or just the single item if not part of a set)"
          }
        },
        "description": "Response for item set endpoint."
      },
      "Models.ItemShort": {
        "type": "object",
        "required": [
          "id",
          "slug",
          "gameRef",
          "tags",
          "i18n"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique item identifier"
          },
          "slug": {
            "type": "string",
            "description": "URL-friendly item identifier"
          },
          "gameRef": {
            "type": "string",
            "description": "Internal game reference path"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Item categorization tags"
          },
          "i18n": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.ItemI18n"
              }
            ],
            "description": "Internationalized content"
          },
          "maxRank": {
            "type": "integer",
            "format": "int32",
            "description": "Maximum mod rank (if applicable)"
          },
          "maxCharges": {
            "type": "integer",
            "format": "int32",
            "description": "Maximum charges (e.g., for parazon mods)"
          },
          "vaulted": {
            "type": "boolean",
            "description": "Whether the item is vaulted"
          },
          "ducats": {
            "type": "integer",
            "format": "int32",
            "description": "Ducat value when sold to Baro Ki'Teer"
          },
          "amberStars": {
            "type": "integer",
            "format": "int32",
            "description": "Maximum amber stars (for Ayatan sculptures)"
          },
          "cyanStars": {
            "type": "integer",
            "format": "int32",
            "description": "Maximum cyan stars (for Ayatan sculptures)"
          },
          "baseEndo": {
            "type": "integer",
            "format": "int32",
            "description": "Base endo value"
          },
          "endoMultiplier": {
            "type": "number",
            "format": "float",
            "description": "Endo multiplier per rank"
          },
          "subtypes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Available subtypes (e.g., blueprint, crafted)"
          }
        },
        "description": "Trimmed item model for building local item lists"
      },
      "Models.ItemStatistics": {
        "type": "object",
        "required": [
          "statistics_closed",
          "statistics_live"
        ],
        "properties": {
          "statistics_closed": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.TimeframedStatistics"
              }
            ],
            "description": "Statistics from completed/closed trades"
          },
          "statistics_live": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.TimeframedStatistics"
              }
            ],
            "description": "Statistics from live/pending orders"
          }
        },
        "description": "Complete item trading statistics."
      },
      "Models.Language": {
        "type": "string",
        "enum": [
          "en",
          "ko",
          "ru",
          "de",
          "fr",
          "pt",
          "zh-hans",
          "zh-hant",
          "es",
          "it",
          "pl",
          "uk"
        ],
        "description": "Supported languages for translations."
      },
      "Models.LichEphemera": {
        "type": "object",
        "required": [
          "id",
          "slug",
          "gameRef",
          "i18n"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier"
          },
          "slug": {
            "type": "string",
            "description": "URL-friendly identifier"
          },
          "gameRef": {
            "type": "string",
            "description": "Internal game reference path"
          },
          "animation": {
            "type": "string",
            "description": "Path to animation preview (webp)"
          },
          "element": {
            "type": "string",
            "description": "Associated element"
          },
          "i18n": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.LichEphemeraI18n"
              }
            ],
            "description": "Internationalized content"
          }
        },
        "description": "Kuva Lich ephemera cosmetic"
      },
      "Models.LichEphemeraI18n": {
        "type": "object",
        "required": [
          "en"
        ],
        "properties": {
          "en": {
            "$ref": "#/components/schemas/Models.LichEphemeraI18nContent"
          }
        },
        "description": "I18n wrapper for lich ephemeras."
      },
      "Models.LichEphemeraI18nContent": {
        "type": "object",
        "required": [
          "name",
          "icon",
          "thumb"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Localized ephemera name"
          },
          "icon": {
            "type": "string",
            "description": "Path to ephemera icon"
          },
          "thumb": {
            "type": "string",
            "description": "Path to ephemera thumbnail"
          }
        },
        "description": "I18n content for lich ephemeras."
      },
      "Models.LichQuirk": {
        "type": "object",
        "required": [
          "id",
          "slug",
          "i18n"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier"
          },
          "slug": {
            "type": "string",
            "description": "URL-friendly identifier"
          },
          "group": {
            "type": "string",
            "description": "Quirk group for categorization"
          },
          "i18n": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.LichQuirkI18n"
              }
            ],
            "description": "Internationalized content"
          }
        },
        "description": "Kuva Lich personality quirk"
      },
      "Models.LichQuirkI18n": {
        "type": "object",
        "required": [
          "en"
        ],
        "properties": {
          "en": {
            "$ref": "#/components/schemas/Models.LichQuirkI18nContent"
          }
        },
        "description": "I18n wrapper for lich quirks."
      },
      "Models.LichQuirkI18nContent": {
        "type": "object",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Localized quirk name"
          },
          "description": {
            "type": "string",
            "description": "Localized quirk description"
          }
        },
        "description": "I18n content for lich quirks."
      },
      "Models.LichWeapon": {
        "type": "object",
        "required": [
          "id",
          "slug",
          "gameRef",
          "i18n"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier"
          },
          "slug": {
            "type": "string",
            "description": "URL-friendly identifier"
          },
          "gameRef": {
            "type": "string",
            "description": "Internal game reference path"
          },
          "reqMasteryRank": {
            "type": "integer",
            "format": "int32",
            "description": "Required mastery rank"
          },
          "i18n": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.LichWeaponI18n"
              }
            ],
            "description": "Internationalized content"
          }
        },
        "description": "Kuva Lich weapon"
      },
      "Models.LichWeaponI18n": {
        "type": "object",
        "required": [
          "en"
        ],
        "properties": {
          "en": {
            "$ref": "#/components/schemas/Models.LichWeaponI18nContent"
          }
        },
        "description": "I18n wrapper for lich weapons."
      },
      "Models.LichWeaponI18nContent": {
        "type": "object",
        "required": [
          "name",
          "icon",
          "thumb"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Localized weapon name"
          },
          "wikiLink": {
            "type": "string",
            "description": "Link to the Warframe wiki page"
          },
          "icon": {
            "type": "string",
            "description": "Path to weapon icon"
          },
          "thumb": {
            "type": "string",
            "description": "Path to weapon thumbnail"
          }
        },
        "description": "I18n content for lich weapons."
      },
      "Models.Location": {
        "type": "object",
        "required": [
          "id",
          "slug",
          "gameRef",
          "i18n"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier"
          },
          "slug": {
            "type": "string",
            "description": "URL-friendly identifier"
          },
          "gameRef": {
            "type": "string",
            "description": "Internal game reference"
          },
          "faction": {
            "type": "string",
            "description": "Controlling faction"
          },
          "minLevel": {
            "type": "integer",
            "format": "int32",
            "description": "Minimum enemy level"
          },
          "maxLevel": {
            "type": "integer",
            "format": "int32",
            "description": "Maximum enemy level"
          },
          "i18n": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.LocationI18n"
              }
            ],
            "description": "Internationalized content"
          }
        },
        "description": "In-game location/mission node"
      },
      "Models.LocationI18n": {
        "type": "object",
        "required": [
          "en"
        ],
        "properties": {
          "en": {
            "$ref": "#/components/schemas/Models.LocationI18nContent"
          }
        },
        "description": "I18n wrapper for locations."
      },
      "Models.LocationI18nContent": {
        "type": "object",
        "required": [
          "nodeName",
          "systemName",
          "icon",
          "thumb"
        ],
        "properties": {
          "nodeName": {
            "type": "string",
            "description": "Node name (e.g., Amarna)"
          },
          "systemName": {
            "type": "string",
            "description": "System name (e.g., Sedna)"
          },
          "icon": {
            "type": "string",
            "description": "Path to location icon"
          },
          "thumb": {
            "type": "string",
            "description": "Path to location thumbnail"
          }
        },
        "description": "I18n content for locations."
      },
      "Models.Mission": {
        "type": "object",
        "required": [
          "id",
          "slug",
          "gameRef",
          "i18n"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier"
          },
          "slug": {
            "type": "string",
            "description": "URL-friendly identifier"
          },
          "gameRef": {
            "type": "string",
            "description": "Internal game reference"
          },
          "i18n": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.MissionI18n"
              }
            ],
            "description": "Internationalized content"
          }
        },
        "description": "Mission type definition"
      },
      "Models.MissionI18n": {
        "type": "object",
        "required": [
          "en"
        ],
        "properties": {
          "en": {
            "$ref": "#/components/schemas/Models.MissionI18nContent"
          }
        },
        "description": "I18n wrapper for missions."
      },
      "Models.MissionI18nContent": {
        "type": "object",
        "required": [
          "name",
          "icon",
          "thumb"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Localized mission name"
          },
          "icon": {
            "type": "string",
            "description": "Path to mission icon"
          },
          "thumb": {
            "type": "string",
            "description": "Path to mission thumbnail"
          }
        },
        "description": "I18n content for missions."
      },
      "Models.Npc": {
        "type": "object",
        "required": [
          "id",
          "slug",
          "gameRef",
          "i18n"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier"
          },
          "slug": {
            "type": "string",
            "description": "URL-friendly identifier"
          },
          "gameRef": {
            "type": "string",
            "description": "Internal game reference"
          },
          "i18n": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.NpcI18n"
              }
            ],
            "description": "Internationalized content"
          }
        },
        "description": "Non-player character"
      },
      "Models.NpcI18n": {
        "type": "object",
        "required": [
          "en"
        ],
        "properties": {
          "en": {
            "$ref": "#/components/schemas/Models.NpcI18nContent"
          }
        },
        "description": "I18n wrapper for NPCs."
      },
      "Models.NpcI18nContent": {
        "type": "object",
        "required": [
          "name",
          "icon",
          "thumb"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Localized NPC name"
          },
          "icon": {
            "type": "string",
            "description": "Path to NPC icon"
          },
          "thumb": {
            "type": "string",
            "description": "Path to NPC thumbnail"
          }
        },
        "description": "I18n content for NPCs."
      },
      "Models.Order": {
        "type": "object",
        "required": [
          "id",
          "type",
          "platinum",
          "quantity",
          "visible",
          "createdAt",
          "updatedAt",
          "itemId"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique order identifier"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.OrderType"
              }
            ],
            "description": "Order type: buy or sell"
          },
          "platinum": {
            "type": "integer",
            "format": "int32",
            "description": "Price in platinum"
          },
          "quantity": {
            "type": "integer",
            "format": "int32",
            "description": "Available quantity"
          },
          "perTrade": {
            "type": "integer",
            "format": "int32",
            "description": "Minimum quantity per trade"
          },
          "rank": {
            "type": "integer",
            "format": "int32",
            "description": "Mod rank (for rankable items)"
          },
          "charges": {
            "type": "integer",
            "format": "int32",
            "description": "Remaining charges (for consumable items)"
          },
          "subtype": {
            "type": "string",
            "description": "Item subtype (e.g., blueprint, crafted)"
          },
          "amberStars": {
            "type": "integer",
            "format": "int32",
            "description": "Installed amber stars (for Ayatan sculptures)"
          },
          "cyanStars": {
            "type": "integer",
            "format": "int32",
            "description": "Installed cyan stars (for Ayatan sculptures)"
          },
          "visible": {
            "type": "boolean",
            "description": "Whether the order is visible to other users"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "When the order was created"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "description": "When the order was last updated"
          },
          "itemId": {
            "type": "string",
            "description": "ID of the item being traded"
          },
          "group": {
            "type": "string",
            "description": "Order group (default: 'all')"
          }
        },
        "description": "Trading order"
      },
      "Models.OrderType": {
        "type": "string",
        "enum": [
          "buy",
          "sell"
        ],
        "description": "Order type - buy or sell."
      },
      "Models.OrderWithUser": {
        "type": "object",
        "required": [
          "id",
          "type",
          "platinum",
          "quantity",
          "visible",
          "createdAt",
          "updatedAt",
          "itemId",
          "user"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique order identifier"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.OrderType"
              }
            ],
            "description": "Order type: buy or sell"
          },
          "platinum": {
            "type": "integer",
            "format": "int32",
            "description": "Price in platinum"
          },
          "quantity": {
            "type": "integer",
            "format": "int32",
            "description": "Available quantity"
          },
          "perTrade": {
            "type": "integer",
            "format": "int32",
            "description": "Minimum quantity per trade"
          },
          "rank": {
            "type": "integer",
            "format": "int32",
            "description": "Mod rank (for rankable items)"
          },
          "charges": {
            "type": "integer",
            "format": "int32",
            "description": "Remaining charges (for consumable items)"
          },
          "subtype": {
            "type": "string",
            "description": "Item subtype (e.g., blueprint, crafted)"
          },
          "amberStars": {
            "type": "integer",
            "format": "int32",
            "description": "Installed amber stars (for Ayatan sculptures)"
          },
          "cyanStars": {
            "type": "integer",
            "format": "int32",
            "description": "Installed cyan stars (for Ayatan sculptures)"
          },
          "visible": {
            "type": "boolean",
            "description": "Whether the order is visible to other users"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "When the order was created"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "description": "When the order was last updated"
          },
          "itemId": {
            "type": "string",
            "description": "ID of the item being traded"
          },
          "group": {
            "type": "string",
            "description": "Order group (default: 'all')"
          },
          "user": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.UserShort"
              }
            ],
            "description": "Order owner information"
          }
        },
        "description": "Trading order with seller/buyer information"
      },
      "Models.Platform": {
        "type": "string",
        "enum": [
          "pc",
          "ps4",
          "xbox",
          "switch",
          "mobile"
        ],
        "description": "Supported gaming platforms."
      },
      "Models.Rarity": {
        "type": "string",
        "enum": [
          "common",
          "uncommon",
          "rare",
          "legendary"
        ],
        "description": "Item rarity."
      },
      "Models.Riven": {
        "type": "object",
        "required": [
          "id",
          "slug",
          "gameRef",
          "group",
          "rivenType",
          "disposition",
          "i18n"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier"
          },
          "slug": {
            "type": "string",
            "description": "URL-friendly identifier"
          },
          "gameRef": {
            "type": "string",
            "description": "Internal game reference path"
          },
          "group": {
            "type": "string",
            "description": "Weapon group for frontend categorization"
          },
          "rivenType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.RivenType"
              }
            ],
            "description": "Riven mod type (determines available attributes)"
          },
          "disposition": {
            "type": "number",
            "format": "float",
            "description": "Riven disposition (affects stat ranges, 0.5-1.55)"
          },
          "reqMasteryRank": {
            "type": "integer",
            "format": "int32",
            "description": "Required mastery rank"
          },
          "i18n": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.RivenI18n"
              }
            ],
            "description": "Internationalized content"
          }
        },
        "description": "Riven mod weapon with disposition and type information"
      },
      "Models.RivenAttribute": {
        "type": "object",
        "required": [
          "id",
          "slug",
          "gameRef",
          "group",
          "prefix",
          "suffix",
          "i18n"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier"
          },
          "slug": {
            "type": "string",
            "description": "URL-friendly identifier"
          },
          "gameRef": {
            "type": "string",
            "description": "Internal game reference"
          },
          "group": {
            "type": "string",
            "description": "Attribute group for categorization"
          },
          "prefix": {
            "type": "string",
            "description": "Prefix used in riven names when positive"
          },
          "suffix": {
            "type": "string",
            "description": "Suffix used in riven names when negative"
          },
          "exclusiveTo": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Models.RivenType"
            },
            "description": "Weapon types this attribute can appear on"
          },
          "positiveIsNegative": {
            "type": "boolean",
            "description": "Whether a positive value is actually negative (e.g., recoil)"
          },
          "positiveOnly": {
            "type": "boolean",
            "description": "Whether this attribute can only be positive"
          },
          "negativeOnly": {
            "type": "boolean",
            "description": "Whether this attribute can only be negative"
          },
          "unit": {
            "type": "string",
            "description": "Unit of measurement (e.g., percent, flat)"
          },
          "i18n": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.RivenAttributeI18n"
              }
            ],
            "description": "Internationalized content"
          }
        },
        "description": "Riven mod attribute/stat definition"
      },
      "Models.RivenAttributeI18n": {
        "type": "object",
        "required": [
          "en"
        ],
        "properties": {
          "en": {
            "$ref": "#/components/schemas/Models.RivenAttributeI18nContent"
          }
        },
        "description": "I18n wrapper for riven attributes."
      },
      "Models.RivenAttributeI18nContent": {
        "type": "object",
        "required": [
          "name",
          "icon",
          "thumb"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Localized attribute name"
          },
          "icon": {
            "type": "string",
            "description": "Path to attribute icon"
          },
          "thumb": {
            "type": "string",
            "description": "Path to attribute thumbnail"
          }
        },
        "description": "I18n content for riven attributes."
      },
      "Models.RivenI18n": {
        "type": "object",
        "required": [
          "en"
        ],
        "properties": {
          "en": {
            "$ref": "#/components/schemas/Models.RivenI18nContent"
          }
        },
        "description": "I18n wrapper for riven weapons."
      },
      "Models.RivenI18nContent": {
        "type": "object",
        "required": [
          "name",
          "icon",
          "thumb"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Localized weapon name"
          },
          "wikiLink": {
            "type": "string",
            "description": "Link to the Warframe wiki page"
          },
          "icon": {
            "type": "string",
            "description": "Path to weapon icon"
          },
          "thumb": {
            "type": "string",
            "description": "Path to weapon thumbnail"
          }
        },
        "description": "I18n content for riven weapons."
      },
      "Models.RivenType": {
        "type": "string",
        "enum": [
          "kitgun",
          "melee",
          "pistol",
          "rifle",
          "shotgun",
          "zaw"
        ],
        "description": "Riven weapon type."
      },
      "Models.Role": {
        "type": "string",
        "enum": [
          "user",
          "moderator",
          "admin"
        ],
        "description": "User role on the site."
      },
      "Models.Scope": {
        "type": "string",
        "enum": [
          "me",
          "profile",
          "settings",
          "contracts",
          "ledger",
          "reviews",
          "status",
          "activity",
          "realTime",
          "all"
        ],
        "description": "OAuth access scopes."
      },
      "Models.SisterEphemera": {
        "type": "object",
        "required": [
          "id",
          "slug",
          "gameRef",
          "i18n"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier"
          },
          "slug": {
            "type": "string",
            "description": "URL-friendly identifier"
          },
          "gameRef": {
            "type": "string",
            "description": "Internal game reference path"
          },
          "animation": {
            "type": "string",
            "description": "Path to animation preview (webp)"
          },
          "element": {
            "type": "string",
            "description": "Associated element"
          },
          "i18n": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.SisterEphemeraI18n"
              }
            ],
            "description": "Internationalized content"
          }
        },
        "description": "Sister of Parvos ephemera cosmetic"
      },
      "Models.SisterEphemeraI18n": {
        "type": "object",
        "required": [
          "en"
        ],
        "properties": {
          "en": {
            "$ref": "#/components/schemas/Models.SisterEphemeraI18nContent"
          }
        },
        "description": "I18n wrapper for sister ephemeras."
      },
      "Models.SisterEphemeraI18nContent": {
        "type": "object",
        "required": [
          "name",
          "icon",
          "thumb"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Localized ephemera name"
          },
          "icon": {
            "type": "string",
            "description": "Path to ephemera icon"
          },
          "thumb": {
            "type": "string",
            "description": "Path to ephemera thumbnail"
          }
        },
        "description": "I18n content for sister ephemeras."
      },
      "Models.SisterQuirk": {
        "type": "object",
        "required": [
          "id",
          "slug",
          "i18n"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier"
          },
          "slug": {
            "type": "string",
            "description": "URL-friendly identifier"
          },
          "group": {
            "type": "string",
            "description": "Quirk group for categorization"
          },
          "i18n": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.SisterQuirkI18n"
              }
            ],
            "description": "Internationalized content"
          }
        },
        "description": "Sister of Parvos personality quirk"
      },
      "Models.SisterQuirkI18n": {
        "type": "object",
        "required": [
          "en"
        ],
        "properties": {
          "en": {
            "$ref": "#/components/schemas/Models.SisterQuirkI18nContent"
          }
        },
        "description": "I18n wrapper for sister quirks."
      },
      "Models.SisterQuirkI18nContent": {
        "type": "object",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Localized quirk name"
          },
          "description": {
            "type": "string",
            "description": "Localized quirk description"
          }
        },
        "description": "I18n content for sister quirks."
      },
      "Models.SisterWeapon": {
        "type": "object",
        "required": [
          "id",
          "slug",
          "gameRef",
          "i18n"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier"
          },
          "slug": {
            "type": "string",
            "description": "URL-friendly identifier"
          },
          "gameRef": {
            "type": "string",
            "description": "Internal game reference path"
          },
          "reqMasteryRank": {
            "type": "integer",
            "format": "int32",
            "description": "Required mastery rank"
          },
          "i18n": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.SisterWeaponI18n"
              }
            ],
            "description": "Internationalized content"
          }
        },
        "description": "Sister of Parvos (Tenet) weapon"
      },
      "Models.SisterWeaponI18n": {
        "type": "object",
        "required": [
          "en"
        ],
        "properties": {
          "en": {
            "$ref": "#/components/schemas/Models.SisterWeaponI18nContent"
          }
        },
        "description": "I18n wrapper for sister weapons."
      },
      "Models.SisterWeaponI18nContent": {
        "type": "object",
        "required": [
          "name",
          "icon",
          "thumb"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Localized weapon name"
          },
          "wikiLink": {
            "type": "string",
            "description": "Link to the Warframe wiki page"
          },
          "icon": {
            "type": "string",
            "description": "Path to weapon icon"
          },
          "thumb": {
            "type": "string",
            "description": "Path to weapon thumbnail"
          }
        },
        "description": "I18n content for sister weapons."
      },
      "Models.StatisticEntry": {
        "type": "object",
        "required": [
          "id",
          "datetime",
          "volume",
          "min_price",
          "max_price",
          "open_price",
          "closed_price",
          "avg_price",
          "wa_price",
          "median",
          "moving_avg",
          "donch_top",
          "donch_bot"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier"
          },
          "datetime": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp for this data point (hourly for 48hours, daily for 90days)"
          },
          "volume": {
            "type": "integer",
            "format": "int32",
            "description": "Number of trades in this period"
          },
          "min_price": {
            "type": "integer",
            "format": "int32",
            "description": "Lowest price in this period"
          },
          "max_price": {
            "type": "integer",
            "format": "int32",
            "description": "Highest price in this period"
          },
          "open_price": {
            "type": "integer",
            "format": "int32",
            "description": "First trade price in this period"
          },
          "closed_price": {
            "type": "integer",
            "format": "int32",
            "description": "Last trade price in this period"
          },
          "avg_price": {
            "type": "number",
            "format": "double",
            "description": "Simple average price"
          },
          "wa_price": {
            "type": "number",
            "format": "double",
            "description": "Volume-weighted average price"
          },
          "median": {
            "type": "number",
            "format": "double",
            "description": "Median price"
          },
          "moving_avg": {
            "type": "number",
            "format": "double",
            "description": "Moving average price"
          },
          "donch_top": {
            "type": "integer",
            "format": "int32",
            "description": "Donchian channel top (highest high over lookback period)"
          },
          "donch_bot": {
            "type": "integer",
            "format": "int32",
            "description": "Donchian channel bottom (lowest low over lookback period)"
          }
        },
        "description": "A single statistics data point for item trading activity.\nContains OHLC-style price data and technical indicators."
      },
      "Models.Status": {
        "type": "string",
        "enum": [
          "offline",
          "online",
          "ingame",
          "invisible"
        ],
        "description": "User online status."
      },
      "Models.Theme": {
        "type": "string",
        "enum": [
          "light",
          "dark",
          "system"
        ],
        "description": "UI theme preference."
      },
      "Models.Tier": {
        "type": "string",
        "enum": [
          "none",
          "bronze",
          "silver",
          "gold",
          "diamond"
        ],
        "description": "Subscription tier."
      },
      "Models.TimeframedStatistics": {
        "type": "object",
        "required": [
          "48hours",
          "90days"
        ],
        "properties": {
          "48hours": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Models.StatisticEntry"
            },
            "description": "Hourly data points for the last 48 hours"
          },
          "90days": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Models.StatisticEntry"
            },
            "description": "Daily data points for the last 90 days"
          }
        },
        "description": "Statistics grouped by timeframe."
      },
      "Models.TopOrders": {
        "type": "object",
        "required": [
          "buy",
          "sell"
        ],
        "properties": {
          "buy": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Models.OrderWithUser"
            },
            "description": "Top buy orders (highest prices, from online users)"
          },
          "sell": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Models.OrderWithUser"
            },
            "description": "Top sell orders (lowest prices, from online users)"
          }
        },
        "description": "Top orders response structure."
      },
      "Models.Transaction": {
        "type": "object",
        "required": [
          "id",
          "type",
          "originId",
          "platinum",
          "quantity",
          "createdAt",
          "updatedAt",
          "item"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Transaction identifier"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.OrderType"
              }
            ],
            "description": "Transaction type: buy or sell"
          },
          "originId": {
            "type": "string",
            "description": "Original order ID"
          },
          "platinum": {
            "type": "integer",
            "format": "int32",
            "description": "Platinum amount"
          },
          "quantity": {
            "type": "integer",
            "format": "int32",
            "description": "Quantity closed in this transaction"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "When the transaction was created"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "description": "When the transaction was last updated"
          },
          "item": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.TransactionItem"
              }
            ],
            "description": "Item details at time of transaction"
          },
          "user": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.UserShort"
              }
            ],
            "description": "User involved in the transaction (may not be present in all contexts)"
          }
        },
        "description": "Record of a completed or partial order closure"
      },
      "Models.TransactionItem": {
        "type": "object",
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Item ID"
          },
          "rank": {
            "type": "integer",
            "format": "int32",
            "description": "Item rank at time of transaction"
          },
          "charges": {
            "type": "integer",
            "format": "int32",
            "description": "Charges at time of transaction"
          },
          "subtype": {
            "type": "string",
            "description": "Subtype at time of transaction"
          },
          "cyanStars": {
            "type": "integer",
            "format": "int32",
            "description": "Cyan stars at time of transaction"
          },
          "amberStars": {
            "type": "integer",
            "format": "int32",
            "description": "Amber stars at time of transaction"
          }
        },
        "description": "Transaction item details."
      },
      "Models.UpdateOrderGroupRequest": {
        "type": "object",
        "properties": {
          "visible": {
            "type": "boolean",
            "description": "New visibility state for all orders in group"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.OrderType"
              }
            ],
            "description": "Target only specific order type"
          }
        },
        "description": "Request body for updating a group of orders."
      },
      "Models.UpdateOrderGroupResponse": {
        "type": "object",
        "required": [
          "updated"
        ],
        "properties": {
          "updated": {
            "type": "integer",
            "format": "int32",
            "description": "Number of orders updated"
          }
        },
        "description": "Response for group update operation."
      },
      "Models.UpdateOrderRequest": {
        "type": "object",
        "properties": {
          "platinum": {
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "description": "New price in platinum"
          },
          "quantity": {
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "description": "New quantity"
          },
          "perTrade": {
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "description": "New minimum per trade"
          },
          "rank": {
            "type": "integer",
            "format": "int32",
            "minimum": 0,
            "description": "New mod rank"
          },
          "charges": {
            "type": "integer",
            "format": "int32",
            "minimum": 0,
            "description": "New charges count"
          },
          "amberStars": {
            "type": "integer",
            "format": "int32",
            "minimum": 0,
            "description": "New amber stars count"
          },
          "cyanStars": {
            "type": "integer",
            "format": "int32",
            "minimum": 0,
            "description": "New cyan stars count"
          },
          "subtype": {
            "type": "string",
            "description": "New subtype"
          },
          "visible": {
            "type": "boolean",
            "description": "New visibility state"
          }
        },
        "description": "Request body for updating an order."
      },
      "Models.UpdateUserRequest": {
        "type": "object",
        "properties": {
          "about": {
            "type": "string",
            "description": "Profile description"
          },
          "platform": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.Platform"
              }
            ],
            "description": "Primary platform"
          },
          "crossplay": {
            "type": "boolean",
            "description": "Cross-play enabled"
          },
          "locale": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.Language"
              }
            ],
            "description": "Preferred locale"
          },
          "theme": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.Theme"
              }
            ],
            "description": "UI theme"
          },
          "syncLocale": {
            "type": "boolean",
            "description": "Sync locale across devices"
          },
          "syncTheme": {
            "type": "boolean",
            "description": "Sync theme across devices"
          }
        },
        "description": "Request body for updating user profile."
      },
      "Models.User": {
        "type": "object",
        "required": [
          "id",
          "ingameName",
          "slug",
          "reputation",
          "platform",
          "crossplay",
          "locale",
          "status"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique user identifier"
          },
          "ingameName": {
            "type": "string",
            "description": "In-game name"
          },
          "slug": {
            "type": "string",
            "description": "URL-friendly identifier"
          },
          "avatar": {
            "type": "string",
            "description": "Path to user avatar"
          },
          "background": {
            "type": "string",
            "description": "Path to profile background"
          },
          "about": {
            "type": "string",
            "description": "Profile description (HTML allowed)"
          },
          "reputation": {
            "type": "integer",
            "format": "int32",
            "description": "User reputation score"
          },
          "masteryLevel": {
            "type": "integer",
            "format": "int32",
            "description": "In-game mastery rank"
          },
          "platform": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.Platform"
              }
            ],
            "description": "Primary gaming platform"
          },
          "crossplay": {
            "type": "boolean",
            "description": "Whether cross-play is enabled"
          },
          "locale": {
            "type": "string",
            "description": "Preferred locale"
          },
          "achievementShowcase": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Models.AchievementDisplay"
            },
            "description": "Featured achievements on profile"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.Status"
              }
            ],
            "description": "Current online status"
          },
          "activity": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.Activity"
              }
            ],
            "description": "Current in-game activity"
          },
          "lastSeen": {
            "type": "string",
            "format": "date-time",
            "description": "Last seen timestamp"
          },
          "banned": {
            "type": "boolean",
            "description": "Whether the user is banned"
          },
          "banUntil": {
            "type": "string",
            "format": "date-time",
            "description": "Ban expiration time"
          },
          "banMessage": {
            "type": "string",
            "description": "Ban reason message"
          },
          "warned": {
            "type": "boolean",
            "description": "Whether the user has an active warning"
          },
          "warnMessage": {
            "type": "string",
            "description": "Warning message"
          }
        },
        "description": "Public user profile"
      },
      "Models.UserPrivate": {
        "type": "object",
        "required": [
          "id",
          "ingameName",
          "slug",
          "reputation",
          "platform",
          "crossplay",
          "locale",
          "status",
          "role"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique user identifier"
          },
          "ingameName": {
            "type": "string",
            "description": "In-game name"
          },
          "slug": {
            "type": "string",
            "description": "URL-friendly identifier"
          },
          "avatar": {
            "type": "string",
            "description": "Path to user avatar"
          },
          "background": {
            "type": "string",
            "description": "Path to profile background"
          },
          "about": {
            "type": "string",
            "description": "Profile description (HTML allowed)"
          },
          "reputation": {
            "type": "integer",
            "format": "int32",
            "description": "User reputation score"
          },
          "masteryLevel": {
            "type": "integer",
            "format": "int32",
            "description": "In-game mastery rank"
          },
          "platform": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.Platform"
              }
            ],
            "description": "Primary gaming platform"
          },
          "crossplay": {
            "type": "boolean",
            "description": "Whether cross-play is enabled"
          },
          "locale": {
            "type": "string",
            "description": "Preferred locale"
          },
          "achievementShowcase": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Models.AchievementDisplay"
            },
            "description": "Featured achievements on profile"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.Status"
              }
            ],
            "description": "Current online status"
          },
          "activity": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.Activity"
              }
            ],
            "description": "Current in-game activity"
          },
          "lastSeen": {
            "type": "string",
            "format": "date-time",
            "description": "Last seen timestamp"
          },
          "banned": {
            "type": "boolean",
            "description": "Whether the user is banned"
          },
          "banUntil": {
            "type": "string",
            "format": "date-time",
            "description": "Ban expiration time"
          },
          "banMessage": {
            "type": "string",
            "description": "Ban reason message"
          },
          "warned": {
            "type": "boolean",
            "description": "Whether the user has an active warning"
          },
          "warnMessage": {
            "type": "string",
            "description": "Warning message"
          },
          "email": {
            "type": "string",
            "description": "User email address"
          },
          "role": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.Role"
              }
            ],
            "description": "User role on the site"
          },
          "tier": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.Tier"
              }
            ],
            "description": "Subscription tier"
          },
          "theme": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.Theme"
              }
            ],
            "description": "UI theme preference"
          },
          "syncLocale": {
            "type": "boolean",
            "description": "Whether to sync locale across devices"
          },
          "syncTheme": {
            "type": "boolean",
            "description": "Whether to sync theme across devices"
          },
          "verified": {
            "type": "boolean",
            "description": "Whether account is verified"
          },
          "scopes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Models.Scope"
            },
            "description": "OAuth scopes granted"
          }
        },
        "description": "Private user profile with settings"
      },
      "Models.UserShort": {
        "type": "object",
        "required": [
          "id",
          "ingameName",
          "reputation",
          "locale",
          "platform",
          "crossplay",
          "status"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique user identifier"
          },
          "ingameName": {
            "type": "string",
            "description": "In-game name"
          },
          "avatar": {
            "type": "string",
            "description": "Path to user avatar"
          },
          "reputation": {
            "type": "integer",
            "format": "int32",
            "description": "User reputation score"
          },
          "locale": {
            "type": "string",
            "description": "Preferred locale"
          },
          "platform": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.Platform"
              }
            ],
            "description": "Primary gaming platform"
          },
          "crossplay": {
            "type": "boolean",
            "description": "Whether cross-play is enabled"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.Status"
              }
            ],
            "description": "Current online status"
          },
          "activity": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.Activity"
              }
            ],
            "description": "Current in-game activity"
          },
          "lastSeen": {
            "type": "string",
            "format": "date-time",
            "description": "Last seen timestamp"
          }
        },
        "description": "Brief user information"
      },
      "Models.Versions": {
        "type": "object",
        "required": [
          "apps",
          "collections",
          "updatedAt"
        ],
        "properties": {
          "apps": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.AppVersions"
              }
            ],
            "description": "App versions"
          },
          "collections": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.CollectionVersions"
              }
            ],
            "description": "Collection versions (base64 encoded)"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "description": "When versions were last updated"
          }
        },
        "description": "Version information for resources."
      },
      "RefreshTokenResponse": {
        "type": "object",
        "required": [
          "accessToken",
          "expiresAt"
        ],
        "properties": {
          "accessToken": {
            "type": "string",
            "description": "New access token"
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time",
            "description": "Token expiration time"
          }
        },
        "description": "Response for token refresh."
      },
      "SignInRequest": {
        "type": "object",
        "required": [
          "auth_type",
          "email",
          "password",
          "device_id"
        ],
        "properties": {
          "auth_type": {
            "type": "string",
            "enum": [
              "header"
            ],
            "description": "Authentication type - use 'header' to receive token in response header"
          },
          "email": {
            "type": "string",
            "description": "User's email address or username"
          },
          "password": {
            "type": "string",
            "description": "User's password"
          },
          "device_id": {
            "type": "string",
            "description": "Unique device identifier (UUID recommended). Should be persisted and reused."
          }
        },
        "description": "Sign in request body."
      },
      "SignInResponse": {
        "type": "object",
        "required": [
          "user"
        ],
        "properties": {
          "user": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Models.UserShort"
              }
            ],
            "description": "Authenticated user information"
          }
        },
        "description": "Sign in response body."
      }
    },
    "securitySchemes": {
      "BearerAuth": {
        "type": "http",
        "scheme": "Bearer"
      }
    }
  },
  "servers": [
    {
      "url": "https://api.warframe.market",
      "description": "Production API server",
      "variables": {}
    }
  ]
}
